Fix spelling in the translations and their English source strings

- "Go Back" in not_found.html did not match the "Go back" key and was
  never translated. "Domain must be given" was missing in de.json.
- English: successful, deactivate, a user, log in, URL, Re-enter
  password. The keys in de.json are renamed accordingly.
- German: "Wird" instead of "Word", commas before "da", "E-Mail" and
  "E-Mail-Adresse" instead of "Email", "angegeben werden" instead of
  "gegeben sein", "ungültig" instead of "valide", "selbst" instead of
  "selber", missing periods.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
finnandClaude Opus 5.5 committed 2026-10-22 17:47:38 +00:00
1 parent f46a346078
commit ca4cb0b25f
7 files changed
+31 -30

No files matched your search

+3 -3
View File
@@ -10,8 +10,8 @@ from .middlewares import no_authentication_required
# Messages for the login page (text, category), selected by ?msg=<key>. # Messages for the login page (text, category), selected by ?msg=<key>.
LOGIN_MESSAGES = { LOGIN_MESSAGES = {
"login_required": ("Please login to visit the requested url", "error"), "login_required": ("Please log in to visit the requested URL", "error"),
"logout": ("Logout was sucessfull!", "success"), "logout": ("Logout was successful!", "success"),
} }
@@ -55,7 +55,7 @@ class Login(AllowAnyAccess, BaseTemplateGetView):
self.context["message_category"] = "error" self.context["message_category"] = "error"
self.context["email"] = email self.context["email"] = email
else: else:
flash(t("Login was sucessfull!"), category="success") flash(t("Login was successful!"), category="success")
return self.redirect("/") return self.redirect("/")
+1 -1
View File
@@ -34,7 +34,7 @@ def create_email(cur, email):
"Used as an alias by {alias}.", alias=alias_user_email[0] "Used as an alias by {alias}.", alias=alias_user_email[0]
) )
else: else:
raise EmailAlreadyExists("Used as an user.") raise EmailAlreadyExists("Used as a user.")
else: else:
cur.execute( cur.execute(
+22 -21
View File
@@ -5,12 +5,12 @@
"Go back": "Zurück", "Go back": "Zurück",
"Login": "Login", "Login": "Login",
"Logout": "Ausloggen", "Logout": "Ausloggen",
"Please login to visit the requested url": "Einloggen, um die angefragte Seite zu sehen", "Please log in to visit the requested URL": "Einloggen, um die angefragte Seite zu sehen",
"Email": "Email", "Email": "E-Mail",
"Password": "Passwort", "Password": "Passwort",
"Log in": "Einloggen", "Log in": "Einloggen",
"Change password for {user}": "Passwort für {user} ändern", "Change password for {user}": "Passwort für {user} ändern",
"Reenter Password": "Passwort erneut eingeben", "Re-enter password": "Passwort erneut eingeben",
"Change password": "Passwort ändern", "Change password": "Passwort ändern",
"Cancel": "Abbrechen", "Cancel": "Abbrechen",
"New password": "Neues Passwort", "New password": "Neues Passwort",
@@ -27,7 +27,7 @@
"Aliases": "Aliase", "Aliases": "Aliase",
"Actions": "Aktionen", "Actions": "Aktionen",
"No aliases yet": "Keine Aliase vorhanden", "No aliases yet": "Keine Aliase vorhanden",
"Email connection properties": "Email Verbindungsdaten", "Email connection properties": "E-Mail-Verbindungsdaten",
"Edit note for {email}": "Notiz für {email} bearbeiten", "Edit note for {email}": "Notiz für {email} bearbeiten",
"Save": "Speichern", "Save": "Speichern",
"Create user": "Nutzer erstellen", "Create user": "Nutzer erstellen",
@@ -39,36 +39,37 @@
"Alias {alias} for {user}": "Alias {alias} für {user}", "Alias {alias} for {user}": "Alias {alias} für {user}",
"Edit note for alias {alias}": "Notiz für Alias {alias} bearbeiten", "Edit note for alias {alias}": "Notiz für Alias {alias} bearbeiten",
"Email or password is wrong, or the account is deactivated": "E-Mail oder Passwort falsch, oder der Account ist deaktiviert", "Email or password is wrong, or the account is deactivated": "E-Mail oder Passwort falsch, oder der Account ist deaktiviert",
"Login was sucessfull!": "Erfolgreich angemeldet!", "Login was successful!": "Erfolgreich angemeldet!",
"Logout was sucessfull!": "Erfolgreich abgemeldet!", "Logout was successful!": "Erfolgreich abgemeldet!",
"The email is not valid": "Die Email ist nicht valide", "The email is not valid": "Die E-Mail-Adresse ist ungültig",
"Email must be given": "Die Email muss gegeben sein", "Email must be given": "Die E-Mail-Adresse muss angegeben werden",
"Enabled is not set": "Aktiviert ist nicht gesetzt", "Enabled is not set": "Aktiviert ist nicht gesetzt",
"Note must be a string": "Die Notiz muss eine Zeichenkette sein", "Note must be a string": "Die Notiz muss eine Zeichenkette sein",
"Creation of alias {email} was successful!": "Erstellen des Alias {email} war erfolgreich!", "Creation of alias {email} was successful!": "Erstellen des Alias {email} war erfolgreich!",
"Alias {email} was deleted successfully": "Alias {email} wurde erfolgreich gelöscht", "Alias {email} was deleted successfully": "Alias {email} wurde erfolgreich gelöscht",
"Note changed successfully!": "Notiz wurde erfolgreich bearbeitet!", "Note changed successfully!": "Notiz wurde erfolgreich bearbeitet!",
"Both passwords must be given": "Beide Passwörter müssen gegeben sein", "Both passwords must be given": "Beide Passwörter müssen angegeben werden",
"Both passwords must be the same": "Beide Passwörter müssen übereinstimmen", "Both passwords must be the same": "Beide Passwörter müssen übereinstimmen",
"Current password": "Aktuelles Passwort", "Current password": "Aktuelles Passwort",
"The current password must be given": "Das aktuelle Passwort muss gegeben sein", "The current password must be given": "Das aktuelle Passwort muss angegeben werden",
"The current password is wrong": "Das aktuelle Passwort ist falsch", "The current password is wrong": "Das aktuelle Passwort ist falsch",
"Password changed successfully!": "Passwort erfolgreich geändert!", "Password changed successfully!": "Passwort erfolgreich geändert!",
"Admin is not set": "Admin ist nicht gesetzt", "Admin is not set": "Admin ist nicht gesetzt",
"Creation of {email} was successful!": "{email} wurde erfolgreich erstellt!", "Creation of {email} was successful!": "{email} wurde erfolgreich erstellt!",
"You cannot delete yourself": "Du kannst dich nicht selber löschen", "You cannot delete yourself": "Du kannst dich nicht selbst löschen",
"You cannot delete {email} since {email} is the last admin.": "Du kannst {email} nicht löschen da {email} der letzte Admin ist.", "You cannot delete {email} since {email} is the last admin.": "Du kannst {email} nicht löschen, da {email} der letzte Admin ist.",
"You cannot deactive {email} since {email} is the last enabled admin.": "Du kannst {email} nicht deaktivieren da {email} der letzte aktivierte Admin ist.", "You cannot deactivate {email} since {email} is the last enabled admin.": "Du kannst {email} nicht deaktivieren, da {email} der letzte aktivierte Admin ist.",
"You cannot remove admin from {email} since {email} is the last enabled admin.": "Du kannst {email} nicht den Adminstatus entziehen da {email} der letzte aktivierte Admin ist.", "You cannot remove admin from {email} since {email} is the last enabled admin.": "Du kannst {email} nicht den Adminstatus entziehen, da {email} der letzte aktivierte Admin ist.",
"{email} was deleted successfully": "{email} wurde erfolgreich gelöscht", "{email} was deleted successfully": "{email} wurde erfolgreich gelöscht",
"Email already exists.": "Email existiert bereits.", "Email already exists.": "Die E-Mail-Adresse existiert bereits.",
"Email already exists: {msg}": "Email existiert bereits: {msg}", "Email already exists: {msg}": "Die E-Mail-Adresse existiert bereits: {msg}",
"Used as an user.": "Wird für einen Nutzer verwendet", "Used as a user.": "Wird für einen Nutzer verwendet.",
"Used as an alias by {alias}.": "Word für den Alias {alias} verwendet", "Used as an alias by {alias}.": "Wird für den Alias {alias} verwendet.",
"Invalid domain": "Invalide Domain", "Invalid domain": "Ungültige Domain",
"Invalid data": "Ungültige Daten", "Invalid data": "Ungültige Daten",
"The email is too long": "Die E-Mail ist zu lang", "The email is too long": "Die E-Mail-Adresse ist zu lang",
"Can use different alias domains": "Kann unterschiedliche Aliasdomains benutzen", "Can use different alias domains": "Kann unterschiedliche Aliasdomains benutzen",
"Can use different alias domains is not set": "Kann unterschiedliche Aliasdomains benutzen ist nicht gesetzt", "Can use different alias domains is not set": "Kann unterschiedliche Aliasdomains benutzen ist nicht gesetzt",
"This address is reserved and can only be created by an admin.": "Diese Adresse ist reserviert und kann nur von einem Admin angelegt werden." "This address is reserved and can only be created by an admin.": "Diese Adresse ist reserviert und kann nur von einem Admin angelegt werden.",
"Domain must be given": "Die Domain muss angegeben werden"
} }
+1 -1
View File
@@ -14,7 +14,7 @@ class UserToggleEnabled(AllowAdmin, FetchUserMixin, BackToUsersMixin, BaseView):
if is_last_enabled_admin(self.user_id): if is_last_enabled_admin(self.user_id):
flash( flash(
t( t(
"You cannot deactive {email} since {email} is the last enabled admin.", "You cannot deactivate {email} since {email} is the last enabled admin.",
email=self.user.email, email=self.user.email,
), ),
category="error", category="error",
+1 -1
View File
@@ -8,7 +8,7 @@
<div class="pure-u-1-5"> <div class="pure-u-1-5">
<a href="/" class="top-row-button pure-button"> <a href="/" class="top-row-button pure-button">
<i class="fa fa-arrow-left"></i> <i class="fa fa-arrow-left"></i>
{{ t("Go Back") }} {{ t("Go back") }}
</a> </a>
</div> </div>
</div> </div>
+1 -1
View File
@@ -18,7 +18,7 @@
</div> </div>
<div class="pure-control-group"> <div class="pure-control-group">
<label for="password2">{{ t("Reenter Password") }}</label> <label for="password2">{{ t("Re-enter password") }}</label>
<input id="password2" type="password" name="password2" autocomplete="new-password" placeholder="{{ t("New password") }}"> <input id="password2" type="password" name="password2" autocomplete="new-password" placeholder="{{ t("New password") }}">
</div> </div>
+2 -2
View File
@@ -23,8 +23,8 @@
</div> </div>
<div class="pure-control-group"> <div class="pure-control-group">
<label for="password2">{{ t("Reenter Password") }}</label> <label for="password2">{{ t("Re-enter password") }}</label>
<input id="password2" type="password" name="password2" autocomplete="new-password" placeholder="{{ t("Reenter Password") }}"> <input id="password2" type="password" name="password2" autocomplete="new-password" placeholder="{{ t("Re-enter password") }}">
</div> </div>
<div class="pure-controls checkbox"> <div class="pure-controls checkbox">