From c29037779be00714f3dcd2159f70a21b84cf2515 Mon Sep 17 00:00:00 2001 From: Eduardo Silva Date: Fri, 16 Jan 2026 13:55:32 -0300 Subject: [PATCH] update translations --- locale/de/LC_MESSAGES/django.mo | Bin 56514 -> 56032 bytes locale/de/LC_MESSAGES/django.po | 378 +++++++++++++++++++---------- locale/es/LC_MESSAGES/django.mo | Bin 54797 -> 54329 bytes locale/es/LC_MESSAGES/django.po | 377 ++++++++++++++++++---------- locale/fr/LC_MESSAGES/django.mo | Bin 57123 -> 56639 bytes locale/fr/LC_MESSAGES/django.po | 378 +++++++++++++++++++---------- locale/pt_BR/LC_MESSAGES/django.mo | Bin 56833 -> 56375 bytes locale/pt_BR/LC_MESSAGES/django.po | 377 ++++++++++++++++++---------- locale/sk/LC_MESSAGES/django.mo | Bin 56593 -> 56122 bytes locale/sk/LC_MESSAGES/django.po | 377 ++++++++++++++++++---------- 10 files changed, 1237 insertions(+), 650 deletions(-) diff --git a/locale/de/LC_MESSAGES/django.mo b/locale/de/LC_MESSAGES/django.mo index c6ce4a9290c53cdec54fc466df0b44bad225036a..13a7b0ff40306e8a1b985422507f47c7982f7c67 100644 GIT binary patch delta 9644 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 delta 10131 zcmZwM2Xs}%zQ^$iAta%N5+L+LNeB>n4?Xl=0@9=$l0y`jTuqIm_Mqj)tHfy#+;x&3bzCrQz_b*cBh!99%RhyX2!gX zrj0R=aeh|^p2ss|IvX>VdY>-FwBYoMamMtd{S$0rjNjDmZVb;dL$Myt#bUSvOW~^+ zhR0m{1uR4TU8H|=!_{x0uDgp77}A5mVJ&A<458i`D`IafPXA^+1$8tT^}y-47-zfo zVm*ziLOmSIVH2#5aaaK-U69qjms<$y@ z(R9b6n1>qJEY$hMs2RTK&L2i~bR4yGXPlqA_CHYf7wKb6FqT0*Cj#}H*66QAp(lm% zn2aTHHY&x7QK?#s?QtJQ;cYC2;eBn2t6~l64KNb>pgPPzbui1V=}Z1~ z!EPFq!jq_dcOEscn^+S=`myma8tY;gR7XBne+pYt--}A|H_nLu#?+?X4|QKUYGV1Q zy|Jx7`7c4CfQHI=3YCeEPy@J)T8gj%#+1cyjKL^WX5vu~oQ!(lEYv`jU^hI4%)tZ> zB+EDumARFu47}i{paJYd4d8^UUv=I<&EO|2jpYW}4r`$X*xc2JIen-O@-PJFU`bqv z%3wZfz`Jli`j1o43^NAX8RnqYY9W@w<)}@z!PU1p_oFg!8a1%1*br~J^W}!vx5Ilj5 z#k201hWZ{HMLIO^qTZITu&Unw`xLYmRfpM`G<9}H?fQYJC0c?S$SMrS&DazVx%OMA zf&3GBtm!-4UUwdAQvV#aY44+6!^lVIPZxHhP!5M;S@faSd>VRiEo%23!#el{YE6sM zn^IdAm9feg6~JqV8t{;jc4^0=_QFKeQcgilWGec*QkYGl37$kf@JCdtes%4|M%iz7 zYv*L753>OibR8DK(WC9a#-ci$j2cKbYJh&!+AqiQxOOy&Qir=~=z@n(9slMo2p(f! zo2sb2FcG!c=Ao`zj(Qz8p=NXmm8okOg@2+_UH4I&$vD)&5>Nw4eU$ubgn2YH!}+L@ z9zYH3O;kshP^rJ}&IgRO4=RW1xGL&7QLeo?D%I^>dsozT15nQ!iQ$;+rw~D54pzfe zsMHiV&!P6jC#XGf8+BcoaW>VBQ0HS&uW^6Wz=xm)FbV^4JXXX6)FzyXdX9e+g~}98 zU>sgWrLf9)V;W&+tbl2#kw1=_Nj@rt8&DnYM0KHo;q18!IIkLy}A^HpeyC5-+0mP(Y&1U<=fQMxq8Z z7F*ydRA$a&S^76uDQLHTi*>P#&#q}JREm3H;hLg$|0vXelTmvo$F(m*?S&Umnc0m> z{nywKZ=>$3Jju34qF)beOhIef5!F#|EQW(oYd!+2U=nH*%|~^x26g{sY>%Iz?yr($ z+iRoVre>&t#-WyO3~H0lOd|iM1m1NKHO%>oR?eALX>qcXA$^_Cq(uJfDo z6vAk@hFaTyIE&=iO;-&ygEpuEjYXv{8LMKha|LP-yz1)jqXzghYT)-!_uof-UyA2y z6SDr*DFoBd3^n3*s2Oy_9XJH_pu1QB1M=()DxunAP%~@g?1`Gl2vkO=qB{HzwTb`4 z@)$Oa`{>`)p%9KOQLj-S)LvMCrSYuuUDRg#(iy*huvrrjXhYRow zYN>k9uoLW$e$8|=1&u5jtK&@c;cC=_{=zu+M2(sJ`BlUi?<_VVPl}&Q`l+v-$EKrR zhMn7$T=#pDKUi7xWlPy`oS&1=A2-}Tc@_JB`ibZ5@0u}d$^Se~Y*=eQrJfh;>llxX z>39h$#Ya&oJcHURA0W>+-=H%01L`#mSZ^~>3M)~MMrEK2MqmY_itzA$4HN!nL zsDsO>jC_T9Pk+Y6cn7t{{tfo}<){bkMGu~L_3u%eGiamztdfmrN>-S9=6k8QDm zf0O+yH356jum|hl9n@Z^yxDHf;i#F9#k!d0>dzt>H(O8{*@+(9gW3~+NA3E1s2LaC zVxLzT^&EdK3R?S~SOZ6*Hq|s#CYHJSI@Ig74}0S!Y=RZH+Kzjo?i+xSnBZKDdb{?Z z`Z1;3$oedsnj!U$(atWEnwtd0w?9&SZ_0WY}v9qdTG`gWVa zF&IbvdDL|uV*@O@Lrd;w78I1)IMgN@iq&u&DrK`!H!MeeAC94}e-oSG2Urt>Sy=6n zdZhIpntQFLPdNAm6{!>0USVWrYl$!Kf_vh12vGKm+XMU zPy?vy>g_R@dN1c7*FM6TfO>ug`n8LfQn-dYP@Bd7vR#rTs4vxa=TQuyehKxqe2B`> zx32yd>NP97%l@)yfVyrnYVXX!P+Wt`)Ye_(UkwM`g(p!XyMn#(M^p!GUa{YY{-_N3 zF%p+yT`a)vcn$fwn(D6_lY-CTeEbV1;yixSMdR0~jF;M@^`}sGkA2`U^iZFPn)y2C z9!#Kq7E55gy>{2PK+Pl;TVX#eiSuwQK8-8z2h`Hd-Dh9#P1uI|8-5B+DExtCFlN8q zJRMP~jK?TUMU6Zko8ocQ7xFfSVYLFA+8ES*t+7*pF@vxy^`{TmJ+uk6gxfI){kth> z#0PLRzK(ibsvWcs9FOIxr(hSHgWA<6UHu-8ryhHVe_p}0s3i?OY?rP)YBNTo`e}+9 zP)B4b{bmq_a2m#QaK4Y~=Q0FGO@fNI!1y~2)Lv{QcYJkO$ z+qJHN%4i+b5;Vd6wjd^aM87YiLI%JpR&Ir z`e6;~qj4b4aP4n9ucE#SH&Jg-!_)RtJ`D91`A_@pYp|DwJ~SM{(r8|{9f#ons&%my zW??7XiP~JZP~U}0XY3bm7Ive43_IX`Y=a%n+6m=gPwF$UJ)ZVcP=|kDMJ(}#{jc5H z*qHhtRQp`ihi4@!wVP3UVHYap$FUlockQ=OnYoK?vC^A%$p)ilJ_hwX|56Hi;A&K= zx1iScuxmeq>fj=3jX%a(_#IZol5g1*M`I=GX&8qKP;31*YI9yeZO*Sz1HFrN=-*U0 zXCKrKX)wd_ZJdGHrEygBfH9~{rK4WcIj9-tqh8bf?))35z4RVxVnOfNfrp_oRue~H zQ!GXQW|6yK6>80PpgO#P#qd{DM*c+Y_K@@TcSHr$`PQg`b;P>ZAGJxRVifK~&HOSp z!W*dj%3fek(7%bGpcGd}y`Mx(plPDb&*4#t{4+wV4C2l7H>m@>lJeHpF1+{ZTU- zhPrS9uEtE%146IaO;`@K38PW%y-+hAjG9n_t53%T)Sp7_g|Z)6BmER2XlRGJaVRPS zKJ1M1up7Sa&If&LQyGEEP(9RJ(+8_y8aBa2uKfrqBcGx&S?m*jQDJ>7ivDvH%22q7 zW%0W6C)AArpYrdw*bw!AjmVxesl+{^up&8LC*~0cxZqVHmGBW7P$m2oOQ4R07JuO% zo}FoINF)(`-37t8g^P|5!zpWHY7a!a^QS25XiexXN+!l}ZXc0H9Cp{yYyv4ifoVh! zHE_fg{^U*%C)W`j3mf=L=b;-*Q&v`9!7A?jB+6Pt9ibNUJRYRI9o{0e+Zz%(cGIpy zujoF4x6Yg)7SSH*=SOdX*{LDC8iMh#An1v zcdixkeKD=^P4p5wDSwW;h_?v+B|IKa6B{V&NGI|GSpUj2R4r`cU$-%g(7Red#1kcm zSBXl*EFzK6!HZCM+~;RY;$7k~BA(|pB8m}wX9|zS{CtOa*;WhxHKmBk^l!8WbaX(z zFNObg`zYlfDerOTdQm=3w4~mQ$Z_q(o!f8((V1(O5jy5jzhaA~9OZ=sZ?(z5DB>h# ze>6W|3kSa?jmLp z=cw<{`s-LjBuGwNR0GFeiwU9aE6N@s!?pc?^rtbCYv03IVm~pH`X4xe7()4J>`m}@ zXyN}GEU)!{aC}K&EAgCb*p91Rc_2>X0nZahh`!WcapxW|o^~Ax_$(1cxjr$>wd-74 z%AIhVDjdP;e-2TF6a5~#P$y%kS0x6z_Q|v*Qr?WUiK)bcqoOOc#h2anhbc$6_9nE= zr@R>VU=A^Y@c)Y+c|-+bB`3S%3St;h);;Jc{9oz~T>VAoaN7D%PQmNMSz?eocZ0Hy zH;8$(Jwa5XT%1@wxFfo7=ONcDW4<9vY`_naqJal3i?ZsTZ2jz{F z8xfa?Qm(y*b0X&_Qf`WA#38N!C<^t61%!^FmVf`8L1{YYe7GFn#`eT{wG*{z+emyv zc{VYI=tlhuY>ZQhM~I!&bp%lU3Cj@$58i#9*u;r&LPr^53*}~owg3L{EY(L`Qww)} zGER2oOm}YXL$}S~Tty=0p|<_h{oUP7OF5B5{6a*~_7c&bXhUSv)|9A8OrhSKI7s=y zG4eqHClIY9*Q_Ugqx>Dwg3$3Z(T6z6xyxGr25RN#MMHC3Lab5)#|yM|z*YD+EQva5 z;e6tbtrq?aqP~`Rjan9dU>yn_x#3Y9ivPsN+{410`BNJx zxp_gGk)g%v`ljc2GP6=LvQlzpcqaM0Ik{QBY)^DTMp{aGk|#SOBfWlXL8oygD};2- z^QNSFC#Dv3&F)zw*qfEk1+fJSa?cd;kIKl+@{CBy^7YE~W+i&EeK|Rt%=RRE^L(C( zK3}>gEh8~yQi?CJv1eF@$D5g%I>VEb?929f5|X{?NxtkDPiCsmOFcI;(VOGbNl!vX z`lOVk+$?WSN=CZJo1W;&@}*{Y6AMp1+*?pqUP^+mpvUx#_64sOtPgHH@a(pP@v(NKo zO*(r#X`(l)An^T*g>$Akw&2o-5rO_b$yvVt%=xRwR`f_or_0n-E}@TUxmk&jgs;~m4jSzkm}WQ\n" "Language-Team: LANGUAGE \n" @@ -17,14 +17,15 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cluster/forms.py:18 dns/forms.py:111 templates/cluster/workers_list.html:8 -#: templates/dns/static_host_list.html:68 +#: cluster/forms.py:18 dns/forms.py:111 routing_templates/forms.py:25 +#: templates/cluster/workers_list.html:8 templates/dns/static_host_list.html:68 +#: templates/routing_templates/list.html:8 #: templates/user_manager/peer_group_list.html:8 user_manager/forms.py:177 #: wireguard_peer/forms.py:10 msgid "Name" msgstr "Name" -#: cluster/forms.py:19 templates/cluster/workers_list.html:103 +#: cluster/forms.py:19 templates/cluster/workers_list.html:96 #: vpn_invite/forms.py:49 vpn_invite/forms.py:294 msgid "Enabled" msgstr "Aktiviert" @@ -59,7 +60,8 @@ msgid "Token" msgstr "Token" #: cluster/forms.py:27 cluster/forms.py:103 dns/forms.py:25 dns/forms.py:67 -#: dns/forms.py:109 templates/firewall/manage_firewall_rule.html:380 +#: dns/forms.py:109 routing_templates/forms.py:32 +#: templates/firewall/manage_firewall_rule.html:380 #: templates/firewall/manage_firewall_settings.html:60 #: templates/firewall/manage_redirect_rule.html:85 #: templates/wireguard/wireguard_manage_ip.html:42 @@ -70,6 +72,7 @@ msgid "Back" msgstr "Zurück" #: cluster/forms.py:28 dns/forms.py:68 dns/forms.py:110 +#: routing_templates/forms.py:33 #: templates/firewall/manage_firewall_rule.html:382 #: templates/firewall/manage_redirect_rule.html:86 #: templates/wireguard/wireguard_manage_ip.html:43 @@ -79,7 +82,8 @@ msgid "Delete" msgstr "Löschen" #: cluster/forms.py:67 cluster/forms.py:124 dns/forms.py:37 dns/forms.py:83 -#: dns/forms.py:134 templates/firewall/manage_firewall_rule.html:379 +#: dns/forms.py:134 routing_templates/forms.py:64 +#: templates/firewall/manage_firewall_rule.html:379 #: templates/firewall/manage_firewall_settings.html:59 #: templates/firewall/manage_redirect_rule.html:84 #: templates/wireguard/wireguard_manage_ip.html:41 @@ -106,15 +110,15 @@ msgstr "Cluster aktiviert" msgid "Primary Enable WireGuard" msgstr "WireGuard primär aktivieren" -#: cluster/forms.py:99 templates/cluster/workers_list.html:113 +#: cluster/forms.py:99 templates/cluster/workers_list.html:106 msgid "Cluster Mode" msgstr "Cluster-Modus" -#: cluster/forms.py:100 templates/cluster/workers_list.html:152 +#: cluster/forms.py:100 templates/cluster/workers_list.html:145 msgid "Restart Mode" msgstr "Neustart-Modus" -#: cluster/forms.py:101 templates/cluster/workers_list.html:156 +#: cluster/forms.py:101 templates/cluster/workers_list.html:149 msgid "Worker Display" msgstr "Worker-Anzeige" @@ -156,7 +160,7 @@ msgstr "Ein Worker-Update ist erforderlich." msgid "Access Denied" msgstr "Zugriff verweigert" -#: cluster/views.py:21 templates/base.html:162 +#: cluster/views.py:21 templates/base.html:180 msgid "Cluster" msgstr "Cluster" @@ -172,7 +176,7 @@ msgstr "Worker gelöscht|Worker gelöscht: " msgid "Worker not deleted|Invalid confirmation." msgstr "Worker nicht gelöscht|Ungültige Bestätigung." -#: cluster/views.py:64 templates/cluster/workers_list.html:94 +#: cluster/views.py:64 templates/cluster/workers_list.html:87 msgid "Add Worker" msgstr "Worker hinzufügen" @@ -228,7 +232,7 @@ msgstr "" "Hostname).

\n" " " -#: cluster/views.py:117 templates/cluster/workers_list.html:95 +#: cluster/views.py:117 templates/cluster/workers_list.html:88 msgid "Cluster Settings" msgstr "Cluster-Einstellungen" @@ -672,7 +676,7 @@ msgstr "Firewall‑Einstellungen erfolgreich gespeichert" msgid "Language" msgstr "Sprache" -#: intl_tools/forms.py:24 templates/base.html:57 +#: intl_tools/forms.py:24 templates/base.html:61 msgid "Change Language" msgstr "Sprache ändern" @@ -684,6 +688,107 @@ msgstr "" "Wenn dir bei der Übersetzung Fehler auffallen oder du eine neue Sprache " "anfordern möchtest, öffne bitte ein" +#: routing_templates/forms.py:26 +#: templates/firewall/manage_redirect_rule.html:57 +#: templates/routing_templates/list.html:9 +msgid "WireGuard Instance" +msgstr "WireGuard‑Instanz" + +#: routing_templates/forms.py:27 templates/routing_templates/list.html:24 +#, fuzzy +#| msgid "default route" +msgid "Default Template" +msgstr "Standard‑Route" + +#: routing_templates/forms.py:28 templates/routing_templates/list.html:10 +msgid "Route Type" +msgstr "" + +#: routing_templates/forms.py:29 routing_templates/models.py:14 +msgid "Custom Routes" +msgstr "" + +#: routing_templates/forms.py:30 +#, fuzzy +#| msgid "Allow Peer to Peer" +msgid "Allow Peer Custom Routes" +msgstr "Peer‑zu‑Peer zulassen" + +#: routing_templates/models.py:11 +msgid "Default Route (0.0.0.0/0)" +msgstr "" + +#: routing_templates/models.py:12 +msgid "Routes from Peers on same Interface" +msgstr "" + +#: routing_templates/models.py:13 +msgid "Routes from All Peers" +msgstr "" + +#: routing_templates/models.py:23 +msgid "One route per line in CIDR notation." +msgstr "" + +#: routing_templates/views.py:16 templates/base.html:161 +#, fuzzy +#| msgid "Routing table" +msgid "Routing Templates" +msgstr "Routing‑Tabelle" + +#: routing_templates/views.py:31 +msgid "Edit Routing Template: " +msgstr "" + +#: routing_templates/views.py:37 +msgid "Routing Template deleted|Routing Template deleted: " +msgstr "" + +#: routing_templates/views.py:40 +#, fuzzy +#| msgid "Worker not deleted|Invalid confirmation." +msgid "Routing Template not deleted|Invalid confirmation." +msgstr "Worker nicht gelöscht|Ungültige Bestätigung." + +#: routing_templates/views.py:44 templates/routing_templates/list.html:38 +#, fuzzy +#| msgid "Routing table" +msgid "Add Routing Template" +msgstr "Routing‑Tabelle" + +#: routing_templates/views.py:58 +msgid "" +"\n" +"
Routing Templates
\n" +"

Define routing configurations that can be applied to peers.

\n" +" \n" +"
Default Template
\n" +"

If checked, this template will be the default for the selected " +"WireGuard instance. Only one default template is allowed per instance.

\n" +"\n" +"
Route Type
\n" +"

Select the type of routes to push to the client.

\n" +"
    \n" +"
  • Default Route (0.0.0.0/0): Redirects all " +"traffic through the VPN.
  • \n" +"
  • Routes from Peers on same Interface: Pushes " +"routes for other peers on the same WireGuard interface.
  • \n" +"
  • Routes from All Peers: Pushes routes for " +"all peers across all interfaces.
  • \n" +"
  • Custom Routes: Allows you to specify custom " +"CIDR ranges.
  • \n" +"
\n" +"\n" +"
Custom Routes
\n" +"

Enter custom routes in CIDR notation, one per line (e.g., " +"192.168.1.0/24).

\n" +" \n" +"
Allow Peer Custom Routes
\n" +"

If checked, allows specific peers to add their own custom routes " +"on top of this template.

\n" +" " +msgstr "" + #: templates/access_denied.html:12 msgid "Sorry, you do not have permission to access this page." msgstr "Sie haben leider keine Berechtigung, diese Seite aufzurufen." @@ -717,47 +822,35 @@ msgstr "Sie wurden erfolgreich abgemeldet." msgid "Login again" msgstr "Erneut anmelden" -#: templates/base.html:89 templates/cluster/workers_list.html:9 +#: templates/base.html:94 templates/cluster/workers_list.html:9 #: templates/dns/static_host_list.html:72 vpn_invite/forms.py:78 #: vpn_invite/forms.py:79 vpn_invite/forms.py:80 vpn_invite/forms.py:81 #: vpn_invite/forms.py:82 msgid "Status" msgstr "Status" -#: templates/base.html:135 user_manager/views.py:74 +#: templates/base.html:141 user_manager/views.py:74 msgid "User Manager" msgstr "Benutzerverwaltung" -#: templates/base.html:153 templates/wireguard/wireguard_peer_list.html:197 +#: templates/base.html:171 templates/wireguard/wireguard_peer_list.html:209 #: vpn_invite/views.py:37 msgid "VPN Invite" msgstr "VPN‑Einladung" -#: templates/base.html:240 +#: templates/base.html:260 msgid "Update Required" msgstr "Aktualisierung erforderlich" -#: templates/base.html:242 -msgid "" -"Your WireGuard settings have been modified. To apply these changes, please " -"update the configuration and reload the WireGuard service." -msgstr "" -"Ihre WireGuard‑Einstellungen wurden geändert. Um die Änderungen anzuwenden, " -"aktualisieren Sie die Konfiguration und laden Sie den WireGuard‑Dienst neu." - -#: templates/base.html:251 +#: templates/base.html:269 msgid "Update and restart service" msgstr "Aktualisieren und Dienst neu starten" -#: templates/base.html:259 +#: templates/base.html:274 msgid "Update and reload service" msgstr "Aktualisieren und Dienst neu laden" -#: templates/base.html:272 -msgid "Update Available" -msgstr "Aktualisierung verfügbar" - -#: templates/base.html:274 +#: templates/base.html:290 msgid "Version" msgstr "Version" @@ -772,127 +865,124 @@ msgid "Last Seen" msgstr "Zuletzt gesehen" #: templates/cluster/workers_list.html:13 -#: templates/cluster/workers_list.html:117 +#: templates/cluster/workers_list.html:110 msgid "Config Version" msgstr "Konfigurationsversion" -#: templates/cluster/workers_list.html:30 +#: templates/cluster/workers_list.html:28 msgid "Configuration sync in progress" msgstr "Konfigurationssynchronisierung läuft" -#: templates/cluster/workers_list.html:40 +#: templates/cluster/workers_list.html:37 msgid "The worker is outdated. Please update it to the latest version." msgstr "" "Der Worker ist veraltet. Bitte aktualisieren Sie ihn auf die neueste Version." -#: templates/cluster/workers_list.html:47 +#: templates/cluster/workers_list.html:44 msgid "IP Lock Enabled" msgstr "IP-Sperre aktiviert" -#: templates/cluster/workers_list.html:50 -#: templates/cluster/workers_list.html:58 +#: templates/cluster/workers_list.html:47 +#: templates/cluster/workers_list.html:54 msgid "Not set" msgstr "Nicht gesetzt" -#: templates/cluster/workers_list.html:66 +#: templates/cluster/workers_list.html:61 msgid "Never" msgstr "Niemals" -#: templates/cluster/workers_list.html:70 +#: templates/cluster/workers_list.html:64 msgid "Last seen more than 10 minutes ago or never seen." msgstr "Zuletzt vor mehr als 10 Minuten gesehen oder noch nie gesehen." -#: templates/cluster/workers_list.html:83 -#: templates/dns/static_host_list.html:74 templates/user_manager/list.html:53 +#: templates/cluster/workers_list.html:77 +#: templates/dns/static_host_list.html:74 +#: templates/routing_templates/list.html:29 templates/user_manager/list.html:53 #: templates/user_manager/peer_group_list.html:35 -#: templates/wireguard/wireguard_peer_list.html:198 +#: templates/wireguard/wireguard_peer_list.html:213 msgid "Edit" msgstr "Bearbeiten" -#: templates/cluster/workers_list.html:89 +#: templates/cluster/workers_list.html:82 msgid "No workers configured" msgstr "Keine Worker konfiguriert" -#: templates/cluster/workers_list.html:96 -#: templates/cluster/workers_list.html:99 +#: templates/cluster/workers_list.html:89 +#: templates/cluster/workers_list.html:92 msgid "Cluster Information" msgstr "Cluster-Informationen" -#: templates/cluster/workers_list.html:121 +#: templates/cluster/workers_list.html:114 msgid "DNS Version" msgstr "DNS-Version" -#: templates/cluster/workers_list.html:126 +#: templates/cluster/workers_list.html:119 msgid "Stats Cache Refresh Interval" msgstr "Aktualisierungsintervall für Statistik-Cache" -#: templates/cluster/workers_list.html:130 +#: templates/cluster/workers_list.html:123 msgid "Cache Enabled" msgstr "Cache aktiviert" -#: templates/cluster/workers_list.html:140 +#: templates/cluster/workers_list.html:133 msgid "Cache Web Load Previous Count" msgstr "Anzahl vorheriger Web-Cache-Ladungen" -#: templates/cluster/workers_list.html:144 +#: templates/cluster/workers_list.html:137 msgid "Master Cache Processing Time" msgstr "Verarbeitungszeit des Master-Caches" -#: templates/cluster/workers_list.html:148 +#: templates/cluster/workers_list.html:141 msgid "Cluster Cache Processing Time" msgstr "Verarbeitungszeit des Cluster-Caches" -#: templates/cluster/workers_list.html:160 +#: templates/cluster/workers_list.html:153 msgid "Primary WireGuard" msgstr "Primäres WireGuard aktivieren" -#: templates/cluster/workers_list.html:178 +#: templates/cluster/workers_list.html:171 msgid "Cluster Feature – Testing Phase" msgstr "Cluster-Funktion – Testphase" -#: templates/cluster/workers_list.html:185 +#: templates/cluster/workers_list.html:178 msgid "The cluster functionality is currently released as experimental." msgstr "Die Cluster-Funktionalität ist derzeit als experimentell freigegeben." -#: templates/cluster/workers_list.html:186 +#: templates/cluster/workers_list.html:179 msgid "At this stage, only core features are implemented:" msgstr "In diesem Stadium sind nur Kernfunktionen implementiert:" -#: templates/cluster/workers_list.html:188 +#: templates/cluster/workers_list.html:181 msgid "Configuration synchronization service" msgstr "Konfigurations-Synchronisationsdienst" -#: templates/cluster/workers_list.html:189 +#: templates/cluster/workers_list.html:182 msgid "Primary node mirroring (WireGuard and firewall rules)" msgstr "Primärknoten-Spiegelung (WireGuard und Firewall-Regeln)" -#: templates/cluster/workers_list.html:190 +#: templates/cluster/workers_list.html:183 msgid "DNS rules mirroring" msgstr "DNS-Regel-Spiegelung" -#: templates/cluster/workers_list.html:193 -msgid "Warning:" -msgstr "Warnung:" - -#: templates/cluster/workers_list.html:200 -msgid "Next priority features (coming soon):" -msgstr "Nächste Prioritätsfunktionen (demnächst):" - -#: templates/cluster/workers_list.html:202 +#: templates/cluster/workers_list.html:184 msgid "Traffic data synchronization" msgstr "Synchronisierung der Verkehrsdaten" -#: templates/cluster/workers_list.html:203 +#: templates/cluster/workers_list.html:185 msgid "" "Server selection dropdown before downloading peer configs or VPN invites" msgstr "" "Server-Auswahlliste vor dem Herunterladen von Peer-Konfigurationen oder VPN-" "Einladungen" -#: templates/cluster/workers_list.html:207 +#: templates/cluster/workers_list.html:191 msgid "For more information, please visit:" msgstr "Für weitere Informationen besuchen Sie bitte:" +#: templates/cluster/workers_list.html:195 +msgid "I Understand" +msgstr "Ich verstehe" + #: templates/console/console.html:12 msgid "Clear" msgstr "Leeren" @@ -1187,10 +1277,6 @@ msgstr "Zieltyp" msgid "Peer" msgstr "Peer" -#: templates/firewall/manage_redirect_rule.html:57 -msgid "WireGuard Instance" -msgstr "WireGuard‑Instanz" - #: templates/firewall/manage_redirect_rule.html:74 msgid "Add Forward Rule (allow)" msgstr "Forward‑Regel hinzufügen (zulassen)" @@ -1282,6 +1368,18 @@ msgstr "" msgid "Create Port forwarding Rule" msgstr "Port‑Weiterleitungsregel erstellen" +#: templates/routing_templates/list.html:11 +#, fuzzy +#| msgid "Default Policy" +msgid "Default" +msgstr "Standard‑Richtlinie" + +#: templates/routing_templates/list.html:12 +#, fuzzy +#| msgid "Update" +msgid "Updated" +msgstr "Aktualisieren" + #: templates/user_manager/list.html:9 user_manager/forms.py:20 msgid "User Level" msgstr "Benutzerstufe" @@ -1517,7 +1615,7 @@ msgid "Transfer" msgstr "Übertragen" #: templates/wireguard/wireguard_peer_list.html:77 -#: templates/wireguard/wireguard_peer_list.html:528 +#: templates/wireguard/wireguard_peer_list.html:594 wireguard_peer/views.py:90 msgid "Primary Server" msgstr "Primärer Server" @@ -1546,7 +1644,7 @@ msgid "Create Peer" msgstr "Peer erstellen" #: templates/wireguard/wireguard_peer_list.html:107 -#: templates/wireguard/wireguard_peer_list.html:696 +#: templates/wireguard/wireguard_peer_list.html:762 msgid "Show extras" msgstr "Extras anzeigen" @@ -1586,23 +1684,29 @@ msgstr "E‑Mail" msgid "WhatsApp" msgstr "WhatsApp" -#: templates/wireguard/wireguard_peer_list.html:194 +#: templates/wireguard/wireguard_peer_list.html:197 msgid "Close" msgstr "Schließen" -#: templates/wireguard/wireguard_peer_list.html:195 +#: templates/wireguard/wireguard_peer_list.html:201 msgid "Config" msgstr "Konfig" -#: templates/wireguard/wireguard_peer_list.html:196 +#: templates/wireguard/wireguard_peer_list.html:205 msgid "QR Code" msgstr "QR‑Code" -#: templates/wireguard/wireguard_peer_list.html:206 +#: templates/wireguard/wireguard_peer_list.html:221 +#, fuzzy +#| msgid "Primary Server" +msgid "Server" +msgstr "Primärer Server" + +#: templates/wireguard/wireguard_peer_list.html:237 msgid "No WireGuard Instances Found" msgstr "Keine WireGuard‑Instanzen gefunden" -#: templates/wireguard/wireguard_peer_list.html:207 +#: templates/wireguard/wireguard_peer_list.html:238 msgid "" "There are no WireGuard instances configured. You can add a new instance by " "clicking the button below." @@ -1610,11 +1714,11 @@ msgstr "" "Es sind keine WireGuard‑Instanzen konfiguriert. Sie können eine neue Instanz " "hinzufügen, indem Sie unten auf die Schaltfläche klicken." -#: templates/wireguard/wireguard_peer_list.html:210 +#: templates/wireguard/wireguard_peer_list.html:241 msgid "Add WireGuard Instance" msgstr "WireGuard‑Instanz hinzufügen" -#: templates/wireguard/wireguard_peer_list.html:306 +#: templates/wireguard/wireguard_peer_list.html:362 msgid "" "This configuration does not contain a private key. You must add the private " "key manually in your client before using it." @@ -1623,7 +1727,7 @@ msgstr "" "privaten Schlüssel manuell in Ihrem Client hinzufügen, bevor Sie ihn " "verwenden." -#: templates/wireguard/wireguard_peer_list.html:649 +#: templates/wireguard/wireguard_peer_list.html:715 msgid "" "This address does not appear in the wg show command output, likely " "indicating that another peer has an IP overlapping this network or that the " @@ -1633,7 +1737,7 @@ msgstr "" "verwendet ein anderer Peer eine überlappende IP oder die Konfigurationsdatei " "ist veraltet." -#: templates/wireguard/wireguard_peer_list.html:664 +#: templates/wireguard/wireguard_peer_list.html:730 msgid "" "At least one address does not appear in the wg show command output, which " "may indicate that another peer is using an overlapping IP or that the " @@ -1643,67 +1747,67 @@ msgstr "" "Möglicherweise nutzt ein anderer Peer eine überlappende IP oder die " "Konfiguration ist veraltet." -#: templates/wireguard/wireguard_peer_list.html:693 +#: templates/wireguard/wireguard_peer_list.html:759 msgid "Hide extras" msgstr "Extras ausblenden" -#: templates/wireguard/wireguard_peer_list.html:737 -#: templates/wireguard/wireguard_peer_list.html:871 +#: templates/wireguard/wireguard_peer_list.html:803 +#: templates/wireguard/wireguard_peer_list.html:937 msgid "Access Password" msgstr "Zugangspasswort" -#: templates/wireguard/wireguard_peer_list.html:737 -#: templates/wireguard/wireguard_peer_list.html:871 +#: templates/wireguard/wireguard_peer_list.html:803 +#: templates/wireguard/wireguard_peer_list.html:937 msgid "(Share this password via a separate secure channel)" msgstr "(Teilen Sie dieses Passwort über einen getrennten sicheren Kanal)" -#: templates/wireguard/wireguard_peer_list.html:740 +#: templates/wireguard/wireguard_peer_list.html:806 msgid "Unknown error" msgstr "Unbekannter Fehler" -#: templates/wireguard/wireguard_peer_list.html:744 +#: templates/wireguard/wireguard_peer_list.html:810 msgid "Error creating invite." msgstr "Fehler beim Erstellen der Einladung." -#: templates/wireguard/wireguard_peer_list.html:781 +#: templates/wireguard/wireguard_peer_list.html:847 msgid "Invite text copied to clipboard." msgstr "Einladungstext in die Zwischenablage kopiert." -#: templates/wireguard/wireguard_peer_list.html:783 +#: templates/wireguard/wireguard_peer_list.html:849 msgid "Failed to copy text." msgstr "Text konnte nicht kopiert werden." -#: templates/wireguard/wireguard_peer_list.html:786 +#: templates/wireguard/wireguard_peer_list.html:852 msgid "Clipboard API not supported." msgstr "Clipboard‑API wird nicht unterstützt." -#: templates/wireguard/wireguard_peer_list.html:795 +#: templates/wireguard/wireguard_peer_list.html:861 msgid "Please enter a valid phone number for WhatsApp." msgstr "Bitte geben Sie eine gültige Telefonnummer für WhatsApp ein." -#: templates/wireguard/wireguard_peer_list.html:807 -#: templates/wireguard/wireguard_peer_list.html:853 +#: templates/wireguard/wireguard_peer_list.html:873 +#: templates/wireguard/wireguard_peer_list.html:919 msgid "Invite data is not available." msgstr "Einladungsdaten sind nicht verfügbar." -#: templates/wireguard/wireguard_peer_list.html:816 +#: templates/wireguard/wireguard_peer_list.html:882 msgid "Please enter a valid email address." msgstr "Bitte geben Sie eine gültige E‑Mail‑Adresse ein." -#: templates/wireguard/wireguard_peer_list.html:838 +#: templates/wireguard/wireguard_peer_list.html:904 msgid "Error sending email." msgstr "Fehler beim Senden der E‑Mail." -#: templates/wireguard/wireguard_peer_list.html:875 -#: templates/wireguard/wireguard_peer_list.html:879 +#: templates/wireguard/wireguard_peer_list.html:941 +#: templates/wireguard/wireguard_peer_list.html:945 msgid "Error refreshing invite." msgstr "Fehler beim Aktualisieren der Einladung." -#: templates/wireguard/wireguard_peer_list.html:894 +#: templates/wireguard/wireguard_peer_list.html:960 msgid "No invite data available to refresh." msgstr "Keine Einladungsdaten zum Aktualisieren verfügbar." -#: templates/wireguard/wireguard_peer_list.html:914 +#: templates/wireguard/wireguard_peer_list.html:980 msgid "Error closing invite:" msgstr "Fehler beim Schließen der Einladung:" @@ -2316,42 +2420,42 @@ msgstr "Ungültige Konfigurationsdatei" msgid "WireGuard Peer List" msgstr "WireGuard‑Peer‑Liste" -#: wireguard_peer/views.py:155 +#: wireguard_peer/views.py:160 msgid "Create a new Peer for instance wg" msgstr "Neuen Peer für Instanz wg erstellen" -#: wireguard_peer/views.py:174 +#: wireguard_peer/views.py:179 msgid "Peer created|Peer created successfully." msgstr "Peer erstellt|Peer erfolgreich erstellt." -#: wireguard_peer/views.py:179 +#: wireguard_peer/views.py:184 msgid "Error creating peer|No available IP address found for peer creation." msgstr "Fehler beim Erstellen des Peers|Keine freie IP‑Adresse verfügbar." -#: wireguard_peer/views.py:192 +#: wireguard_peer/views.py:197 msgid "Peer deleted|Peer deleted successfully." msgstr "Peer gelöscht|Peer erfolgreich gelöscht." -#: wireguard_peer/views.py:195 +#: wireguard_peer/views.py:200 msgid "" "Error deleting peer|Invalid confirmation message. Type \"delete\" to confirm." msgstr "" "Fehler beim Löschen des Peers|Ungültige Bestätigung. Geben Sie \"delete\" " "ein, um zu bestätigen." -#: wireguard_peer/views.py:197 +#: wireguard_peer/views.py:202 msgid "Update Peer: " msgstr "Peer aktualisieren: " -#: wireguard_peer/views.py:208 +#: wireguard_peer/views.py:213 msgid "Peer updated|Peer updated successfully." msgstr "Peer aktualisiert|Peer erfolgreich aktualisiert." -#: wireguard_peer/views.py:246 +#: wireguard_peer/views.py:251 msgid "IP address deleted|IP address deleted successfully." msgstr "IP‑Adresse gelöscht|IP‑Adresse erfolgreich gelöscht." -#: wireguard_peer/views.py:251 +#: wireguard_peer/views.py:256 msgid "" "Error deleting IP address|Invalid confirmation message. Type \"delete\" to " "confirm." @@ -2359,23 +2463,23 @@ msgstr "" "Fehler beim Löschen der IP‑Adresse|Ungültige Bestätigung. Geben Sie " "\"delete\" ein, um zu bestätigen." -#: wireguard_peer/views.py:256 +#: wireguard_peer/views.py:261 msgid "Manage client route" msgstr "Client‑Route verwalten" -#: wireguard_peer/views.py:258 +#: wireguard_peer/views.py:263 msgid "Manage IP address or Network" msgstr "IP‑Adresse oder Netzwerk verwalten" -#: wireguard_peer/views.py:271 +#: wireguard_peer/views.py:276 msgid "IP address updated|IP address updated successfully." msgstr "IP‑Adresse aktualisiert|IP‑Adresse erfolgreich aktualisiert." -#: wireguard_peer/views.py:273 +#: wireguard_peer/views.py:278 msgid "IP address added|IP address added successfully." msgstr "IP‑Adresse hinzugefügt|IP‑Adresse erfolgreich hinzugefügt." -#: wireguard_tools/views.py:165 +#: wireguard_tools/views.py:170 msgid "" "Export successful!|WireGuard configuration files have been exported to /etc/" "wireguard/." @@ -2383,7 +2487,7 @@ msgstr "" "Export erfolgreich!|WireGuard‑Konfigurationsdateien wurden nach /etc/" "wireguard/ exportiert." -#: wireguard_tools/views.py:167 +#: wireguard_tools/views.py:172 msgid "" "Export successful!|WireGuard configuration files have been exported to /etc/" "wireguard/. Don't forget to restart the interfaces." @@ -2391,19 +2495,19 @@ msgstr "" "Export erfolgreich!|WireGuard‑Konfigurationsdateien wurden nach /etc/" "wireguard/ exportiert. Vergessen Sie nicht, die Interfaces neu zu starten." -#: wireguard_tools/views.py:260 +#: wireguard_tools/views.py:274 msgid "Error reloading" msgstr "Fehler beim Neu laden" -#: wireguard_tools/views.py:272 +#: wireguard_tools/views.py:286 msgid "Error stopping" msgstr "Fehler beim Stoppen" -#: wireguard_tools/views.py:277 +#: wireguard_tools/views.py:291 msgid "Error starting" msgstr "Fehler beim Starten" -#: wireguard_tools/views.py:284 +#: wireguard_tools/views.py:298 msgid "" "WARNING|Please note that the interface was reloaded, not restarted. Double-" "check if the the peers are working as expected. If you find any issues, " @@ -2413,26 +2517,43 @@ msgstr "" "Sie, ob alle Peers wie erwartet funktionieren. Melden Sie eventuelle " "Probleme." -#: wireguard_tools/views.py:285 +#: wireguard_tools/views.py:299 msgid "WireGuard reloaded|The WireGuard service has been reloaded." msgstr "WireGuard neu geladen|Der WireGuard‑Dienst wurde neu geladen." -#: wireguard_tools/views.py:287 +#: wireguard_tools/views.py:301 msgid "WireGuard restarted|The WireGuard service has been restarted." msgstr "WireGuard neu gestartet|Der WireGuard‑Dienst wurde neu gestartet." -#: wireguard_tools/views.py:290 +#: wireguard_tools/views.py:304 msgid "Errors encountered|Error processing one or more interfaces." msgstr "" "Fehler festgestellt|Beim Verarbeiten einer oder mehrerer Schnittstellen ist " "ein Fehler aufgetreten." -#: wireguard_tools/views.py:293 +#: wireguard_tools/views.py:307 msgid "No interfaces found|No WireGuard interfaces were found to process." msgstr "" "Keine Schnittstellen gefunden|Es wurden keine WireGuard‑Schnittstellen " "gefunden." +#~ msgid "" +#~ "Your WireGuard settings have been modified. To apply these changes, " +#~ "please update the configuration and reload the WireGuard service." +#~ msgstr "" +#~ "Ihre WireGuard‑Einstellungen wurden geändert. Um die Änderungen " +#~ "anzuwenden, aktualisieren Sie die Konfiguration und laden Sie den " +#~ "WireGuard‑Dienst neu." + +#~ msgid "Update Available" +#~ msgstr "Aktualisierung verfügbar" + +#~ msgid "Warning:" +#~ msgstr "Warnung:" + +#~ msgid "Next priority features (coming soon):" +#~ msgstr "Nächste Prioritätsfunktionen (demnächst):" + #~ msgid "Stats Sync Interval" #~ msgstr "Statistik-Sync-Intervall" @@ -2450,9 +2571,6 @@ msgstr "" #~ "Verkehrsdaten, IP-Adresse, Handshake-Status und Online/Offline-Status " #~ "sind für Peers, die mit Cluster-Knoten verbunden sind, nicht sichtbar." -#~ msgid "I Understand" -#~ msgstr "Ich verstehe" - #~ msgid "Disabling WireGuard on the master server is currently not supported." #~ msgstr "" #~ "Das Deaktivieren von WireGuard auf dem Master-Server wird derzeit nicht " diff --git a/locale/es/LC_MESSAGES/django.mo b/locale/es/LC_MESSAGES/django.mo index 9db31244c55a1a2f8b4cda74011d1ea426dd43b6..3e66766ce9712ad6100966ae569261afe5220791 100644 GIT binary patch delta 9653 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 delta 10102 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 diff --git a/locale/es/LC_MESSAGES/django.po b/locale/es/LC_MESSAGES/django.po index d4b7170..54e9ec9 100644 --- a/locale/es/LC_MESSAGES/django.po +++ b/locale/es/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-14 09:34-0300\n" +"POT-Creation-Date: 2026-01-16 13:54-0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,14 +17,15 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: cluster/forms.py:18 dns/forms.py:111 templates/cluster/workers_list.html:8 -#: templates/dns/static_host_list.html:68 +#: cluster/forms.py:18 dns/forms.py:111 routing_templates/forms.py:25 +#: templates/cluster/workers_list.html:8 templates/dns/static_host_list.html:68 +#: templates/routing_templates/list.html:8 #: templates/user_manager/peer_group_list.html:8 user_manager/forms.py:177 #: wireguard_peer/forms.py:10 msgid "Name" msgstr "Nombre" -#: cluster/forms.py:19 templates/cluster/workers_list.html:103 +#: cluster/forms.py:19 templates/cluster/workers_list.html:96 #: vpn_invite/forms.py:49 vpn_invite/forms.py:294 msgid "Enabled" msgstr "Habilitado" @@ -59,7 +60,8 @@ msgid "Token" msgstr "Token" #: cluster/forms.py:27 cluster/forms.py:103 dns/forms.py:25 dns/forms.py:67 -#: dns/forms.py:109 templates/firewall/manage_firewall_rule.html:380 +#: dns/forms.py:109 routing_templates/forms.py:32 +#: templates/firewall/manage_firewall_rule.html:380 #: templates/firewall/manage_firewall_settings.html:60 #: templates/firewall/manage_redirect_rule.html:85 #: templates/wireguard/wireguard_manage_ip.html:42 @@ -70,6 +72,7 @@ msgid "Back" msgstr "Volver" #: cluster/forms.py:28 dns/forms.py:68 dns/forms.py:110 +#: routing_templates/forms.py:33 #: templates/firewall/manage_firewall_rule.html:382 #: templates/firewall/manage_redirect_rule.html:86 #: templates/wireguard/wireguard_manage_ip.html:43 @@ -79,7 +82,8 @@ msgid "Delete" msgstr "Eliminar" #: cluster/forms.py:67 cluster/forms.py:124 dns/forms.py:37 dns/forms.py:83 -#: dns/forms.py:134 templates/firewall/manage_firewall_rule.html:379 +#: dns/forms.py:134 routing_templates/forms.py:64 +#: templates/firewall/manage_firewall_rule.html:379 #: templates/firewall/manage_firewall_settings.html:59 #: templates/firewall/manage_redirect_rule.html:84 #: templates/wireguard/wireguard_manage_ip.html:41 @@ -107,15 +111,15 @@ msgstr "Cluster habilitado" msgid "Primary Enable WireGuard" msgstr "Habilitar WireGuard primario" -#: cluster/forms.py:99 templates/cluster/workers_list.html:113 +#: cluster/forms.py:99 templates/cluster/workers_list.html:106 msgid "Cluster Mode" msgstr "Modo de cluster" -#: cluster/forms.py:100 templates/cluster/workers_list.html:152 +#: cluster/forms.py:100 templates/cluster/workers_list.html:145 msgid "Restart Mode" msgstr "Modo de reinicio" -#: cluster/forms.py:101 templates/cluster/workers_list.html:156 +#: cluster/forms.py:101 templates/cluster/workers_list.html:149 msgid "Worker Display" msgstr "Visualización del worker" @@ -158,7 +162,7 @@ msgstr "Se requiere la actualización del worker." msgid "Access Denied" msgstr "Acceso denegado" -#: cluster/views.py:21 templates/base.html:162 +#: cluster/views.py:21 templates/base.html:180 msgid "Cluster" msgstr "Cluster" @@ -174,7 +178,7 @@ msgstr "Worker eliminado|Worker eliminado: " msgid "Worker not deleted|Invalid confirmation." msgstr "Worker no eliminado|Confirmación inválida." -#: cluster/views.py:64 templates/cluster/workers_list.html:94 +#: cluster/views.py:64 templates/cluster/workers_list.html:87 msgid "Add Worker" msgstr "Agregar Worker" @@ -230,7 +234,7 @@ msgstr "" "nombre de host).

\n" " " -#: cluster/views.py:117 templates/cluster/workers_list.html:95 +#: cluster/views.py:117 templates/cluster/workers_list.html:88 msgid "Cluster Settings" msgstr "Configuración del Cluster" @@ -669,7 +673,7 @@ msgstr "Configuración de firewall guardada correctamente" msgid "Language" msgstr "Idioma" -#: intl_tools/forms.py:24 templates/base.html:57 +#: intl_tools/forms.py:24 templates/base.html:61 msgid "Change Language" msgstr "Cambiar idioma" @@ -681,6 +685,107 @@ msgstr "" "Si encuentra algún problema con la traducción o desea solicitar un nuevo " "idioma, por favor abra un" +#: routing_templates/forms.py:26 +#: templates/firewall/manage_redirect_rule.html:57 +#: templates/routing_templates/list.html:9 +msgid "WireGuard Instance" +msgstr "Instancia de WireGuard" + +#: routing_templates/forms.py:27 templates/routing_templates/list.html:24 +#, fuzzy +#| msgid "default route" +msgid "Default Template" +msgstr "ruta predeterminada" + +#: routing_templates/forms.py:28 templates/routing_templates/list.html:10 +msgid "Route Type" +msgstr "" + +#: routing_templates/forms.py:29 routing_templates/models.py:14 +msgid "Custom Routes" +msgstr "" + +#: routing_templates/forms.py:30 +#, fuzzy +#| msgid "Allow Peer to Peer" +msgid "Allow Peer Custom Routes" +msgstr "Permitir tráfico entre peers" + +#: routing_templates/models.py:11 +msgid "Default Route (0.0.0.0/0)" +msgstr "" + +#: routing_templates/models.py:12 +msgid "Routes from Peers on same Interface" +msgstr "" + +#: routing_templates/models.py:13 +msgid "Routes from All Peers" +msgstr "" + +#: routing_templates/models.py:23 +msgid "One route per line in CIDR notation." +msgstr "" + +#: routing_templates/views.py:16 templates/base.html:161 +#, fuzzy +#| msgid "Routing table" +msgid "Routing Templates" +msgstr "Tabla de enrutamiento" + +#: routing_templates/views.py:31 +msgid "Edit Routing Template: " +msgstr "" + +#: routing_templates/views.py:37 +msgid "Routing Template deleted|Routing Template deleted: " +msgstr "" + +#: routing_templates/views.py:40 +#, fuzzy +#| msgid "Worker not deleted|Invalid confirmation." +msgid "Routing Template not deleted|Invalid confirmation." +msgstr "Worker no eliminado|Confirmación inválida." + +#: routing_templates/views.py:44 templates/routing_templates/list.html:38 +#, fuzzy +#| msgid "Routing table" +msgid "Add Routing Template" +msgstr "Tabla de enrutamiento" + +#: routing_templates/views.py:58 +msgid "" +"\n" +"
Routing Templates
\n" +"

Define routing configurations that can be applied to peers.

\n" +" \n" +"
Default Template
\n" +"

If checked, this template will be the default for the selected " +"WireGuard instance. Only one default template is allowed per instance.

\n" +"\n" +"
Route Type
\n" +"

Select the type of routes to push to the client.

\n" +"
    \n" +"
  • Default Route (0.0.0.0/0): Redirects all " +"traffic through the VPN.
  • \n" +"
  • Routes from Peers on same Interface: Pushes " +"routes for other peers on the same WireGuard interface.
  • \n" +"
  • Routes from All Peers: Pushes routes for " +"all peers across all interfaces.
  • \n" +"
  • Custom Routes: Allows you to specify custom " +"CIDR ranges.
  • \n" +"
\n" +"\n" +"
Custom Routes
\n" +"

Enter custom routes in CIDR notation, one per line (e.g., " +"192.168.1.0/24).

\n" +" \n" +"
Allow Peer Custom Routes
\n" +"

If checked, allows specific peers to add their own custom routes " +"on top of this template.

\n" +" " +msgstr "" + #: templates/access_denied.html:12 msgid "Sorry, you do not have permission to access this page." msgstr "Lo siento, no tienes permiso para acceder a esta página." @@ -715,47 +820,35 @@ msgstr "Has cerrado sesión correctamente." msgid "Login again" msgstr "Iniciar sesión de nuevo" -#: templates/base.html:89 templates/cluster/workers_list.html:9 +#: templates/base.html:94 templates/cluster/workers_list.html:9 #: templates/dns/static_host_list.html:72 vpn_invite/forms.py:78 #: vpn_invite/forms.py:79 vpn_invite/forms.py:80 vpn_invite/forms.py:81 #: vpn_invite/forms.py:82 msgid "Status" msgstr "Estado" -#: templates/base.html:135 user_manager/views.py:74 +#: templates/base.html:141 user_manager/views.py:74 msgid "User Manager" msgstr "Gestión de usuarios" -#: templates/base.html:153 templates/wireguard/wireguard_peer_list.html:197 +#: templates/base.html:171 templates/wireguard/wireguard_peer_list.html:209 #: vpn_invite/views.py:37 msgid "VPN Invite" msgstr "Invitación VPN" -#: templates/base.html:240 +#: templates/base.html:260 msgid "Update Required" msgstr "Actualización requerida" -#: templates/base.html:242 -msgid "" -"Your WireGuard settings have been modified. To apply these changes, please " -"update the configuration and reload the WireGuard service." -msgstr "" -"Tus ajustes de WireGuard han sido modificados. Para aplicar los cambios, " -"actualiza la configuración y recarga el servicio WireGuard." - -#: templates/base.html:251 +#: templates/base.html:269 msgid "Update and restart service" msgstr "Actualizar y reiniciar servicio" -#: templates/base.html:259 +#: templates/base.html:274 msgid "Update and reload service" msgstr "Actualizar y recargar servicio" -#: templates/base.html:272 -msgid "Update Available" -msgstr "Actualización disponible" - -#: templates/base.html:274 +#: templates/base.html:290 msgid "Version" msgstr "Versión" @@ -770,128 +863,125 @@ msgid "Last Seen" msgstr "Visto por última vez" #: templates/cluster/workers_list.html:13 -#: templates/cluster/workers_list.html:117 +#: templates/cluster/workers_list.html:110 msgid "Config Version" msgstr "Versión de configuración" -#: templates/cluster/workers_list.html:30 +#: templates/cluster/workers_list.html:28 msgid "Configuration sync in progress" msgstr "Sincronización de configuración en curso" -#: templates/cluster/workers_list.html:40 +#: templates/cluster/workers_list.html:37 msgid "The worker is outdated. Please update it to the latest version." msgstr "" "El worker está desactualizado. Por favor, atualícelo a la última versión." -#: templates/cluster/workers_list.html:47 +#: templates/cluster/workers_list.html:44 msgid "IP Lock Enabled" msgstr "Bloqueo de IP habilitado" -#: templates/cluster/workers_list.html:50 -#: templates/cluster/workers_list.html:58 +#: templates/cluster/workers_list.html:47 +#: templates/cluster/workers_list.html:54 msgid "Not set" msgstr "No establecido" -#: templates/cluster/workers_list.html:66 +#: templates/cluster/workers_list.html:61 msgid "Never" msgstr "Nunca" -#: templates/cluster/workers_list.html:70 +#: templates/cluster/workers_list.html:64 msgid "Last seen more than 10 minutes ago or never seen." msgstr "Visto por última vez hace más de 10 minutos o nunca visto." -#: templates/cluster/workers_list.html:83 -#: templates/dns/static_host_list.html:74 templates/user_manager/list.html:53 +#: templates/cluster/workers_list.html:77 +#: templates/dns/static_host_list.html:74 +#: templates/routing_templates/list.html:29 templates/user_manager/list.html:53 #: templates/user_manager/peer_group_list.html:35 -#: templates/wireguard/wireguard_peer_list.html:198 +#: templates/wireguard/wireguard_peer_list.html:213 msgid "Edit" msgstr "Editar" -#: templates/cluster/workers_list.html:89 +#: templates/cluster/workers_list.html:82 msgid "No workers configured" msgstr "No hay workers configurados" -#: templates/cluster/workers_list.html:96 -#: templates/cluster/workers_list.html:99 +#: templates/cluster/workers_list.html:89 +#: templates/cluster/workers_list.html:92 msgid "Cluster Information" msgstr "Información del clúster" -#: templates/cluster/workers_list.html:121 +#: templates/cluster/workers_list.html:114 msgid "DNS Version" msgstr "Versión de DNS" -#: templates/cluster/workers_list.html:126 +#: templates/cluster/workers_list.html:119 msgid "Stats Cache Refresh Interval" msgstr "Intervalo de actualización del caché de estadísticas" -#: templates/cluster/workers_list.html:130 +#: templates/cluster/workers_list.html:123 msgid "Cache Enabled" msgstr "Caché habilitado" -#: templates/cluster/workers_list.html:140 +#: templates/cluster/workers_list.html:133 msgid "Cache Web Load Previous Count" msgstr "Recuento de carga previa del caché web" -#: templates/cluster/workers_list.html:144 +#: templates/cluster/workers_list.html:137 msgid "Master Cache Processing Time" msgstr "Tiempo de procesamiento del caché maestro" -#: templates/cluster/workers_list.html:148 +#: templates/cluster/workers_list.html:141 msgid "Cluster Cache Processing Time" msgstr "Tiempo de procesamiento del caché del clúster" -#: templates/cluster/workers_list.html:160 +#: templates/cluster/workers_list.html:153 msgid "Primary WireGuard" msgstr "Habilitar WireGuard primario" -#: templates/cluster/workers_list.html:178 +#: templates/cluster/workers_list.html:171 msgid "Cluster Feature – Testing Phase" msgstr "Función de clúster – Fase de pruebas" -#: templates/cluster/workers_list.html:185 +#: templates/cluster/workers_list.html:178 msgid "The cluster functionality is currently released as experimental." msgstr "" "La funcionalidad de clúster se encuentra actualmente en fase experimental." -#: templates/cluster/workers_list.html:186 +#: templates/cluster/workers_list.html:179 msgid "At this stage, only core features are implemented:" msgstr "En esta etapa, solo se han implementado las funciones principales:" -#: templates/cluster/workers_list.html:188 +#: templates/cluster/workers_list.html:181 msgid "Configuration synchronization service" msgstr "Servicio de sincronización de configuración" -#: templates/cluster/workers_list.html:189 +#: templates/cluster/workers_list.html:182 msgid "Primary node mirroring (WireGuard and firewall rules)" msgstr "Reflejo del nodo primario (WireGuard e regras de firewall)" -#: templates/cluster/workers_list.html:190 +#: templates/cluster/workers_list.html:183 msgid "DNS rules mirroring" msgstr "Reflejo de regras de DNS" -#: templates/cluster/workers_list.html:193 -msgid "Warning:" -msgstr "Advertencia:" - -#: templates/cluster/workers_list.html:200 -msgid "Next priority features (coming soon):" -msgstr "Próximas funciones prioritarias (próximamente):" - -#: templates/cluster/workers_list.html:202 +#: templates/cluster/workers_list.html:184 msgid "Traffic data synchronization" msgstr "Sincronización de datos de tráfico" -#: templates/cluster/workers_list.html:203 +#: templates/cluster/workers_list.html:185 msgid "" "Server selection dropdown before downloading peer configs or VPN invites" msgstr "" "Menú desplegable de selección de servidor antes de descargar configuraciones " "de pares o invitaciones de VPN" -#: templates/cluster/workers_list.html:207 +#: templates/cluster/workers_list.html:191 msgid "For more information, please visit:" msgstr "Para obtener más información, visite:" +#: templates/cluster/workers_list.html:195 +msgid "I Understand" +msgstr "Lo entiendo" + #: templates/console/console.html:12 msgid "Clear" msgstr "Limpiar" @@ -1184,10 +1274,6 @@ msgstr "Tipo de destino" msgid "Peer" msgstr "Peer" -#: templates/firewall/manage_redirect_rule.html:57 -msgid "WireGuard Instance" -msgstr "Instancia de WireGuard" - #: templates/firewall/manage_redirect_rule.html:74 msgid "Add Forward Rule (allow)" msgstr "Añadir regla de reenvío (permitir)" @@ -1275,6 +1361,18 @@ msgstr "" msgid "Create Port forwarding Rule" msgstr "Crear regla de reenvío de puerto" +#: templates/routing_templates/list.html:11 +#, fuzzy +#| msgid "Default Policy" +msgid "Default" +msgstr "Política predeterminada" + +#: templates/routing_templates/list.html:12 +#, fuzzy +#| msgid "Update" +msgid "Updated" +msgstr "Actualizar" + #: templates/user_manager/list.html:9 user_manager/forms.py:20 msgid "User Level" msgstr "Nivel de acceso" @@ -1511,7 +1609,7 @@ msgid "Transfer" msgstr "Transferencia" #: templates/wireguard/wireguard_peer_list.html:77 -#: templates/wireguard/wireguard_peer_list.html:528 +#: templates/wireguard/wireguard_peer_list.html:594 wireguard_peer/views.py:90 msgid "Primary Server" msgstr "Servidor primario" @@ -1540,7 +1638,7 @@ msgid "Create Peer" msgstr "Crear peer" #: templates/wireguard/wireguard_peer_list.html:107 -#: templates/wireguard/wireguard_peer_list.html:696 +#: templates/wireguard/wireguard_peer_list.html:762 msgid "Show extras" msgstr "Mostrar extras" @@ -1580,23 +1678,29 @@ msgstr "Email" msgid "WhatsApp" msgstr "WhatsApp" -#: templates/wireguard/wireguard_peer_list.html:194 +#: templates/wireguard/wireguard_peer_list.html:197 msgid "Close" msgstr "Cerrar" -#: templates/wireguard/wireguard_peer_list.html:195 +#: templates/wireguard/wireguard_peer_list.html:201 msgid "Config" msgstr "Configuración" -#: templates/wireguard/wireguard_peer_list.html:196 +#: templates/wireguard/wireguard_peer_list.html:205 msgid "QR Code" msgstr "Código QR" -#: templates/wireguard/wireguard_peer_list.html:206 +#: templates/wireguard/wireguard_peer_list.html:221 +#, fuzzy +#| msgid "Primary Server" +msgid "Server" +msgstr "Servidor primario" + +#: templates/wireguard/wireguard_peer_list.html:237 msgid "No WireGuard Instances Found" msgstr "No se encontraron instancias WireGuard" -#: templates/wireguard/wireguard_peer_list.html:207 +#: templates/wireguard/wireguard_peer_list.html:238 msgid "" "There are no WireGuard instances configured. You can add a new instance by " "clicking the button below." @@ -1604,11 +1708,11 @@ msgstr "" "No hay instancias WireGuard configuradas. Puedes añadir una nueva haciendo " "clic en el botón abajo." -#: templates/wireguard/wireguard_peer_list.html:210 +#: templates/wireguard/wireguard_peer_list.html:241 msgid "Add WireGuard Instance" msgstr "Añadir instancia WireGuard" -#: templates/wireguard/wireguard_peer_list.html:306 +#: templates/wireguard/wireguard_peer_list.html:362 msgid "" "This configuration does not contain a private key. You must add the private " "key manually in your client before using it." @@ -1616,7 +1720,7 @@ msgstr "" "Esta configuración no contiene una clave privada. Debes agregar la clave " "privada manualmente en tu cliente antes de usarla." -#: templates/wireguard/wireguard_peer_list.html:649 +#: templates/wireguard/wireguard_peer_list.html:715 msgid "" "This address does not appear in the wg show command output, likely " "indicating that another peer has an IP overlapping this network or that the " @@ -1625,7 +1729,7 @@ msgstr "" "Esta dirección no aparece en la salida de 'wg show', lo que indica que otro " "peer tiene una IP solapada o el archivo de configuración está desactualizado." -#: templates/wireguard/wireguard_peer_list.html:664 +#: templates/wireguard/wireguard_peer_list.html:730 msgid "" "At least one address does not appear in the wg show command output, which " "may indicate that another peer is using an overlapping IP or that the " @@ -1634,67 +1738,67 @@ msgstr "" "Al menos una dirección no aparece en la salida de 'wg show', lo cual puede " "indicar un IP solapada o un archivo desactualizado." -#: templates/wireguard/wireguard_peer_list.html:693 +#: templates/wireguard/wireguard_peer_list.html:759 msgid "Hide extras" msgstr "Ocultar extras" -#: templates/wireguard/wireguard_peer_list.html:737 -#: templates/wireguard/wireguard_peer_list.html:871 +#: templates/wireguard/wireguard_peer_list.html:803 +#: templates/wireguard/wireguard_peer_list.html:937 msgid "Access Password" msgstr "Contraseña de acceso" -#: templates/wireguard/wireguard_peer_list.html:737 -#: templates/wireguard/wireguard_peer_list.html:871 +#: templates/wireguard/wireguard_peer_list.html:803 +#: templates/wireguard/wireguard_peer_list.html:937 msgid "(Share this password via a separate secure channel)" msgstr "(Comparte esta contraseña por un canal seguro separado)" -#: templates/wireguard/wireguard_peer_list.html:740 +#: templates/wireguard/wireguard_peer_list.html:806 msgid "Unknown error" msgstr "Error desconocido" -#: templates/wireguard/wireguard_peer_list.html:744 +#: templates/wireguard/wireguard_peer_list.html:810 msgid "Error creating invite." msgstr "Error al crear invitación." -#: templates/wireguard/wireguard_peer_list.html:781 +#: templates/wireguard/wireguard_peer_list.html:847 msgid "Invite text copied to clipboard." msgstr "Texto de invitación copiado al portapapeles." -#: templates/wireguard/wireguard_peer_list.html:783 +#: templates/wireguard/wireguard_peer_list.html:849 msgid "Failed to copy text." msgstr "Error al copiar texto." -#: templates/wireguard/wireguard_peer_list.html:786 +#: templates/wireguard/wireguard_peer_list.html:852 msgid "Clipboard API not supported." msgstr "API del portapapeles no soportada." -#: templates/wireguard/wireguard_peer_list.html:795 +#: templates/wireguard/wireguard_peer_list.html:861 msgid "Please enter a valid phone number for WhatsApp." msgstr "Ingresa un número de WhatsApp válido." -#: templates/wireguard/wireguard_peer_list.html:807 -#: templates/wireguard/wireguard_peer_list.html:853 +#: templates/wireguard/wireguard_peer_list.html:873 +#: templates/wireguard/wireguard_peer_list.html:919 msgid "Invite data is not available." msgstr "Datos de invitación no disponibles." -#: templates/wireguard/wireguard_peer_list.html:816 +#: templates/wireguard/wireguard_peer_list.html:882 msgid "Please enter a valid email address." msgstr "Ingresa un email válido." -#: templates/wireguard/wireguard_peer_list.html:838 +#: templates/wireguard/wireguard_peer_list.html:904 msgid "Error sending email." msgstr "Error al enviar email." -#: templates/wireguard/wireguard_peer_list.html:875 -#: templates/wireguard/wireguard_peer_list.html:879 +#: templates/wireguard/wireguard_peer_list.html:941 +#: templates/wireguard/wireguard_peer_list.html:945 msgid "Error refreshing invite." msgstr "Error al actualizar invitación." -#: templates/wireguard/wireguard_peer_list.html:894 +#: templates/wireguard/wireguard_peer_list.html:960 msgid "No invite data available to refresh." msgstr "No hay datos de invitación para actualizar." -#: templates/wireguard/wireguard_peer_list.html:914 +#: templates/wireguard/wireguard_peer_list.html:980 msgid "Error closing invite:" msgstr "Error al cerrar invitación:" @@ -2294,42 +2398,42 @@ msgstr "Archivo de configuración inválido" msgid "WireGuard Peer List" msgstr "Lista de peers WireGuard" -#: wireguard_peer/views.py:155 +#: wireguard_peer/views.py:160 msgid "Create a new Peer for instance wg" msgstr "Crear nuevo peer para instancia wg" -#: wireguard_peer/views.py:174 +#: wireguard_peer/views.py:179 msgid "Peer created|Peer created successfully." msgstr "Peer creado|Peer creado correctamente." -#: wireguard_peer/views.py:179 +#: wireguard_peer/views.py:184 msgid "Error creating peer|No available IP address found for peer creation." msgstr "Error al crear peer|No hay IP disponible para asignar." -#: wireguard_peer/views.py:192 +#: wireguard_peer/views.py:197 msgid "Peer deleted|Peer deleted successfully." msgstr "Peer eliminado|Peer eliminado correctamente." -#: wireguard_peer/views.py:195 +#: wireguard_peer/views.py:200 msgid "" "Error deleting peer|Invalid confirmation message. Type \"delete\" to confirm." msgstr "" "Error al eliminar peer|Confirmación inválida. Escribe \"delete\" para " "confirmar." -#: wireguard_peer/views.py:197 +#: wireguard_peer/views.py:202 msgid "Update Peer: " msgstr "Actualizar peer: " -#: wireguard_peer/views.py:208 +#: wireguard_peer/views.py:213 msgid "Peer updated|Peer updated successfully." msgstr "Peer actualizado|Peer actualizado correctamente." -#: wireguard_peer/views.py:246 +#: wireguard_peer/views.py:251 msgid "IP address deleted|IP address deleted successfully." msgstr "IP eliminada|IP eliminada correctamente." -#: wireguard_peer/views.py:251 +#: wireguard_peer/views.py:256 msgid "" "Error deleting IP address|Invalid confirmation message. Type \"delete\" to " "confirm." @@ -2337,23 +2441,23 @@ msgstr "" "Error al eliminar IP|Confirmación inválida. Escribe \"delete\" para " "confirmar." -#: wireguard_peer/views.py:256 +#: wireguard_peer/views.py:261 msgid "Manage client route" msgstr "Gestionar ruta cliente" -#: wireguard_peer/views.py:258 +#: wireguard_peer/views.py:263 msgid "Manage IP address or Network" msgstr "Gestionar IP o red" -#: wireguard_peer/views.py:271 +#: wireguard_peer/views.py:276 msgid "IP address updated|IP address updated successfully." msgstr "IP actualizada|IP actualizada correctamente." -#: wireguard_peer/views.py:273 +#: wireguard_peer/views.py:278 msgid "IP address added|IP address added successfully." msgstr "IP añadida|IP añadida correctamente." -#: wireguard_tools/views.py:165 +#: wireguard_tools/views.py:170 msgid "" "Export successful!|WireGuard configuration files have been exported to /etc/" "wireguard/." @@ -2361,7 +2465,7 @@ msgstr "" "Exportación exitosa!|Los archivos de configuración se exportaron a /etc/" "wireguard/." -#: wireguard_tools/views.py:167 +#: wireguard_tools/views.py:172 msgid "" "Export successful!|WireGuard configuration files have been exported to /etc/" "wireguard/. Don't forget to restart the interfaces." @@ -2369,19 +2473,19 @@ msgstr "" "Exportación exitosa!|Los archivos de configuración se exportaron a /etc/" "wireguard/. No olvides reiniciar las interfaces." -#: wireguard_tools/views.py:260 +#: wireguard_tools/views.py:274 msgid "Error reloading" msgstr "Error al recargar" -#: wireguard_tools/views.py:272 +#: wireguard_tools/views.py:286 msgid "Error stopping" msgstr "Error al detener" -#: wireguard_tools/views.py:277 +#: wireguard_tools/views.py:291 msgid "Error starting" msgstr "Error al iniciar" -#: wireguard_tools/views.py:284 +#: wireguard_tools/views.py:298 msgid "" "WARNING|Please note that the interface was reloaded, not restarted. Double-" "check if the the peers are working as expected. If you find any issues, " @@ -2390,23 +2494,39 @@ msgstr "" "ADVERTENCIA|La interfaz se recargó, no reinició. Verifica que los peers " "funcionen correctamente. Si hay problemas, repórtalos." -#: wireguard_tools/views.py:285 +#: wireguard_tools/views.py:299 msgid "WireGuard reloaded|The WireGuard service has been reloaded." msgstr "WireGuard recargado|El servicio WireGuard se ha recargado." -#: wireguard_tools/views.py:287 +#: wireguard_tools/views.py:301 msgid "WireGuard restarted|The WireGuard service has been restarted." msgstr "WireGuard reiniciado|El servicio WireGuard se ha reiniciado." -#: wireguard_tools/views.py:290 +#: wireguard_tools/views.py:304 msgid "Errors encountered|Error processing one or more interfaces." msgstr "Errores encontrados|Error al procesar una o más interfaces." -#: wireguard_tools/views.py:293 +#: wireguard_tools/views.py:307 msgid "No interfaces found|No WireGuard interfaces were found to process." msgstr "" "No se encontraron interfaces|No hay interfaces WireGuard para procesar." +#~ msgid "" +#~ "Your WireGuard settings have been modified. To apply these changes, " +#~ "please update the configuration and reload the WireGuard service." +#~ msgstr "" +#~ "Tus ajustes de WireGuard han sido modificados. Para aplicar los cambios, " +#~ "actualiza la configuración y recarga el servicio WireGuard." + +#~ msgid "Update Available" +#~ msgstr "Actualización disponible" + +#~ msgid "Warning:" +#~ msgstr "Advertencia:" + +#~ msgid "Next priority features (coming soon):" +#~ msgstr "Próximas funciones prioritarias (próximamente):" + #~ msgid "Stats Sync Interval" #~ msgstr "Intervalo de sincronización de estadísticas" @@ -2425,9 +2545,6 @@ msgstr "" #~ "y el estado en línea/fuera de línea no serão visíveis para os peers " #~ "conectados aos nós do cluster." -#~ msgid "I Understand" -#~ msgstr "Lo entiendo" - #~ msgid "Disabling WireGuard on the master server is currently not supported." #~ msgstr "" #~ "Deshabilitar WireGuard no servidor mestre não é suportado no momento." diff --git a/locale/fr/LC_MESSAGES/django.mo b/locale/fr/LC_MESSAGES/django.mo index 6e8d1d1b9ddfff174bf7cfd75b70c1fd4a364252..ca565535bdd01b6539cfba81aa3ffb44b0328799 100644 GIT binary patch delta 9653 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 Mp5R^3?&{6|0S7@GJ^%m! delta 10061 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 yLeEhreKYgDIi6%Lw%ybt=xPSz diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index a048e0f..018d662 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-14 09:34-0300\n" +"POT-Creation-Date: 2026-01-16 13:54-0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,14 +17,15 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: cluster/forms.py:18 dns/forms.py:111 templates/cluster/workers_list.html:8 -#: templates/dns/static_host_list.html:68 +#: cluster/forms.py:18 dns/forms.py:111 routing_templates/forms.py:25 +#: templates/cluster/workers_list.html:8 templates/dns/static_host_list.html:68 +#: templates/routing_templates/list.html:8 #: templates/user_manager/peer_group_list.html:8 user_manager/forms.py:177 #: wireguard_peer/forms.py:10 msgid "Name" msgstr "Nom" -#: cluster/forms.py:19 templates/cluster/workers_list.html:103 +#: cluster/forms.py:19 templates/cluster/workers_list.html:96 #: vpn_invite/forms.py:49 vpn_invite/forms.py:294 msgid "Enabled" msgstr "Activé" @@ -59,7 +60,8 @@ msgid "Token" msgstr "Jeton" #: cluster/forms.py:27 cluster/forms.py:103 dns/forms.py:25 dns/forms.py:67 -#: dns/forms.py:109 templates/firewall/manage_firewall_rule.html:380 +#: dns/forms.py:109 routing_templates/forms.py:32 +#: templates/firewall/manage_firewall_rule.html:380 #: templates/firewall/manage_firewall_settings.html:60 #: templates/firewall/manage_redirect_rule.html:85 #: templates/wireguard/wireguard_manage_ip.html:42 @@ -70,6 +72,7 @@ msgid "Back" msgstr "Retour" #: cluster/forms.py:28 dns/forms.py:68 dns/forms.py:110 +#: routing_templates/forms.py:33 #: templates/firewall/manage_firewall_rule.html:382 #: templates/firewall/manage_redirect_rule.html:86 #: templates/wireguard/wireguard_manage_ip.html:43 @@ -79,7 +82,8 @@ msgid "Delete" msgstr "Supprimer" #: cluster/forms.py:67 cluster/forms.py:124 dns/forms.py:37 dns/forms.py:83 -#: dns/forms.py:134 templates/firewall/manage_firewall_rule.html:379 +#: dns/forms.py:134 routing_templates/forms.py:64 +#: templates/firewall/manage_firewall_rule.html:379 #: templates/firewall/manage_firewall_settings.html:59 #: templates/firewall/manage_redirect_rule.html:84 #: templates/wireguard/wireguard_manage_ip.html:41 @@ -106,15 +110,15 @@ msgstr "Cluster activé" msgid "Primary Enable WireGuard" msgstr "Habilitation primaire de WireGuard" -#: cluster/forms.py:99 templates/cluster/workers_list.html:113 +#: cluster/forms.py:99 templates/cluster/workers_list.html:106 msgid "Cluster Mode" msgstr "Mode du cluster" -#: cluster/forms.py:100 templates/cluster/workers_list.html:152 +#: cluster/forms.py:100 templates/cluster/workers_list.html:145 msgid "Restart Mode" msgstr "Mode de redémarrage" -#: cluster/forms.py:101 templates/cluster/workers_list.html:156 +#: cluster/forms.py:101 templates/cluster/workers_list.html:149 msgid "Worker Display" msgstr "Affichage du Worker" @@ -156,7 +160,7 @@ msgstr "La mise à jour du worker est requise." msgid "Access Denied" msgstr "Accès refusé" -#: cluster/views.py:21 templates/base.html:162 +#: cluster/views.py:21 templates/base.html:180 msgid "Cluster" msgstr "Cluster" @@ -172,7 +176,7 @@ msgstr "Worker supprimé|Worker supprimé : " msgid "Worker not deleted|Invalid confirmation." msgstr "Worker non supprimé|Confirmation invalide." -#: cluster/views.py:64 templates/cluster/workers_list.html:94 +#: cluster/views.py:64 templates/cluster/workers_list.html:87 msgid "Add Worker" msgstr "Ajouter Worker" @@ -228,7 +232,7 @@ msgstr "" "nom d’hôte).

\n" " " -#: cluster/views.py:117 templates/cluster/workers_list.html:95 +#: cluster/views.py:117 templates/cluster/workers_list.html:88 msgid "Cluster Settings" msgstr "Paramètres du Cluster" @@ -670,7 +674,7 @@ msgstr "Paramètres du pare‑feu enregistrés avec succès" msgid "Language" msgstr "Langue" -#: intl_tools/forms.py:24 templates/base.html:57 +#: intl_tools/forms.py:24 templates/base.html:61 msgid "Change Language" msgstr "Changer de langue" @@ -682,6 +686,107 @@ msgstr "" "Si vous constatez un problème dans la traduction ou souhaitez demander une " "nouvelle langue, veuillez ouvrir une" +#: routing_templates/forms.py:26 +#: templates/firewall/manage_redirect_rule.html:57 +#: templates/routing_templates/list.html:9 +msgid "WireGuard Instance" +msgstr "Instance WireGuard" + +#: routing_templates/forms.py:27 templates/routing_templates/list.html:24 +#, fuzzy +#| msgid "default route" +msgid "Default Template" +msgstr "route par défaut" + +#: routing_templates/forms.py:28 templates/routing_templates/list.html:10 +msgid "Route Type" +msgstr "" + +#: routing_templates/forms.py:29 routing_templates/models.py:14 +msgid "Custom Routes" +msgstr "" + +#: routing_templates/forms.py:30 +#, fuzzy +#| msgid "Allow Peer to Peer" +msgid "Allow Peer Custom Routes" +msgstr "Autoriser Peer ↔ Peer" + +#: routing_templates/models.py:11 +msgid "Default Route (0.0.0.0/0)" +msgstr "" + +#: routing_templates/models.py:12 +msgid "Routes from Peers on same Interface" +msgstr "" + +#: routing_templates/models.py:13 +msgid "Routes from All Peers" +msgstr "" + +#: routing_templates/models.py:23 +msgid "One route per line in CIDR notation." +msgstr "" + +#: routing_templates/views.py:16 templates/base.html:161 +#, fuzzy +#| msgid "Routing table" +msgid "Routing Templates" +msgstr "Table de routage" + +#: routing_templates/views.py:31 +msgid "Edit Routing Template: " +msgstr "" + +#: routing_templates/views.py:37 +msgid "Routing Template deleted|Routing Template deleted: " +msgstr "" + +#: routing_templates/views.py:40 +#, fuzzy +#| msgid "Worker not deleted|Invalid confirmation." +msgid "Routing Template not deleted|Invalid confirmation." +msgstr "Worker non supprimé|Confirmation invalide." + +#: routing_templates/views.py:44 templates/routing_templates/list.html:38 +#, fuzzy +#| msgid "Routing table" +msgid "Add Routing Template" +msgstr "Table de routage" + +#: routing_templates/views.py:58 +msgid "" +"\n" +"
Routing Templates
\n" +"

Define routing configurations that can be applied to peers.

\n" +" \n" +"
Default Template
\n" +"

If checked, this template will be the default for the selected " +"WireGuard instance. Only one default template is allowed per instance.

\n" +"\n" +"
Route Type
\n" +"

Select the type of routes to push to the client.

\n" +"
    \n" +"
  • Default Route (0.0.0.0/0): Redirects all " +"traffic through the VPN.
  • \n" +"
  • Routes from Peers on same Interface: Pushes " +"routes for other peers on the same WireGuard interface.
  • \n" +"
  • Routes from All Peers: Pushes routes for " +"all peers across all interfaces.
  • \n" +"
  • Custom Routes: Allows you to specify custom " +"CIDR ranges.
  • \n" +"
\n" +"\n" +"
Custom Routes
\n" +"

Enter custom routes in CIDR notation, one per line (e.g., " +"192.168.1.0/24).

\n" +" \n" +"
Allow Peer Custom Routes
\n" +"

If checked, allows specific peers to add their own custom routes " +"on top of this template.

\n" +" " +msgstr "" + #: templates/access_denied.html:12 msgid "Sorry, you do not have permission to access this page." msgstr "Désolé, vous n’avez pas l’autorisation d’accéder à cette page." @@ -716,47 +821,35 @@ msgstr "Vous avez été déconnecté avec succès." msgid "Login again" msgstr "Se reconnecter" -#: templates/base.html:89 templates/cluster/workers_list.html:9 +#: templates/base.html:94 templates/cluster/workers_list.html:9 #: templates/dns/static_host_list.html:72 vpn_invite/forms.py:78 #: vpn_invite/forms.py:79 vpn_invite/forms.py:80 vpn_invite/forms.py:81 #: vpn_invite/forms.py:82 msgid "Status" msgstr "Statut" -#: templates/base.html:135 user_manager/views.py:74 +#: templates/base.html:141 user_manager/views.py:74 msgid "User Manager" msgstr "Gestion des utilisateurs" -#: templates/base.html:153 templates/wireguard/wireguard_peer_list.html:197 +#: templates/base.html:171 templates/wireguard/wireguard_peer_list.html:209 #: vpn_invite/views.py:37 msgid "VPN Invite" msgstr "Invitation VPN" -#: templates/base.html:240 +#: templates/base.html:260 msgid "Update Required" msgstr "Mise à jour requise" -#: templates/base.html:242 -msgid "" -"Your WireGuard settings have been modified. To apply these changes, please " -"update the configuration and reload the WireGuard service." -msgstr "" -"Les paramètres WireGuard ont été modifiés. Pour appliquer ces changements, " -"mettez à jour la configuration et rechargez le service WireGuard." - -#: templates/base.html:251 +#: templates/base.html:269 msgid "Update and restart service" msgstr "Mettre à jour et redémarrer le service" -#: templates/base.html:259 +#: templates/base.html:274 msgid "Update and reload service" msgstr "Mettre à jour et recharger le service" -#: templates/base.html:272 -msgid "Update Available" -msgstr "Mise à jour disponible" - -#: templates/base.html:274 +#: templates/base.html:290 msgid "Version" msgstr "Version" @@ -771,127 +864,124 @@ msgid "Last Seen" msgstr "Dernière connexion" #: templates/cluster/workers_list.html:13 -#: templates/cluster/workers_list.html:117 +#: templates/cluster/workers_list.html:110 msgid "Config Version" msgstr "Version de configuration" -#: templates/cluster/workers_list.html:30 +#: templates/cluster/workers_list.html:28 msgid "Configuration sync in progress" msgstr "Synchronisation de la configuration en cours" -#: templates/cluster/workers_list.html:40 +#: templates/cluster/workers_list.html:37 msgid "The worker is outdated. Please update it to the latest version." msgstr "" "Le worker est obsolète. Veuillez le mettre à jour vers la dernière version." -#: templates/cluster/workers_list.html:47 +#: templates/cluster/workers_list.html:44 msgid "IP Lock Enabled" msgstr "Verrouillage IP activé" -#: templates/cluster/workers_list.html:50 -#: templates/cluster/workers_list.html:58 +#: templates/cluster/workers_list.html:47 +#: templates/cluster/workers_list.html:54 msgid "Not set" msgstr "Non défini" -#: templates/cluster/workers_list.html:66 +#: templates/cluster/workers_list.html:61 msgid "Never" msgstr "Jamais" -#: templates/cluster/workers_list.html:70 +#: templates/cluster/workers_list.html:64 msgid "Last seen more than 10 minutes ago or never seen." msgstr "Vu pour la dernière fois il y a plus de 10 minutes ou jamais vu." -#: templates/cluster/workers_list.html:83 -#: templates/dns/static_host_list.html:74 templates/user_manager/list.html:53 +#: templates/cluster/workers_list.html:77 +#: templates/dns/static_host_list.html:74 +#: templates/routing_templates/list.html:29 templates/user_manager/list.html:53 #: templates/user_manager/peer_group_list.html:35 -#: templates/wireguard/wireguard_peer_list.html:198 +#: templates/wireguard/wireguard_peer_list.html:213 msgid "Edit" msgstr "Modifier" -#: templates/cluster/workers_list.html:89 +#: templates/cluster/workers_list.html:82 msgid "No workers configured" msgstr "Aucun worker configuré" -#: templates/cluster/workers_list.html:96 -#: templates/cluster/workers_list.html:99 +#: templates/cluster/workers_list.html:89 +#: templates/cluster/workers_list.html:92 msgid "Cluster Information" msgstr "Informations sur le cluster" -#: templates/cluster/workers_list.html:121 +#: templates/cluster/workers_list.html:114 msgid "DNS Version" msgstr "Version du DNS" -#: templates/cluster/workers_list.html:126 +#: templates/cluster/workers_list.html:119 msgid "Stats Cache Refresh Interval" msgstr "Intervalle de rafraîchissement du cache des statistiques" -#: templates/cluster/workers_list.html:130 +#: templates/cluster/workers_list.html:123 msgid "Cache Enabled" msgstr "Cache activé" -#: templates/cluster/workers_list.html:140 +#: templates/cluster/workers_list.html:133 msgid "Cache Web Load Previous Count" msgstr "Nombre de chargements précédents du cache Web" -#: templates/cluster/workers_list.html:144 +#: templates/cluster/workers_list.html:137 msgid "Master Cache Processing Time" msgstr "Temps de traitement du cache maître" -#: templates/cluster/workers_list.html:148 +#: templates/cluster/workers_list.html:141 msgid "Cluster Cache Processing Time" msgstr "Temps de traitement du cache du cluster" -#: templates/cluster/workers_list.html:160 +#: templates/cluster/workers_list.html:153 msgid "Primary WireGuard" msgstr "Activer WireGuard principal" -#: templates/cluster/workers_list.html:178 +#: templates/cluster/workers_list.html:171 msgid "Cluster Feature – Testing Phase" msgstr "Fonctionnalité de Cluster – Phase de test" -#: templates/cluster/workers_list.html:185 +#: templates/cluster/workers_list.html:178 msgid "The cluster functionality is currently released as experimental." msgstr "La fonctionnalité de cluster est actuellement en phase expérimentale." -#: templates/cluster/workers_list.html:186 +#: templates/cluster/workers_list.html:179 msgid "At this stage, only core features are implemented:" msgstr "À ce stade, seules les fonctionnalités de base sont implémentées :" -#: templates/cluster/workers_list.html:188 +#: templates/cluster/workers_list.html:181 msgid "Configuration synchronization service" msgstr "Service de synchronisation de la configuration" -#: templates/cluster/workers_list.html:189 +#: templates/cluster/workers_list.html:182 msgid "Primary node mirroring (WireGuard and firewall rules)" msgstr "Mise en miroir du nœud primaire (WireGuard et règles de pare-feu)" -#: templates/cluster/workers_list.html:190 +#: templates/cluster/workers_list.html:183 msgid "DNS rules mirroring" msgstr "Mise en miroir des règles DNS" -#: templates/cluster/workers_list.html:193 -msgid "Warning:" -msgstr "Avertissement :" - -#: templates/cluster/workers_list.html:200 -msgid "Next priority features (coming soon):" -msgstr "Prochaines fonctionnalités prioritaires (bientôt) :" - -#: templates/cluster/workers_list.html:202 +#: templates/cluster/workers_list.html:184 msgid "Traffic data synchronization" msgstr "Synchronisation des données de trafic" -#: templates/cluster/workers_list.html:203 +#: templates/cluster/workers_list.html:185 msgid "" "Server selection dropdown before downloading peer configs or VPN invites" msgstr "" "Menu déroulant de sélection de serveur avant de télécharger les " "configurations des pairs ou les invitations VPN" -#: templates/cluster/workers_list.html:207 +#: templates/cluster/workers_list.html:191 msgid "For more information, please visit:" msgstr "Pour plus d'informations, veuillez visiter :" +#: templates/cluster/workers_list.html:195 +msgid "I Understand" +msgstr "Je comprends" + #: templates/console/console.html:12 msgid "Clear" msgstr "Effacer" @@ -1184,10 +1274,6 @@ msgstr "Type de destination" msgid "Peer" msgstr "Pair" -#: templates/firewall/manage_redirect_rule.html:57 -msgid "WireGuard Instance" -msgstr "Instance WireGuard" - #: templates/firewall/manage_redirect_rule.html:74 msgid "Add Forward Rule (allow)" msgstr "Ajouter une règle Forward (allow)" @@ -1277,6 +1363,18 @@ msgstr "" msgid "Create Port forwarding Rule" msgstr "Créer une règle de redirection de port" +#: templates/routing_templates/list.html:11 +#, fuzzy +#| msgid "Default Policy" +msgid "Default" +msgstr "Politique par défaut" + +#: templates/routing_templates/list.html:12 +#, fuzzy +#| msgid "Update" +msgid "Updated" +msgstr "Mettre à jour" + #: templates/user_manager/list.html:9 user_manager/forms.py:20 msgid "User Level" msgstr "Niveau utilisateur" @@ -1513,7 +1611,7 @@ msgid "Transfer" msgstr "Transfert" #: templates/wireguard/wireguard_peer_list.html:77 -#: templates/wireguard/wireguard_peer_list.html:528 +#: templates/wireguard/wireguard_peer_list.html:594 wireguard_peer/views.py:90 msgid "Primary Server" msgstr "Serveur primaire" @@ -1542,7 +1640,7 @@ msgid "Create Peer" msgstr "Créer un peer" #: templates/wireguard/wireguard_peer_list.html:107 -#: templates/wireguard/wireguard_peer_list.html:696 +#: templates/wireguard/wireguard_peer_list.html:762 msgid "Show extras" msgstr "Afficher les extras" @@ -1582,23 +1680,29 @@ msgstr "E‑mail" msgid "WhatsApp" msgstr "WhatsApp" -#: templates/wireguard/wireguard_peer_list.html:194 +#: templates/wireguard/wireguard_peer_list.html:197 msgid "Close" msgstr "Fermer" -#: templates/wireguard/wireguard_peer_list.html:195 +#: templates/wireguard/wireguard_peer_list.html:201 msgid "Config" msgstr "Config" -#: templates/wireguard/wireguard_peer_list.html:196 +#: templates/wireguard/wireguard_peer_list.html:205 msgid "QR Code" msgstr "QR Code" -#: templates/wireguard/wireguard_peer_list.html:206 +#: templates/wireguard/wireguard_peer_list.html:221 +#, fuzzy +#| msgid "Primary Server" +msgid "Server" +msgstr "Serveur primaire" + +#: templates/wireguard/wireguard_peer_list.html:237 msgid "No WireGuard Instances Found" msgstr "Aucune instance WireGuard trouvée" -#: templates/wireguard/wireguard_peer_list.html:207 +#: templates/wireguard/wireguard_peer_list.html:238 msgid "" "There are no WireGuard instances configured. You can add a new instance by " "clicking the button below." @@ -1606,11 +1710,11 @@ msgstr "" "Aucune instance WireGuard n’est configurée. Vous pouvez en ajouter une en " "cliquant sur le bouton ci‑dessous." -#: templates/wireguard/wireguard_peer_list.html:210 +#: templates/wireguard/wireguard_peer_list.html:241 msgid "Add WireGuard Instance" msgstr "Ajouter une instance WireGuard" -#: templates/wireguard/wireguard_peer_list.html:306 +#: templates/wireguard/wireguard_peer_list.html:362 msgid "" "This configuration does not contain a private key. You must add the private " "key manually in your client before using it." @@ -1618,7 +1722,7 @@ msgstr "" "Cette configuration ne contient pas de clé privée. Vous devez ajouter la clé " "privée manuellement dans votre client avant de l'utiliser." -#: templates/wireguard/wireguard_peer_list.html:649 +#: templates/wireguard/wireguard_peer_list.html:715 msgid "" "This address does not appear in the wg show command output, likely " "indicating that another peer has an IP overlapping this network or that the " @@ -1628,7 +1732,7 @@ msgstr "" "est probable qu’un autre peer utilise un IP chevauchant ce réseau ou que le " "fichier de configuration soit obsolète." -#: templates/wireguard/wireguard_peer_list.html:664 +#: templates/wireguard/wireguard_peer_list.html:730 msgid "" "At least one address does not appear in the wg show command output, which " "may indicate that another peer is using an overlapping IP or that the " @@ -1638,67 +1742,67 @@ msgstr "" "signifier qu’un autre peer utilise un IP chevauchant ou que la configuration " "est obsolète." -#: templates/wireguard/wireguard_peer_list.html:693 +#: templates/wireguard/wireguard_peer_list.html:759 msgid "Hide extras" msgstr "Masquer les extras" -#: templates/wireguard/wireguard_peer_list.html:737 -#: templates/wireguard/wireguard_peer_list.html:871 +#: templates/wireguard/wireguard_peer_list.html:803 +#: templates/wireguard/wireguard_peer_list.html:937 msgid "Access Password" msgstr "Mot de passe d’accès" -#: templates/wireguard/wireguard_peer_list.html:737 -#: templates/wireguard/wireguard_peer_list.html:871 +#: templates/wireguard/wireguard_peer_list.html:803 +#: templates/wireguard/wireguard_peer_list.html:937 msgid "(Share this password via a separate secure channel)" msgstr "(Partagez ce mot de passe via un canal sécurisé distinct)" -#: templates/wireguard/wireguard_peer_list.html:740 +#: templates/wireguard/wireguard_peer_list.html:806 msgid "Unknown error" msgstr "Erreur inconnue" -#: templates/wireguard/wireguard_peer_list.html:744 +#: templates/wireguard/wireguard_peer_list.html:810 msgid "Error creating invite." msgstr "Erreur lors de la création de l’invitation." -#: templates/wireguard/wireguard_peer_list.html:781 +#: templates/wireguard/wireguard_peer_list.html:847 msgid "Invite text copied to clipboard." msgstr "Texte d’invitation copié dans le presse‑papiers." -#: templates/wireguard/wireguard_peer_list.html:783 +#: templates/wireguard/wireguard_peer_list.html:849 msgid "Failed to copy text." msgstr "Échec de la copie du texte." -#: templates/wireguard/wireguard_peer_list.html:786 +#: templates/wireguard/wireguard_peer_list.html:852 msgid "Clipboard API not supported." msgstr "API Clipboard non prise en charge." -#: templates/wireguard/wireguard_peer_list.html:795 +#: templates/wireguard/wireguard_peer_list.html:861 msgid "Please enter a valid phone number for WhatsApp." msgstr "Veuillez saisir un numéro de téléphone WhatsApp valide." -#: templates/wireguard/wireguard_peer_list.html:807 -#: templates/wireguard/wireguard_peer_list.html:853 +#: templates/wireguard/wireguard_peer_list.html:873 +#: templates/wireguard/wireguard_peer_list.html:919 msgid "Invite data is not available." msgstr "Les données d’invitation ne sont pas disponibles." -#: templates/wireguard/wireguard_peer_list.html:816 +#: templates/wireguard/wireguard_peer_list.html:882 msgid "Please enter a valid email address." msgstr "Veuillez saisir une adresse e‑mail valide." -#: templates/wireguard/wireguard_peer_list.html:838 +#: templates/wireguard/wireguard_peer_list.html:904 msgid "Error sending email." msgstr "Erreur lors de l’envoi de l’e‑mail." -#: templates/wireguard/wireguard_peer_list.html:875 -#: templates/wireguard/wireguard_peer_list.html:879 +#: templates/wireguard/wireguard_peer_list.html:941 +#: templates/wireguard/wireguard_peer_list.html:945 msgid "Error refreshing invite." msgstr "Erreur lors de l’actualisation de l’invitation." -#: templates/wireguard/wireguard_peer_list.html:894 +#: templates/wireguard/wireguard_peer_list.html:960 msgid "No invite data available to refresh." msgstr "Aucune donnée d’invitation à actualiser." -#: templates/wireguard/wireguard_peer_list.html:914 +#: templates/wireguard/wireguard_peer_list.html:980 msgid "Error closing invite:" msgstr "Erreur lors de la fermeture de l’invitation:" @@ -2311,42 +2415,42 @@ msgstr "Fichier de configuration invalide" msgid "WireGuard Peer List" msgstr "Liste des peers WireGuard" -#: wireguard_peer/views.py:155 +#: wireguard_peer/views.py:160 msgid "Create a new Peer for instance wg" msgstr "Créer un nouveau peer pour l’instance wg" -#: wireguard_peer/views.py:174 +#: wireguard_peer/views.py:179 msgid "Peer created|Peer created successfully." msgstr "Peer créé | Peer créé avec succès." -#: wireguard_peer/views.py:179 +#: wireguard_peer/views.py:184 msgid "Error creating peer|No available IP address found for peer creation." msgstr "Erreur de création | Aucune adresse IP disponible pour créer le peer." -#: wireguard_peer/views.py:192 +#: wireguard_peer/views.py:197 msgid "Peer deleted|Peer deleted successfully." msgstr "Peer supprimé | Peer supprimé avec succès." -#: wireguard_peer/views.py:195 +#: wireguard_peer/views.py:200 msgid "" "Error deleting peer|Invalid confirmation message. Type \"delete\" to confirm." msgstr "" "Erreur de suppression | Message de confirmation invalide. Tapez « delete » " "pour confirmer." -#: wireguard_peer/views.py:197 +#: wireguard_peer/views.py:202 msgid "Update Peer: " msgstr "Mettre à jour le peer: " -#: wireguard_peer/views.py:208 +#: wireguard_peer/views.py:213 msgid "Peer updated|Peer updated successfully." msgstr "Peer mis à jour | Peer mis à jour avec succès." -#: wireguard_peer/views.py:246 +#: wireguard_peer/views.py:251 msgid "IP address deleted|IP address deleted successfully." msgstr "Adresse IP supprimée | Suppression réussie." -#: wireguard_peer/views.py:251 +#: wireguard_peer/views.py:256 msgid "" "Error deleting IP address|Invalid confirmation message. Type \"delete\" to " "confirm." @@ -2354,23 +2458,23 @@ msgstr "" "Erreur de suppression de l’IP | Message de confirmation invalide. Tapez « " "delete » pour confirmer." -#: wireguard_peer/views.py:256 +#: wireguard_peer/views.py:261 msgid "Manage client route" msgstr "Gérer la route client" -#: wireguard_peer/views.py:258 +#: wireguard_peer/views.py:263 msgid "Manage IP address or Network" msgstr "Gérer l’adresse IP ou le réseau" -#: wireguard_peer/views.py:271 +#: wireguard_peer/views.py:276 msgid "IP address updated|IP address updated successfully." msgstr "Adresse IP mise à jour | Mise à jour réussie." -#: wireguard_peer/views.py:273 +#: wireguard_peer/views.py:278 msgid "IP address added|IP address added successfully." msgstr "Adresse IP ajoutée | Ajout réussi." -#: wireguard_tools/views.py:165 +#: wireguard_tools/views.py:170 msgid "" "Export successful!|WireGuard configuration files have been exported to /etc/" "wireguard/." @@ -2378,7 +2482,7 @@ msgstr "" "Exportation réussie! | Les fichiers de configuration WireGuard ont été " "exportés vers /etc/wireguard/." -#: wireguard_tools/views.py:167 +#: wireguard_tools/views.py:172 msgid "" "Export successful!|WireGuard configuration files have been exported to /etc/" "wireguard/. Don't forget to restart the interfaces." @@ -2386,19 +2490,19 @@ msgstr "" "Exportation réussie! | Les fichiers WireGuard ont été exportés vers /etc/" "wireguard/. N’oubliez pas de redémarrer les interfaces." -#: wireguard_tools/views.py:260 +#: wireguard_tools/views.py:274 msgid "Error reloading" msgstr "Erreur de rechargement" -#: wireguard_tools/views.py:272 +#: wireguard_tools/views.py:286 msgid "Error stopping" msgstr "Erreur à l’arrêt" -#: wireguard_tools/views.py:277 +#: wireguard_tools/views.py:291 msgid "Error starting" msgstr "Erreur au démarrage" -#: wireguard_tools/views.py:284 +#: wireguard_tools/views.py:298 msgid "" "WARNING|Please note that the interface was reloaded, not restarted. Double-" "check if the the peers are working as expected. If you find any issues, " @@ -2407,24 +2511,41 @@ msgstr "" "AVERTISSEMENT | L’interface a été rechargée, pas redémarrée. Vérifiez que " "les peers fonctionnent comme prévu ; signalez tout problème rencontré." -#: wireguard_tools/views.py:285 +#: wireguard_tools/views.py:299 msgid "WireGuard reloaded|The WireGuard service has been reloaded." msgstr "WireGuard rechargé | Le service WireGuard a été rechargé." -#: wireguard_tools/views.py:287 +#: wireguard_tools/views.py:301 msgid "WireGuard restarted|The WireGuard service has been restarted." msgstr "WireGuard redémarré | Le service WireGuard a été redémarré." -#: wireguard_tools/views.py:290 +#: wireguard_tools/views.py:304 msgid "Errors encountered|Error processing one or more interfaces." msgstr "" "Erreurs rencontrées | Problème lors du traitement d’une ou plusieurs " "interfaces." -#: wireguard_tools/views.py:293 +#: wireguard_tools/views.py:307 msgid "No interfaces found|No WireGuard interfaces were found to process." msgstr "Aucune interface trouvée | Aucune interface WireGuard à traiter." +#~ msgid "" +#~ "Your WireGuard settings have been modified. To apply these changes, " +#~ "please update the configuration and reload the WireGuard service." +#~ msgstr "" +#~ "Les paramètres WireGuard ont été modifiés. Pour appliquer ces " +#~ "changements, mettez à jour la configuration et rechargez le service " +#~ "WireGuard." + +#~ msgid "Update Available" +#~ msgstr "Mise à jour disponible" + +#~ msgid "Warning:" +#~ msgstr "Avertissement :" + +#~ msgid "Next priority features (coming soon):" +#~ msgstr "Prochaines fonctionnalités prioritaires (bientôt) :" + #~ msgid "Stats Sync Interval" #~ msgstr "Intervalle de synchronisation des statistiques" @@ -2443,9 +2564,6 @@ msgstr "Aucune interface trouvée | Aucune interface WireGuard à traiter." #~ "ligne/hors ligne ne seront pas visibles pour les pairs connectés aux " #~ "nœuds du cluster." -#~ msgid "I Understand" -#~ msgstr "Je comprends" - #~ msgid "Disabling WireGuard on the master server is currently not supported." #~ msgstr "" #~ "La désactivation de WireGuard sur le serveur maître n'est pas prise en " diff --git a/locale/pt_BR/LC_MESSAGES/django.mo b/locale/pt_BR/LC_MESSAGES/django.mo index 6585f73f6df1a11eefd056a9092c037daf68094c..6f18999acd28fac0cc1c41667e9a798d85bd2efe 100644 GIT binary patch delta 9654 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 Wce`@kX?YCT^vm?+FYW*N5C01j=C(=z diff --git a/locale/pt_BR/LC_MESSAGES/django.po b/locale/pt_BR/LC_MESSAGES/django.po index 6cc212f..6869496 100644 --- a/locale/pt_BR/LC_MESSAGES/django.po +++ b/locale/pt_BR/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-14 09:34-0300\n" +"POT-Creation-Date: 2026-01-16 13:54-0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,14 +17,15 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: cluster/forms.py:18 dns/forms.py:111 templates/cluster/workers_list.html:8 -#: templates/dns/static_host_list.html:68 +#: cluster/forms.py:18 dns/forms.py:111 routing_templates/forms.py:25 +#: templates/cluster/workers_list.html:8 templates/dns/static_host_list.html:68 +#: templates/routing_templates/list.html:8 #: templates/user_manager/peer_group_list.html:8 user_manager/forms.py:177 #: wireguard_peer/forms.py:10 msgid "Name" msgstr "Nome" -#: cluster/forms.py:19 templates/cluster/workers_list.html:103 +#: cluster/forms.py:19 templates/cluster/workers_list.html:96 #: vpn_invite/forms.py:49 vpn_invite/forms.py:294 msgid "Enabled" msgstr "Habilitado" @@ -59,7 +60,8 @@ msgid "Token" msgstr "Token" #: cluster/forms.py:27 cluster/forms.py:103 dns/forms.py:25 dns/forms.py:67 -#: dns/forms.py:109 templates/firewall/manage_firewall_rule.html:380 +#: dns/forms.py:109 routing_templates/forms.py:32 +#: templates/firewall/manage_firewall_rule.html:380 #: templates/firewall/manage_firewall_settings.html:60 #: templates/firewall/manage_redirect_rule.html:85 #: templates/wireguard/wireguard_manage_ip.html:42 @@ -70,6 +72,7 @@ msgid "Back" msgstr "Voltar" #: cluster/forms.py:28 dns/forms.py:68 dns/forms.py:110 +#: routing_templates/forms.py:33 #: templates/firewall/manage_firewall_rule.html:382 #: templates/firewall/manage_redirect_rule.html:86 #: templates/wireguard/wireguard_manage_ip.html:43 @@ -79,7 +82,8 @@ msgid "Delete" msgstr "Excluir" #: cluster/forms.py:67 cluster/forms.py:124 dns/forms.py:37 dns/forms.py:83 -#: dns/forms.py:134 templates/firewall/manage_firewall_rule.html:379 +#: dns/forms.py:134 routing_templates/forms.py:64 +#: templates/firewall/manage_firewall_rule.html:379 #: templates/firewall/manage_firewall_settings.html:59 #: templates/firewall/manage_redirect_rule.html:84 #: templates/wireguard/wireguard_manage_ip.html:41 @@ -106,15 +110,15 @@ msgstr "Cluster Habilitado" msgid "Primary Enable WireGuard" msgstr "Habilitar WireGuard Principal" -#: cluster/forms.py:99 templates/cluster/workers_list.html:113 +#: cluster/forms.py:99 templates/cluster/workers_list.html:106 msgid "Cluster Mode" msgstr "Modo do Cluster" -#: cluster/forms.py:100 templates/cluster/workers_list.html:152 +#: cluster/forms.py:100 templates/cluster/workers_list.html:145 msgid "Restart Mode" msgstr "Modo de Reinicialização" -#: cluster/forms.py:101 templates/cluster/workers_list.html:156 +#: cluster/forms.py:101 templates/cluster/workers_list.html:149 msgid "Worker Display" msgstr "Exibição do Worker" @@ -156,7 +160,7 @@ msgstr "A atualização do worker é necessária." msgid "Access Denied" msgstr "Acesso Negado" -#: cluster/views.py:21 templates/base.html:162 +#: cluster/views.py:21 templates/base.html:180 msgid "Cluster" msgstr "Cluster" @@ -172,7 +176,7 @@ msgstr "Worker excluído|Worker excluído: " msgid "Worker not deleted|Invalid confirmation." msgstr "Worker não foi excluído|Confirmação inválida." -#: cluster/views.py:64 templates/cluster/workers_list.html:94 +#: cluster/views.py:64 templates/cluster/workers_list.html:87 msgid "Add Worker" msgstr "Adicionar Worker" @@ -228,7 +232,7 @@ msgstr "" "hostname).

\n" " " -#: cluster/views.py:117 templates/cluster/workers_list.html:95 +#: cluster/views.py:117 templates/cluster/workers_list.html:88 msgid "Cluster Settings" msgstr "Configurações do Cluster" @@ -668,7 +672,7 @@ msgstr "Configurações de Firewall salvas com sucesso" msgid "Language" msgstr "Idioma" -#: intl_tools/forms.py:24 templates/base.html:57 +#: intl_tools/forms.py:24 templates/base.html:61 msgid "Change Language" msgstr "Alterar Idioma" @@ -680,6 +684,107 @@ msgstr "" "Se encontrar algum problema na tradução ou quiser solicitar um novo idioma, " "por favor abra uma" +#: routing_templates/forms.py:26 +#: templates/firewall/manage_redirect_rule.html:57 +#: templates/routing_templates/list.html:9 +msgid "WireGuard Instance" +msgstr "Instância do WireGuard" + +#: routing_templates/forms.py:27 templates/routing_templates/list.html:24 +#, fuzzy +#| msgid "default route" +msgid "Default Template" +msgstr "rota padrão" + +#: routing_templates/forms.py:28 templates/routing_templates/list.html:10 +msgid "Route Type" +msgstr "" + +#: routing_templates/forms.py:29 routing_templates/models.py:14 +msgid "Custom Routes" +msgstr "" + +#: routing_templates/forms.py:30 +#, fuzzy +#| msgid "Allow Peer to Peer" +msgid "Allow Peer Custom Routes" +msgstr "Permitir tráfego entre Peers" + +#: routing_templates/models.py:11 +msgid "Default Route (0.0.0.0/0)" +msgstr "" + +#: routing_templates/models.py:12 +msgid "Routes from Peers on same Interface" +msgstr "" + +#: routing_templates/models.py:13 +msgid "Routes from All Peers" +msgstr "" + +#: routing_templates/models.py:23 +msgid "One route per line in CIDR notation." +msgstr "" + +#: routing_templates/views.py:16 templates/base.html:161 +#, fuzzy +#| msgid "Routing table" +msgid "Routing Templates" +msgstr "Tabela de Roteamento" + +#: routing_templates/views.py:31 +msgid "Edit Routing Template: " +msgstr "" + +#: routing_templates/views.py:37 +msgid "Routing Template deleted|Routing Template deleted: " +msgstr "" + +#: routing_templates/views.py:40 +#, fuzzy +#| msgid "Worker not deleted|Invalid confirmation." +msgid "Routing Template not deleted|Invalid confirmation." +msgstr "Worker não foi excluído|Confirmação inválida." + +#: routing_templates/views.py:44 templates/routing_templates/list.html:38 +#, fuzzy +#| msgid "Routing table" +msgid "Add Routing Template" +msgstr "Tabela de Roteamento" + +#: routing_templates/views.py:58 +msgid "" +"\n" +"
Routing Templates
\n" +"

Define routing configurations that can be applied to peers.

\n" +" \n" +"
Default Template
\n" +"

If checked, this template will be the default for the selected " +"WireGuard instance. Only one default template is allowed per instance.

\n" +"\n" +"
Route Type
\n" +"

Select the type of routes to push to the client.

\n" +"
    \n" +"
  • Default Route (0.0.0.0/0): Redirects all " +"traffic through the VPN.
  • \n" +"
  • Routes from Peers on same Interface: Pushes " +"routes for other peers on the same WireGuard interface.
  • \n" +"
  • Routes from All Peers: Pushes routes for " +"all peers across all interfaces.
  • \n" +"
  • Custom Routes: Allows you to specify custom " +"CIDR ranges.
  • \n" +"
\n" +"\n" +"
Custom Routes
\n" +"

Enter custom routes in CIDR notation, one per line (e.g., " +"192.168.1.0/24).

\n" +" \n" +"
Allow Peer Custom Routes
\n" +"

If checked, allows specific peers to add their own custom routes " +"on top of this template.

\n" +" " +msgstr "" + #: templates/access_denied.html:12 msgid "Sorry, you do not have permission to access this page." msgstr "Desculpe, você não tem permissão para acessar esta página." @@ -714,47 +819,35 @@ msgstr "Você foi desconectado com sucesso." msgid "Login again" msgstr "Acessar novamente" -#: templates/base.html:89 templates/cluster/workers_list.html:9 +#: templates/base.html:94 templates/cluster/workers_list.html:9 #: templates/dns/static_host_list.html:72 vpn_invite/forms.py:78 #: vpn_invite/forms.py:79 vpn_invite/forms.py:80 vpn_invite/forms.py:81 #: vpn_invite/forms.py:82 msgid "Status" msgstr "Estado" -#: templates/base.html:135 user_manager/views.py:74 +#: templates/base.html:141 user_manager/views.py:74 msgid "User Manager" msgstr "Configurar Usuários" -#: templates/base.html:153 templates/wireguard/wireguard_peer_list.html:197 +#: templates/base.html:171 templates/wireguard/wireguard_peer_list.html:209 #: vpn_invite/views.py:37 msgid "VPN Invite" msgstr "Convite para VPN" -#: templates/base.html:240 +#: templates/base.html:260 msgid "Update Required" msgstr "Atualização Necessária" -#: templates/base.html:242 -msgid "" -"Your WireGuard settings have been modified. To apply these changes, please " -"update the configuration and reload the WireGuard service." -msgstr "" -"Suas configurações do WireGuard foram modificadas. Para aplicar essas " -"mudanças, atualize a configuração e recarregue o serviço WireGuard." - -#: templates/base.html:251 +#: templates/base.html:269 msgid "Update and restart service" msgstr "Atualizar e reiniciar o serviço" -#: templates/base.html:259 +#: templates/base.html:274 msgid "Update and reload service" msgstr "Atualizar e recarregar o serviço" -#: templates/base.html:272 -msgid "Update Available" -msgstr "Atualização Disponível" - -#: templates/base.html:274 +#: templates/base.html:290 msgid "Version" msgstr "Versão" @@ -769,127 +862,124 @@ msgid "Last Seen" msgstr "Visto pela Última Vez" #: templates/cluster/workers_list.html:13 -#: templates/cluster/workers_list.html:117 +#: templates/cluster/workers_list.html:110 msgid "Config Version" msgstr "Versão da Configuração" -#: templates/cluster/workers_list.html:30 +#: templates/cluster/workers_list.html:28 msgid "Configuration sync in progress" msgstr "Sincronização de configuração em andamento" -#: templates/cluster/workers_list.html:40 +#: templates/cluster/workers_list.html:37 msgid "The worker is outdated. Please update it to the latest version." msgstr "" "O worker está desatualizado. Por favor, atualize-o para a versão mais " "recente." -#: templates/cluster/workers_list.html:47 +#: templates/cluster/workers_list.html:44 msgid "IP Lock Enabled" msgstr "Bloqueio de IP Habilitado" -#: templates/cluster/workers_list.html:50 -#: templates/cluster/workers_list.html:58 +#: templates/cluster/workers_list.html:47 +#: templates/cluster/workers_list.html:54 msgid "Not set" msgstr "Não definido" -#: templates/cluster/workers_list.html:66 +#: templates/cluster/workers_list.html:61 msgid "Never" msgstr "Nunca" -#: templates/cluster/workers_list.html:70 +#: templates/cluster/workers_list.html:64 msgid "Last seen more than 10 minutes ago or never seen." msgstr "Visto pela última vez há mais de 10 minutos ou nunca visto." -#: templates/cluster/workers_list.html:83 -#: templates/dns/static_host_list.html:74 templates/user_manager/list.html:53 +#: templates/cluster/workers_list.html:77 +#: templates/dns/static_host_list.html:74 +#: templates/routing_templates/list.html:29 templates/user_manager/list.html:53 #: templates/user_manager/peer_group_list.html:35 -#: templates/wireguard/wireguard_peer_list.html:198 +#: templates/wireguard/wireguard_peer_list.html:213 msgid "Edit" msgstr "Editar" -#: templates/cluster/workers_list.html:89 +#: templates/cluster/workers_list.html:82 msgid "No workers configured" msgstr "Nenhum worker configurado" -#: templates/cluster/workers_list.html:96 -#: templates/cluster/workers_list.html:99 +#: templates/cluster/workers_list.html:89 +#: templates/cluster/workers_list.html:92 msgid "Cluster Information" msgstr "Informações do Cluster" -#: templates/cluster/workers_list.html:121 +#: templates/cluster/workers_list.html:114 msgid "DNS Version" msgstr "Versão do DNS" -#: templates/cluster/workers_list.html:126 +#: templates/cluster/workers_list.html:119 msgid "Stats Cache Refresh Interval" msgstr "Intervalo de Atualização do Cache de Estatísticas" -#: templates/cluster/workers_list.html:130 +#: templates/cluster/workers_list.html:123 msgid "Cache Enabled" msgstr "Cache Habilitado" -#: templates/cluster/workers_list.html:140 +#: templates/cluster/workers_list.html:133 msgid "Cache Web Load Previous Count" msgstr "Contagem de Carga Anterior do Cache Web" -#: templates/cluster/workers_list.html:144 +#: templates/cluster/workers_list.html:137 msgid "Master Cache Processing Time" msgstr "Tempo de Processamento do Cache Master" -#: templates/cluster/workers_list.html:148 +#: templates/cluster/workers_list.html:141 msgid "Cluster Cache Processing Time" msgstr "Tempo de Processamento do Cache Cluster" -#: templates/cluster/workers_list.html:160 +#: templates/cluster/workers_list.html:153 msgid "Primary WireGuard" msgstr "WireGuard Principal" -#: templates/cluster/workers_list.html:178 +#: templates/cluster/workers_list.html:171 msgid "Cluster Feature – Testing Phase" msgstr "Recurso de Cluster – Fase de Testes" -#: templates/cluster/workers_list.html:185 +#: templates/cluster/workers_list.html:178 msgid "The cluster functionality is currently released as experimental." msgstr "A funcionalidade de cluster está em fase experimental." -#: templates/cluster/workers_list.html:186 +#: templates/cluster/workers_list.html:179 msgid "At this stage, only core features are implemented:" msgstr "Nesta fase, apenas os recursos principais estão implementados:" -#: templates/cluster/workers_list.html:188 +#: templates/cluster/workers_list.html:181 msgid "Configuration synchronization service" msgstr "Serviço de sincronização de configuração" -#: templates/cluster/workers_list.html:189 +#: templates/cluster/workers_list.html:182 msgid "Primary node mirroring (WireGuard and firewall rules)" msgstr "Espelhamento do nó primário (WireGuard e regras de firewall)" -#: templates/cluster/workers_list.html:190 +#: templates/cluster/workers_list.html:183 msgid "DNS rules mirroring" msgstr "Espelhamento de regras de DNS" -#: templates/cluster/workers_list.html:193 -msgid "Warning:" -msgstr "Aviso:" - -#: templates/cluster/workers_list.html:200 -msgid "Next priority features (coming soon):" -msgstr "Recursos prioritários (em breve):" - -#: templates/cluster/workers_list.html:202 +#: templates/cluster/workers_list.html:184 msgid "Traffic data synchronization" msgstr "Sincronização de dados de tráfego" -#: templates/cluster/workers_list.html:203 +#: templates/cluster/workers_list.html:185 msgid "" "Server selection dropdown before downloading peer configs or VPN invites" msgstr "" "Seleção de servidor antes de baixar configurações de peer ou convites de VPN" -#: templates/cluster/workers_list.html:207 +#: templates/cluster/workers_list.html:191 msgid "For more information, please visit:" msgstr "Para mais informações, visite:" +#: templates/cluster/workers_list.html:195 +msgid "I Understand" +msgstr "Eu Entendo" + #: templates/console/console.html:12 msgid "Clear" msgstr "Limpar" @@ -1186,10 +1276,6 @@ msgstr "Tipo de Destino" msgid "Peer" msgstr "Peer" -#: templates/firewall/manage_redirect_rule.html:57 -msgid "WireGuard Instance" -msgstr "Instância do WireGuard" - #: templates/firewall/manage_redirect_rule.html:74 msgid "Add Forward Rule (allow)" msgstr "Adicionar Regra na Forward (permitir)" @@ -1281,6 +1367,18 @@ msgstr "" msgid "Create Port forwarding Rule" msgstr "Criar Regra de Encaminhamento de Porta" +#: templates/routing_templates/list.html:11 +#, fuzzy +#| msgid "Default Policy" +msgid "Default" +msgstr "Política Padrão" + +#: templates/routing_templates/list.html:12 +#, fuzzy +#| msgid "Update" +msgid "Updated" +msgstr "Atualizar" + #: templates/user_manager/list.html:9 user_manager/forms.py:20 msgid "User Level" msgstr "Nível de Acesso" @@ -1518,7 +1616,7 @@ msgid "Transfer" msgstr "Transferência" #: templates/wireguard/wireguard_peer_list.html:77 -#: templates/wireguard/wireguard_peer_list.html:528 +#: templates/wireguard/wireguard_peer_list.html:594 wireguard_peer/views.py:90 msgid "Primary Server" msgstr "Servidor Primário" @@ -1547,7 +1645,7 @@ msgid "Create Peer" msgstr "Criar Peer" #: templates/wireguard/wireguard_peer_list.html:107 -#: templates/wireguard/wireguard_peer_list.html:696 +#: templates/wireguard/wireguard_peer_list.html:762 msgid "Show extras" msgstr "Exibir extras" @@ -1587,23 +1685,29 @@ msgstr "Email" msgid "WhatsApp" msgstr "WhatsApp" -#: templates/wireguard/wireguard_peer_list.html:194 +#: templates/wireguard/wireguard_peer_list.html:197 msgid "Close" msgstr "Fechar" -#: templates/wireguard/wireguard_peer_list.html:195 +#: templates/wireguard/wireguard_peer_list.html:201 msgid "Config" msgstr "Configuração" -#: templates/wireguard/wireguard_peer_list.html:196 +#: templates/wireguard/wireguard_peer_list.html:205 msgid "QR Code" msgstr "Código QR" -#: templates/wireguard/wireguard_peer_list.html:206 +#: templates/wireguard/wireguard_peer_list.html:221 +#, fuzzy +#| msgid "Primary Server" +msgid "Server" +msgstr "Servidor Primário" + +#: templates/wireguard/wireguard_peer_list.html:237 msgid "No WireGuard Instances Found" msgstr "Nenhuma Instância do WireGuard Encontrada" -#: templates/wireguard/wireguard_peer_list.html:207 +#: templates/wireguard/wireguard_peer_list.html:238 msgid "" "There are no WireGuard instances configured. You can add a new instance by " "clicking the button below." @@ -1611,11 +1715,11 @@ msgstr "" "Não há instâncias do WireGuard configuradas. Você pode adicionar uma nova " "instância clicando no botão abaixo." -#: templates/wireguard/wireguard_peer_list.html:210 +#: templates/wireguard/wireguard_peer_list.html:241 msgid "Add WireGuard Instance" msgstr "Adicionar Instância do WireGuard" -#: templates/wireguard/wireguard_peer_list.html:306 +#: templates/wireguard/wireguard_peer_list.html:362 msgid "" "This configuration does not contain a private key. You must add the private " "key manually in your client before using it." @@ -1623,7 +1727,7 @@ msgstr "" "Esta configuração não contém uma chave privada. Você deve adicionar a chave " "privada manualmente no seu cliente antes de usá-la." -#: templates/wireguard/wireguard_peer_list.html:649 +#: templates/wireguard/wireguard_peer_list.html:715 msgid "" "This address does not appear in the wg show command output, likely " "indicating that another peer has an IP overlapping this network or that the " @@ -1633,7 +1737,7 @@ msgstr "" "indicando que outro peer tem um IP sobrepondo esta rede ou que o arquivo de " "configuração está desatualizado." -#: templates/wireguard/wireguard_peer_list.html:664 +#: templates/wireguard/wireguard_peer_list.html:730 msgid "" "At least one address does not appear in the wg show command output, which " "may indicate that another peer is using an overlapping IP or that the " @@ -1643,67 +1747,67 @@ msgstr "" "indicar que outro peer está usando um IP sobreposto ou que o arquivo de " "configuração está desatualizado." -#: templates/wireguard/wireguard_peer_list.html:693 +#: templates/wireguard/wireguard_peer_list.html:759 msgid "Hide extras" msgstr "Ocultar extras" -#: templates/wireguard/wireguard_peer_list.html:737 -#: templates/wireguard/wireguard_peer_list.html:871 +#: templates/wireguard/wireguard_peer_list.html:803 +#: templates/wireguard/wireguard_peer_list.html:937 msgid "Access Password" msgstr "Senha de Acesso" -#: templates/wireguard/wireguard_peer_list.html:737 -#: templates/wireguard/wireguard_peer_list.html:871 +#: templates/wireguard/wireguard_peer_list.html:803 +#: templates/wireguard/wireguard_peer_list.html:937 msgid "(Share this password via a separate secure channel)" msgstr "(Compartilhe esta senha por um canal seguro separado)" -#: templates/wireguard/wireguard_peer_list.html:740 +#: templates/wireguard/wireguard_peer_list.html:806 msgid "Unknown error" msgstr "Erro desconhecido" -#: templates/wireguard/wireguard_peer_list.html:744 +#: templates/wireguard/wireguard_peer_list.html:810 msgid "Error creating invite." msgstr "Erro ao criar convite." -#: templates/wireguard/wireguard_peer_list.html:781 +#: templates/wireguard/wireguard_peer_list.html:847 msgid "Invite text copied to clipboard." msgstr "Texto do convite copiado para a área de transferência." -#: templates/wireguard/wireguard_peer_list.html:783 +#: templates/wireguard/wireguard_peer_list.html:849 msgid "Failed to copy text." msgstr "Falha ao copiar o texto." -#: templates/wireguard/wireguard_peer_list.html:786 +#: templates/wireguard/wireguard_peer_list.html:852 msgid "Clipboard API not supported." msgstr "A API de área de transferência não é suportada." -#: templates/wireguard/wireguard_peer_list.html:795 +#: templates/wireguard/wireguard_peer_list.html:861 msgid "Please enter a valid phone number for WhatsApp." msgstr "Por favor, insira um número de telefone válido para o WhatsApp." -#: templates/wireguard/wireguard_peer_list.html:807 -#: templates/wireguard/wireguard_peer_list.html:853 +#: templates/wireguard/wireguard_peer_list.html:873 +#: templates/wireguard/wireguard_peer_list.html:919 msgid "Invite data is not available." msgstr "Dados do convite não estão disponíveis." -#: templates/wireguard/wireguard_peer_list.html:816 +#: templates/wireguard/wireguard_peer_list.html:882 msgid "Please enter a valid email address." msgstr "Por favor, insira um endereço de email válido." -#: templates/wireguard/wireguard_peer_list.html:838 +#: templates/wireguard/wireguard_peer_list.html:904 msgid "Error sending email." msgstr "Erro ao enviar o email." -#: templates/wireguard/wireguard_peer_list.html:875 -#: templates/wireguard/wireguard_peer_list.html:879 +#: templates/wireguard/wireguard_peer_list.html:941 +#: templates/wireguard/wireguard_peer_list.html:945 msgid "Error refreshing invite." msgstr "Erro ao atualizar o convite." -#: templates/wireguard/wireguard_peer_list.html:894 +#: templates/wireguard/wireguard_peer_list.html:960 msgid "No invite data available to refresh." msgstr "Não há dados de convite disponíveis para atualizar." -#: templates/wireguard/wireguard_peer_list.html:914 +#: templates/wireguard/wireguard_peer_list.html:980 msgid "Error closing invite:" msgstr "Erro ao fechar o convite:" @@ -2312,43 +2416,43 @@ msgstr "Arquivo de configuração inválido" msgid "WireGuard Peer List" msgstr "Lista de Peers do WireGuard" -#: wireguard_peer/views.py:155 +#: wireguard_peer/views.py:160 msgid "Create a new Peer for instance wg" msgstr "Criar um novo Peer para a instância wg" -#: wireguard_peer/views.py:174 +#: wireguard_peer/views.py:179 msgid "Peer created|Peer created successfully." msgstr "Peer adicionado|Peer adicionado com sucesso." -#: wireguard_peer/views.py:179 +#: wireguard_peer/views.py:184 msgid "Error creating peer|No available IP address found for peer creation." msgstr "" "Erro ao criar peer|Nenhum endereço IP disponível encontrado para alocação. " -#: wireguard_peer/views.py:192 +#: wireguard_peer/views.py:197 msgid "Peer deleted|Peer deleted successfully." msgstr "Peer excluído|Peer excluído com sucesso." -#: wireguard_peer/views.py:195 +#: wireguard_peer/views.py:200 msgid "" "Error deleting peer|Invalid confirmation message. Type \"delete\" to confirm." msgstr "" "Erro ao excluir peer|Mensagem de confirmação inválida. Digite \"delete\" " "para confirmar." -#: wireguard_peer/views.py:197 +#: wireguard_peer/views.py:202 msgid "Update Peer: " msgstr "Atualizar Peer: " -#: wireguard_peer/views.py:208 +#: wireguard_peer/views.py:213 msgid "Peer updated|Peer updated successfully." msgstr "Peer atualizado|Peer atualizado com sucesso." -#: wireguard_peer/views.py:246 +#: wireguard_peer/views.py:251 msgid "IP address deleted|IP address deleted successfully." msgstr "Endereço IP excluído|Endereço IP excluído com sucesso." -#: wireguard_peer/views.py:251 +#: wireguard_peer/views.py:256 msgid "" "Error deleting IP address|Invalid confirmation message. Type \"delete\" to " "confirm." @@ -2356,23 +2460,23 @@ msgstr "" "Erro ao excluir endereço IP|Mensagem de confirmação inválida. Digite " "\"delete\" para confirmar." -#: wireguard_peer/views.py:256 +#: wireguard_peer/views.py:261 msgid "Manage client route" msgstr "Gerenciar rota do cliente" -#: wireguard_peer/views.py:258 +#: wireguard_peer/views.py:263 msgid "Manage IP address or Network" msgstr "Gerenciar Endereço IP ou Rede" -#: wireguard_peer/views.py:271 +#: wireguard_peer/views.py:276 msgid "IP address updated|IP address updated successfully." msgstr "Endereço IP atualizado|Endereço IP atualizado com sucesso." -#: wireguard_peer/views.py:273 +#: wireguard_peer/views.py:278 msgid "IP address added|IP address added successfully." msgstr "Endereço IP adicionado|Endereço IP adicionado com sucesso." -#: wireguard_tools/views.py:165 +#: wireguard_tools/views.py:170 msgid "" "Export successful!|WireGuard configuration files have been exported to /etc/" "wireguard/." @@ -2380,7 +2484,7 @@ msgstr "" "Exportação bem-sucedida!|Os arquivos de configuração do WireGuard foram " "exportados para /etc/wireguard/." -#: wireguard_tools/views.py:167 +#: wireguard_tools/views.py:172 msgid "" "Export successful!|WireGuard configuration files have been exported to /etc/" "wireguard/. Don't forget to restart the interfaces." @@ -2388,19 +2492,19 @@ msgstr "" "Exportação bem-sucedida!|Os arquivos de configuração do WireGuard foram " "exportados para /etc/wireguard/. Não se esqueça de reiniciar as interfaces." -#: wireguard_tools/views.py:260 +#: wireguard_tools/views.py:274 msgid "Error reloading" msgstr "Erro ao recarregar" -#: wireguard_tools/views.py:272 +#: wireguard_tools/views.py:286 msgid "Error stopping" msgstr "Erro ao parar" -#: wireguard_tools/views.py:277 +#: wireguard_tools/views.py:291 msgid "Error starting" msgstr "Erro ao iniciar" -#: wireguard_tools/views.py:284 +#: wireguard_tools/views.py:298 msgid "" "WARNING|Please note that the interface was reloaded, not restarted. Double-" "check if the the peers are working as expected. If you find any issues, " @@ -2410,24 +2514,40 @@ msgstr "" "Verifique se os peers estão funcionando como esperado. Se você encontrar " "algum problema, por favor, relate-o." -#: wireguard_tools/views.py:285 +#: wireguard_tools/views.py:299 msgid "WireGuard reloaded|The WireGuard service has been reloaded." msgstr "WireGuard recarregado|O serviço WireGuard foi recarregado." -#: wireguard_tools/views.py:287 +#: wireguard_tools/views.py:301 msgid "WireGuard restarted|The WireGuard service has been restarted." msgstr "WireGuard reiniciado|O serviço WireGuard foi reiniciado." -#: wireguard_tools/views.py:290 +#: wireguard_tools/views.py:304 msgid "Errors encountered|Error processing one or more interfaces." msgstr "Erros encontrados|Erro ao processar uma ou mais interfaces." -#: wireguard_tools/views.py:293 +#: wireguard_tools/views.py:307 msgid "No interfaces found|No WireGuard interfaces were found to process." msgstr "" "Nenhuma interface encontrada|Nenhuma interface WireGuard foi encontrada para " "processar." +#~ msgid "" +#~ "Your WireGuard settings have been modified. To apply these changes, " +#~ "please update the configuration and reload the WireGuard service." +#~ msgstr "" +#~ "Suas configurações do WireGuard foram modificadas. Para aplicar essas " +#~ "mudanças, atualize a configuração e recarregue o serviço WireGuard." + +#~ msgid "Update Available" +#~ msgstr "Atualização Disponível" + +#~ msgid "Warning:" +#~ msgstr "Aviso:" + +#~ msgid "Next priority features (coming soon):" +#~ msgstr "Recursos prioritários (em breve):" + #~ msgid "Stats Sync Interval" #~ msgstr "Intervalo de Sincronização de Estatísticas" @@ -2445,9 +2565,6 @@ msgstr "" #~ "Dados de tráfego, endereço IP, status de handshake e estado online/" #~ "offline não estarão visíveis para peers conectados aos nós do cluster." -#~ msgid "I Understand" -#~ msgstr "Eu Entendo" - #~ msgid "Disabling WireGuard on the master server is currently not supported." #~ msgstr "" #~ "Desativar o WireGuard no servidor mestre não é suportado no momento." diff --git a/locale/sk/LC_MESSAGES/django.mo b/locale/sk/LC_MESSAGES/django.mo index c1f993d3301d67ccbcd2e8fb7a9949525c4a6200..2ef1efcdaa65d1dcc8d3e629870d477f16a09d90 100644 GIT binary patch delta 9646 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 delta 10103 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\n" "Language-Team: LANGUAGE \n" @@ -18,14 +18,15 @@ msgstr "" "Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n " ">= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" -#: cluster/forms.py:18 dns/forms.py:111 templates/cluster/workers_list.html:8 -#: templates/dns/static_host_list.html:68 +#: cluster/forms.py:18 dns/forms.py:111 routing_templates/forms.py:25 +#: templates/cluster/workers_list.html:8 templates/dns/static_host_list.html:68 +#: templates/routing_templates/list.html:8 #: templates/user_manager/peer_group_list.html:8 user_manager/forms.py:177 #: wireguard_peer/forms.py:10 msgid "Name" msgstr "Názov" -#: cluster/forms.py:19 templates/cluster/workers_list.html:103 +#: cluster/forms.py:19 templates/cluster/workers_list.html:96 #: vpn_invite/forms.py:49 vpn_invite/forms.py:294 msgid "Enabled" msgstr "Povolené" @@ -60,7 +61,8 @@ msgid "Token" msgstr "Token" #: cluster/forms.py:27 cluster/forms.py:103 dns/forms.py:25 dns/forms.py:67 -#: dns/forms.py:109 templates/firewall/manage_firewall_rule.html:380 +#: dns/forms.py:109 routing_templates/forms.py:32 +#: templates/firewall/manage_firewall_rule.html:380 #: templates/firewall/manage_firewall_settings.html:60 #: templates/firewall/manage_redirect_rule.html:85 #: templates/wireguard/wireguard_manage_ip.html:42 @@ -71,6 +73,7 @@ msgid "Back" msgstr "Späť" #: cluster/forms.py:28 dns/forms.py:68 dns/forms.py:110 +#: routing_templates/forms.py:33 #: templates/firewall/manage_firewall_rule.html:382 #: templates/firewall/manage_redirect_rule.html:86 #: templates/wireguard/wireguard_manage_ip.html:43 @@ -80,7 +83,8 @@ msgid "Delete" msgstr "Vymazať" #: cluster/forms.py:67 cluster/forms.py:124 dns/forms.py:37 dns/forms.py:83 -#: dns/forms.py:134 templates/firewall/manage_firewall_rule.html:379 +#: dns/forms.py:134 routing_templates/forms.py:64 +#: templates/firewall/manage_firewall_rule.html:379 #: templates/firewall/manage_firewall_settings.html:59 #: templates/firewall/manage_redirect_rule.html:84 #: templates/wireguard/wireguard_manage_ip.html:41 @@ -107,15 +111,15 @@ msgstr "Cluster povolený" msgid "Primary Enable WireGuard" msgstr "Primárne povolenie WireGuard" -#: cluster/forms.py:99 templates/cluster/workers_list.html:113 +#: cluster/forms.py:99 templates/cluster/workers_list.html:106 msgid "Cluster Mode" msgstr "Režim clustra" -#: cluster/forms.py:100 templates/cluster/workers_list.html:152 +#: cluster/forms.py:100 templates/cluster/workers_list.html:145 msgid "Restart Mode" msgstr "Režim reštartu" -#: cluster/forms.py:101 templates/cluster/workers_list.html:156 +#: cluster/forms.py:101 templates/cluster/workers_list.html:149 msgid "Worker Display" msgstr "Zobrazenie workera" @@ -154,7 +158,7 @@ msgstr "Vyžaduje sa aktualizácia workera." msgid "Access Denied" msgstr "Prístup zamietnutý" -#: cluster/views.py:21 templates/base.html:162 +#: cluster/views.py:21 templates/base.html:180 msgid "Cluster" msgstr "Cluster" @@ -170,7 +174,7 @@ msgstr "Worker vymazaný|Worker vymazaný: " msgid "Worker not deleted|Invalid confirmation." msgstr "Worker nebol vymazaný|Neplatné potvrdenie." -#: cluster/views.py:64 templates/cluster/workers_list.html:94 +#: cluster/views.py:64 templates/cluster/workers_list.html:87 msgid "Add Worker" msgstr "Pridať Worker" @@ -226,7 +230,7 @@ msgstr "" "mesto, názov hostiteľa).

\n" " " -#: cluster/views.py:117 templates/cluster/workers_list.html:95 +#: cluster/views.py:117 templates/cluster/workers_list.html:88 msgid "Cluster Settings" msgstr "Nastavenia Clustra" @@ -663,7 +667,7 @@ msgstr "Nastavenia firewall boli úspešne uložené" msgid "Language" msgstr "Jazyk" -#: intl_tools/forms.py:24 templates/base.html:57 +#: intl_tools/forms.py:24 templates/base.html:61 msgid "Change Language" msgstr "Zmeniť jazyk" @@ -675,6 +679,107 @@ msgstr "" "Ak nájdete problémy s prekladom alebo si želáte požiadať o nový jazyk, " "prosím otvorte" +#: routing_templates/forms.py:26 +#: templates/firewall/manage_redirect_rule.html:57 +#: templates/routing_templates/list.html:9 +msgid "WireGuard Instance" +msgstr "WireGuard inštancia" + +#: routing_templates/forms.py:27 templates/routing_templates/list.html:24 +#, fuzzy +#| msgid "default route" +msgid "Default Template" +msgstr "predvolená trasa" + +#: routing_templates/forms.py:28 templates/routing_templates/list.html:10 +msgid "Route Type" +msgstr "" + +#: routing_templates/forms.py:29 routing_templates/models.py:14 +msgid "Custom Routes" +msgstr "" + +#: routing_templates/forms.py:30 +#, fuzzy +#| msgid "Allow Peer to Peer" +msgid "Allow Peer Custom Routes" +msgstr "Povoliť peer-to-peer" + +#: routing_templates/models.py:11 +msgid "Default Route (0.0.0.0/0)" +msgstr "" + +#: routing_templates/models.py:12 +msgid "Routes from Peers on same Interface" +msgstr "" + +#: routing_templates/models.py:13 +msgid "Routes from All Peers" +msgstr "" + +#: routing_templates/models.py:23 +msgid "One route per line in CIDR notation." +msgstr "" + +#: routing_templates/views.py:16 templates/base.html:161 +#, fuzzy +#| msgid "Routing table" +msgid "Routing Templates" +msgstr "Smerovacia tabuľka" + +#: routing_templates/views.py:31 +msgid "Edit Routing Template: " +msgstr "" + +#: routing_templates/views.py:37 +msgid "Routing Template deleted|Routing Template deleted: " +msgstr "" + +#: routing_templates/views.py:40 +#, fuzzy +#| msgid "Worker not deleted|Invalid confirmation." +msgid "Routing Template not deleted|Invalid confirmation." +msgstr "Worker nebol vymazaný|Neplatné potvrdenie." + +#: routing_templates/views.py:44 templates/routing_templates/list.html:38 +#, fuzzy +#| msgid "Routing table" +msgid "Add Routing Template" +msgstr "Smerovacia tabuľka" + +#: routing_templates/views.py:58 +msgid "" +"\n" +"
Routing Templates
\n" +"

Define routing configurations that can be applied to peers.

\n" +" \n" +"
Default Template
\n" +"

If checked, this template will be the default for the selected " +"WireGuard instance. Only one default template is allowed per instance.

\n" +"\n" +"
Route Type
\n" +"

Select the type of routes to push to the client.

\n" +"
    \n" +"
  • Default Route (0.0.0.0/0): Redirects all " +"traffic through the VPN.
  • \n" +"
  • Routes from Peers on same Interface: Pushes " +"routes for other peers on the same WireGuard interface.
  • \n" +"
  • Routes from All Peers: Pushes routes for " +"all peers across all interfaces.
  • \n" +"
  • Custom Routes: Allows you to specify custom " +"CIDR ranges.
  • \n" +"
\n" +"\n" +"
Custom Routes
\n" +"

Enter custom routes in CIDR notation, one per line (e.g., " +"192.168.1.0/24).

\n" +" \n" +"
Allow Peer Custom Routes
\n" +"

If checked, allows specific peers to add their own custom routes " +"on top of this template.

\n" +" " +msgstr "" + #: templates/access_denied.html:12 msgid "Sorry, you do not have permission to access this page." msgstr "Prepáčte, nemáte oprávnenie na prístup k tejto stránke." @@ -707,47 +812,35 @@ msgstr "Boli ste úspešne odhlásený." msgid "Login again" msgstr "Prihlásiť sa znovu" -#: templates/base.html:89 templates/cluster/workers_list.html:9 +#: templates/base.html:94 templates/cluster/workers_list.html:9 #: templates/dns/static_host_list.html:72 vpn_invite/forms.py:78 #: vpn_invite/forms.py:79 vpn_invite/forms.py:80 vpn_invite/forms.py:81 #: vpn_invite/forms.py:82 msgid "Status" msgstr "Stav" -#: templates/base.html:135 user_manager/views.py:74 +#: templates/base.html:141 user_manager/views.py:74 msgid "User Manager" msgstr "Správa používateľov" -#: templates/base.html:153 templates/wireguard/wireguard_peer_list.html:197 +#: templates/base.html:171 templates/wireguard/wireguard_peer_list.html:209 #: vpn_invite/views.py:37 msgid "VPN Invite" msgstr "VPN pozvánka" -#: templates/base.html:240 +#: templates/base.html:260 msgid "Update Required" msgstr "Aktualizácia potrebná" -#: templates/base.html:242 -msgid "" -"Your WireGuard settings have been modified. To apply these changes, please " -"update the configuration and reload the WireGuard service." -msgstr "" -"Vaše WireGuard nastavenia boli zmenené. Pre aplikovanie týchto zmien, prosím " -"aktualizujte konfiguráciu a reštartujte WireGuard službu." - -#: templates/base.html:251 +#: templates/base.html:269 msgid "Update and restart service" msgstr "Aktualizovať a reštartovať službu" -#: templates/base.html:259 +#: templates/base.html:274 msgid "Update and reload service" msgstr "Aktualizovať a znovu načítať službu" -#: templates/base.html:272 -msgid "Update Available" -msgstr "Aktualizácia dostupná" - -#: templates/base.html:274 +#: templates/base.html:290 msgid "Version" msgstr "Verzia" @@ -762,126 +855,123 @@ msgid "Last Seen" msgstr "Naposledy videný" #: templates/cluster/workers_list.html:13 -#: templates/cluster/workers_list.html:117 +#: templates/cluster/workers_list.html:110 msgid "Config Version" msgstr "Verzia konfigurácie" -#: templates/cluster/workers_list.html:30 +#: templates/cluster/workers_list.html:28 msgid "Configuration sync in progress" msgstr "Synchronizácia konfigurácie prebieha" -#: templates/cluster/workers_list.html:40 +#: templates/cluster/workers_list.html:37 msgid "The worker is outdated. Please update it to the latest version." msgstr "Tento worker je zastaraný. Prosím aktualizujte ho na najnovšiu verziu." -#: templates/cluster/workers_list.html:47 +#: templates/cluster/workers_list.html:44 msgid "IP Lock Enabled" msgstr "IP zámok povolený" -#: templates/cluster/workers_list.html:50 -#: templates/cluster/workers_list.html:58 +#: templates/cluster/workers_list.html:47 +#: templates/cluster/workers_list.html:54 msgid "Not set" msgstr "Nenastavené" -#: templates/cluster/workers_list.html:66 +#: templates/cluster/workers_list.html:61 msgid "Never" msgstr "Nikdy" -#: templates/cluster/workers_list.html:70 +#: templates/cluster/workers_list.html:64 msgid "Last seen more than 10 minutes ago or never seen." msgstr "Naposledy videný pred viac ako 10 minútami alebo nikdy videný." -#: templates/cluster/workers_list.html:83 -#: templates/dns/static_host_list.html:74 templates/user_manager/list.html:53 +#: templates/cluster/workers_list.html:77 +#: templates/dns/static_host_list.html:74 +#: templates/routing_templates/list.html:29 templates/user_manager/list.html:53 #: templates/user_manager/peer_group_list.html:35 -#: templates/wireguard/wireguard_peer_list.html:198 +#: templates/wireguard/wireguard_peer_list.html:213 msgid "Edit" msgstr "Upraviť" -#: templates/cluster/workers_list.html:89 +#: templates/cluster/workers_list.html:82 msgid "No workers configured" msgstr "Nie sú nakonfigurovaní žiadni workery" -#: templates/cluster/workers_list.html:96 -#: templates/cluster/workers_list.html:99 +#: templates/cluster/workers_list.html:89 +#: templates/cluster/workers_list.html:92 msgid "Cluster Information" msgstr "Informácie o klastri" -#: templates/cluster/workers_list.html:121 +#: templates/cluster/workers_list.html:114 msgid "DNS Version" msgstr "Verzia DNS" -#: templates/cluster/workers_list.html:126 +#: templates/cluster/workers_list.html:119 msgid "Stats Cache Refresh Interval" msgstr "Interval obnovy vyrovnávacej pamäte štatistík" -#: templates/cluster/workers_list.html:130 +#: templates/cluster/workers_list.html:123 msgid "Cache Enabled" msgstr "Vyrovnávacia pamäť povolená" -#: templates/cluster/workers_list.html:140 +#: templates/cluster/workers_list.html:133 msgid "Cache Web Load Previous Count" msgstr "Počet predchádzajúcich načítaní webovej vyrovnávacej pamäte" -#: templates/cluster/workers_list.html:144 +#: templates/cluster/workers_list.html:137 msgid "Master Cache Processing Time" msgstr "Čas spracovania vyrovnávacej pamäte Master" -#: templates/cluster/workers_list.html:148 +#: templates/cluster/workers_list.html:141 msgid "Cluster Cache Processing Time" msgstr "Čas spracovania vyrovnávacej pamäte Cluster" -#: templates/cluster/workers_list.html:160 +#: templates/cluster/workers_list.html:153 msgid "Primary WireGuard" msgstr "Povoliť primárny WireGuard" -#: templates/cluster/workers_list.html:178 +#: templates/cluster/workers_list.html:171 msgid "Cluster Feature – Testing Phase" msgstr "Funkcia klastra – testovacia fáza" -#: templates/cluster/workers_list.html:185 +#: templates/cluster/workers_list.html:178 msgid "The cluster functionality is currently released as experimental." msgstr "Funkcia klastra je v súčasnosti vydaná ako experimentálna." -#: templates/cluster/workers_list.html:186 +#: templates/cluster/workers_list.html:179 msgid "At this stage, only core features are implemented:" msgstr "V tejto fáze sú implementované iba základné funkcie:" -#: templates/cluster/workers_list.html:188 +#: templates/cluster/workers_list.html:181 msgid "Configuration synchronization service" msgstr "Služba synchronizácie konfigurácie" -#: templates/cluster/workers_list.html:189 +#: templates/cluster/workers_list.html:182 msgid "Primary node mirroring (WireGuard and firewall rules)" msgstr "Zrkadlenie primárneho uzla (WireGuard a pravidlá firewallu)" -#: templates/cluster/workers_list.html:190 +#: templates/cluster/workers_list.html:183 msgid "DNS rules mirroring" msgstr "Zrkadlenie pravidiel DNS" -#: templates/cluster/workers_list.html:193 -msgid "Warning:" -msgstr "Upozornenie:" - -#: templates/cluster/workers_list.html:200 -msgid "Next priority features (coming soon):" -msgstr "Ďalšie prioritné funkcie (už čoskoro):" - -#: templates/cluster/workers_list.html:202 +#: templates/cluster/workers_list.html:184 msgid "Traffic data synchronization" msgstr "Synchronizácia údajov o návštevnosti" -#: templates/cluster/workers_list.html:203 +#: templates/cluster/workers_list.html:185 msgid "" "Server selection dropdown before downloading peer configs or VPN invites" msgstr "" "Rozbaľovací zoznam výberu servera pred stiahnutím konfigurácií peerov alebo " "pozvánok VPN" -#: templates/cluster/workers_list.html:207 +#: templates/cluster/workers_list.html:191 msgid "For more information, please visit:" msgstr "Pre viac informácií navštívte prosím:" +#: templates/cluster/workers_list.html:195 +msgid "I Understand" +msgstr "Rozumiem" + #: templates/console/console.html:12 msgid "Clear" msgstr "Vymazať" @@ -1177,10 +1267,6 @@ msgstr "Typ cieľa" msgid "Peer" msgstr "Peer" -#: templates/firewall/manage_redirect_rule.html:57 -msgid "WireGuard Instance" -msgstr "WireGuard inštancia" - #: templates/firewall/manage_redirect_rule.html:74 msgid "Add Forward Rule (allow)" msgstr "Pridať pravidlo presmerovania (povoliť)" @@ -1271,6 +1357,18 @@ msgstr "" msgid "Create Port forwarding Rule" msgstr "Vytvoriť pravidlo presmerovania portov" +#: templates/routing_templates/list.html:11 +#, fuzzy +#| msgid "Default Policy" +msgid "Default" +msgstr "Predvolená politika" + +#: templates/routing_templates/list.html:12 +#, fuzzy +#| msgid "Update" +msgid "Updated" +msgstr "Aktualizovať" + #: templates/user_manager/list.html:9 user_manager/forms.py:20 msgid "User Level" msgstr "Úroveň používateľa" @@ -1507,7 +1605,7 @@ msgid "Transfer" msgstr "Prenos" #: templates/wireguard/wireguard_peer_list.html:77 -#: templates/wireguard/wireguard_peer_list.html:528 +#: templates/wireguard/wireguard_peer_list.html:594 wireguard_peer/views.py:90 msgid "Primary Server" msgstr "Primárny server" @@ -1536,7 +1634,7 @@ msgid "Create Peer" msgstr "Vytvoriť peer" #: templates/wireguard/wireguard_peer_list.html:107 -#: templates/wireguard/wireguard_peer_list.html:696 +#: templates/wireguard/wireguard_peer_list.html:762 msgid "Show extras" msgstr "Zobraziť dodatky" @@ -1576,23 +1674,29 @@ msgstr "E-mail" msgid "WhatsApp" msgstr "WhatsApp" -#: templates/wireguard/wireguard_peer_list.html:194 +#: templates/wireguard/wireguard_peer_list.html:197 msgid "Close" msgstr "Zavrieť" -#: templates/wireguard/wireguard_peer_list.html:195 +#: templates/wireguard/wireguard_peer_list.html:201 msgid "Config" msgstr "Konfigurácia" -#: templates/wireguard/wireguard_peer_list.html:196 +#: templates/wireguard/wireguard_peer_list.html:205 msgid "QR Code" msgstr "QR kód" -#: templates/wireguard/wireguard_peer_list.html:206 +#: templates/wireguard/wireguard_peer_list.html:221 +#, fuzzy +#| msgid "Primary Server" +msgid "Server" +msgstr "Primárny server" + +#: templates/wireguard/wireguard_peer_list.html:237 msgid "No WireGuard Instances Found" msgstr "Nenašli sa žiadne WireGuard inštancie" -#: templates/wireguard/wireguard_peer_list.html:207 +#: templates/wireguard/wireguard_peer_list.html:238 msgid "" "There are no WireGuard instances configured. You can add a new instance by " "clicking the button below." @@ -1600,11 +1704,11 @@ msgstr "" "Nie sú nakonfigurované žiadne WireGuard inštancie. Môžete pridať novú " "inštanciu kliknutím na tlačidlo nižšie." -#: templates/wireguard/wireguard_peer_list.html:210 +#: templates/wireguard/wireguard_peer_list.html:241 msgid "Add WireGuard Instance" msgstr "Pridať WireGuard inštanciu" -#: templates/wireguard/wireguard_peer_list.html:306 +#: templates/wireguard/wireguard_peer_list.html:362 msgid "" "This configuration does not contain a private key. You must add the private " "key manually in your client before using it." @@ -1612,7 +1716,7 @@ msgstr "" "Táto konfigurácia neobsahuje súkromný kľúč. Musíte pridať súkromný kľúč " "manuálne vo vašom klientovi pred jeho použitím." -#: templates/wireguard/wireguard_peer_list.html:649 +#: templates/wireguard/wireguard_peer_list.html:715 msgid "" "This address does not appear in the wg show command output, likely " "indicating that another peer has an IP overlapping this network or that the " @@ -1622,7 +1726,7 @@ msgstr "" "naznačuje, že iný peer má IP prekrývajúcu túto sieť alebo že konfiguračný " "súbor je zastaraný." -#: templates/wireguard/wireguard_peer_list.html:664 +#: templates/wireguard/wireguard_peer_list.html:730 msgid "" "At least one address does not appear in the wg show command output, which " "may indicate that another peer is using an overlapping IP or that the " @@ -1632,67 +1736,67 @@ msgstr "" "naznačovať, že iný peer používa prekrývajúcu IP adresu alebo že konfiguračný " "súbor je zastaraný." -#: templates/wireguard/wireguard_peer_list.html:693 +#: templates/wireguard/wireguard_peer_list.html:759 msgid "Hide extras" msgstr "Skryť dodatky" -#: templates/wireguard/wireguard_peer_list.html:737 -#: templates/wireguard/wireguard_peer_list.html:871 +#: templates/wireguard/wireguard_peer_list.html:803 +#: templates/wireguard/wireguard_peer_list.html:937 msgid "Access Password" msgstr "Prístupové heslo" -#: templates/wireguard/wireguard_peer_list.html:737 -#: templates/wireguard/wireguard_peer_list.html:871 +#: templates/wireguard/wireguard_peer_list.html:803 +#: templates/wireguard/wireguard_peer_list.html:937 msgid "(Share this password via a separate secure channel)" msgstr "(Zdieľajte toto heslo cez samostatný bezpečný kanál)" -#: templates/wireguard/wireguard_peer_list.html:740 +#: templates/wireguard/wireguard_peer_list.html:806 msgid "Unknown error" msgstr "Neznáma chyba" -#: templates/wireguard/wireguard_peer_list.html:744 +#: templates/wireguard/wireguard_peer_list.html:810 msgid "Error creating invite." msgstr "Chyba pri vytváraní pozvánky." -#: templates/wireguard/wireguard_peer_list.html:781 +#: templates/wireguard/wireguard_peer_list.html:847 msgid "Invite text copied to clipboard." msgstr "Text pozvánky bol skopírovaný do schránky." -#: templates/wireguard/wireguard_peer_list.html:783 +#: templates/wireguard/wireguard_peer_list.html:849 msgid "Failed to copy text." msgstr "Nepodarilo sa skopírovať text." -#: templates/wireguard/wireguard_peer_list.html:786 +#: templates/wireguard/wireguard_peer_list.html:852 msgid "Clipboard API not supported." msgstr "API schránky nie je podporované." -#: templates/wireguard/wireguard_peer_list.html:795 +#: templates/wireguard/wireguard_peer_list.html:861 msgid "Please enter a valid phone number for WhatsApp." msgstr "Prosím zadajte platné telefónne číslo pre WhatsApp." -#: templates/wireguard/wireguard_peer_list.html:807 -#: templates/wireguard/wireguard_peer_list.html:853 +#: templates/wireguard/wireguard_peer_list.html:873 +#: templates/wireguard/wireguard_peer_list.html:919 msgid "Invite data is not available." msgstr "Údaje pozvánky nie sú dostupné." -#: templates/wireguard/wireguard_peer_list.html:816 +#: templates/wireguard/wireguard_peer_list.html:882 msgid "Please enter a valid email address." msgstr "Prosím zadajte platnú e-mailovú adresu." -#: templates/wireguard/wireguard_peer_list.html:838 +#: templates/wireguard/wireguard_peer_list.html:904 msgid "Error sending email." msgstr "Chyba pri odosielaní e-mailu." -#: templates/wireguard/wireguard_peer_list.html:875 -#: templates/wireguard/wireguard_peer_list.html:879 +#: templates/wireguard/wireguard_peer_list.html:941 +#: templates/wireguard/wireguard_peer_list.html:945 msgid "Error refreshing invite." msgstr "Chyba pri obnovovaní pozvánky." -#: templates/wireguard/wireguard_peer_list.html:894 +#: templates/wireguard/wireguard_peer_list.html:960 msgid "No invite data available to refresh." msgstr "Žiadne údaje pozvánky na obnovenie." -#: templates/wireguard/wireguard_peer_list.html:914 +#: templates/wireguard/wireguard_peer_list.html:980 msgid "Error closing invite:" msgstr "Chyba pri zatváraní pozvánky:" @@ -2292,44 +2396,44 @@ msgstr "Neplatný konfiguračný súbor" msgid "WireGuard Peer List" msgstr "Zoznam WireGuard peerov" -#: wireguard_peer/views.py:155 +#: wireguard_peer/views.py:160 msgid "Create a new Peer for instance wg" msgstr "Vytvoriť nový peer pre inštanciu wg" -#: wireguard_peer/views.py:174 +#: wireguard_peer/views.py:179 msgid "Peer created|Peer created successfully." msgstr "Peer vytvorený|Peer bol úspešne vytvorený." -#: wireguard_peer/views.py:179 +#: wireguard_peer/views.py:184 msgid "Error creating peer|No available IP address found for peer creation." msgstr "" "Chyba pri vytváraní peer|Nebola nájdená dostupná IP adresa pre vytvorenie " "peer." -#: wireguard_peer/views.py:192 +#: wireguard_peer/views.py:197 msgid "Peer deleted|Peer deleted successfully." msgstr "Peer vymazaný|Peer bol úspešne vymazaný." -#: wireguard_peer/views.py:195 +#: wireguard_peer/views.py:200 msgid "" "Error deleting peer|Invalid confirmation message. Type \"delete\" to confirm." msgstr "" "Chyba pri vymazávaní peer|Neplatná potvrdzovacia správa. Napíšte \"delete\" " "pre potvrdenie." -#: wireguard_peer/views.py:197 +#: wireguard_peer/views.py:202 msgid "Update Peer: " msgstr "Aktualizovať peer: " -#: wireguard_peer/views.py:208 +#: wireguard_peer/views.py:213 msgid "Peer updated|Peer updated successfully." msgstr "Peer aktualizovaný|Peer bol úspešne aktualizovaný." -#: wireguard_peer/views.py:246 +#: wireguard_peer/views.py:251 msgid "IP address deleted|IP address deleted successfully." msgstr "IP adresa vymazaná|IP adresa bola úspešne vymazaná." -#: wireguard_peer/views.py:251 +#: wireguard_peer/views.py:256 msgid "" "Error deleting IP address|Invalid confirmation message. Type \"delete\" to " "confirm." @@ -2337,23 +2441,23 @@ msgstr "" "Chyba pri vymazávaní IP adresy|Neplatná potvrdzovacia správa. Napíšte " "\"delete\" pre potvrdenie." -#: wireguard_peer/views.py:256 +#: wireguard_peer/views.py:261 msgid "Manage client route" msgstr "Spravovať klientskú trasu" -#: wireguard_peer/views.py:258 +#: wireguard_peer/views.py:263 msgid "Manage IP address or Network" msgstr "Spravovať IP adresu alebo sieť" -#: wireguard_peer/views.py:271 +#: wireguard_peer/views.py:276 msgid "IP address updated|IP address updated successfully." msgstr "IP adresa aktualizovaná|IP adresa bola úspešne aktualizovaná." -#: wireguard_peer/views.py:273 +#: wireguard_peer/views.py:278 msgid "IP address added|IP address added successfully." msgstr "IP adresa pridaná|IP adresa bola úspešne pridaná." -#: wireguard_tools/views.py:165 +#: wireguard_tools/views.py:170 msgid "" "Export successful!|WireGuard configuration files have been exported to /etc/" "wireguard/." @@ -2361,7 +2465,7 @@ msgstr "" "Export úspešný!|WireGuard konfiguračné súbory boli exportované do /etc/" "wireguard/." -#: wireguard_tools/views.py:167 +#: wireguard_tools/views.py:172 msgid "" "Export successful!|WireGuard configuration files have been exported to /etc/" "wireguard/. Don't forget to restart the interfaces." @@ -2369,19 +2473,19 @@ msgstr "" "Export úspešný!|WireGuard konfiguračné súbory boli exportované do /etc/" "wireguard/. Nezabudnite reštartovať rozhrania." -#: wireguard_tools/views.py:260 +#: wireguard_tools/views.py:274 msgid "Error reloading" msgstr "Chyba pri opätovnom načítaní" -#: wireguard_tools/views.py:272 +#: wireguard_tools/views.py:286 msgid "Error stopping" msgstr "Chyba pri zastavovaní" -#: wireguard_tools/views.py:277 +#: wireguard_tools/views.py:291 msgid "Error starting" msgstr "Chyba pri spúšťaní" -#: wireguard_tools/views.py:284 +#: wireguard_tools/views.py:298 msgid "" "WARNING|Please note that the interface was reloaded, not restarted. Double-" "check if the the peers are working as expected. If you find any issues, " @@ -2391,25 +2495,41 @@ msgstr "" "reštartované. Dôkladne skontrolujte či peeri fungujú podľa očakávania. Ak " "nájdete problémy, prosím nahláste ich." -#: wireguard_tools/views.py:285 +#: wireguard_tools/views.py:299 msgid "WireGuard reloaded|The WireGuard service has been reloaded." msgstr "WireGuard znovu načítaný|Služba WireGuard bola znovu načítaná." -#: wireguard_tools/views.py:287 +#: wireguard_tools/views.py:301 msgid "WireGuard restarted|The WireGuard service has been restarted." msgstr "WireGuard reštartovaný|Služba WireGuard bola reštartovaná." -#: wireguard_tools/views.py:290 +#: wireguard_tools/views.py:304 msgid "Errors encountered|Error processing one or more interfaces." msgstr "" "Vyskytli sa chyby|Chyba pri spracovaní jedného alebo viacerých rozhraní." -#: wireguard_tools/views.py:293 +#: wireguard_tools/views.py:307 msgid "No interfaces found|No WireGuard interfaces were found to process." msgstr "" "Neboli nájdené rozhrania|Neboli nájdené žiadne WireGuard rozhrania na " "spracovanie." +#~ msgid "" +#~ "Your WireGuard settings have been modified. To apply these changes, " +#~ "please update the configuration and reload the WireGuard service." +#~ msgstr "" +#~ "Vaše WireGuard nastavenia boli zmenené. Pre aplikovanie týchto zmien, " +#~ "prosím aktualizujte konfiguráciu a reštartujte WireGuard službu." + +#~ msgid "Update Available" +#~ msgstr "Aktualizácia dostupná" + +#~ msgid "Warning:" +#~ msgstr "Upozornenie:" + +#~ msgid "Next priority features (coming soon):" +#~ msgstr "Ďalšie prioritné funkcie (už čoskoro):" + #~ msgid "Stats Sync Interval" #~ msgstr "Interval synchronizácie štatistík" @@ -2426,9 +2546,6 @@ msgstr "" #~ "Údaje o návštevnosti, IP adresa, stav handshake a online/offline stav " #~ "nebudú viditeľné pre peerov pripojených k uzlom klastra." -#~ msgid "I Understand" -#~ msgstr "Rozumiem" - #~ msgid "Disabling WireGuard on the master server is currently not supported." #~ msgstr "" #~ "Zakázanie WireGuard na hlavnom serveri momentálne nie je podporované."