Add informational message for translation issues in language change form

This commit is contained in:
Eduardo Silva
2025-04-17 12:45:48 -03:00
parent ee7b190803
commit 6285ae6e68
9 changed files with 120 additions and 63 deletions
+10 -2
View File
@@ -1,5 +1,5 @@
from crispy_forms.helper import FormHelper from crispy_forms.helper import FormHelper
from crispy_forms.layout import Column, Layout, Row, Submit from crispy_forms.layout import Column, HTML, Layout, Row, Submit
from django import forms from django import forms
from django.conf import settings from django.conf import settings
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
@@ -19,5 +19,13 @@ class LanguageForm(forms.Form):
Row( Row(
Column('language', css_class='col-md-6'), Column('language', css_class='col-md-6'),
), ),
Submit('submit', _("Change Language"), css_class='btn btn-primary')
Submit('submit', _("Change Language"), css_class='btn btn-primary'),
Row(
Column(HTML(
"<span class='small'>" + _("If you find any issues with the translation or would like to request a new language, please open an") + " <a href='https://github.com/eduardogsilva/wireguard_webadmin/issues' target='_blank'>issue</a>.</span>"),
css_class='col-md-12', style='padding-top: 32px;'),
),
) )
Binary file not shown.
+34 -19
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-04-17 08:45-0300\n" "POT-Creation-Date: 2025-04-17 12:38-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -463,10 +463,16 @@ msgstr "Firewall‑Einstellungen erfolgreich gespeichert"
msgid "Language" msgid "Language"
msgstr "Sprache" msgstr "Sprache"
#: intl_tools/forms.py:22 templates/base.html:80 #: intl_tools/forms.py:24 templates/base.html:80
msgid "Change Language" msgid "Change Language"
msgstr "Sprache ändern" msgstr "Sprache ändern"
#: intl_tools/forms.py:28
msgid ""
"If you find any issues with the translation or would like to request a new "
"language, please open an"
msgstr "Wenn dir bei der Übersetzung Fehler auffallen oder du eine neue Sprache anfordern möchtest, öffne bitte ein"
#: templates/access_denied.html:9 #: templates/access_denied.html:9
msgid "Access Denied" msgid "Access Denied"
msgstr "Zugriff verweigert" msgstr "Zugriff verweigert"
@@ -946,7 +952,8 @@ msgstr "Port‑Weiterleitungsregel erstellen"
msgid "User Level" msgid "User Level"
msgstr "Benutzerstufe" msgstr "Benutzerstufe"
#: templates/user_manager/list.html:10 user_manager/forms.py:24 user_manager/views.py:17 #: templates/user_manager/list.html:10 user_manager/forms.py:24
#: user_manager/views.py:17
msgid "Peer Groups" msgid "Peer Groups"
msgstr "Peer‑Gruppen" msgstr "Peer‑Gruppen"
@@ -1518,37 +1525,45 @@ msgstr ""
"\n" "\n"
" <h4>Benutzerstufen</h4>\n" " <h4>Benutzerstufen</h4>\n"
" <h5>Debug‑Analyst</h5>\n" " <h5>Debug‑Analyst</h5>\n"
" <p>Zugriff auf grundlegende Systeminformationen und Protokolle zur Fehlerbehebung. " " <p>Zugriff auf grundlegende Systeminformationen und Protokolle zur "
"Kein Zugriff zum Ändern von Einstellungen oder zum Einsehen sensibler Daten wie Peer‑Schlüssel.</p>\n" "Fehlerbehebung. Kein Zugriff zum Ändern von Einstellungen oder zum Einsehen "
"sensibler Daten wie Peer‑Schlüssel.</p>\n"
"\n" "\n"
" <h5>Nur Ansicht</h5>\n" " <h5>Nur Ansicht</h5>\n"
" <p>Vollständiger Lesezugriff, einschließlich Peer‑Schlüssel und Konfigurationsdateien. " " <p>Vollständiger Lesezugriff, einschließlich Peer‑Schlüssel und "
"Es können jedoch keine Einstellungen oder Konfigurationen geändert werden.</p>\n" "Konfigurationsdateien. Es können jedoch keine Einstellungen oder "
"Konfigurationen geändert werden.</p>\n"
"\n" "\n"
" <h5>Peer‑Manager</h5>\n" " <h5>Peer‑Manager</h5>\n"
" <p>Berechtigung zum Hinzufügen, Bearbeiten und Entfernen von Peers und IP‑Adressen. " " <p>Berechtigung zum Hinzufügen, Bearbeiten und Entfernen von Peers "
"Kein Zugriff auf die Konfiguration von WireGuard‑Instanzen oder höhere Systemeinstellungen.</p>\n" "und IP‑Adressen. Kein Zugriff auf die Konfiguration von WireGuard‑Instanzen "
"oder höhere Systemeinstellungen.</p>\n"
"\n" "\n"
" <h5>WireGuard‑Manager</h5>\n" " <h5>WireGuard‑Manager</h5>\n"
" <p>Befugnis zum Hinzufügen, Bearbeiten und Entfernen der Konfigurationen von WireGuard‑Instanzen.</p>\n" " <p>Befugnis zum Hinzufügen, Bearbeiten und Entfernen der "
"Konfigurationen von WireGuard‑Instanzen.</p>\n"
"\n" "\n"
" <h5>Administrator</h5>\n" " <h5>Administrator</h5>\n"
" <p>Vollzugriff auf das gesamte System. Kann alle Einstellungen und Konfigurationen anzeigen und ändern " " <p>Vollzugriff auf das gesamte System. Kann alle Einstellungen und "
"sowie Benutzer verwalten.</p>\n" "Konfigurationen anzeigen und ändern sowie Benutzer verwalten.</p>\n"
"\n" "\n"
" <br>\n" " <br>\n"
" <h4>Peer‑Gruppen</h4>\n" " <h4>Peer‑Gruppen</h4>\n"
" <p>Wählen Sie aus, auf welche Peer‑Gruppen dieser Benutzer zugreifen darf. " " <p>Wählen Sie aus, auf welche Peer‑Gruppen dieser Benutzer zugreifen "
"Wenn keine Gruppe ausgewählt ist, hat der Benutzer Zugriff auf alle Peers.</p>\n" "darf. Wenn keine Gruppe ausgewählt ist, hat der Benutzer Zugriff auf alle "
"Peers.</p>\n"
"\n" "\n"
" <h4>Konsole</h4>\n" " <h4>Konsole</h4>\n"
" <p>Aktivieren oder deaktivieren Sie den Zugriff auf die Web‑Konsole für diesen Benutzer.</p>\n" " <p>Aktivieren oder deaktivieren Sie den Zugriff auf die Web‑Konsole "
"für diesen Benutzer.</p>\n"
"\n" "\n"
" <h4>Erweiterter Filter</h4>\n" " <h4>Erweiterter Filter</h4>\n"
" <p>Diese Option filtert die API‑Statusantwort, sodass nur Peers angezeigt werden, " " <p>Diese Option filtert die API‑Statusantwort, sodass nur Peers "
"auf die der Benutzer Zugriff hat. Je nach Größe Ihrer Umgebung kann das Aktivieren dieser Option " "angezeigt werden, auf die der Benutzer Zugriff hat. Je nach Größe Ihrer "
"die Leistung beeinträchtigen. Um dem entgegenzuwirken, erhöhen Sie gegebenenfalls das " "Umgebung kann das Aktivieren dieser Option die Leistung beeinträchtigen. Um "
"„Web‑Aktualisierungsintervall“, um die Anzahl der Anfragen zu reduzieren.</p>\n" "dem entgegenzuwirken, erhöhen Sie gegebenenfalls das "
"„Web‑Aktualisierungsintervall“, um die Anzahl der Anfragen zu reduzieren.</"
"p>\n"
"\n" "\n"
" " " "
Binary file not shown.
+8 -3
View File
@@ -6,10 +6,9 @@
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-04-16 15:55-0300\n" "POT-Creation-Date: 2025-04-17 12:38-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -460,10 +459,16 @@ msgstr "Configuración de firewall guardada correctamente"
msgid "Language" msgid "Language"
msgstr "Idioma" msgstr "Idioma"
#: intl_tools/forms.py:22 templates/base.html:80 #: intl_tools/forms.py:24 templates/base.html:80
msgid "Change Language" msgid "Change Language"
msgstr "Cambiar idioma" msgstr "Cambiar idioma"
#: intl_tools/forms.py:28
msgid ""
"If you find any issues with the translation or would like to request a new "
"language, please open an"
msgstr "Si encuentra algún problema con la traducción o desea solicitar un nuevo idioma, por favor abra un"
#: templates/access_denied.html:9 #: templates/access_denied.html:9
msgid "Access Denied" msgid "Access Denied"
msgstr "Acceso denegado" msgstr "Acceso denegado"
Binary file not shown.
+60 -36
View File
@@ -6,10 +6,9 @@
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-04-17 09:04-0300\n" "POT-Creation-Date: 2025-04-17 12:38-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -462,10 +461,16 @@ msgstr "Paramètres du pare‑feu enregistrés avec succès"
msgid "Language" msgid "Language"
msgstr "Langue" msgstr "Langue"
#: intl_tools/forms.py:22 templates/base.html:80 #: intl_tools/forms.py:24 templates/base.html:80
msgid "Change Language" msgid "Change Language"
msgstr "Changer de langue" msgstr "Changer de langue"
#: intl_tools/forms.py:28
msgid ""
"If you find any issues with the translation or would like to request a new "
"language, please open an"
msgstr "Si vous constatez un problème dans la traduction ou souhaitez demander une nouvelle langue, veuillez ouvrir une"
#: templates/access_denied.html:9 #: templates/access_denied.html:9
msgid "Access Denied" msgid "Access Denied"
msgstr "Accès refusé" msgstr "Accès refusé"
@@ -660,8 +665,7 @@ msgstr "Règle automatique: trafic Peer ↔ Peer (paramètres du pare‑feu)"
#: templates/firewall/firewall_rule_list.html:179 #: templates/firewall/firewall_rule_list.html:179
msgid "Automatic Rule: Firewall Settings Instance to Instance" msgid "Automatic Rule: Firewall Settings Instance to Instance"
msgstr "" msgstr "Règle automatique: trafic Instance ↔ Instance (paramètres du pare‑feu)"
"Règle automatique: trafic Instance ↔ Instance (paramètres du pare‑feu)"
#: templates/firewall/firewall_rule_list.html:194 #: templates/firewall/firewall_rule_list.html:194
msgid "Create Firewall Rule" msgid "Create Firewall Rule"
@@ -889,13 +893,12 @@ msgid ""
msgstr "" msgstr ""
"\n" "\n"
" <h5>Ports par défaut</h5>\n" " <h5>Ports par défaut</h5>\n"
" <p>Le fichier <code>docker-compose.yml</code> " " <p>Le fichier <code>docker-compose.yml</code> par "
"par défaut définit la plage de ports <b>TCP</b> <b>8080‑8089</b>. " "défaut définit la plage de ports <b>TCP</b> <b>8080‑8089</b>. Si vous "
"Si vous souhaitez rediriger vers une autre plage, modifiez ce " "souhaitez rediriger vers une autre plage, modifiez ce fichier manuellement, "
"fichier manuellement, puis relancez l’étape Docker Compose décrite dans les " "puis relancez l’étape Docker Compose décrite dans les <a href=\"https://"
"<a href=\"https://github.com/eduardogsilva/" "github.com/eduardogsilva/wireguard_webadmin?tab=readme-ov-"
"wireguard_webadmin?tab=readme-ov-file#deployment\">instructions de " "file#deployment\">instructions de déploiement</a>.</p>\n"
"déploiement</a>.</p>\n"
" <h5>Type de destination: Peer</h5>\n" " <h5>Type de destination: Peer</h5>\n"
" <p>La redirection de port privilégiera la première " " <p>La redirection de port privilégiera la première "
"adresse IP du peer dont la priorité est zéro.</p>\n" "adresse IP du peer dont la priorité est zéro.</p>\n"
@@ -1551,9 +1554,8 @@ msgstr ""
" <h4>Filtre avancé</h4>\n" " <h4>Filtre avancé</h4>\n"
" <p>Limite la réponse de l’API aux seuls peers autorisés pour " " <p>Limite la réponse de l’API aux seuls peers autorisés pour "
"l’utilisateur. Selon la taille de votre environnement, cette option peut " "l’utilisateur. Selon la taille de votre environnement, cette option peut "
"affecter les performances. Pour compenser, augmentez éventuellement " "affecter les performances. Pour compenser, augmentez éventuellement l’« "
"l’« intervalle d’actualisation Web » afin de réduire le nombre de requêtes.</" "intervalle d’actualisation Web » afin de réduire le nombre de requêtes.</p>\n"
"p>\n"
"\n" "\n"
" " " "
@@ -1673,15 +1675,20 @@ msgstr "L’expiration (en minutes) doit être comprise entre 1 et 1440."
#: vpn_invite/forms.py:222 #: vpn_invite/forms.py:222
msgid "Default password must not be provided when random password is enabled." msgid "Default password must not be provided when random password is enabled."
msgstr "Le mot de passe par défaut ne doit pas être fourni lorsque le mot de passe aléatoire est activé." msgstr ""
"Le mot de passe par défaut ne doit pas être fourni lorsque le mot de passe "
"aléatoire est activé."
#: vpn_invite/forms.py:224 #: vpn_invite/forms.py:224
msgid "Random password length must be at least 6 characters." msgid "Random password length must be at least 6 characters."
msgstr "La longueur du mot de passe aléatoire doit être d’au moins 6 caractères." msgstr ""
"La longueur du mot de passe aléatoire doit être d’au moins 6 caractères."
#: vpn_invite/forms.py:229 #: vpn_invite/forms.py:229
msgid "Default password must be provided when random password is disabled." msgid "Default password must be provided when random password is disabled."
msgstr "Un mot de passe par défaut doit être fourni lorsque le mot de passe aléatoire est désactivé." msgstr ""
"Un mot de passe par défaut doit être fourni lorsque le mot de passe "
"aléatoire est désactivé."
#: vpn_invite/forms.py:231 #: vpn_invite/forms.py:231
msgid "Default password must be at least 6 characters long." msgid "Default password must be at least 6 characters long."
@@ -1689,16 +1696,22 @@ msgstr "Le mot de passe par défaut doit comporter au moins 6 caractères."
#: vpn_invite/forms.py:241 #: vpn_invite/forms.py:241
msgid "Text field must not be empty when download button is enabled." msgid "Text field must not be empty when download button is enabled."
msgstr "Le champ texte ne doit pas être vide lorsque le bouton de téléchargement est activé." msgstr ""
"Le champ texte ne doit pas être vide lorsque le bouton de téléchargement est "
"activé."
#: vpn_invite/forms.py:243 #: vpn_invite/forms.py:243
msgid "URL field must not be empty when download button is enabled." msgid "URL field must not be empty when download button is enabled."
msgstr "Le champ URL ne doit pas être vide lorsque le bouton de téléchargement est activé." msgstr ""
"Le champ URL ne doit pas être vide lorsque le bouton de téléchargement est "
"activé."
#: vpn_invite/forms.py:252 #: vpn_invite/forms.py:252
msgid "" msgid ""
"Default password must not be contained in any message template. Found at: " "Default password must not be contained in any message template. Found at: "
msgstr "Le mot de passe par défaut ne doit figurer dans aucun modèle de message. Trouvé dans: " msgstr ""
"Le mot de passe par défaut ne doit figurer dans aucun modèle de message. "
"Trouvé dans: "
#: vpn_invite/forms.py:259 #: vpn_invite/forms.py:259
#, python-brace-format #, python-brace-format
@@ -1737,13 +1750,14 @@ msgstr ""
"Bonjour,\n" "Bonjour,\n"
"\n" "\n"
"Vous êtes invité·e à rejoindre notre réseau VPN WireGuard sécurisé. Cliquez " "Vous êtes invité·e à rejoindre notre réseau VPN WireGuard sécurisé. Cliquez "
"sur le lien ci‑dessous pour accéder à votre configuration VPN personnalisée:\n" "sur le lien ci‑dessous pour accéder à votre configuration VPN "
"personnalisée:\n"
"\n" "\n"
"{invite_url}\n" "{invite_url}\n"
"\n" "\n"
"Remarque: ce lien d’invitation expirera dans {expire_minutes} minutes. " "Remarque: ce lien d’invitation expirera dans {expire_minutes} minutes. Si "
"Si vous avez besoin d’un nouveau lien après expiration, veuillez demander " "vous avez besoin d’un nouveau lien après expiration, veuillez demander une "
"une nouvelle invitation." "nouvelle invitation."
#: vpn_invite/models.py:16 #: vpn_invite/models.py:16
msgid "" msgid ""
@@ -1833,7 +1847,9 @@ msgstr "Intervalle d’actualisation Web"
#: wireguard/forms.py:42 #: wireguard/forms.py:42
msgid "Peer List Refresh Interval must be at least 5 seconds" msgid "Peer List Refresh Interval must be at least 5 seconds"
msgstr "L’intervalle d’actualisation de la liste des peers doit être d’au moins 5 secondes." msgstr ""
"L’intervalle d’actualisation de la liste des peers doit être d’au moins 5 "
"secondes."
#: wireguard/forms.py:45 #: wireguard/forms.py:45
msgid "Invalid hostname or IP Address" msgid "Invalid hostname or IP Address"
@@ -1860,8 +1876,12 @@ msgid "Error removing instance: wg"
msgstr "Erreur lors de la suppression de l’instance: wg" msgstr "Erreur lors de la suppression de l’instance: wg"
#: wireguard/views.py:136 #: wireguard/views.py:136
msgid "|Cannot delete the requested WireGuard instance. There are still peers associated with this instance." msgid ""
msgstr "|Impossible de supprimer l’instance WireGuard demandée ; des peers y sont encore associés." "|Cannot delete the requested WireGuard instance. There are still peers "
"associated with this instance."
msgstr ""
"|Impossible de supprimer l’instance WireGuard demandée ; des peers y sont "
"encore associés."
#: wireguard/views.py:139 #: wireguard/views.py:139
msgid "|WireGuard instance deleted: wg" msgid "|WireGuard instance deleted: wg"
@@ -1869,7 +1889,9 @@ msgstr "|Instance WireGuard supprimée: wg"
#: wireguard/views.py:142 #: wireguard/views.py:142
msgid "Invalid confirmation|Please confirm deletion of WireGuard instance: wg" msgid "Invalid confirmation|Please confirm deletion of WireGuard instance: wg"
msgstr "Confirmation invalide | Veuillez confirmer la suppression de l’instance WireGuard: wg" msgstr ""
"Confirmation invalide | Veuillez confirmer la suppression de l’instance "
"WireGuard: wg"
#: wireguard/views.py:146 #: wireguard/views.py:146
msgid "Create a new WireGuard Instance" msgid "Create a new WireGuard Instance"
@@ -1909,7 +1931,8 @@ msgstr "Le masque de sous‑réseau pour une IP de priorité 0 doit être 32."
#: wireguard_peer/forms.py:60 #: wireguard_peer/forms.py:60
msgid "The IP address is the same as the Peer's WireGuard instance address." msgid "The IP address is the same as the Peer's WireGuard instance address."
msgstr "Cette adresse IP est identique à celle de l’instance WireGuard du peer." msgstr ""
"Cette adresse IP est identique à celle de l’instance WireGuard du peer."
#: wireguard_peer/forms.py:63 #: wireguard_peer/forms.py:63
msgid "" msgid ""
@@ -1971,8 +1994,8 @@ msgid ""
"Error deleting IP address|Invalid confirmation message. Type \"delete\" to " "Error deleting IP address|Invalid confirmation message. Type \"delete\" to "
"confirm." "confirm."
msgstr "" msgstr ""
"Erreur de suppression de l’IP | Message de confirmation invalide. Tapez " "Erreur de suppression de l’IP | Message de confirmation invalide. Tapez « "
"« delete » pour confirmer." "delete » pour confirmer."
#: wireguard_peer/views.py:230 #: wireguard_peer/views.py:230
msgid "Manage client route" msgid "Manage client route"
@@ -2018,15 +2041,14 @@ msgstr "Erreur à l’arrêt"
msgid "Error starting" msgid "Error starting"
msgstr "Erreur au démarrage" msgstr "Erreur au démarrage"
#: wireguard_tools/views.py:279 #: wireguard_tools/views.py:279
msgid "" msgid ""
"WARNING|Please note that the interface was reloaded, not restarted. Double-" "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, " "check if the the peers are working as expected. If you find any issues, "
"please report them." "please report them."
msgstr "" msgstr ""
"AVERTISSEMENT | L’interface a été rechargée, pas redémarrée. Vérifiez que les " "AVERTISSEMENT | L’interface a été rechargée, pas redémarrée. Vérifiez que "
"peers fonctionnent comme prévu ; signalez tout problème rencontré." "les peers fonctionnent comme prévu ; signalez tout problème rencontré."
#: wireguard_tools/views.py:280 #: wireguard_tools/views.py:280
msgid "WireGuard reloaded|The WireGuard service has been reloaded." msgid "WireGuard reloaded|The WireGuard service has been reloaded."
@@ -2038,7 +2060,9 @@ msgstr "WireGuard redémarré | Le service WireGuard a été redémarré."
#: wireguard_tools/views.py:285 #: wireguard_tools/views.py:285
msgid "Errors encountered|Error processing one or more interfaces." msgid "Errors encountered|Error processing one or more interfaces."
msgstr "Erreurs rencontrées | Problème lors du traitement d’une ou plusieurs interfaces." msgstr ""
"Erreurs rencontrées | Problème lors du traitement d’une ou plusieurs "
"interfaces."
#: wireguard_tools/views.py:288 #: wireguard_tools/views.py:288
msgid "No interfaces found|No WireGuard interfaces were found to process." msgid "No interfaces found|No WireGuard interfaces were found to process."
Binary file not shown.
+8 -3
View File
@@ -6,10 +6,9 @@
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-04-16 14:32-0300\n" "POT-Creation-Date: 2025-04-17 12:38-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -461,10 +460,16 @@ msgstr "Configurações de Firewall salvas com sucesso"
msgid "Language" msgid "Language"
msgstr "Idioma" msgstr "Idioma"
#: intl_tools/forms.py:22 templates/base.html:80 #: intl_tools/forms.py:24 templates/base.html:80
msgid "Change Language" msgid "Change Language"
msgstr "Alterar Idioma" msgstr "Alterar Idioma"
#: intl_tools/forms.py:28
msgid ""
"If you find any issues with the translation or would like to request a new "
"language, please open an"
msgstr "Se encontrar algum problema na tradução ou quiser solicitar um novo idioma, por favor abra uma"
#: templates/access_denied.html:9 #: templates/access_denied.html:9
msgid "Access Denied" msgid "Access Denied"
msgstr "Acesso Negado" msgstr "Acesso Negado"