diff --git a/uffd/mfa/templates/mfa/auth.html b/uffd/mfa/templates/mfa/auth.html index 31e92dcc7019f08a0e2cae3cb0516e060fe03add..8b64a597c8eb9190a6ee6d13524758ab6430a9fd 100644 --- a/uffd/mfa/templates/mfa/auth.html +++ b/uffd/mfa/templates/mfa/auth.html @@ -40,7 +40,7 @@ function begin_webauthn() { $('#webauthn-alert').addClass('d-none'); $('#webauthn-spinner').removeClass('d-none'); - $('#webauthn-btn-text').text('Fetching credential data'); + $('#webauthn-btn-text').text({{ _('Contacting server')|tojson }}); $('#webauthn-btn').prop('disabled', true); fetch({{ url_for('mfa.auth_webauthn_begin')|tojson }}, { method: 'POST', @@ -49,17 +49,17 @@ function begin_webauthn() { return response.arrayBuffer(); } else if (response.status == 403) { window.location = {{ request.url|tojson }}; /* reload */ - throw new Error('Session timed out'); + throw new Error({{ _('Session timed out')|tojson }}); } else if (response.status == 404) { - throw new Error('You have not registered any U2F/FIDO2 devices for your account'); + throw new Error({{ _('You have not registered any U2F/FIDO2 devices for your account')|tojson }}); } else { - throw new Error('Server error'); + throw new Error({{ _('Server error')|tojson }}); } }).then(CBOR.decode).then(function(options) { - $('#webauthn-btn-text').text('Waiting for response from your device'); + $('#webauthn-btn-text').text({{ _('Waiting for device')|tojson }}); return navigator.credentials.get(options); }).then(function(assertion) { - $('#webauthn-btn-text').text('Verifing response'); + $('#webauthn-btn-text').text({{ _('Verifing response')|tojson }}); return fetch({{ url_for('mfa.auth_webauthn_complete')|tojson }}, { method: 'POST', headers: {'Content-Type': 'application/cbor'}, @@ -73,37 +73,37 @@ function begin_webauthn() { }).then(function(response) { if (response.ok) { $('#webauthn-spinner').addClass('d-none'); - $('#webauthn-btn-text').text('Success, redirecting'); + $('#webauthn-btn-text').text({{ _('Success, redirecting')|tojson }}); window.location = {{ (ref or url_for('index'))|tojson }}; } else if (response.status == 403) { window.location = {{ request.url|tojson }}; /* reload */ - throw new Error('Session timed out'); + throw new Error({{ _('Session timed out')|tojson }}); } else { - throw new Error('Response from authenticator rejected'); + throw new Error({{ _('Invalid response from device')|tojson }}); } }).catch(function(err) { console.log(err); /* various webauthn errors */ if (err.name == 'NotAllowedError') - $('#webauthn-alert').text('Authentication timed out, was aborted or not allowed'); + $('#webauthn-alert').text({{ _('Authentication timed out, was aborted or not allowed')|tojson }}); else if (err.name == 'InvalidStateError') - $('#webauthn-alert').text('Device is not registered for your account'); + $('#webauthn-alert').text({{ _('Device is not registered for your account')|tojson }}); else if (err.name == 'AbortError') - $('#webauthn-alert').text('Authentication was aborted'); + $('#webauthn-alert').text({{ _('Authentication was aborted')|tojson }}); else if (err.name == 'NotSupportedError') - $('#webauthn-alert').text('U2F and FIDO2 devices are not supported by your browser'); + $('#webauthn-alert').text({{ _('U2F and FIDO2 devices are not supported by your browser')|tojson }}); /* errors from fetch() */ else if (err.name == 'TypeError') - $('#webauthn-alert').text('Could not connect to server'); + $('#webauthn-alert').text({{ _('Could not connect to server')|tojson }}); /* our own errors */ else if (err.name == 'Error') $('#webauthn-alert').text(err.message); /* fallback */ else - $('#webauthn-alert').text('Authentication failed ('+err+')'); + $('#webauthn-alert').text({{ _('Authentication failed ')|tojson }}+'('+err+')'); $('#webauthn-alert').removeClass('d-none'); $('#webauthn-spinner').addClass('d-none'); - $('#webauthn-btn-text').text('Try FIDO token again'); + $('#webauthn-btn-text').text({{ _('Retry authenticate with U2F/FIDO2 device')|tojson }}); $('#webauthn-btn').prop('disabled', false); }); } diff --git a/uffd/mfa/templates/mfa/setup.html b/uffd/mfa/templates/mfa/setup.html index 04b90a4a1c8b0d09a202a6f7909e32f3bab29d02..5d5aefaa2be740e73c3957db6a79bb3cd179e36a 100644 --- a/uffd/mfa/templates/mfa/setup.html +++ b/uffd/mfa/templates/mfa/setup.html @@ -196,7 +196,7 @@ mfa_enabled: The user has setup at least one two-factor method. Two-factor authe $('#webauthn-form').on('submit', function(e) { $('#webauthn-alert').addClass('d-none'); $('#webauthn-spinner').removeClass('d-none'); - $('#webauthn-btn-text').text('Contacting server'); + $('#webauthn-btn-text').text({{ _('Contacting server')|tojson }}); $('#webauthn-btn').prop('disabled', true); fetch({{ url_for('mfa.setup_webauthn_begin')|tojson }}, { method: 'POST', @@ -204,10 +204,10 @@ $('#webauthn-form').on('submit', function(e) { if (response.ok) return response.arrayBuffer(); if (response.status == 403) - throw new Error('You need to generate recovery codes first'); - throw new Error('Server error'); + throw new Error({{ _('You need to generate recovery codes first')|tojson }}); + throw new Error({{ _('Server error')|tojson }}); }).then(CBOR.decode).then(function(options) { - $('#webauthn-btn-text').text('Waiting for response from your device'); + $('#webauthn-btn-text').text({{ _('Waiting for device')|tojson }}); return navigator.credentials.create(options); }).then(function(attestation) { return fetch({{ url_for('mfa.setup_webauthn_complete')|tojson }}, { @@ -222,34 +222,34 @@ $('#webauthn-form').on('submit', function(e) { }).then(function(response) { if (response.ok) { $('#webauthn-spinner').addClass('d-none'); - $('#webauthn-btn-text').text('Success'); + $('#webauthn-btn-text').text({{ _('Success')|tojson }}); window.location = {{ url_for('mfa.setup')|tojson }}; } else { - throw new Error('Response from authenticator rejected'); + throw new Error({{ _('Invalid response from device')|tojson }}); } }, function(err) { console.log(err); /* various webauthn errors */ if (err.name == 'NotAllowedError') - $('#webauthn-alert').text('Registration timed out, was aborted or not allowed'); + $('#webauthn-alert').text({{ _('Registration timed out, was aborted or not allowed')|tojson }}); else if (err.name == 'InvalidStateError') - $('#webauthn-alert').text('You attempted to register a device that is already registered'); + $('#webauthn-alert').text({{ _('Device already registered')|tojson }}); else if (err.name == 'AbortError') - $('#webauthn-alert').text('Registration was aborted'); + $('#webauthn-alert').text({{ _('Registration was aborted')|tojson }}); else if (err.name == 'NotSupportedError') - $('#webauthn-alert').text('U2F and FIDO2 devices are not supported by your browser'); + $('#webauthn-alert').text({{ _('U2F and FIDO2 devices are not supported by your browser')|tojson }}); /* errors from fetch() */ else if (err.name == 'TypeError') - $('#webauthn-alert').text('Could not connect to server'); + $('#webauthn-alert').text({{ _('Could not connect to server')|tojson }}); /* our own errors */ else if (err.name == 'Error') $('#webauthn-alert').text(err.message); /* fallback */ else - $('#webauthn-alert').text('Registration failed ('+err+')'); + $('#webauthn-alert').text({{ _('Registration failed')|tojson }}+' ('+err+')'); $('#webauthn-alert').removeClass('d-none'); $('#webauthn-spinner').addClass('d-none'); - $('#webauthn-btn-text').text('Retry registration'); + $('#webauthn-btn-text').text({{ _('Retry registration')|tojson }}); $('#webauthn-btn').prop('disabled', false); }); return false; @@ -261,7 +261,7 @@ if (typeof(PublicKeyCredential) != "undefined") { $('#webauthn-name').prop('disabled', false); {% endif %} } else { - $('#webauthn-alert').text('U2F and FIDO2 devices are not supported by your browser'); + $('#webauthn-alert').text({{ _('U2F and FIDO2 devices are not supported by your browser')|tojson }}); $('#webauthn-alert').removeClass('d-none'); } diff --git a/uffd/mfa/templates/mfa/setup_recovery.html b/uffd/mfa/templates/mfa/setup_recovery.html index a4dbf9cf22f1b289eb20390aaae8a2249d657d8b..2f70cbbd4e6b4936433009e38d8d4425dd01f217 100644 --- a/uffd/mfa/templates/mfa/setup_recovery.html +++ b/uffd/mfa/templates/mfa/setup_recovery.html @@ -23,7 +23,7 @@ </p> <div class="btn-toolbar"> - <a class="ml-auto mb-2 btn btn-primary d-print-none" href="{{ url_for('mfa.setup') }}">Continue</a> + <a class="ml-auto mb-2 btn btn-primary d-print-none" href="{{ url_for('mfa.setup') }}">{{_("Continue")}}</a> <a class="ml-2 mb-2 btn btn-light d-print-none" href="{{ methods|map(attribute='code')|join('\n')|datauri }}" download="uffd-recovery-codes"> {{_("Download codes")}} </a> diff --git a/uffd/mfa/templates/mfa/setup_totp.html b/uffd/mfa/templates/mfa/setup_totp.html index d4d447028775c0857b8a742e45b7ca66e9ce8a01..da2e331745d5ba2650f38f889e46134346ead7da 100644 --- a/uffd/mfa/templates/mfa/setup_totp.html +++ b/uffd/mfa/templates/mfa/setup_totp.html @@ -34,7 +34,7 @@ <form action="{{ url_for('mfa.setup_totp_finish', name=name) }}" method="POST" class="form"> <div class="row m-0"> - <input type="text" name="code" class="form-control mb-2 mr-2 col-auto col-md" id="code" placeholder="Code" required autofocus> + <input type="text" name="code" class="form-control mb-2 mr-2 col-auto col-md" id="code" placeholder="{{_('Code')}}" required autofocus> <button type="submit" class="btn btn-primary mb-2 col col-md-auto">{{_("Verify and complete setup")}}</button> </div> </form> diff --git a/uffd/translations/de/LC_MESSAGES/messages.mo b/uffd/translations/de/LC_MESSAGES/messages.mo index cfb6bee2a20599943ba6d4931b82cbe99bdf845a..2675ce774b0fd969fc54ba5df443f0e0a845295a 100644 Binary files a/uffd/translations/de/LC_MESSAGES/messages.mo and b/uffd/translations/de/LC_MESSAGES/messages.mo differ diff --git a/uffd/translations/de/LC_MESSAGES/messages.po b/uffd/translations/de/LC_MESSAGES/messages.po index e4434e766f1805604fee3bd27b6d32b7b59b252f..87a74d145ac9ba72ddeb5a5ba99bf3a0eab78cb2 100644 --- a/uffd/translations/de/LC_MESSAGES/messages.po +++ b/uffd/translations/de/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2022-05-22 16:42+0200\n" +"POT-Creation-Date: 2022-08-14 13:15+0200\n" "PO-Revision-Date: 2021-05-25 21:18+0200\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language: de\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.1\n" +"Generated-By: Babel 2.8.0\n" #: uffd/ratelimit.py:76 msgid "a few seconds" @@ -56,7 +56,8 @@ msgstr "Einladungslink weist keine Rollen zu" msgid "Invite link does not grant any new roles" msgstr "Einladungslink weist keine neuen Rollen zu" -#: uffd/invite/models.py:90 uffd/signup/models.py:115 +#: uffd/invite/models.py:90 uffd/mfa/templates/mfa/setup.html:225 +#: uffd/signup/models.py:115 msgid "Success" msgstr "Erfolgreich" @@ -95,19 +96,19 @@ msgstr "Einladungslink erlaubt keine Account-Registrierung" msgid "Passwords do not match" msgstr "Die Passwörter stimmen nicht überein" -#: uffd/invite/views.py:180 uffd/signup/views.py:54 +#: uffd/invite/views.py:181 uffd/signup/views.py:55 #, python-format msgid "Too many signup requests with this mail address! Please wait %(delay)s." msgstr "" "Zu viele Account-Registrierungen mit dieser E-Mail-Adresse! Bitte warte " "%(delay)s." -#: uffd/invite/views.py:182 uffd/signup/views.py:56 uffd/signup/views.py:96 +#: uffd/invite/views.py:184 uffd/signup/views.py:58 #, python-format msgid "Too many requests! Please wait %(delay)s." msgstr "Zu viele Anfragen! Bitte warte %(delay)s." -#: uffd/invite/views.py:195 uffd/signup/views.py:72 +#: uffd/invite/views.py:199 uffd/signup/views.py:76 msgid "Could not send mail" msgstr "Mailversand fehlgeschlagen" @@ -451,7 +452,7 @@ msgstr "Generiere zuerst die Wiederherstellungscodes!" msgid "Code is invalid" msgstr "Wiederherstellungscode ist ungültig" -#: uffd/mfa/views.py:123 +#: uffd/mfa/views.py:107 #, python-format msgid "" "2FA WebAuthn support disabled because import of the fido2 module failed " @@ -460,16 +461,16 @@ msgstr "" "2FA WebAuthn Unterstützung deaktiviert, da das fido2 Modul nicht geladen " "werden konnte (%s)" -#: uffd/mfa/views.py:232 +#: uffd/mfa/views.py:216 #, python-format msgid "We received too many invalid attempts! Please wait at least %s." msgstr "Wir haben zu viele fehlgeschlagene Versuche! Bitte warte mindestens %s." -#: uffd/mfa/views.py:246 +#: uffd/mfa/views.py:230 msgid "You have exhausted your recovery codes. Please generate new ones now!" msgstr "Du hast keine Wiederherstellungscode mehr. Bitte generiere diese jetzt!" -#: uffd/mfa/views.py:249 +#: uffd/mfa/views.py:233 msgid "" "You only have a few recovery codes remaining. Make sure to generate new " "ones before they run out." @@ -477,7 +478,7 @@ msgstr "" "Du hast nur noch wenige Wiederherstellungscodes übrig. Bitte generiere " "diese erneut bevor keine mehr übrig sind." -#: uffd/mfa/views.py:253 +#: uffd/mfa/views.py:237 msgid "Two-factor authentication failed" msgstr "Zwei-Faktor-Authentifizierung fehlgeschlagen" @@ -499,7 +500,7 @@ msgstr "" #: uffd/mfa/templates/mfa/auth.html:21 msgid "Authenticate with U2F/FIDO2 device" -msgstr "Authentifiziere dich mit einem U2F/FIDO2 Gerät" +msgstr "Authentifiziere dich mit einem U2F/FIDO2-Gerät" #: uffd/mfa/templates/mfa/auth.html:24 msgid "or" @@ -513,6 +514,67 @@ msgstr "Code aus deiner Authentifikator-App oder Wiederherstellungscode" msgid "Verify" msgstr "Verifizieren" +#: uffd/mfa/templates/mfa/auth.html:43 uffd/mfa/templates/mfa/setup.html:199 +msgid "Contacting server" +msgstr "Verbinde mit Server" + +#: uffd/mfa/templates/mfa/auth.html:52 uffd/mfa/templates/mfa/auth.html:80 +msgid "Session timed out" +msgstr "Sitzung abgelaufen" + +#: uffd/mfa/templates/mfa/auth.html:54 +msgid "You have not registered any U2F/FIDO2 devices for your account" +msgstr "Es sind keine U2F/FIDO2-Geräte für deinen Account registriert" + +#: uffd/mfa/templates/mfa/auth.html:56 uffd/mfa/templates/mfa/setup.html:208 +msgid "Server error" +msgstr "Serverfehler" + +#: uffd/mfa/templates/mfa/auth.html:59 uffd/mfa/templates/mfa/setup.html:210 +msgid "Waiting for device" +msgstr "Warte auf Gerät" + +#: uffd/mfa/templates/mfa/auth.html:62 +msgid "Verifing response" +msgstr "Überprüfe Antwort" + +#: uffd/mfa/templates/mfa/auth.html:76 +msgid "Success, redirecting" +msgstr "Erfolg, leite weiter" + +#: uffd/mfa/templates/mfa/auth.html:82 uffd/mfa/templates/mfa/setup.html:228 +msgid "Invalid response from device" +msgstr "Ungültige Antwort von Gerät" + +#: uffd/mfa/templates/mfa/auth.html:88 +msgid "Authentication timed out, was aborted or not allowed" +msgstr "Authentifikation abgelaufen, abgebrochen oder nicht erlaubt" + +#: uffd/mfa/templates/mfa/auth.html:90 +msgid "Device is not registered for your account" +msgstr "Gerät ist nicht für deinen Account registriert" + +#: uffd/mfa/templates/mfa/auth.html:92 +msgid "Authentication was aborted" +msgstr "Authentifikation abgebrochen" + +#: uffd/mfa/templates/mfa/auth.html:94 uffd/mfa/templates/mfa/setup.html:240 +#: uffd/mfa/templates/mfa/setup.html:264 +msgid "U2F and FIDO2 devices are not supported by your browser" +msgstr "U2F- und FIDO2-Geräte werden vom Webbrowser nicht unterstüzt" + +#: uffd/mfa/templates/mfa/auth.html:97 uffd/mfa/templates/mfa/setup.html:243 +msgid "Could not connect to server" +msgstr "Verbindung zum Server fehlgeschlagen" + +#: uffd/mfa/templates/mfa/auth.html:103 +msgid "Authentication failed " +msgstr "Authentifikation fehlgeschlagen" + +#: uffd/mfa/templates/mfa/auth.html:106 +msgid "Retry authenticate with U2F/FIDO2 device" +msgstr "Authentifikation mit U2F/FIDO2-Gerät nochmal versuchen" + #: uffd/mfa/templates/mfa/disable.html:6 msgid "" "When you proceed, all recovery codes, registered authenticator " @@ -671,6 +733,30 @@ msgstr "Neues Gerät hinzufügen" msgid "No U2F/FIDO2 devices registered yet" msgstr "Bisher kein U2F/FIDO2 Gerät registriert" +#: uffd/mfa/templates/mfa/setup.html:207 +msgid "You need to generate recovery codes first" +msgstr "Du musst erst Wiederherstellungscodes generieren" + +#: uffd/mfa/templates/mfa/setup.html:234 +msgid "Registration timed out, was aborted or not allowed" +msgstr "Registrierung abgelaufen, abgebrochen oder nicht erlaubt" + +#: uffd/mfa/templates/mfa/setup.html:236 +msgid "Device already registered" +msgstr "Gerät bereits registriert" + +#: uffd/mfa/templates/mfa/setup.html:238 +msgid "Registration was aborted" +msgstr "Registrierung abgebrochen" + +#: uffd/mfa/templates/mfa/setup.html:249 +msgid "Registration failed" +msgstr "Registrierung fehlgeschlagen" + +#: uffd/mfa/templates/mfa/setup.html:252 +msgid "Retry registration" +msgstr "Registrierung nochmal versuchen" + #: uffd/mfa/templates/mfa/setup_recovery.html:8 msgid "" "Recovery codes allow you to login when you lose access to your " @@ -691,6 +777,12 @@ msgstr "" "Ort, sonst könntest du den Zugriff auf dein Konto verlieren. Alle " "vorherigen Wiederherstellungscodes sind nun ungültig." +#: uffd/mfa/templates/mfa/setup_recovery.html:26 +#: uffd/session/templates/session/deviceauth.html:36 +#: uffd/session/templates/session/devicelogin.html:25 +msgid "Continue" +msgstr "Weiter" + #: uffd/mfa/templates/mfa/setup_recovery.html:28 msgid "Download codes" msgstr "Codes herunterladen" @@ -718,9 +810,9 @@ msgid "" "\t\t\tapp:" msgstr "" "Falls du ein Mobilgerät verwendest und den Code nicht scannen kannst, " -"kannst du drauf klick und direkt in der Authentifikator-App öffnen. Wenn " -"das nicht funktioniert, gib die folgenden Angaben manuell in die " -"Authentifikator-App ein:" +"kannst du drauf klicken um ihn damit direkt in der Authentifikator-App zu" +" öffnen. Wenn das nicht funktioniert, gib die folgenden Angaben manuell " +"in die Authentifikator-App ein:" #: uffd/mfa/templates/mfa/setup_totp.html:23 msgid "Issuer" @@ -754,12 +846,16 @@ msgstr "Intervall/Dauer" msgid "seconds" msgstr "Sekunden" +#: uffd/mfa/templates/mfa/setup_totp.html:37 +msgid "Code" +msgstr "Code" + #: uffd/mfa/templates/mfa/setup_totp.html:38 msgid "Verify and complete setup" msgstr "Verifiziere und beende das Setup" #: uffd/oauth2/views.py:169 uffd/selfservice/views.py:71 -#: uffd/session/views.py:73 +#: uffd/session/views.py:74 #, python-format msgid "" "We received too many requests from your ip address/network! Please wait " @@ -1059,7 +1155,7 @@ msgstr "Passwort vergessen" #: uffd/selfservice/templates/selfservice/forgot_password.html:9 #: uffd/selfservice/templates/selfservice/self.html:21 #: uffd/session/templates/session/login.html:12 -#: uffd/signup/templates/signup/start.html:14 +#: uffd/signup/templates/signup/start.html:9 #: uffd/user/templates/user/list.html:18 uffd/user/templates/user/show.html:47 msgid "Login Name" msgstr "Anmeldename" @@ -1101,13 +1197,13 @@ msgid "Changes may take several minutes to be visible in all services." msgstr "Änderungen sind erst nach einigen Minuten in allen Diensten sichtbar." #: uffd/selfservice/templates/selfservice/self.html:25 -#: uffd/signup/templates/signup/start.html:27 +#: uffd/signup/templates/signup/start.html:22 #: uffd/user/templates/user/list.html:19 uffd/user/templates/user/show.html:62 msgid "Display Name" msgstr "Anzeigename" #: uffd/selfservice/templates/selfservice/self.html:29 -#: uffd/signup/templates/signup/start.html:34 +#: uffd/signup/templates/signup/start.html:29 msgid "E-Mail Address" msgstr "E-Mail-Adresse" @@ -1123,7 +1219,7 @@ msgstr "Änderungen speichern" #: uffd/selfservice/templates/selfservice/self.html:44 #: uffd/session/templates/session/login.html:16 -#: uffd/signup/templates/signup/start.html:41 +#: uffd/signup/templates/signup/start.html:36 #: uffd/user/templates/user/show.html:76 msgid "Password" msgstr "Passwort" @@ -1146,7 +1242,7 @@ msgstr "Neues Passwort" #: uffd/selfservice/templates/selfservice/self.html:56 #: uffd/selfservice/templates/selfservice/set_password.html:16 -#: uffd/signup/templates/signup/start.html:48 +#: uffd/signup/templates/signup/start.html:43 msgid "Repeat Password" msgstr "Passwort wiederholen" @@ -1328,7 +1424,7 @@ msgstr "Mitglieder der Gruppe \"%(group_name)s\" haben Zugriff" msgid "Hide mail addresses with remailer" msgstr "Verstecke Mailadressen mit dem Remailer" -#: uffd/session/views.py:71 +#: uffd/session/views.py:72 #, python-format msgid "" "We received too many invalid login attempts for this user! Please wait at" @@ -1337,27 +1433,27 @@ msgstr "" "Wir haben zu viele fehlgeschlagene Anmeldeversuche für diesen Account " "erhalten! Bitte warte mindestens %(delay)s." -#: uffd/session/views.py:79 +#: uffd/session/views.py:80 msgid "Login name or password is wrong" msgstr "Der Anmeldename oder das Passwort ist falsch" -#: uffd/session/views.py:85 +#: uffd/session/views.py:86 msgid "You do not have access to this service" msgstr "Du hast keinen Zugriff auf diesen Service" -#: uffd/session/views.py:97 uffd/session/views.py:108 +#: uffd/session/views.py:98 uffd/session/views.py:109 msgid "You need to login first" msgstr "Du musst dich erst anmelden" -#: uffd/session/views.py:129 uffd/session/views.py:139 +#: uffd/session/views.py:130 uffd/session/views.py:140 msgid "Initiation code is no longer valid" msgstr "Startcode ist nicht mehr gültig" -#: uffd/session/views.py:143 +#: uffd/session/views.py:144 msgid "Invalid confirmation code" msgstr "Ungültiger Bestätigungscode" -#: uffd/session/views.py:155 uffd/session/views.py:166 +#: uffd/session/views.py:156 uffd/session/views.py:167 msgid "Invalid initiation code" msgstr "Ungültiger Startcode" @@ -1392,11 +1488,6 @@ msgstr "" "\"Gerätelogin\" auf der Anmeldeseite aus. Gib den angezeigten Startcode " "oben ein." -#: uffd/session/templates/session/deviceauth.html:36 -#: uffd/session/templates/session/devicelogin.html:25 -msgid "Continue" -msgstr "Weiter" - #: uffd/session/templates/session/deviceauth.html:43 #, python-format msgid "Authorize the login for service <b>%(service_name)s</b>?" @@ -1482,7 +1573,7 @@ msgstr "Ein Account mit diesem Anmeldenamen existiert bereits" msgid "Valid" msgstr "Gültig" -#: uffd/signup/models.py:104 uffd/signup/views.py:100 +#: uffd/signup/models.py:104 uffd/signup/views.py:106 msgid "Wrong password" msgstr "Falsches Passwort" @@ -1490,16 +1581,16 @@ msgstr "Falsches Passwort" msgid "Signup not enabled" msgstr "Account-Registrierung ist deaktiviert" -#: uffd/signup/views.py:81 uffd/signup/views.py:89 +#: uffd/signup/views.py:86 uffd/signup/views.py:94 msgid "Invalid signup link" msgstr "Ungültiger Account-Registrierungs-Link" -#: uffd/signup/views.py:94 +#: uffd/signup/views.py:99 #, python-format msgid "Too many failed attempts! Please wait %(delay)s." msgstr "Zu viele fehlgeschlagene Versuche! Bitte warte mindestens %(delay)s." -#: uffd/signup/views.py:106 +#: uffd/signup/views.py:114 msgid "Your account was successfully created" msgstr "Account erfolgreich erstellt" @@ -1507,19 +1598,19 @@ msgstr "Account erfolgreich erstellt" msgid "Complete Registration" msgstr "Account-Registrierung abschließen" -#: uffd/signup/templates/signup/confirm.html:12 +#: uffd/signup/templates/signup/confirm.html:9 msgid "Please enter your password to complete the account registration" msgstr "Bitte gib dein Passwort ein, um die Account-Registrierung abzuschließen" -#: uffd/signup/templates/signup/confirm.html:16 +#: uffd/signup/templates/signup/confirm.html:13 msgid "Complete Account Registration" msgstr "Account-Registrierung abschließen" -#: uffd/signup/templates/signup/start.html:18 +#: uffd/signup/templates/signup/start.html:13 msgid "Check" msgstr "Überprüfen" -#: uffd/signup/templates/signup/start.html:23 +#: uffd/signup/templates/signup/start.html:18 #: uffd/user/templates/group/show.html:29 msgid "" "At least one and at most 32 lower-case characters, digits, dashes (\"-\")" @@ -1528,11 +1619,11 @@ msgstr "" "1 bis 32 Kleinbuchstaben, Zahlen, Binde- (\"-\") und Unterstriche " "(\"_\"). <b>Kann später nicht geändert werden!</b>" -#: uffd/signup/templates/signup/start.html:30 +#: uffd/signup/templates/signup/start.html:25 msgid "At least one and at most 128 characters, no other special requirements." msgstr "Mindestens 1 und maximal 128 Zeichen, keine weiteren Einschränkungen." -#: uffd/signup/templates/signup/start.html:37 +#: uffd/signup/templates/signup/start.html:32 msgid "" "We will send a confirmation mail to this address that you need to " "complete the registration." @@ -1540,19 +1631,19 @@ msgstr "" "Wir werden eine Bestätigungsmail an diese Adresse senden. Du benötigst " "sie, um die Account-Registrierung abzuschließen." -#: uffd/signup/templates/signup/start.html:52 +#: uffd/signup/templates/signup/start.html:47 msgid "Create Account" msgstr "Account registrieren" -#: uffd/signup/templates/signup/start.html:79 +#: uffd/signup/templates/signup/start.html:74 msgid "The name is already taken" msgstr "Dieser Name wird bereits verwendet" -#: uffd/signup/templates/signup/start.html:82 +#: uffd/signup/templates/signup/start.html:77 msgid "Too many requests! Please wait a bit before trying again!" msgstr "Zu viele Anfragen! Bitte warte etwas, bevor du es erneut versuchst!" -#: uffd/signup/templates/signup/start.html:85 +#: uffd/signup/templates/signup/start.html:80 msgid "The name is invalid" msgstr "Name ungültig"