From 40e9428b492cf7004784f37a17aa6835558ccee9 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 3 Nov 2022 11:30:43 -0700 Subject: [PATCH 1/2] Adds more fields to import admin table and ticks version --- bookwyrm/models/import_job.py | 10 ++++++++++ bookwyrm/settings.py | 2 +- bookwyrm/templates/settings/imports/imports.html | 13 +++++++++++-- bookwyrm/views/admin/imports.py | 4 +++- 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/bookwyrm/models/import_job.py b/bookwyrm/models/import_job.py index 18aad6d88..060f11ede 100644 --- a/bookwyrm/models/import_job.py +++ b/bookwyrm/models/import_job.py @@ -58,6 +58,16 @@ class ImportJob(models.Model): """And how many pending items??""" return self.pending_items.count() + @property + def successful_item_count(self): + """How many found a book?""" + return self.items.filter(book__isnull=False).count() + + @property + def failed_item_count(self): + """How many found a book?""" + return self.items.filter(fail_reason__isnull=False).count() + class ImportItem(models.Model): """a single line of a csv being imported""" diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py index 7e6afbc6b..893669694 100644 --- a/bookwyrm/settings.py +++ b/bookwyrm/settings.py @@ -11,7 +11,7 @@ from django.utils.translation import gettext_lazy as _ env = Env() env.read_env() DOMAIN = env("DOMAIN") -VERSION = "0.4.5" +VERSION = "0.4.6" RELEASE_API = env( "RELEASE_API", diff --git a/bookwyrm/templates/settings/imports/imports.html b/bookwyrm/templates/settings/imports/imports.html index 57c0c73f3..b027e6a4d 100644 --- a/bookwyrm/templates/settings/imports/imports.html +++ b/bookwyrm/templates/settings/imports/imports.html @@ -1,6 +1,7 @@ {% extends 'settings/layout.html' %} {% load i18n %} {% load utilities %} +{% load humanize %} {% block title %}{% trans "Imports" %}{% endblock %} @@ -54,6 +55,12 @@ {% trans "Pending items" %} + + {% trans "Successful items" %} + + + {% trans "Failed items" %} + {% if status == "active" %} {% trans "Actions" %} {% endif %} @@ -68,8 +75,10 @@ {% if status != "active" %} {{ import.updated_date }} {% endif %} - {{ import.item_count }} - {{ import.pending_item_count }} + {{ import.item_count|intcomma }} + {{ import.pending_item_count|intcomma }} + {{ import.successful_item_count|intcomma }} + {{ import.failed_item_count|intcomma }} {% if status == "active" %} {% join "complete" import.id as modal_id %} diff --git a/bookwyrm/views/admin/imports.py b/bookwyrm/views/admin/imports.py index 9ebfce41f..ccba4f976 100644 --- a/bookwyrm/views/admin/imports.py +++ b/bookwyrm/views/admin/imports.py @@ -22,7 +22,9 @@ class ImportList(View): def get(self, request, status="active"): """list of imports""" complete = status == "complete" - imports = models.ImportJob.objects.filter(complete=complete) + imports = models.ImportJob.objects.filter(complete=complete).order_by( + "created_date" + ) paginated = Paginator(imports, PAGE_LENGTH) page = paginated.get_page(request.GET.get("page")) data = { From b439114932040a2cef2c6269e75d20f1ea38a530 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 3 Nov 2022 11:50:12 -0700 Subject: [PATCH 2/2] Updates locales --- locale/ca_ES/LC_MESSAGES/django.mo | Bin 130365 -> 130365 bytes locale/ca_ES/LC_MESSAGES/django.po | 143 ++++++++++++++++++++-- locale/de_DE/LC_MESSAGES/django.mo | Bin 127896 -> 127896 bytes locale/de_DE/LC_MESSAGES/django.po | 143 ++++++++++++++++++++-- locale/en_US/LC_MESSAGES/django.po | 109 ++++++++++++----- locale/es_ES/LC_MESSAGES/django.mo | Bin 127829 -> 127829 bytes locale/es_ES/LC_MESSAGES/django.po | 143 ++++++++++++++++++++-- locale/fi_FI/LC_MESSAGES/django.mo | Bin 128993 -> 132958 bytes locale/fi_FI/LC_MESSAGES/django.po | 149 ++++++++++++++++++++--- locale/fr_FR/LC_MESSAGES/django.mo | Bin 134583 -> 138588 bytes locale/fr_FR/LC_MESSAGES/django.po | 171 ++++++++++++++++++++++----- locale/gl_ES/LC_MESSAGES/django.mo | Bin 99958 -> 103589 bytes locale/gl_ES/LC_MESSAGES/django.po | 143 ++++++++++++++++++++-- locale/it_IT/LC_MESSAGES/django.mo | Bin 130107 -> 130107 bytes locale/it_IT/LC_MESSAGES/django.po | 143 ++++++++++++++++++++-- locale/lt_LT/LC_MESSAGES/django.mo | Bin 101460 -> 101460 bytes locale/lt_LT/LC_MESSAGES/django.po | 143 ++++++++++++++++++++-- locale/no_NO/LC_MESSAGES/django.mo | Bin 75897 -> 75897 bytes locale/no_NO/LC_MESSAGES/django.po | 143 ++++++++++++++++++++-- locale/pl_PL/LC_MESSAGES/django.mo | Bin 118539 -> 122208 bytes locale/pl_PL/LC_MESSAGES/django.po | 143 ++++++++++++++++++++-- locale/pt_BR/LC_MESSAGES/django.mo | Bin 85224 -> 85224 bytes locale/pt_BR/LC_MESSAGES/django.po | 143 ++++++++++++++++++++-- locale/pt_PT/LC_MESSAGES/django.mo | Bin 79333 -> 79333 bytes locale/pt_PT/LC_MESSAGES/django.po | 143 ++++++++++++++++++++-- locale/ro_RO/LC_MESSAGES/django.mo | Bin 125085 -> 125085 bytes locale/ro_RO/LC_MESSAGES/django.po | 143 ++++++++++++++++++++-- locale/sv_SE/LC_MESSAGES/django.mo | Bin 85241 -> 85241 bytes locale/sv_SE/LC_MESSAGES/django.po | 143 ++++++++++++++++++++-- locale/zh_Hans/LC_MESSAGES/django.mo | Bin 79851 -> 79851 bytes locale/zh_Hans/LC_MESSAGES/django.po | 143 ++++++++++++++++++++-- locale/zh_Hant/LC_MESSAGES/django.mo | Bin 32683 -> 32683 bytes locale/zh_Hant/LC_MESSAGES/django.po | 143 ++++++++++++++++++++-- 33 files changed, 2176 insertions(+), 255 deletions(-) diff --git a/locale/ca_ES/LC_MESSAGES/django.mo b/locale/ca_ES/LC_MESSAGES/django.mo index fc2d4709115e395db4e4e6bfaf7e6046d537f215..2949048fcd45f9610b30d66d2a7956d6e248b650 100644 GIT binary patch delta 26 icmdn{i+%4e_J%EtNy;2Xh6+Z8Rz{}Vvy>Sx-vj`SKnb@1 delta 26 icmdn{i+%4e_J%EtNy;1sCJKg@R)$8~vy>Sx-vj`Sa|ycu diff --git a/locale/ca_ES/LC_MESSAGES/django.po b/locale/ca_ES/LC_MESSAGES/django.po index fc6a742ed..08995bcc5 100644 --- a/locale/ca_ES/LC_MESSAGES/django.po +++ b/locale/ca_ES/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-04 18:03+0000\n" -"PO-Revision-Date: 2022-10-04 19:12\n" +"POT-Creation-Date: 2022-10-21 21:11+0000\n" +"PO-Revision-Date: 2022-10-21 21:25\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Catalan\n" "Language: ca\n" @@ -42,14 +42,18 @@ msgstr "{i} usos" msgid "Unlimited" msgstr "Il·limitat" -#: bookwyrm/forms/edit_user.py:89 +#: bookwyrm/forms/edit_user.py:88 msgid "Incorrect password" msgstr "La contrasenya no és correcta" -#: bookwyrm/forms/edit_user.py:96 bookwyrm/forms/landing.py:71 +#: bookwyrm/forms/edit_user.py:95 bookwyrm/forms/landing.py:73 msgid "Password does not match" msgstr "La contrasenya no coincideix" +#: bookwyrm/forms/edit_user.py:118 +msgid "Incorrect Password" +msgstr "" + #: bookwyrm/forms/forms.py:54 msgid "Reading finish date cannot be before start date." msgstr "La data de finalització de lectura no pot ser anterior a la d'inici." @@ -58,14 +62,26 @@ msgstr "La data de finalització de lectura no pot ser anterior a la d'inici." msgid "Reading stopped date cannot be before start date." msgstr "La data de finalització de lectura no pot ser anterior a la d'inici." -#: bookwyrm/forms/landing.py:38 +#: bookwyrm/forms/forms.py:67 +msgid "Reading stopped date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/forms.py:74 +msgid "Reading finished date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/landing.py:40 msgid "User with this username already exists" msgstr "Ja existeix un usuari amb aquest nom d'usuari" -#: bookwyrm/forms/landing.py:47 +#: bookwyrm/forms/landing.py:49 msgid "A user with this email already exists." msgstr "Ja existeix un usuari amb aquesta adreça electrònica." +#: bookwyrm/forms/landing.py:107 bookwyrm/forms/landing.py:115 +msgid "Incorrect code" +msgstr "" + #: bookwyrm/forms/links.py:36 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "Aquest domini ha estat bloquejat. Poseu-vos en contacte amb l'administració d'aquesta instància si creieu que és un error." @@ -461,6 +477,7 @@ msgstr "Versió de programari:" #: bookwyrm/templates/about/layout.html:30 #: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:200 +#: bookwyrm/templates/snippets/2fa_footer.html:8 #, python-format msgid "About %(site_name)s" msgstr "Sobre %(site_name)s" @@ -787,6 +804,7 @@ msgstr "Desa" #: bookwyrm/templates/groups/delete_group_modal.html:15 #: bookwyrm/templates/lists/add_item_modal.html:36 #: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/preferences/disable-2fa.html:19 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:80 #: bookwyrm/templates/search/barcode_modal.html:45 @@ -806,6 +824,7 @@ msgstr "La càrrega de les dades es connectarà a %(source_name)s
Us agradaria fer el tutorial #: bookwyrm/templates/guided_tour/home.html:17 #: bookwyrm/templates/guided_tour/home.html:39 #: bookwyrm/templates/layout.html:212 +#: bookwyrm/templates/snippets/2fa_footer.html:20 msgid "Guided Tour" msgstr "Visita guiada" #: bookwyrm/templates/guided_tour/home.html:25 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:36 msgid "No thanks" msgstr "No, gràcies" @@ -2590,7 +2614,7 @@ msgid "Privacy setting for imported reviews:" msgstr "Configuració de privacitat per les ressenyes importades:" #: bookwyrm/templates/import/import.html:70 -#: bookwyrm/templates/preferences/layout.html:31 +#: bookwyrm/templates/preferences/layout.html:35 #: bookwyrm/templates/settings/federation/instance_blocklist.html:78 msgid "Import" msgstr "Importa" @@ -2846,6 +2870,7 @@ msgstr "Nom d'usuari:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 #: bookwyrm/templates/layout.html:144 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/preferences/2fa.html:68 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Contrasenya:" @@ -2916,15 +2941,18 @@ msgid "Error posting status" msgstr "Hi ha hagut un error mentre es publicava l'estat" #: bookwyrm/templates/layout.html:208 +#: bookwyrm/templates/snippets/2fa_footer.html:16 msgid "Documentation" msgstr "Documentació" #: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/snippets/2fa_footer.html:29 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Dona suport a %(site_name)s a %(support_title)s" #: bookwyrm/templates/layout.html:228 +#: bookwyrm/templates/snippets/2fa_footer.html:36 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "El codi font de BookWyrm està disponible de manera oberta. Pots contribuir-hi o informar de problemes a GitHub." @@ -3602,9 +3630,66 @@ msgstr "Segueix %(username)s" msgid "You are now following %(display_name)s!" msgstr "Ara segueixes a %(display_name)s!" +#: bookwyrm/templates/preferences/2fa.html:4 +#: bookwyrm/templates/preferences/2fa.html:7 +#: bookwyrm/templates/preferences/layout.html:24 +msgid "Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:16 +msgid "Successfully updated 2FA settings" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:24 +msgid "Write down or copy and paste these codes somewhere safe." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:25 +msgid "You must use them in order, and they will not be displayed again." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:35 +msgid "Two Factor Authentication is active on your account." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:36 +#: bookwyrm/templates/preferences/disable-2fa.html:4 +#: bookwyrm/templates/preferences/disable-2fa.html:7 +msgid "Disable 2FA" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:39 +msgid "You can generate backup codes to use in case you do not have access to your authentication app. If you generate new codes, any backup codes previously generated will no longer work." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:40 +msgid "Generate backup codes" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:45 +msgid "Scan the QR code with your authentication app and then enter the code from your app below to confirm your app is set up." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:50 +msgid "Enter the code from your app:" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:60 +msgid "You can make your account more secure by using Two Factor Authentication (2FA). This will require you to enter a one-time code using a phone app like Authy, Google Authenticator or Microsoft Authenticator each time you log in." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:62 +msgid "Confirm your password to begin setting up 2FA." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:72 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:37 +msgid "Set up 2FA" +msgstr "" + #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 -#: bookwyrm/templates/preferences/layout.html:42 +#: bookwyrm/templates/preferences/layout.html:46 msgid "Blocked Users" msgstr "Usuaris bloquejats" @@ -3634,7 +3719,7 @@ msgstr "Nova Contrasenya:" #: bookwyrm/templates/preferences/delete_user.html:4 #: bookwyrm/templates/preferences/delete_user.html:7 #: bookwyrm/templates/preferences/delete_user.html:25 -#: bookwyrm/templates/preferences/layout.html:24 +#: bookwyrm/templates/preferences/layout.html:28 #: bookwyrm/templates/settings/users/delete_user_form.html:22 msgid "Delete Account" msgstr "Suprimeix el compte" @@ -3647,6 +3732,18 @@ msgstr "Elimina el teu compte de manera permanent" msgid "Deleting your account cannot be undone. The username will not be available to register in the future." msgstr "L'acció d'eliminar el teu compte no es pot desfer. El teu nom d'usuari no estarà disponible per registrar-se en un futur." +#: bookwyrm/templates/preferences/disable-2fa.html:12 +msgid "Disable Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:14 +msgid "Disabling 2FA will allow anyone with your username and password to log in to your account." +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:20 +msgid "Turn off 2FA" +msgstr "" + #: bookwyrm/templates/preferences/edit_user.html:4 #: bookwyrm/templates/preferences/edit_user.html:7 #: bookwyrm/templates/preferences/layout.html:15 @@ -3727,15 +3824,15 @@ msgstr "Baixa el fitxer" msgid "Account" msgstr "Compte" -#: bookwyrm/templates/preferences/layout.html:27 +#: bookwyrm/templates/preferences/layout.html:31 msgid "Data" msgstr "Dades" -#: bookwyrm/templates/preferences/layout.html:35 +#: bookwyrm/templates/preferences/layout.html:39 msgid "CSV export" msgstr "Exportació CSV" -#: bookwyrm/templates/preferences/layout.html:38 +#: bookwyrm/templates/preferences/layout.html:42 msgid "Relationships" msgstr "Relacions" @@ -5860,6 +5957,26 @@ msgstr "Mostra'n més" msgid "Show less" msgstr "Mostra'n menys" +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:29 +msgid "2FA check" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:37 +msgid "Enter the code from your authenticator app:" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:41 +msgid "Confirm and Log In" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:29 +msgid "2FA is available" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:34 +msgid "You can secure your account by setting up two factor authentication in your user preferences. This will require a one-time code from your phone in addition to your password each time you log in." +msgstr "" + #: bookwyrm/templates/user/books_header.html:9 #, python-format msgid "%(username)s's books" @@ -6005,7 +6122,7 @@ msgstr "%(title)s: %(subtitle)s" msgid "Not a valid csv file" msgstr "No és un fitxer csv vàlid" -#: bookwyrm/views/landing/login.py:68 +#: bookwyrm/views/landing/login.py:86 msgid "Username or password are incorrect" msgstr "Nom d'usuari o contrasenya incorrectes" diff --git a/locale/de_DE/LC_MESSAGES/django.mo b/locale/de_DE/LC_MESSAGES/django.mo index 73ac00fdc5ac0d3116c9842decd0432044c280b4..fca7c1cd1364d70b853f067b0b4af9bdb3e6b949 100644 GIT binary patch delta 26 icmbR7oPEY~_J%EtfifIMh6+Z8Rz{}VBV`!vuLA&of(U^C delta 26 icmbR7oPEY~_J%EtfifHhCJKg@R)$8~BV`!vuLA&owFrd( diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po index d279e6203..c108553b4 100644 --- a/locale/de_DE/LC_MESSAGES/django.po +++ b/locale/de_DE/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-04 18:03+0000\n" -"PO-Revision-Date: 2022-10-04 19:12\n" +"POT-Creation-Date: 2022-10-21 21:11+0000\n" +"PO-Revision-Date: 2022-10-21 21:25\n" "Last-Translator: Mouse Reeve \n" "Language-Team: German\n" "Language: de\n" @@ -42,14 +42,18 @@ msgstr "{i}-mal verwendbar" msgid "Unlimited" msgstr "Unbegrenzt" -#: bookwyrm/forms/edit_user.py:89 +#: bookwyrm/forms/edit_user.py:88 msgid "Incorrect password" msgstr "Falsches Passwort" -#: bookwyrm/forms/edit_user.py:96 bookwyrm/forms/landing.py:71 +#: bookwyrm/forms/edit_user.py:95 bookwyrm/forms/landing.py:73 msgid "Password does not match" msgstr "Passwort stimmt nicht überein" +#: bookwyrm/forms/edit_user.py:118 +msgid "Incorrect Password" +msgstr "" + #: bookwyrm/forms/forms.py:54 msgid "Reading finish date cannot be before start date." msgstr "Enddatum darf nicht vor dem Startdatum liegen." @@ -58,14 +62,26 @@ msgstr "Enddatum darf nicht vor dem Startdatum liegen." msgid "Reading stopped date cannot be before start date." msgstr "Das Datum für Lesen gestoppt kann nicht vor dem Lesestart sein." -#: bookwyrm/forms/landing.py:38 +#: bookwyrm/forms/forms.py:67 +msgid "Reading stopped date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/forms.py:74 +msgid "Reading finished date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/landing.py:40 msgid "User with this username already exists" msgstr "Ein Benutzer mit diesem Benutzernamen existiert bereits" -#: bookwyrm/forms/landing.py:47 +#: bookwyrm/forms/landing.py:49 msgid "A user with this email already exists." msgstr "Es existiert bereits ein Benutzer*inkonto mit dieser E-Mail-Adresse." +#: bookwyrm/forms/landing.py:107 bookwyrm/forms/landing.py:115 +msgid "Incorrect code" +msgstr "" + #: bookwyrm/forms/links.py:36 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "Diese Domain ist blockiert. Bitte kontaktiere einen Administrator, wenn du denkst, dass dies ein Fehler ist." @@ -461,6 +477,7 @@ msgstr "Softwareversion:" #: bookwyrm/templates/about/layout.html:30 #: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:200 +#: bookwyrm/templates/snippets/2fa_footer.html:8 #, python-format msgid "About %(site_name)s" msgstr "Über %(site_name)s" @@ -787,6 +804,7 @@ msgstr "Speichern" #: bookwyrm/templates/groups/delete_group_modal.html:15 #: bookwyrm/templates/lists/add_item_modal.html:36 #: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/preferences/disable-2fa.html:19 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:80 #: bookwyrm/templates/search/barcode_modal.html:45 @@ -806,6 +824,7 @@ msgstr "Das Laden von Daten wird eine Verbindung zu %(source_name)s
Möchtest Du die geführte Tour machen, #: bookwyrm/templates/guided_tour/home.html:17 #: bookwyrm/templates/guided_tour/home.html:39 #: bookwyrm/templates/layout.html:212 +#: bookwyrm/templates/snippets/2fa_footer.html:20 msgid "Guided Tour" msgstr "Geführte Tour" #: bookwyrm/templates/guided_tour/home.html:25 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:36 msgid "No thanks" msgstr "Nein, danke" @@ -2590,7 +2614,7 @@ msgid "Privacy setting for imported reviews:" msgstr "Datenschutzeinstellung für importierte Besprechungen:" #: bookwyrm/templates/import/import.html:70 -#: bookwyrm/templates/preferences/layout.html:31 +#: bookwyrm/templates/preferences/layout.html:35 #: bookwyrm/templates/settings/federation/instance_blocklist.html:78 msgid "Import" msgstr "Importieren" @@ -2846,6 +2870,7 @@ msgstr "Benutzer*inname:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 #: bookwyrm/templates/layout.html:144 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/preferences/2fa.html:68 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Passwort:" @@ -2916,15 +2941,18 @@ msgid "Error posting status" msgstr "Fehler beim veröffentlichen des Status" #: bookwyrm/templates/layout.html:208 +#: bookwyrm/templates/snippets/2fa_footer.html:16 msgid "Documentation" msgstr "Handbuch" #: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/snippets/2fa_footer.html:29 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "" #: bookwyrm/templates/layout.html:228 +#: bookwyrm/templates/snippets/2fa_footer.html:36 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "" @@ -3602,9 +3630,66 @@ msgstr "Folge %(username)s" msgid "You are now following %(display_name)s!" msgstr "Du folgst nun %(display_name)s!" +#: bookwyrm/templates/preferences/2fa.html:4 +#: bookwyrm/templates/preferences/2fa.html:7 +#: bookwyrm/templates/preferences/layout.html:24 +msgid "Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:16 +msgid "Successfully updated 2FA settings" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:24 +msgid "Write down or copy and paste these codes somewhere safe." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:25 +msgid "You must use them in order, and they will not be displayed again." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:35 +msgid "Two Factor Authentication is active on your account." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:36 +#: bookwyrm/templates/preferences/disable-2fa.html:4 +#: bookwyrm/templates/preferences/disable-2fa.html:7 +msgid "Disable 2FA" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:39 +msgid "You can generate backup codes to use in case you do not have access to your authentication app. If you generate new codes, any backup codes previously generated will no longer work." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:40 +msgid "Generate backup codes" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:45 +msgid "Scan the QR code with your authentication app and then enter the code from your app below to confirm your app is set up." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:50 +msgid "Enter the code from your app:" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:60 +msgid "You can make your account more secure by using Two Factor Authentication (2FA). This will require you to enter a one-time code using a phone app like Authy, Google Authenticator or Microsoft Authenticator each time you log in." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:62 +msgid "Confirm your password to begin setting up 2FA." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:72 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:37 +msgid "Set up 2FA" +msgstr "" + #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 -#: bookwyrm/templates/preferences/layout.html:42 +#: bookwyrm/templates/preferences/layout.html:46 msgid "Blocked Users" msgstr "Gesperrte Benutzer*innen" @@ -3634,7 +3719,7 @@ msgstr "Neues Passwort:" #: bookwyrm/templates/preferences/delete_user.html:4 #: bookwyrm/templates/preferences/delete_user.html:7 #: bookwyrm/templates/preferences/delete_user.html:25 -#: bookwyrm/templates/preferences/layout.html:24 +#: bookwyrm/templates/preferences/layout.html:28 #: bookwyrm/templates/settings/users/delete_user_form.html:22 msgid "Delete Account" msgstr "Benutzer*inkonto löschen" @@ -3647,6 +3732,18 @@ msgstr "Benutzer*inkonto dauerhaft löschen" msgid "Deleting your account cannot be undone. The username will not be available to register in the future." msgstr "Das Löschen des Benutzer*inkonto kann nicht rückgängig gemacht werden. Der Benutzer*inname kann nicht erneut registriert werden." +#: bookwyrm/templates/preferences/disable-2fa.html:12 +msgid "Disable Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:14 +msgid "Disabling 2FA will allow anyone with your username and password to log in to your account." +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:20 +msgid "Turn off 2FA" +msgstr "" + #: bookwyrm/templates/preferences/edit_user.html:4 #: bookwyrm/templates/preferences/edit_user.html:7 #: bookwyrm/templates/preferences/layout.html:15 @@ -3727,15 +3824,15 @@ msgstr "Datei herunterladen" msgid "Account" msgstr "Benutzer*inkonto" -#: bookwyrm/templates/preferences/layout.html:27 +#: bookwyrm/templates/preferences/layout.html:31 msgid "Data" msgstr "Daten" -#: bookwyrm/templates/preferences/layout.html:35 +#: bookwyrm/templates/preferences/layout.html:39 msgid "CSV export" msgstr "CSV-Export" -#: bookwyrm/templates/preferences/layout.html:38 +#: bookwyrm/templates/preferences/layout.html:42 msgid "Relationships" msgstr "Beziehungen" @@ -5860,6 +5957,26 @@ msgstr "Mehr anzeigen" msgid "Show less" msgstr "Weniger anzeigen" +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:29 +msgid "2FA check" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:37 +msgid "Enter the code from your authenticator app:" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:41 +msgid "Confirm and Log In" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:29 +msgid "2FA is available" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:34 +msgid "You can secure your account by setting up two factor authentication in your user preferences. This will require a one-time code from your phone in addition to your password each time you log in." +msgstr "" + #: bookwyrm/templates/user/books_header.html:9 #, python-format msgid "%(username)s's books" @@ -6005,7 +6122,7 @@ msgstr "%(title)s: %(subtitle)s" msgid "Not a valid csv file" msgstr "Keine gültige CSV-Datei" -#: bookwyrm/views/landing/login.py:68 +#: bookwyrm/views/landing/login.py:86 msgid "Username or password are incorrect" msgstr "Benutzer*inname oder Passwort falsch" diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po index c3c7cbb4c..0eb73a526 100644 --- a/locale/en_US/LC_MESSAGES/django.po +++ b/locale/en_US/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-21 21:11+0000\n" +"POT-Creation-Date: 2022-11-03 18:35+0000\n" "PO-Revision-Date: 2021-02-28 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -172,23 +172,23 @@ msgstr "" msgid "Domain block" msgstr "" -#: bookwyrm/models/book.py:262 +#: bookwyrm/models/book.py:266 msgid "Audiobook" msgstr "" -#: bookwyrm/models/book.py:263 +#: bookwyrm/models/book.py:267 msgid "eBook" msgstr "" -#: bookwyrm/models/book.py:264 +#: bookwyrm/models/book.py:268 msgid "Graphic novel" msgstr "" -#: bookwyrm/models/book.py:265 +#: bookwyrm/models/book.py:269 msgid "Hardcover" msgstr "" -#: bookwyrm/models/book.py:266 +#: bookwyrm/models/book.py:270 msgid "Paperback" msgstr "" @@ -630,66 +630,66 @@ msgstr "" msgid "All the books %(display_name)s read in %(year)s" msgstr "" -#: bookwyrm/templates/author/author.html:18 #: bookwyrm/templates/author/author.html:19 +#: bookwyrm/templates/author/author.html:20 msgid "Edit Author" msgstr "" -#: bookwyrm/templates/author/author.html:35 +#: bookwyrm/templates/author/author.html:36 msgid "Author details" msgstr "" -#: bookwyrm/templates/author/author.html:39 +#: bookwyrm/templates/author/author.html:40 #: bookwyrm/templates/author/edit_author.html:42 msgid "Aliases:" msgstr "" -#: bookwyrm/templates/author/author.html:48 +#: bookwyrm/templates/author/author.html:49 msgid "Born:" msgstr "" -#: bookwyrm/templates/author/author.html:55 +#: bookwyrm/templates/author/author.html:56 msgid "Died:" msgstr "" -#: bookwyrm/templates/author/author.html:65 +#: bookwyrm/templates/author/author.html:66 msgid "External links" msgstr "" -#: bookwyrm/templates/author/author.html:70 +#: bookwyrm/templates/author/author.html:71 msgid "Wikipedia" msgstr "" -#: bookwyrm/templates/author/author.html:78 +#: bookwyrm/templates/author/author.html:79 msgid "View ISNI record" msgstr "" -#: bookwyrm/templates/author/author.html:83 +#: bookwyrm/templates/author/author.html:84 #: bookwyrm/templates/author/sync_modal.html:5 #: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "" -#: bookwyrm/templates/author/author.html:87 +#: bookwyrm/templates/author/author.html:88 #: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "" -#: bookwyrm/templates/author/author.html:102 +#: bookwyrm/templates/author/author.html:103 #: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "" -#: bookwyrm/templates/author/author.html:118 +#: bookwyrm/templates/author/author.html:119 msgid "View on LibraryThing" msgstr "" -#: bookwyrm/templates/author/author.html:126 +#: bookwyrm/templates/author/author.html:127 msgid "View on Goodreads" msgstr "" -#: bookwyrm/templates/author/author.html:141 +#: bookwyrm/templates/author/author.html:142 #, python-format msgid "Books by %(name)s" msgstr "" @@ -810,6 +810,7 @@ msgstr "" #: bookwyrm/templates/readthrough/readthrough_modal.html:80 #: bookwyrm/templates/search/barcode_modal.html:45 #: bookwyrm/templates/settings/federation/instance.html:106 +#: bookwyrm/templates/settings/imports/complete_import_modal.html:16 #: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 #: bookwyrm/templates/snippets/report_modal.html:52 msgid "Cancel" @@ -826,6 +827,7 @@ msgstr "" #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 #: bookwyrm/templates/preferences/2fa.html:54 +#: bookwyrm/templates/settings/imports/complete_import_modal.html:19 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 msgid "Confirm" msgstr "" @@ -1304,6 +1306,7 @@ msgstr "" #: bookwyrm/templates/book/file_links/edit_links.html:37 #: bookwyrm/templates/settings/announcements/announcements.html:41 #: bookwyrm/templates/settings/federation/instance.html:112 +#: bookwyrm/templates/settings/imports/imports.html:58 #: bookwyrm/templates/settings/reports/report_links_table.html:6 #: bookwyrm/templates/settings/themes.html:99 msgid "Actions" @@ -1979,6 +1982,7 @@ msgstr "" #: bookwyrm/templates/groups/delete_group_modal.html:7 #: bookwyrm/templates/lists/delete_list_modal.html:7 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:12 +#: bookwyrm/templates/settings/imports/complete_import_modal.html:7 msgid "This action cannot be un-done" msgstr "" @@ -2640,6 +2644,9 @@ msgid "Retry Status" msgstr "" #: bookwyrm/templates/import/import_status.html:22 +#: bookwyrm/templates/settings/imports/imports.html:5 +#: bookwyrm/templates/settings/imports/imports.html:8 +#: bookwyrm/templates/settings/layout.html:82 msgid "Imports" msgstr "" @@ -4037,7 +4044,7 @@ msgstr "" #: bookwyrm/templates/settings/announcements/announcements.html:3 #: bookwyrm/templates/settings/announcements/announcements.html:5 #: bookwyrm/templates/settings/announcements/edit_announcement.html:15 -#: bookwyrm/templates/settings/layout.html:91 +#: bookwyrm/templates/settings/layout.html:97 msgid "Announcements" msgstr "" @@ -4244,6 +4251,7 @@ msgid "Active Tasks" msgstr "" #: bookwyrm/templates/settings/celery.html:53 +#: bookwyrm/templates/settings/imports/imports.html:38 msgid "ID" msgstr "" @@ -4575,6 +4583,52 @@ msgstr "" msgid "No instances found" msgstr "" +#: bookwyrm/templates/settings/imports/complete_import_modal.html:4 +msgid "Mark import as complete?" +msgstr "" + +#: bookwyrm/templates/settings/imports/imports.html:18 +#: bookwyrm/templates/settings/users/user_admin.html:81 +#: bookwyrm/templates/settings/users/user_info.html:28 +msgid "Active" +msgstr "" + +#: bookwyrm/templates/settings/imports/imports.html:22 +msgid "Completed" +msgstr "" + +#: bookwyrm/templates/settings/imports/imports.html:31 +msgid "Marking an import as complete will not stop it." +msgstr "" + +#: bookwyrm/templates/settings/imports/imports.html:41 +msgid "User" +msgstr "" + +#: bookwyrm/templates/settings/imports/imports.html:44 +msgid "Date Created" +msgstr "" + +#: bookwyrm/templates/settings/imports/imports.html:48 +msgid "Date Updated" +msgstr "" + +#: bookwyrm/templates/settings/imports/imports.html:52 +msgid "Items" +msgstr "" + +#: bookwyrm/templates/settings/imports/imports.html:55 +msgid "Pending items" +msgstr "" + +#: bookwyrm/templates/settings/imports/imports.html:76 +msgid "Mark as complete" +msgstr "" + +#: bookwyrm/templates/settings/imports/imports.html:85 +msgid "No matching imports founds." +msgstr "" + #: bookwyrm/templates/settings/invites/manage_invite_requests.html:4 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:11 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:25 @@ -4753,21 +4807,21 @@ msgstr "" msgid "System" msgstr "" -#: bookwyrm/templates/settings/layout.html:82 +#: bookwyrm/templates/settings/layout.html:88 msgid "Celery status" msgstr "" -#: bookwyrm/templates/settings/layout.html:87 +#: bookwyrm/templates/settings/layout.html:93 msgid "Instance Settings" msgstr "" -#: bookwyrm/templates/settings/layout.html:95 +#: bookwyrm/templates/settings/layout.html:101 #: bookwyrm/templates/settings/site.html:4 #: bookwyrm/templates/settings/site.html:6 msgid "Site Settings" msgstr "" -#: bookwyrm/templates/settings/layout.html:100 +#: bookwyrm/templates/settings/layout.html:106 #: bookwyrm/templates/settings/site.html:95 #: bookwyrm/templates/settings/themes.html:4 #: bookwyrm/templates/settings/themes.html:6 @@ -5116,11 +5170,6 @@ msgstr "" msgid "Remote instance" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:81 -#: bookwyrm/templates/settings/users/user_info.html:28 -msgid "Active" -msgstr "" - #: bookwyrm/templates/settings/users/user_admin.html:86 msgid "Deleted" msgstr "" diff --git a/locale/es_ES/LC_MESSAGES/django.mo b/locale/es_ES/LC_MESSAGES/django.mo index b142753cb89326ca42e69a178ece3ba2bd21aa54..b2a6e69c14046181915a4430f3d202863d21599f 100644 GIT binary patch delta 26 icmccmjQ#2}_J%Et59BzE3>AzFt&B{!zmQ|hy#fH2%L+yS delta 26 icmccmjQ#2}_J%Et59BxuOcV?)tqhH}zmQ|hy#fH2{t8L} diff --git a/locale/es_ES/LC_MESSAGES/django.po b/locale/es_ES/LC_MESSAGES/django.po index 6025532df..22d7f4f6a 100644 --- a/locale/es_ES/LC_MESSAGES/django.po +++ b/locale/es_ES/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-04 18:03+0000\n" -"PO-Revision-Date: 2022-10-04 19:12\n" +"POT-Creation-Date: 2022-10-21 21:11+0000\n" +"PO-Revision-Date: 2022-10-21 21:25\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Spanish\n" "Language: es\n" @@ -42,14 +42,18 @@ msgstr "{i} usos" msgid "Unlimited" msgstr "Sin límite" -#: bookwyrm/forms/edit_user.py:89 +#: bookwyrm/forms/edit_user.py:88 msgid "Incorrect password" msgstr "Contraseña incorrecta" -#: bookwyrm/forms/edit_user.py:96 bookwyrm/forms/landing.py:71 +#: bookwyrm/forms/edit_user.py:95 bookwyrm/forms/landing.py:73 msgid "Password does not match" msgstr "La contraseña no coincide" +#: bookwyrm/forms/edit_user.py:118 +msgid "Incorrect Password" +msgstr "" + #: bookwyrm/forms/forms.py:54 msgid "Reading finish date cannot be before start date." msgstr "La fecha final de lectura no puede ser anterior a la fecha de inicio." @@ -58,14 +62,26 @@ msgstr "La fecha final de lectura no puede ser anterior a la fecha de inicio." msgid "Reading stopped date cannot be before start date." msgstr "La fecha final de lectura no puede ser anterior a la fecha de inicio." -#: bookwyrm/forms/landing.py:38 +#: bookwyrm/forms/forms.py:67 +msgid "Reading stopped date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/forms.py:74 +msgid "Reading finished date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/landing.py:40 msgid "User with this username already exists" msgstr "Este nombre de usuario ya está en uso." -#: bookwyrm/forms/landing.py:47 +#: bookwyrm/forms/landing.py:49 msgid "A user with this email already exists." msgstr "Ya existe un usuario con ese correo electrónico." +#: bookwyrm/forms/landing.py:107 bookwyrm/forms/landing.py:115 +msgid "Incorrect code" +msgstr "" + #: bookwyrm/forms/links.py:36 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "Este dominio está bloqueado. Ponte en contacto con le admin si crees que se trata de un error." @@ -461,6 +477,7 @@ msgstr "Versión del software:" #: bookwyrm/templates/about/layout.html:30 #: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:200 +#: bookwyrm/templates/snippets/2fa_footer.html:8 #, python-format msgid "About %(site_name)s" msgstr "Sobre %(site_name)s" @@ -787,6 +804,7 @@ msgstr "Guardar" #: bookwyrm/templates/groups/delete_group_modal.html:15 #: bookwyrm/templates/lists/add_item_modal.html:36 #: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/preferences/disable-2fa.html:19 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:80 #: bookwyrm/templates/search/barcode_modal.html:45 @@ -806,6 +824,7 @@ msgstr "La carga de datos se conectará a %(source_name)s y com #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 +#: bookwyrm/templates/preferences/2fa.html:54 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 msgid "Confirm" msgstr "Confirmar" @@ -1687,11 +1706,14 @@ msgstr "Reestablece tu contraseña de %(site_name)s" #: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:40 #: bookwyrm/templates/setup/layout.html:15 +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:18 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:18 #, python-format msgid "%(site_name)s home page" msgstr "Página de inicio de %(site_name)s" #: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:204 +#: bookwyrm/templates/snippets/2fa_footer.html:12 msgid "Contact site admin" msgstr "Comuníquese con el administrador del sitio" @@ -2261,10 +2283,12 @@ msgstr "Bienvenido a Bookwyrm

¿Quieres hacer la visita guiada para ayuda #: bookwyrm/templates/guided_tour/home.html:17 #: bookwyrm/templates/guided_tour/home.html:39 #: bookwyrm/templates/layout.html:212 +#: bookwyrm/templates/snippets/2fa_footer.html:20 msgid "Guided Tour" msgstr "Visita guiada" #: bookwyrm/templates/guided_tour/home.html:25 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:36 msgid "No thanks" msgstr "No, gracias" @@ -2590,7 +2614,7 @@ msgid "Privacy setting for imported reviews:" msgstr "Configuración de privacidad para las reseñas importadas:" #: bookwyrm/templates/import/import.html:70 -#: bookwyrm/templates/preferences/layout.html:31 +#: bookwyrm/templates/preferences/layout.html:35 #: bookwyrm/templates/settings/federation/instance_blocklist.html:78 msgid "Import" msgstr "Importar" @@ -2846,6 +2870,7 @@ msgstr "Nombre de usuario:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 #: bookwyrm/templates/layout.html:144 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/preferences/2fa.html:68 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Contraseña:" @@ -2916,15 +2941,18 @@ msgid "Error posting status" msgstr "Error al publicar el estado" #: bookwyrm/templates/layout.html:208 +#: bookwyrm/templates/snippets/2fa_footer.html:16 msgid "Documentation" msgstr "Documentación de Django" #: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/snippets/2fa_footer.html:29 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Apoya a %(site_name)s en %(support_title)s" #: bookwyrm/templates/layout.html:228 +#: bookwyrm/templates/snippets/2fa_footer.html:36 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm es software libre y de código abierto. Puedes contribuir o reportar problemas en GitHub." @@ -3602,9 +3630,66 @@ msgstr "Seguir a %(username)s" msgid "You are now following %(display_name)s!" msgstr "¡Ahora sigues a %(display_name)s!" +#: bookwyrm/templates/preferences/2fa.html:4 +#: bookwyrm/templates/preferences/2fa.html:7 +#: bookwyrm/templates/preferences/layout.html:24 +msgid "Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:16 +msgid "Successfully updated 2FA settings" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:24 +msgid "Write down or copy and paste these codes somewhere safe." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:25 +msgid "You must use them in order, and they will not be displayed again." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:35 +msgid "Two Factor Authentication is active on your account." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:36 +#: bookwyrm/templates/preferences/disable-2fa.html:4 +#: bookwyrm/templates/preferences/disable-2fa.html:7 +msgid "Disable 2FA" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:39 +msgid "You can generate backup codes to use in case you do not have access to your authentication app. If you generate new codes, any backup codes previously generated will no longer work." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:40 +msgid "Generate backup codes" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:45 +msgid "Scan the QR code with your authentication app and then enter the code from your app below to confirm your app is set up." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:50 +msgid "Enter the code from your app:" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:60 +msgid "You can make your account more secure by using Two Factor Authentication (2FA). This will require you to enter a one-time code using a phone app like Authy, Google Authenticator or Microsoft Authenticator each time you log in." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:62 +msgid "Confirm your password to begin setting up 2FA." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:72 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:37 +msgid "Set up 2FA" +msgstr "" + #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 -#: bookwyrm/templates/preferences/layout.html:42 +#: bookwyrm/templates/preferences/layout.html:46 msgid "Blocked Users" msgstr "Usuarios bloqueados" @@ -3634,7 +3719,7 @@ msgstr "Nueva contraseña:" #: bookwyrm/templates/preferences/delete_user.html:4 #: bookwyrm/templates/preferences/delete_user.html:7 #: bookwyrm/templates/preferences/delete_user.html:25 -#: bookwyrm/templates/preferences/layout.html:24 +#: bookwyrm/templates/preferences/layout.html:28 #: bookwyrm/templates/settings/users/delete_user_form.html:22 msgid "Delete Account" msgstr "Quitar cuenta" @@ -3647,6 +3732,18 @@ msgstr "Eliminar cuenta permanentemente" msgid "Deleting your account cannot be undone. The username will not be available to register in the future." msgstr "La eliminación de tu cuenta no se puede deshacer. El nombre de usuario no estará disponible para registrarse en el futuro." +#: bookwyrm/templates/preferences/disable-2fa.html:12 +msgid "Disable Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:14 +msgid "Disabling 2FA will allow anyone with your username and password to log in to your account." +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:20 +msgid "Turn off 2FA" +msgstr "" + #: bookwyrm/templates/preferences/edit_user.html:4 #: bookwyrm/templates/preferences/edit_user.html:7 #: bookwyrm/templates/preferences/layout.html:15 @@ -3727,15 +3824,15 @@ msgstr "Descargar archivo" msgid "Account" msgstr "Cuenta" -#: bookwyrm/templates/preferences/layout.html:27 +#: bookwyrm/templates/preferences/layout.html:31 msgid "Data" msgstr "Datos" -#: bookwyrm/templates/preferences/layout.html:35 +#: bookwyrm/templates/preferences/layout.html:39 msgid "CSV export" msgstr "Exportación en CSV" -#: bookwyrm/templates/preferences/layout.html:38 +#: bookwyrm/templates/preferences/layout.html:42 msgid "Relationships" msgstr "Relaciones" @@ -5860,6 +5957,26 @@ msgstr "Mostrar más" msgid "Show less" msgstr "Mostrar menos" +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:29 +msgid "2FA check" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:37 +msgid "Enter the code from your authenticator app:" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:41 +msgid "Confirm and Log In" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:29 +msgid "2FA is available" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:34 +msgid "You can secure your account by setting up two factor authentication in your user preferences. This will require a one-time code from your phone in addition to your password each time you log in." +msgstr "" + #: bookwyrm/templates/user/books_header.html:9 #, python-format msgid "%(username)s's books" @@ -6005,7 +6122,7 @@ msgstr "%(title)s: %(subtitle)s" msgid "Not a valid csv file" msgstr "No un archivo csv válido" -#: bookwyrm/views/landing/login.py:68 +#: bookwyrm/views/landing/login.py:86 msgid "Username or password are incorrect" msgstr "Nombre de usuario o contraseña es incorrecta" diff --git a/locale/fi_FI/LC_MESSAGES/django.mo b/locale/fi_FI/LC_MESSAGES/django.mo index c161891f8f19baacd5e7fb7f87790f3ca801e9f9..b937b40147ef464f04552c65493cb02d1ad119bd 100644 GIT binary patch delta 31344 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 delta 27585 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 D_}dv^ diff --git a/locale/fi_FI/LC_MESSAGES/django.po b/locale/fi_FI/LC_MESSAGES/django.po index b0aa94c40..4a3d60056 100644 --- a/locale/fi_FI/LC_MESSAGES/django.po +++ b/locale/fi_FI/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-04 18:03+0000\n" -"PO-Revision-Date: 2022-10-04 19:11\n" +"POT-Creation-Date: 2022-10-21 21:11+0000\n" +"PO-Revision-Date: 2022-11-02 23:20\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Finnish\n" "Language: fi\n" @@ -42,14 +42,18 @@ msgstr "{i} käyttökertaa" msgid "Unlimited" msgstr "rajattomasti" -#: bookwyrm/forms/edit_user.py:89 +#: bookwyrm/forms/edit_user.py:88 msgid "Incorrect password" msgstr "Väärä salasana" -#: bookwyrm/forms/edit_user.py:96 bookwyrm/forms/landing.py:71 +#: bookwyrm/forms/edit_user.py:95 bookwyrm/forms/landing.py:73 msgid "Password does not match" msgstr "Salasanat eivät täsmää" +#: bookwyrm/forms/edit_user.py:118 +msgid "Incorrect Password" +msgstr "Virheellinen salasana" + #: bookwyrm/forms/forms.py:54 msgid "Reading finish date cannot be before start date." msgstr "Lopetuspäivä ei voi olla ennen aloituspäivää." @@ -58,14 +62,26 @@ msgstr "Lopetuspäivä ei voi olla ennen aloituspäivää." msgid "Reading stopped date cannot be before start date." msgstr "Keskeytyspäivä ei voi olla ennen aloituspäivää." -#: bookwyrm/forms/landing.py:38 +#: bookwyrm/forms/forms.py:67 +msgid "Reading stopped date cannot be in the future." +msgstr "Keskeytyspäivä ei voi olla tulevaisuudessa." + +#: bookwyrm/forms/forms.py:74 +msgid "Reading finished date cannot be in the future." +msgstr "Lukemisen lopetuspäivä ei voi olla tulevaisuudessa." + +#: bookwyrm/forms/landing.py:40 msgid "User with this username already exists" msgstr "Käyttäjänimi on jo varattu" -#: bookwyrm/forms/landing.py:47 +#: bookwyrm/forms/landing.py:49 msgid "A user with this email already exists." msgstr "Sähköpostiosoite on jo jonkun käyttäjän käytössä." +#: bookwyrm/forms/landing.py:107 bookwyrm/forms/landing.py:115 +msgid "Incorrect code" +msgstr "Virheellinen koodi" + #: bookwyrm/forms/links.py:36 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "Verkkotunnus on estetty. Jos epäilet virhettä, ota yhteyttä ylläpitäjään." @@ -461,6 +477,7 @@ msgstr "Ohjelmistoversio:" #: bookwyrm/templates/about/layout.html:30 #: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:200 +#: bookwyrm/templates/snippets/2fa_footer.html:8 #, python-format msgid "About %(site_name)s" msgstr "%(site_name)s — tietoja" @@ -787,6 +804,7 @@ msgstr "Tallenna" #: bookwyrm/templates/groups/delete_group_modal.html:15 #: bookwyrm/templates/lists/add_item_modal.html:36 #: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/preferences/disable-2fa.html:19 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:80 #: bookwyrm/templates/search/barcode_modal.html:45 @@ -806,6 +824,7 @@ msgstr "Tietoja ladattaessa muodostetaan yhteys lähteeseen %(source_nam #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 +#: bookwyrm/templates/preferences/2fa.html:54 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 msgid "Confirm" msgstr "Vahvista" @@ -1687,11 +1706,14 @@ msgstr "Palauta %(site_name)s-salasanasi" #: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:40 #: bookwyrm/templates/setup/layout.html:15 +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:18 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:18 #, python-format msgid "%(site_name)s home page" msgstr "%(site_name)s — etusivu" #: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:204 +#: bookwyrm/templates/snippets/2fa_footer.html:12 msgid "Contact site admin" msgstr "Ota yhteyttä ylläpitäjään" @@ -1814,7 +1836,7 @@ msgstr "Luettu" #: bookwyrm/templates/get_started/book_preview.html:13 #: bookwyrm/templates/shelf/shelf.html:89 bookwyrm/templates/user/user.html:36 msgid "Stopped Reading" -msgstr "Keskeytti lukemisen" +msgstr "Jäi kesken" #: bookwyrm/templates/get_started/books.html:6 msgid "What are you reading?" @@ -2261,10 +2283,12 @@ msgstr "Tervetuloa BookWyrmin käyttäjäksi!

Haluatko esittelykierroksen #: bookwyrm/templates/guided_tour/home.html:17 #: bookwyrm/templates/guided_tour/home.html:39 #: bookwyrm/templates/layout.html:212 +#: bookwyrm/templates/snippets/2fa_footer.html:20 msgid "Guided Tour" msgstr "Esittelykierros" #: bookwyrm/templates/guided_tour/home.html:25 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:36 msgid "No thanks" msgstr "Ei kiitos" @@ -2424,7 +2448,7 @@ msgstr "Jos kirjaa ei edelleenkään löydy, sen voi lisätä käsin." #: bookwyrm/templates/guided_tour/search.html:122 msgid "Add a record manually" -msgstr "" +msgstr "Lisää tietue käsin" #: bookwyrm/templates/guided_tour/search.html:147 msgid "Import, manually add, or view an existing book to continue the tour." @@ -2590,7 +2614,7 @@ msgid "Privacy setting for imported reviews:" msgstr "Tuotavien arvioiden yksityisyysvalinta:" #: bookwyrm/templates/import/import.html:70 -#: bookwyrm/templates/preferences/layout.html:31 +#: bookwyrm/templates/preferences/layout.html:35 #: bookwyrm/templates/settings/federation/instance_blocklist.html:78 msgid "Import" msgstr "Tuo" @@ -2846,6 +2870,7 @@ msgstr "Käyttäjänimi:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 #: bookwyrm/templates/layout.html:144 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/preferences/2fa.html:68 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Salasana:" @@ -2916,15 +2941,18 @@ msgid "Error posting status" msgstr "Virhe tilapäivityksessä" #: bookwyrm/templates/layout.html:208 +#: bookwyrm/templates/snippets/2fa_footer.html:16 msgid "Documentation" msgstr "Käyttöohjeet" #: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/snippets/2fa_footer.html:29 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Tue %(site_name)s-sivustoa osoitteessa %(support_title)s" #: bookwyrm/templates/layout.html:228 +#: bookwyrm/templates/snippets/2fa_footer.html:36 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrmin lähdekoodi on avointa. Kehitystyöhön voi osallistua ja ongelmista voi ilmoittaa GitHubissa." @@ -3602,9 +3630,66 @@ msgstr "Seuraa käyttäjää %(username)s" msgid "You are now following %(display_name)s!" msgstr "Seuraat nyt käyttäjää %(display_name)s!" +#: bookwyrm/templates/preferences/2fa.html:4 +#: bookwyrm/templates/preferences/2fa.html:7 +#: bookwyrm/templates/preferences/layout.html:24 +msgid "Two Factor Authentication" +msgstr "Kaksivaiheinen tunnistautuminen" + +#: bookwyrm/templates/preferences/2fa.html:16 +msgid "Successfully updated 2FA settings" +msgstr "2FA-asetukset muutettu" + +#: bookwyrm/templates/preferences/2fa.html:24 +msgid "Write down or copy and paste these codes somewhere safe." +msgstr "Kirjoita tai kopioi nämä koodit turvalliseen paikkaan." + +#: bookwyrm/templates/preferences/2fa.html:25 +msgid "You must use them in order, and they will not be displayed again." +msgstr "Koodeja käytetään tässä järjestyksessä, eikä niitä näytetä uudelleen." + +#: bookwyrm/templates/preferences/2fa.html:35 +msgid "Two Factor Authentication is active on your account." +msgstr "Tililläsi on käytössä kaksivaiheinen tunnistautuminen." + +#: bookwyrm/templates/preferences/2fa.html:36 +#: bookwyrm/templates/preferences/disable-2fa.html:4 +#: bookwyrm/templates/preferences/disable-2fa.html:7 +msgid "Disable 2FA" +msgstr "Poista kaksivaiheinen tunnistautuminen käytöstä" + +#: bookwyrm/templates/preferences/2fa.html:39 +msgid "You can generate backup codes to use in case you do not have access to your authentication app. If you generate new codes, any backup codes previously generated will no longer work." +msgstr "Voit luoda varakoodeja, joita voit käyttää, kun autentikointisovellus ei ole käytettävissä. Uusien koodien luonti mitätöi aiemmin luodut varakoodit." + +#: bookwyrm/templates/preferences/2fa.html:40 +msgid "Generate backup codes" +msgstr "Luo varmistuskoodit" + +#: bookwyrm/templates/preferences/2fa.html:45 +msgid "Scan the QR code with your authentication app and then enter the code from your app below to confirm your app is set up." +msgstr "Vahvista autentikointisovellus skannaamalla QR-koodi sovelluksella ja syöttämällä alle sovelluksen antama koodi." + +#: bookwyrm/templates/preferences/2fa.html:50 +msgid "Enter the code from your app:" +msgstr "Syötä sovelluksen antama koodi:" + +#: bookwyrm/templates/preferences/2fa.html:60 +msgid "You can make your account more secure by using Two Factor Authentication (2FA). This will require you to enter a one-time code using a phone app like Authy, Google Authenticator or Microsoft Authenticator each time you log in." +msgstr "Voit lisätä tilisi turvallisuutta käyttämällä kaksivaiheista tunnistautumista (2FA). Se edellyttää jokaisen sisäänkirjautumisen yhteydessä kertakäyttöisen koodin syöttämistä. Vaatii puhelinsovelluksen, esim. Authy, Google Authenticator tai Microsoft Authenticator." + +#: bookwyrm/templates/preferences/2fa.html:62 +msgid "Confirm your password to begin setting up 2FA." +msgstr "Aloita kaksivaiheisen tunnistautumisen käyttöönotto syöttämällä salasanasi." + +#: bookwyrm/templates/preferences/2fa.html:72 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:37 +msgid "Set up 2FA" +msgstr "Ota kaksivaiheinen tunnistautuminen käyttöön" + #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 -#: bookwyrm/templates/preferences/layout.html:42 +#: bookwyrm/templates/preferences/layout.html:46 msgid "Blocked Users" msgstr "Estetyt käyttäjät" @@ -3634,7 +3719,7 @@ msgstr "Uusi salasana:" #: bookwyrm/templates/preferences/delete_user.html:4 #: bookwyrm/templates/preferences/delete_user.html:7 #: bookwyrm/templates/preferences/delete_user.html:25 -#: bookwyrm/templates/preferences/layout.html:24 +#: bookwyrm/templates/preferences/layout.html:28 #: bookwyrm/templates/settings/users/delete_user_form.html:22 msgid "Delete Account" msgstr "Poista käyttäjätili" @@ -3647,6 +3732,18 @@ msgstr "Poista käyttäjätili pysyvästi" msgid "Deleting your account cannot be undone. The username will not be available to register in the future." msgstr "Käyttäjätilin poistamista ei voi perua. Käyttäjänimeä ei voi myöhemmin rekisteröidä uudelleen." +#: bookwyrm/templates/preferences/disable-2fa.html:12 +msgid "Disable Two Factor Authentication" +msgstr "Poista kaksivaiheinen tunnistautuminen käytöstä" + +#: bookwyrm/templates/preferences/disable-2fa.html:14 +msgid "Disabling 2FA will allow anyone with your username and password to log in to your account." +msgstr "Kun kaksivaiheinen tunnistautuminen ei ole käytössä, tilillesi voidaan kirjautua pelkällä käyttäjätunnuksella ja salasanalla." + +#: bookwyrm/templates/preferences/disable-2fa.html:20 +msgid "Turn off 2FA" +msgstr "Poista kaksivaiheinen tunnistautuminen käytöstä" + #: bookwyrm/templates/preferences/edit_user.html:4 #: bookwyrm/templates/preferences/edit_user.html:7 #: bookwyrm/templates/preferences/layout.html:15 @@ -3727,15 +3824,15 @@ msgstr "Lataa tiedosto" msgid "Account" msgstr "Käyttäjätili" -#: bookwyrm/templates/preferences/layout.html:27 +#: bookwyrm/templates/preferences/layout.html:31 msgid "Data" msgstr "Tiedot" -#: bookwyrm/templates/preferences/layout.html:35 +#: bookwyrm/templates/preferences/layout.html:39 msgid "CSV export" msgstr "CSV-vienti" -#: bookwyrm/templates/preferences/layout.html:38 +#: bookwyrm/templates/preferences/layout.html:42 msgid "Relationships" msgstr "Suhteet" @@ -5627,7 +5724,7 @@ msgstr "Keskeytä teoksen ”%(book_title)s” lukeminen" #: bookwyrm/templates/snippets/shelf_selector.html:54 #: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:21 msgid "Stopped reading" -msgstr "Keskeytti lukemisen" +msgstr "Jäi kesken" #: bookwyrm/templates/snippets/reading_modals/want_to_read_modal.html:6 #, python-format @@ -5860,6 +5957,26 @@ msgstr "Näytä lisää" msgid "Show less" msgstr "Näytä vähemmän" +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:29 +msgid "2FA check" +msgstr "Kaksivaiheisen tunnistautumisen tarkistus" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:37 +msgid "Enter the code from your authenticator app:" +msgstr "Syötä autentikointisovelluksen antama koodi:" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:41 +msgid "Confirm and Log In" +msgstr "Vahvista ja kirjaudu sisään" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:29 +msgid "2FA is available" +msgstr "Kaksivaiheinen tunnistautuminen saatavilla" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:34 +msgid "You can secure your account by setting up two factor authentication in your user preferences. This will require a one-time code from your phone in addition to your password each time you log in." +msgstr "Voit parantaa tilisi turvallisuutta ottamalla käyttöön kaksivaiheisen tunnistautumisen. Se tapahtuu käyttäjäasetuksistasi. Kaksivaiheinen tunnistautuminen edellyttää salasanan lisäksi puhelinsovelluksen antaman kertakäyttöisen koodin käyttöä aina sisäänkirjauduttaessa." + #: bookwyrm/templates/user/books_header.html:9 #, python-format msgid "%(username)s's books" @@ -6005,7 +6122,7 @@ msgstr "%(title)s: %(subtitle)s" msgid "Not a valid csv file" msgstr "Epäkelpo csv-tiedosto" -#: bookwyrm/views/landing/login.py:68 +#: bookwyrm/views/landing/login.py:86 msgid "Username or password are incorrect" msgstr "Käyttäjänimi tai salasana on virheellinen" diff --git a/locale/fr_FR/LC_MESSAGES/django.mo b/locale/fr_FR/LC_MESSAGES/django.mo index 7b424dafec34e8375c67d8eb9c58d96ca62eb14b..d44c0f41fbbc2c15dcfacfb5ee30cb3e50a9441a 100644 GIT binary patch delta 31510 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 Wy;@+tz)*HJ2X<^i|G(VE8U7FQ06ZiB delta 27691 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≤5gM9vu!oHJj+ki6a)+1&L( zk-8pS)unT%mNSkPaMMTa5Ek66OS6u_Vcml}c)t{I-3aQ5w^9-JeKEI%w`hO2R>T>- zhqy^*93A2o^R^o5`UiUZOmMIJdzVagyF~Qnn&ZazbIW-v%ySpIu}XFB(KD=T_a0rt zg1feD-L_?z_v3tbRTS@`m2N6Ox2^ZdYWHMN(w04fJ9ch)a8=i4-NSlxb!ztL)+MY{ zx3---1-I\n" "Language-Team: French\n" "Language: fr\n" @@ -42,30 +42,46 @@ msgstr "{i} utilisations" msgid "Unlimited" msgstr "Sans limite" -#: bookwyrm/forms/edit_user.py:89 +#: bookwyrm/forms/edit_user.py:88 msgid "Incorrect password" msgstr "Mot de passe incorrect" -#: bookwyrm/forms/edit_user.py:96 bookwyrm/forms/landing.py:71 +#: bookwyrm/forms/edit_user.py:95 bookwyrm/forms/landing.py:73 msgid "Password does not match" msgstr "Le mot de passe ne correspond pas" +#: bookwyrm/forms/edit_user.py:118 +msgid "Incorrect Password" +msgstr "Mot de passe incorrect" + #: bookwyrm/forms/forms.py:54 msgid "Reading finish date cannot be before start date." msgstr "La date de fin de lecture ne peut pas être antérieure à la date de début." #: bookwyrm/forms/forms.py:59 msgid "Reading stopped date cannot be before start date." -msgstr "La date de fin de lecture ne peut pas être antérieure à la date de début." +msgstr "La date d’arrêt de lecture ne peut pas être antérieure à la date de début." -#: bookwyrm/forms/landing.py:38 +#: bookwyrm/forms/forms.py:67 +msgid "Reading stopped date cannot be in the future." +msgstr "La date d’arrêt de lecture ne peut pas être dans le futur." + +#: bookwyrm/forms/forms.py:74 +msgid "Reading finished date cannot be in the future." +msgstr "La date de fin de lecture ne peut pas être dans le futur." + +#: bookwyrm/forms/landing.py:40 msgid "User with this username already exists" msgstr "Un compte du même nom existe déjà" -#: bookwyrm/forms/landing.py:47 +#: bookwyrm/forms/landing.py:49 msgid "A user with this email already exists." msgstr "Cet email est déjà associé à un compte." +#: bookwyrm/forms/landing.py:107 bookwyrm/forms/landing.py:115 +msgid "Incorrect code" +msgstr "Code incorrect" + #: bookwyrm/forms/links.py:36 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "Ce domaine est bloqué. Contactez l’admin de votre instance si vous pensez que c’est une erreur." @@ -145,11 +161,11 @@ msgstr "Auto-suppression" #: bookwyrm/models/base_model.py:20 msgid "Moderator suspension" -msgstr "Suspension du modérateur" +msgstr "Suspension par un modérateur" #: bookwyrm/models/base_model.py:21 msgid "Moderator deletion" -msgstr "Suppression du modérateur" +msgstr "Suppression par un modérateur" #: bookwyrm/models/base_model.py:22 msgid "Domain block" @@ -165,15 +181,15 @@ msgstr "eBook" #: bookwyrm/models/book.py:264 msgid "Graphic novel" -msgstr "Roman Graphique" +msgstr "Roman graphique" #: bookwyrm/models/book.py:265 msgid "Hardcover" -msgstr "Couverture rigide" +msgstr "Livre relié" #: bookwyrm/models/book.py:266 msgid "Paperback" -msgstr "Couverture souple" +msgstr "Livre broché" #: bookwyrm/models/federated_server.py:11 #: bookwyrm/templates/settings/federation/edit_instance.html:55 @@ -299,7 +315,7 @@ msgstr "English" #: bookwyrm/settings.py:283 msgid "Català (Catalan)" -msgstr "Català (catalan)" +msgstr "Català (Catalan)" #: bookwyrm/settings.py:284 msgid "Deutsch (German)" @@ -315,11 +331,11 @@ msgstr "Galego (Galicien)" #: bookwyrm/settings.py:287 msgid "Italiano (Italian)" -msgstr "Italiano (italien)" +msgstr "Italiano (Italien)" #: bookwyrm/settings.py:288 msgid "Suomi (Finnish)" -msgstr "Suomi (finnois)" +msgstr "Suomi (Finnois)" #: bookwyrm/settings.py:289 msgid "Français (French)" @@ -331,11 +347,11 @@ msgstr "Lietuvių (Lituanien)" #: bookwyrm/settings.py:291 msgid "Norsk (Norwegian)" -msgstr "Norsk (norvégien)" +msgstr "Norsk (Norvégien)" #: bookwyrm/settings.py:292 msgid "Polski (Polish)" -msgstr "Polski (polonais)" +msgstr "Polski (Polonais)" #: bookwyrm/settings.py:293 msgid "Português do Brasil (Brazilian Portuguese)" @@ -347,7 +363,7 @@ msgstr "Português Europeu (Portugais européen)" #: bookwyrm/settings.py:295 msgid "Română (Romanian)" -msgstr "Română (roumain)" +msgstr "Română (Roumain)" #: bookwyrm/settings.py:296 msgid "Svenska (Swedish)" @@ -414,7 +430,7 @@ msgstr "%(title)s divise les critiques pl #: bookwyrm/templates/about/about.html:93 msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, reach out and make yourself heard." -msgstr "Gardez trace de vos lectures, parlez de livres, écrivez des commentaires et découvrez quoi lire ensuite. BookWyrm est un logiciel à échelle humaine, sans publicité, anti-capitaliste et axé sur la communauté, conçu pour rester petit et personnel. Si vous avez des demandes de fonctionnalités, des rapports de bogue ou des rêves grandioses, rejoignez-nous et faites-vous entendre." +msgstr "Gardez trace de vos lectures, parlez de livres, écrivez des critiques et découvrez quoi lire ensuite. BookWyrm est un logiciel à taille humaine, sans publicité, anti-capitaliste et axé sur la communauté, conçu pour rester petit et personnel. Si vous avez des demandes de fonctionnalités, des rapports de bogue ou des rêves grandioses, rejoignez-nous et faites-vous entendre." #: bookwyrm/templates/about/about.html:103 msgid "Meet your admins" @@ -423,7 +439,7 @@ msgstr "Rencontrez vos admins" #: bookwyrm/templates/about/about.html:106 #, python-format msgid "%(site_name)s's moderators and administrators keep the site up and running, enforce the code of conduct, and respond when users report spam and bad behavior." -msgstr "L’administration et la modération de %(site_name)s maintiennent le site opérationnel, font respecter le code de conduite, et répondent lorsque les utilisateurs signalent le spam et les mauvais comportements." +msgstr "L’administration et la modération de %(site_name)s maintiennent le site opérationnel, font respecter le code de conduite, et interviennent lorsque les utilisateurs signalent du spam et des mauvais comportements." #: bookwyrm/templates/about/about.html:120 msgid "Moderator" @@ -461,6 +477,7 @@ msgstr "Version logicielle :" #: bookwyrm/templates/about/layout.html:30 #: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:200 +#: bookwyrm/templates/snippets/2fa_footer.html:8 #, python-format msgid "About %(site_name)s" msgstr "À propos de %(site_name)s" @@ -787,6 +804,7 @@ msgstr "Enregistrer" #: bookwyrm/templates/groups/delete_group_modal.html:15 #: bookwyrm/templates/lists/add_item_modal.html:36 #: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/preferences/disable-2fa.html:19 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:80 #: bookwyrm/templates/search/barcode_modal.html:45 @@ -806,6 +824,7 @@ msgstr "Le chargement des données se connectera à %(source_name)s
Voulez-vous suivre la visite guidée pour #: bookwyrm/templates/guided_tour/home.html:17 #: bookwyrm/templates/guided_tour/home.html:39 #: bookwyrm/templates/layout.html:212 +#: bookwyrm/templates/snippets/2fa_footer.html:20 msgid "Guided Tour" msgstr "Visite guidée" #: bookwyrm/templates/guided_tour/home.html:25 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:36 msgid "No thanks" msgstr "Non merci" @@ -2590,7 +2614,7 @@ msgid "Privacy setting for imported reviews:" msgstr "Confidentialité des critiques importées :" #: bookwyrm/templates/import/import.html:70 -#: bookwyrm/templates/preferences/layout.html:31 +#: bookwyrm/templates/preferences/layout.html:35 #: bookwyrm/templates/settings/federation/instance_blocklist.html:78 msgid "Import" msgstr "Importer" @@ -2846,6 +2870,7 @@ msgstr "Nom du compte :" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 #: bookwyrm/templates/layout.html:144 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/preferences/2fa.html:68 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Mot de passe :" @@ -2916,15 +2941,18 @@ msgid "Error posting status" msgstr "Erreur lors de la publication" #: bookwyrm/templates/layout.html:208 +#: bookwyrm/templates/snippets/2fa_footer.html:16 msgid "Documentation" msgstr "Documentation" #: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/snippets/2fa_footer.html:29 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Soutenez %(site_name)s sur %(support_title)s" #: bookwyrm/templates/layout.html:228 +#: bookwyrm/templates/snippets/2fa_footer.html:36 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "Le code source de BookWyrm est librement disponible. Vous pouvez contribuer ou rapporter des problèmes sur GitHub." @@ -3602,9 +3630,66 @@ msgstr "S’abonner à @%(username)s" msgid "You are now following %(display_name)s!" msgstr "Vous suivez maintenant %(display_name)s !" +#: bookwyrm/templates/preferences/2fa.html:4 +#: bookwyrm/templates/preferences/2fa.html:7 +#: bookwyrm/templates/preferences/layout.html:24 +msgid "Two Factor Authentication" +msgstr "Authentification à deux facteurs" + +#: bookwyrm/templates/preferences/2fa.html:16 +msgid "Successfully updated 2FA settings" +msgstr "Paramètres 2FA mis à jour avec succès" + +#: bookwyrm/templates/preferences/2fa.html:24 +msgid "Write down or copy and paste these codes somewhere safe." +msgstr "Recopiez ou collez ces codes dans un endroit sûr." + +#: bookwyrm/templates/preferences/2fa.html:25 +msgid "You must use them in order, and they will not be displayed again." +msgstr "Vous devez les utiliser dans l'ordre et ils ne seront plus affichés." + +#: bookwyrm/templates/preferences/2fa.html:35 +msgid "Two Factor Authentication is active on your account." +msgstr "L'authentification à deux facteurs est active sur votre compte." + +#: bookwyrm/templates/preferences/2fa.html:36 +#: bookwyrm/templates/preferences/disable-2fa.html:4 +#: bookwyrm/templates/preferences/disable-2fa.html:7 +msgid "Disable 2FA" +msgstr "Désactiver l’authentification à deux facteurs" + +#: bookwyrm/templates/preferences/2fa.html:39 +msgid "You can generate backup codes to use in case you do not have access to your authentication app. If you generate new codes, any backup codes previously generated will no longer work." +msgstr "Vous pouvez générer des codes de secours à utiliser si vous n'avez pas accès à votre application d'authentification. Si vous générez de nouveaux codes, tous les codes de secours précédemment générés ne fonctionneront plus." + +#: bookwyrm/templates/preferences/2fa.html:40 +msgid "Generate backup codes" +msgstr "Générer des codes de secours" + +#: bookwyrm/templates/preferences/2fa.html:45 +msgid "Scan the QR code with your authentication app and then enter the code from your app below to confirm your app is set up." +msgstr "Scannez le code QR avec votre app d'authentification, puis saisissez ci-dessous le code de votre app pour confirmer que celle-ci est bien configurée." + +#: bookwyrm/templates/preferences/2fa.html:50 +msgid "Enter the code from your app:" +msgstr "Entrez le code de votre app :" + +#: bookwyrm/templates/preferences/2fa.html:60 +msgid "You can make your account more secure by using Two Factor Authentication (2FA). This will require you to enter a one-time code using a phone app like Authy, Google Authenticator or Microsoft Authenticator each time you log in." +msgstr "Vous pouvez sécuriser votre compte en utilisant l’authentification à deux facteurs (2FA). Cela vous demandera de saisir un code à usage unique en utilisant une app mobile comme Authy, Google Authenticator ou Microsoft Authenticator à chaque fois que vous vous connectez." + +#: bookwyrm/templates/preferences/2fa.html:62 +msgid "Confirm your password to begin setting up 2FA." +msgstr "Confirmez votre mot de passe pour commencer à configurer l’authentification à deux facteur." + +#: bookwyrm/templates/preferences/2fa.html:72 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:37 +msgid "Set up 2FA" +msgstr "Configurer l’authentification à deux facteurs" + #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 -#: bookwyrm/templates/preferences/layout.html:42 +#: bookwyrm/templates/preferences/layout.html:46 msgid "Blocked Users" msgstr "Comptes bloqués" @@ -3634,7 +3719,7 @@ msgstr "Nouveau mot de passe :" #: bookwyrm/templates/preferences/delete_user.html:4 #: bookwyrm/templates/preferences/delete_user.html:7 #: bookwyrm/templates/preferences/delete_user.html:25 -#: bookwyrm/templates/preferences/layout.html:24 +#: bookwyrm/templates/preferences/layout.html:28 #: bookwyrm/templates/settings/users/delete_user_form.html:22 msgid "Delete Account" msgstr "Supprimer le compte" @@ -3647,6 +3732,18 @@ msgstr "Supprimer définitivement le compte" msgid "Deleting your account cannot be undone. The username will not be available to register in the future." msgstr "La suppression de votre compte ne peut pas être annulée. Le nom d'utilisateur ne sera plus disponible pour vous enregistrer dans le futur." +#: bookwyrm/templates/preferences/disable-2fa.html:12 +msgid "Disable Two Factor Authentication" +msgstr "Désactiver l’authentification à deux facteurs" + +#: bookwyrm/templates/preferences/disable-2fa.html:14 +msgid "Disabling 2FA will allow anyone with your username and password to log in to your account." +msgstr "La désactivation de l’authentification à deux facteur permettra à toute personne ayant votre nom d'utilisateur et votre mot de passe de se connecter à votre compte." + +#: bookwyrm/templates/preferences/disable-2fa.html:20 +msgid "Turn off 2FA" +msgstr "Désactiver l’authentification à deux facteurs" + #: bookwyrm/templates/preferences/edit_user.html:4 #: bookwyrm/templates/preferences/edit_user.html:7 #: bookwyrm/templates/preferences/layout.html:15 @@ -3727,15 +3824,15 @@ msgstr "Télécharger le fichier" msgid "Account" msgstr "Compte" -#: bookwyrm/templates/preferences/layout.html:27 +#: bookwyrm/templates/preferences/layout.html:31 msgid "Data" msgstr "Données" -#: bookwyrm/templates/preferences/layout.html:35 +#: bookwyrm/templates/preferences/layout.html:39 msgid "CSV export" msgstr "Export CSV" -#: bookwyrm/templates/preferences/layout.html:38 +#: bookwyrm/templates/preferences/layout.html:42 msgid "Relationships" msgstr "Relations" @@ -5860,6 +5957,26 @@ msgstr "Déplier" msgid "Show less" msgstr "Replier" +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:29 +msgid "2FA check" +msgstr "Vérification 2FA" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:37 +msgid "Enter the code from your authenticator app:" +msgstr "Entrez le code de votre app d’authentification :" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:41 +msgid "Confirm and Log In" +msgstr "Confirmer et se connecter" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:29 +msgid "2FA is available" +msgstr "2FA disponible" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:34 +msgid "You can secure your account by setting up two factor authentication in your user preferences. This will require a one-time code from your phone in addition to your password each time you log in." +msgstr "Vous pouvez sécuriser votre compte en configurant l’authentification à deux facteurs dans vos préférences utilisateur. Cela nécessitera un code unique de votre téléphone en plus de votre mot de passe chaque fois que vous vous connectez." + #: bookwyrm/templates/user/books_header.html:9 #, python-format msgid "%(username)s's books" @@ -6005,7 +6122,7 @@ msgstr "%(title)s (%(subtitle)s)" msgid "Not a valid csv file" msgstr "Fichier CSV non valide" -#: bookwyrm/views/landing/login.py:68 +#: bookwyrm/views/landing/login.py:86 msgid "Username or password are incorrect" msgstr "Identifiant ou mot de passe incorrect" diff --git a/locale/gl_ES/LC_MESSAGES/django.mo b/locale/gl_ES/LC_MESSAGES/django.mo index fc79866c22a19de7e39b49305d803c6dfacc9704..c17f9351109df4051ff21d057edc8397dff7b7c5 100644 GIT binary patch delta 28682 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 delta 25115 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\n" "Language-Team: Galician\n" "Language: gl\n" @@ -42,14 +42,18 @@ msgstr "{i} usos" msgid "Unlimited" msgstr "Sen límite" -#: bookwyrm/forms/edit_user.py:89 +#: bookwyrm/forms/edit_user.py:88 msgid "Incorrect password" msgstr "Contrasinal incorrecto" -#: bookwyrm/forms/edit_user.py:96 bookwyrm/forms/landing.py:71 +#: bookwyrm/forms/edit_user.py:95 bookwyrm/forms/landing.py:73 msgid "Password does not match" msgstr "O contrasinal non concorda" +#: bookwyrm/forms/edit_user.py:118 +msgid "Incorrect Password" +msgstr "Contrasinal incorrecto" + #: bookwyrm/forms/forms.py:54 msgid "Reading finish date cannot be before start date." msgstr "A data final da lectura non pode ser anterior á de inicio." @@ -58,14 +62,26 @@ msgstr "A data final da lectura non pode ser anterior á de inicio." msgid "Reading stopped date cannot be before start date." msgstr "A data do fin da lectura non pode ser anterior á de inicio." -#: bookwyrm/forms/landing.py:38 +#: bookwyrm/forms/forms.py:67 +msgid "Reading stopped date cannot be in the future." +msgstr "A data de deixar a lectura non pode ser futura." + +#: bookwyrm/forms/forms.py:74 +msgid "Reading finished date cannot be in the future." +msgstr "A data de fin da lectura non pode ser futura." + +#: bookwyrm/forms/landing.py:40 msgid "User with this username already exists" msgstr "Xa existe unha usuaria con este identificador" -#: bookwyrm/forms/landing.py:47 +#: bookwyrm/forms/landing.py:49 msgid "A user with this email already exists." msgstr "Xa existe unha usuaria con este email." +#: bookwyrm/forms/landing.py:107 bookwyrm/forms/landing.py:115 +msgid "Incorrect code" +msgstr "Código incorrecto" + #: bookwyrm/forms/links.py:36 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "Este dominio está bloqueado. Contacta coa administración se cres que é un erro." @@ -461,6 +477,7 @@ msgstr "Versión do software:" #: bookwyrm/templates/about/layout.html:30 #: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:200 +#: bookwyrm/templates/snippets/2fa_footer.html:8 #, python-format msgid "About %(site_name)s" msgstr "Acerca de %(site_name)s" @@ -787,6 +804,7 @@ msgstr "Gardar" #: bookwyrm/templates/groups/delete_group_modal.html:15 #: bookwyrm/templates/lists/add_item_modal.html:36 #: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/preferences/disable-2fa.html:19 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:80 #: bookwyrm/templates/search/barcode_modal.html:45 @@ -806,6 +824,7 @@ msgstr "Ao cargar os datos vas conectar con %(source_name)s e c #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 +#: bookwyrm/templates/preferences/2fa.html:54 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 msgid "Confirm" msgstr "Confirmar" @@ -1687,11 +1706,14 @@ msgstr "Restablece o contrasinal en %(site_name)s" #: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:40 #: bookwyrm/templates/setup/layout.html:15 +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:18 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:18 #, python-format msgid "%(site_name)s home page" msgstr "Páxina de inicio de %(site_name)s" #: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:204 +#: bookwyrm/templates/snippets/2fa_footer.html:12 msgid "Contact site admin" msgstr "Contacta coa administración" @@ -2261,10 +2283,12 @@ msgstr "" #: bookwyrm/templates/guided_tour/home.html:17 #: bookwyrm/templates/guided_tour/home.html:39 #: bookwyrm/templates/layout.html:212 +#: bookwyrm/templates/snippets/2fa_footer.html:20 msgid "Guided Tour" msgstr "" #: bookwyrm/templates/guided_tour/home.html:25 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:36 msgid "No thanks" msgstr "" @@ -2590,7 +2614,7 @@ msgid "Privacy setting for imported reviews:" msgstr "Axuste de privacidade para recensións importadas:" #: bookwyrm/templates/import/import.html:70 -#: bookwyrm/templates/preferences/layout.html:31 +#: bookwyrm/templates/preferences/layout.html:35 #: bookwyrm/templates/settings/federation/instance_blocklist.html:78 msgid "Import" msgstr "Importar" @@ -2846,6 +2870,7 @@ msgstr "Nome de usuaria:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 #: bookwyrm/templates/layout.html:144 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/preferences/2fa.html:68 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Contrasinal:" @@ -2916,15 +2941,18 @@ msgid "Error posting status" msgstr "Erro ao publicar" #: bookwyrm/templates/layout.html:208 +#: bookwyrm/templates/snippets/2fa_footer.html:16 msgid "Documentation" msgstr "Documentación" #: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/snippets/2fa_footer.html:29 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Axuda a %(site_name)s en %(support_title)s" #: bookwyrm/templates/layout.html:228 +#: bookwyrm/templates/snippets/2fa_footer.html:36 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "O código fonte de BookWyrm é público. Podes colaborar ou informar de problemas en GitHub." @@ -3602,9 +3630,66 @@ msgstr "Segue a %(username)s" msgid "You are now following %(display_name)s!" msgstr "Estás a seguir a %(display_name)s!" +#: bookwyrm/templates/preferences/2fa.html:4 +#: bookwyrm/templates/preferences/2fa.html:7 +#: bookwyrm/templates/preferences/layout.html:24 +msgid "Two Factor Authentication" +msgstr "Autenticación con dous factores" + +#: bookwyrm/templates/preferences/2fa.html:16 +msgid "Successfully updated 2FA settings" +msgstr "Axustes 2FA actualizados correctamente" + +#: bookwyrm/templates/preferences/2fa.html:24 +msgid "Write down or copy and paste these codes somewhere safe." +msgstr "Escribe ou copia estos códigos nalgún lugar seguro." + +#: bookwyrm/templates/preferences/2fa.html:25 +msgid "You must use them in order, and they will not be displayed again." +msgstr "Telos que utilizar en orde, e non volverán a ser mostrados." + +#: bookwyrm/templates/preferences/2fa.html:35 +msgid "Two Factor Authentication is active on your account." +msgstr "O Segundo Factor de Autenticación está activado para a túa conta." + +#: bookwyrm/templates/preferences/2fa.html:36 +#: bookwyrm/templates/preferences/disable-2fa.html:4 +#: bookwyrm/templates/preferences/disable-2fa.html:7 +msgid "Disable 2FA" +msgstr "Desactivar 2FA" + +#: bookwyrm/templates/preferences/2fa.html:39 +msgid "You can generate backup codes to use in case you do not have access to your authentication app. If you generate new codes, any backup codes previously generated will no longer work." +msgstr "Podes crear códigos de apoio para usar en caso de que non teñas acceso á app de autenticación. Podes crear novos códigos, pero os códigos antigos deixarán de ser válidos." + +#: bookwyrm/templates/preferences/2fa.html:40 +msgid "Generate backup codes" +msgstr "Crear códigos de apoio" + +#: bookwyrm/templates/preferences/2fa.html:45 +msgid "Scan the QR code with your authentication app and then enter the code from your app below to confirm your app is set up." +msgstr "Escanea o código QR coa túa app de autenticación e escribe aquí o código que apareza nela para confirmar que configuraches a app." + +#: bookwyrm/templates/preferences/2fa.html:50 +msgid "Enter the code from your app:" +msgstr "Escribe o código da túa app:" + +#: bookwyrm/templates/preferences/2fa.html:60 +msgid "You can make your account more secure by using Two Factor Authentication (2FA). This will require you to enter a one-time code using a phone app like Authy, Google Authenticator or Microsoft Authenticator each time you log in." +msgstr "Podes mellorar a seguridade da túa conta usando un Segundo Factor de Autenticación (2FA). Pediráseche un código temporal de un só uso procedente dunha app como Authy, Google Authenticator ou Microsoft Authenticator cada vez que accedas." + +#: bookwyrm/templates/preferences/2fa.html:62 +msgid "Confirm your password to begin setting up 2FA." +msgstr "Confirma o teu contrasinal para comezar a usar 2FA." + +#: bookwyrm/templates/preferences/2fa.html:72 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:37 +msgid "Set up 2FA" +msgstr "Configurar 2FA" + #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 -#: bookwyrm/templates/preferences/layout.html:42 +#: bookwyrm/templates/preferences/layout.html:46 msgid "Blocked Users" msgstr "Usuarias bloqueadas" @@ -3634,7 +3719,7 @@ msgstr "Novo contrasinal:" #: bookwyrm/templates/preferences/delete_user.html:4 #: bookwyrm/templates/preferences/delete_user.html:7 #: bookwyrm/templates/preferences/delete_user.html:25 -#: bookwyrm/templates/preferences/layout.html:24 +#: bookwyrm/templates/preferences/layout.html:28 #: bookwyrm/templates/settings/users/delete_user_form.html:22 msgid "Delete Account" msgstr "Eliminar conta" @@ -3647,6 +3732,18 @@ msgstr "Eliminar a conta de xeito definitivo" msgid "Deleting your account cannot be undone. The username will not be available to register in the future." msgstr "Se eliminas a conta non haberá volta atrás. O nome de usuaria non estará dispoñible para rexistro no futuro." +#: bookwyrm/templates/preferences/disable-2fa.html:12 +msgid "Disable Two Factor Authentication" +msgstr "Desactivar o Segundo Factor de Autenticación" + +#: bookwyrm/templates/preferences/disable-2fa.html:14 +msgid "Disabling 2FA will allow anyone with your username and password to log in to your account." +msgstr "Ao desactivar 2FA calquera que coñeza o teu contrasinal e identificador poderá acceder á túa conta." + +#: bookwyrm/templates/preferences/disable-2fa.html:20 +msgid "Turn off 2FA" +msgstr "Desactivar 2FA" + #: bookwyrm/templates/preferences/edit_user.html:4 #: bookwyrm/templates/preferences/edit_user.html:7 #: bookwyrm/templates/preferences/layout.html:15 @@ -3727,15 +3824,15 @@ msgstr "Descargar ficheiro" msgid "Account" msgstr "Conta" -#: bookwyrm/templates/preferences/layout.html:27 +#: bookwyrm/templates/preferences/layout.html:31 msgid "Data" msgstr "Datos" -#: bookwyrm/templates/preferences/layout.html:35 +#: bookwyrm/templates/preferences/layout.html:39 msgid "CSV export" msgstr "Exportar CSV" -#: bookwyrm/templates/preferences/layout.html:38 +#: bookwyrm/templates/preferences/layout.html:42 msgid "Relationships" msgstr "Relacións" @@ -5860,6 +5957,26 @@ msgstr "Mostrar máis" msgid "Show less" msgstr "Mostrar menos" +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:29 +msgid "2FA check" +msgstr "Comprobación 2FA" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:37 +msgid "Enter the code from your authenticator app:" +msgstr "Escribe o código da túa app de autenticación:" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:41 +msgid "Confirm and Log In" +msgstr "Confirma e Accede" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:29 +msgid "2FA is available" +msgstr "2FA está dispoñible" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:34 +msgid "You can secure your account by setting up two factor authentication in your user preferences. This will require a one-time code from your phone in addition to your password each time you log in." +msgstr "Podes mellorar a seguridade da túa conta establecendo un segundo factor de autenticación nas preferencias da conta. Pediraseche un código temporal dun só uso procedente da túa app xunto con contrasinal cada vez que inicies sesión." + #: bookwyrm/templates/user/books_header.html:9 #, python-format msgid "%(username)s's books" @@ -6005,7 +6122,7 @@ msgstr "%(title)s: %(subtitle)s" msgid "Not a valid csv file" msgstr "Non é un ficheiro csv válido" -#: bookwyrm/views/landing/login.py:68 +#: bookwyrm/views/landing/login.py:86 msgid "Username or password are incorrect" msgstr "As credenciais non son correctas" diff --git a/locale/it_IT/LC_MESSAGES/django.mo b/locale/it_IT/LC_MESSAGES/django.mo index 1420c97c3e15fd183d7adeabc232969824cf061d..c627cd9983f0e720c0ca07fa2aa1100a8d1b0717 100644 GIT binary patch delta 26 icmdn}gMIf8_J%Et-&Hw`3>AzFt&B{z|5s(Sxds53J_\n" "Language-Team: Italian\n" "Language: it\n" @@ -42,14 +42,18 @@ msgstr "{i} usi" msgid "Unlimited" msgstr "Illimitato" -#: bookwyrm/forms/edit_user.py:89 +#: bookwyrm/forms/edit_user.py:88 msgid "Incorrect password" msgstr "Password errata" -#: bookwyrm/forms/edit_user.py:96 bookwyrm/forms/landing.py:71 +#: bookwyrm/forms/edit_user.py:95 bookwyrm/forms/landing.py:73 msgid "Password does not match" msgstr "La password non corrisponde" +#: bookwyrm/forms/edit_user.py:118 +msgid "Incorrect Password" +msgstr "" + #: bookwyrm/forms/forms.py:54 msgid "Reading finish date cannot be before start date." msgstr "La data di fine lettura non può essere precedente alla data di inizio." @@ -58,14 +62,26 @@ msgstr "La data di fine lettura non può essere precedente alla data di inizio." msgid "Reading stopped date cannot be before start date." msgstr "La data di fine lettura non può essere precedente alla data di inizio." -#: bookwyrm/forms/landing.py:38 +#: bookwyrm/forms/forms.py:67 +msgid "Reading stopped date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/forms.py:74 +msgid "Reading finished date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/landing.py:40 msgid "User with this username already exists" msgstr "Esiste già un utente con questo nome utente" -#: bookwyrm/forms/landing.py:47 +#: bookwyrm/forms/landing.py:49 msgid "A user with this email already exists." msgstr "Esiste già un'utenza con questo indirizzo email." +#: bookwyrm/forms/landing.py:107 bookwyrm/forms/landing.py:115 +msgid "Incorrect code" +msgstr "" + #: bookwyrm/forms/links.py:36 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "Questo dominio è bloccato. Per favore contatta l'amministratore se pensi che si tratti di un errore." @@ -461,6 +477,7 @@ msgstr "Versione del software:" #: bookwyrm/templates/about/layout.html:30 #: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:200 +#: bookwyrm/templates/snippets/2fa_footer.html:8 #, python-format msgid "About %(site_name)s" msgstr "Informazioni su %(site_name)s" @@ -787,6 +804,7 @@ msgstr "Salva" #: bookwyrm/templates/groups/delete_group_modal.html:15 #: bookwyrm/templates/lists/add_item_modal.html:36 #: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/preferences/disable-2fa.html:19 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:80 #: bookwyrm/templates/search/barcode_modal.html:45 @@ -806,6 +824,7 @@ msgstr "Il caricamento dei dati si collegherà a %(source_name)s
Vuoi fare una visita guidata per aiutarti #: bookwyrm/templates/guided_tour/home.html:17 #: bookwyrm/templates/guided_tour/home.html:39 #: bookwyrm/templates/layout.html:212 +#: bookwyrm/templates/snippets/2fa_footer.html:20 msgid "Guided Tour" msgstr "Visita guidata" #: bookwyrm/templates/guided_tour/home.html:25 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:36 msgid "No thanks" msgstr "No, grazie" @@ -2590,7 +2614,7 @@ msgid "Privacy setting for imported reviews:" msgstr "Impostazione della privacy per le recensioni importate:" #: bookwyrm/templates/import/import.html:70 -#: bookwyrm/templates/preferences/layout.html:31 +#: bookwyrm/templates/preferences/layout.html:35 #: bookwyrm/templates/settings/federation/instance_blocklist.html:78 msgid "Import" msgstr "Importa" @@ -2846,6 +2870,7 @@ msgstr "Nome utente:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 #: bookwyrm/templates/layout.html:144 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/preferences/2fa.html:68 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Password:" @@ -2916,15 +2941,18 @@ msgid "Error posting status" msgstr "Errore nel pubblicare lo stato" #: bookwyrm/templates/layout.html:208 +#: bookwyrm/templates/snippets/2fa_footer.html:16 msgid "Documentation" msgstr "Documentazione" #: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/snippets/2fa_footer.html:29 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Supporta %(site_name)s su %(support_title)s" #: bookwyrm/templates/layout.html:228 +#: bookwyrm/templates/snippets/2fa_footer.html:36 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "Il codice sorgente di BookWyrm è disponibile liberamente. Puoi contribuire o segnalare problemi su GitHub." @@ -3602,9 +3630,66 @@ msgstr "Segui %(username)s" msgid "You are now following %(display_name)s!" msgstr "Ora stai seguendo %(display_name)s!" +#: bookwyrm/templates/preferences/2fa.html:4 +#: bookwyrm/templates/preferences/2fa.html:7 +#: bookwyrm/templates/preferences/layout.html:24 +msgid "Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:16 +msgid "Successfully updated 2FA settings" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:24 +msgid "Write down or copy and paste these codes somewhere safe." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:25 +msgid "You must use them in order, and they will not be displayed again." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:35 +msgid "Two Factor Authentication is active on your account." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:36 +#: bookwyrm/templates/preferences/disable-2fa.html:4 +#: bookwyrm/templates/preferences/disable-2fa.html:7 +msgid "Disable 2FA" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:39 +msgid "You can generate backup codes to use in case you do not have access to your authentication app. If you generate new codes, any backup codes previously generated will no longer work." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:40 +msgid "Generate backup codes" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:45 +msgid "Scan the QR code with your authentication app and then enter the code from your app below to confirm your app is set up." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:50 +msgid "Enter the code from your app:" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:60 +msgid "You can make your account more secure by using Two Factor Authentication (2FA). This will require you to enter a one-time code using a phone app like Authy, Google Authenticator or Microsoft Authenticator each time you log in." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:62 +msgid "Confirm your password to begin setting up 2FA." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:72 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:37 +msgid "Set up 2FA" +msgstr "" + #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 -#: bookwyrm/templates/preferences/layout.html:42 +#: bookwyrm/templates/preferences/layout.html:46 msgid "Blocked Users" msgstr "Utenti bloccati" @@ -3634,7 +3719,7 @@ msgstr "Nuova password:" #: bookwyrm/templates/preferences/delete_user.html:4 #: bookwyrm/templates/preferences/delete_user.html:7 #: bookwyrm/templates/preferences/delete_user.html:25 -#: bookwyrm/templates/preferences/layout.html:24 +#: bookwyrm/templates/preferences/layout.html:28 #: bookwyrm/templates/settings/users/delete_user_form.html:22 msgid "Delete Account" msgstr "Elimina account" @@ -3647,6 +3732,18 @@ msgstr "Cancellare permanentemente l'account" msgid "Deleting your account cannot be undone. The username will not be available to register in the future." msgstr "L'eliminazione del tuo account non può essere annullata. Il nome utente non sarà disponibile per la registrazione in futuro." +#: bookwyrm/templates/preferences/disable-2fa.html:12 +msgid "Disable Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:14 +msgid "Disabling 2FA will allow anyone with your username and password to log in to your account." +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:20 +msgid "Turn off 2FA" +msgstr "" + #: bookwyrm/templates/preferences/edit_user.html:4 #: bookwyrm/templates/preferences/edit_user.html:7 #: bookwyrm/templates/preferences/layout.html:15 @@ -3727,15 +3824,15 @@ msgstr "Scarica il file" msgid "Account" msgstr "Profilo" -#: bookwyrm/templates/preferences/layout.html:27 +#: bookwyrm/templates/preferences/layout.html:31 msgid "Data" msgstr "Dati" -#: bookwyrm/templates/preferences/layout.html:35 +#: bookwyrm/templates/preferences/layout.html:39 msgid "CSV export" msgstr "Esportazione CSV" -#: bookwyrm/templates/preferences/layout.html:38 +#: bookwyrm/templates/preferences/layout.html:42 msgid "Relationships" msgstr "Relazioni" @@ -5860,6 +5957,26 @@ msgstr "Mostra di più" msgid "Show less" msgstr "Mostra meno" +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:29 +msgid "2FA check" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:37 +msgid "Enter the code from your authenticator app:" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:41 +msgid "Confirm and Log In" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:29 +msgid "2FA is available" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:34 +msgid "You can secure your account by setting up two factor authentication in your user preferences. This will require a one-time code from your phone in addition to your password each time you log in." +msgstr "" + #: bookwyrm/templates/user/books_header.html:9 #, python-format msgid "%(username)s's books" @@ -6005,7 +6122,7 @@ msgstr "%(title)s: %(subtitle)s" msgid "Not a valid csv file" msgstr "Non è un file di csv valido" -#: bookwyrm/views/landing/login.py:68 +#: bookwyrm/views/landing/login.py:86 msgid "Username or password are incorrect" msgstr "Nome utente o password errati" diff --git a/locale/lt_LT/LC_MESSAGES/django.mo b/locale/lt_LT/LC_MESSAGES/django.mo index f87be534b7fd18e3fc6dd5fe095cef3d97581de7..7de9272a53da9294d12ca0549394c43a934e0306 100644 GIT binary patch delta 23 fcmcaIgYC);whfJsIE)Mxj0~-eOg48uI=vDAcQgtZ delta 23 fcmcaIgYC);whfJsI1Ee_3@xn;4L5f_I=vDAcVh}1 diff --git a/locale/lt_LT/LC_MESSAGES/django.po b/locale/lt_LT/LC_MESSAGES/django.po index 0cd6d55af..d9a2b0ee4 100644 --- a/locale/lt_LT/LC_MESSAGES/django.po +++ b/locale/lt_LT/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-04 18:03+0000\n" -"PO-Revision-Date: 2022-10-04 19:11\n" +"POT-Creation-Date: 2022-10-21 21:11+0000\n" +"PO-Revision-Date: 2022-10-21 21:24\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Lithuanian\n" "Language: lt\n" @@ -42,14 +42,18 @@ msgstr "{i} naudoja" msgid "Unlimited" msgstr "Neribota" -#: bookwyrm/forms/edit_user.py:89 +#: bookwyrm/forms/edit_user.py:88 msgid "Incorrect password" msgstr "Neteisingas slaptažodis" -#: bookwyrm/forms/edit_user.py:96 bookwyrm/forms/landing.py:71 +#: bookwyrm/forms/edit_user.py:95 bookwyrm/forms/landing.py:73 msgid "Password does not match" msgstr "Slaptažodis nesutampa" +#: bookwyrm/forms/edit_user.py:118 +msgid "Incorrect Password" +msgstr "" + #: bookwyrm/forms/forms.py:54 msgid "Reading finish date cannot be before start date." msgstr "Skaitymo pabaigos data negali būti prieš skaitymo pradžios datą." @@ -58,14 +62,26 @@ msgstr "Skaitymo pabaigos data negali būti prieš skaitymo pradžios datą." msgid "Reading stopped date cannot be before start date." msgstr "Skaitymo pabaigos data negali būti prieš skaitymo pradžios datą." -#: bookwyrm/forms/landing.py:38 +#: bookwyrm/forms/forms.py:67 +msgid "Reading stopped date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/forms.py:74 +msgid "Reading finished date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/landing.py:40 msgid "User with this username already exists" msgstr "Toks naudotojo vardas jau egzistuoja" -#: bookwyrm/forms/landing.py:47 +#: bookwyrm/forms/landing.py:49 msgid "A user with this email already exists." msgstr "Vartotojas su šiuo el. pašto adresu jau yra." +#: bookwyrm/forms/landing.py:107 bookwyrm/forms/landing.py:115 +msgid "Incorrect code" +msgstr "" + #: bookwyrm/forms/links.py:36 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "Šis domenas užblokuotas. Jei manote, kad tai klaida, susisiekite su savo administratoriumi." @@ -461,6 +477,7 @@ msgstr "Serverio programinės įrangos versija:" #: bookwyrm/templates/about/layout.html:30 #: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:200 +#: bookwyrm/templates/snippets/2fa_footer.html:8 #, python-format msgid "About %(site_name)s" msgstr "Apie %(site_name)s" @@ -795,6 +812,7 @@ msgstr "Išsaugoti" #: bookwyrm/templates/groups/delete_group_modal.html:15 #: bookwyrm/templates/lists/add_item_modal.html:36 #: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/preferences/disable-2fa.html:19 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:80 #: bookwyrm/templates/search/barcode_modal.html:45 @@ -814,6 +832,7 @@ msgstr "Duomenų įkėlimas prisijungs prie %(source_name)s ir #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 +#: bookwyrm/templates/preferences/2fa.html:54 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 msgid "Confirm" msgstr "Patvirtinti" @@ -1703,11 +1722,14 @@ msgstr "Keisti %(site_name)s slaptažodį" #: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:40 #: bookwyrm/templates/setup/layout.html:15 +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:18 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:18 #, python-format msgid "%(site_name)s home page" msgstr "%(site_name)s pagrindinis puslapis" #: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:204 +#: bookwyrm/templates/snippets/2fa_footer.html:12 msgid "Contact site admin" msgstr "Puslapio administratorius" @@ -2281,10 +2303,12 @@ msgstr "" #: bookwyrm/templates/guided_tour/home.html:17 #: bookwyrm/templates/guided_tour/home.html:39 #: bookwyrm/templates/layout.html:212 +#: bookwyrm/templates/snippets/2fa_footer.html:20 msgid "Guided Tour" msgstr "" #: bookwyrm/templates/guided_tour/home.html:25 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:36 msgid "No thanks" msgstr "" @@ -2610,7 +2634,7 @@ msgid "Privacy setting for imported reviews:" msgstr "Privatumo nustatymai svarbiems atsiliepimams:" #: bookwyrm/templates/import/import.html:70 -#: bookwyrm/templates/preferences/layout.html:31 +#: bookwyrm/templates/preferences/layout.html:35 #: bookwyrm/templates/settings/federation/instance_blocklist.html:78 msgid "Import" msgstr "Importuoti" @@ -2870,6 +2894,7 @@ msgstr "Naudotojo vardas:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 #: bookwyrm/templates/layout.html:144 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/preferences/2fa.html:68 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Slaptažodis:" @@ -2940,15 +2965,18 @@ msgid "Error posting status" msgstr "Klaida, publikuojant būseną" #: bookwyrm/templates/layout.html:208 +#: bookwyrm/templates/snippets/2fa_footer.html:16 msgid "Documentation" msgstr "Dokumentacija" #: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/snippets/2fa_footer.html:29 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "" #: bookwyrm/templates/layout.html:228 +#: bookwyrm/templates/snippets/2fa_footer.html:36 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "" @@ -3632,9 +3660,66 @@ msgstr "Sekite %(username)s" msgid "You are now following %(display_name)s!" msgstr "Dabar sekate %(display_name)s!" +#: bookwyrm/templates/preferences/2fa.html:4 +#: bookwyrm/templates/preferences/2fa.html:7 +#: bookwyrm/templates/preferences/layout.html:24 +msgid "Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:16 +msgid "Successfully updated 2FA settings" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:24 +msgid "Write down or copy and paste these codes somewhere safe." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:25 +msgid "You must use them in order, and they will not be displayed again." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:35 +msgid "Two Factor Authentication is active on your account." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:36 +#: bookwyrm/templates/preferences/disable-2fa.html:4 +#: bookwyrm/templates/preferences/disable-2fa.html:7 +msgid "Disable 2FA" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:39 +msgid "You can generate backup codes to use in case you do not have access to your authentication app. If you generate new codes, any backup codes previously generated will no longer work." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:40 +msgid "Generate backup codes" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:45 +msgid "Scan the QR code with your authentication app and then enter the code from your app below to confirm your app is set up." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:50 +msgid "Enter the code from your app:" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:60 +msgid "You can make your account more secure by using Two Factor Authentication (2FA). This will require you to enter a one-time code using a phone app like Authy, Google Authenticator or Microsoft Authenticator each time you log in." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:62 +msgid "Confirm your password to begin setting up 2FA." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:72 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:37 +msgid "Set up 2FA" +msgstr "" + #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 -#: bookwyrm/templates/preferences/layout.html:42 +#: bookwyrm/templates/preferences/layout.html:46 msgid "Blocked Users" msgstr "Blokuoti nariai" @@ -3664,7 +3749,7 @@ msgstr "Naujas slaptažodis:" #: bookwyrm/templates/preferences/delete_user.html:4 #: bookwyrm/templates/preferences/delete_user.html:7 #: bookwyrm/templates/preferences/delete_user.html:25 -#: bookwyrm/templates/preferences/layout.html:24 +#: bookwyrm/templates/preferences/layout.html:28 #: bookwyrm/templates/settings/users/delete_user_form.html:22 msgid "Delete Account" msgstr "Pašalinti paskyrą" @@ -3677,6 +3762,18 @@ msgstr "Visam laikui ištrinti paskyrą" msgid "Deleting your account cannot be undone. The username will not be available to register in the future." msgstr "Nebegalėsite atstatyti ištrintos paskyros. Ateityje nebegalėsite naudoti šio naudotojo vardo." +#: bookwyrm/templates/preferences/disable-2fa.html:12 +msgid "Disable Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:14 +msgid "Disabling 2FA will allow anyone with your username and password to log in to your account." +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:20 +msgid "Turn off 2FA" +msgstr "" + #: bookwyrm/templates/preferences/edit_user.html:4 #: bookwyrm/templates/preferences/edit_user.html:7 #: bookwyrm/templates/preferences/layout.html:15 @@ -3757,15 +3854,15 @@ msgstr "Parsisiųsti failą" msgid "Account" msgstr "Paskyra" -#: bookwyrm/templates/preferences/layout.html:27 +#: bookwyrm/templates/preferences/layout.html:31 msgid "Data" msgstr "Duomenys" -#: bookwyrm/templates/preferences/layout.html:35 +#: bookwyrm/templates/preferences/layout.html:39 msgid "CSV export" msgstr "CSV eksportas" -#: bookwyrm/templates/preferences/layout.html:38 +#: bookwyrm/templates/preferences/layout.html:42 msgid "Relationships" msgstr "Sąsajos" @@ -5914,6 +6011,26 @@ msgstr "Rodyti daugiau" msgid "Show less" msgstr "Rodyti mažiau" +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:29 +msgid "2FA check" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:37 +msgid "Enter the code from your authenticator app:" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:41 +msgid "Confirm and Log In" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:29 +msgid "2FA is available" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:34 +msgid "You can secure your account by setting up two factor authentication in your user preferences. This will require a one-time code from your phone in addition to your password each time you log in." +msgstr "" + #: bookwyrm/templates/user/books_header.html:9 #, python-format msgid "%(username)s's books" @@ -6063,7 +6180,7 @@ msgstr "%(title)s: %(subtitle)s" msgid "Not a valid csv file" msgstr "Netinkamas csv failas" -#: bookwyrm/views/landing/login.py:68 +#: bookwyrm/views/landing/login.py:86 msgid "Username or password are incorrect" msgstr "Naudotojo vardas arba slaptažodis neteisingi" diff --git a/locale/no_NO/LC_MESSAGES/django.mo b/locale/no_NO/LC_MESSAGES/django.mo index 33cf20a9588d032a49cf48ec15a1381fe7abc6c4..aea4b83b80febfe86e29c8e77cfaa73ebe9d4946 100644 GIT binary patch delta 23 fcmex)f#v4~mJO~uIgAVyj0~-eOg8)O)X4_`eG3UI delta 23 fcmex)f#v4~mJO~uISfn`3@xn;4LAGl)X4_`eL4v* diff --git a/locale/no_NO/LC_MESSAGES/django.po b/locale/no_NO/LC_MESSAGES/django.po index 12fda2a5e..36165743c 100644 --- a/locale/no_NO/LC_MESSAGES/django.po +++ b/locale/no_NO/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-04 18:03+0000\n" -"PO-Revision-Date: 2022-10-04 19:11\n" +"POT-Creation-Date: 2022-10-21 21:11+0000\n" +"PO-Revision-Date: 2022-10-21 21:24\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Norwegian\n" "Language: no\n" @@ -42,14 +42,18 @@ msgstr "{i} ganger" msgid "Unlimited" msgstr "Ubegrenset" -#: bookwyrm/forms/edit_user.py:89 +#: bookwyrm/forms/edit_user.py:88 msgid "Incorrect password" msgstr "Feil passord" -#: bookwyrm/forms/edit_user.py:96 bookwyrm/forms/landing.py:71 +#: bookwyrm/forms/edit_user.py:95 bookwyrm/forms/landing.py:73 msgid "Password does not match" msgstr "Passordet samsvarer ikke" +#: bookwyrm/forms/edit_user.py:118 +msgid "Incorrect Password" +msgstr "" + #: bookwyrm/forms/forms.py:54 msgid "Reading finish date cannot be before start date." msgstr "Sluttdato kan ikke være før startdato." @@ -58,14 +62,26 @@ msgstr "Sluttdato kan ikke være før startdato." msgid "Reading stopped date cannot be before start date." msgstr "Stoppdato for lesing kan ikke være før startdato." -#: bookwyrm/forms/landing.py:38 +#: bookwyrm/forms/forms.py:67 +msgid "Reading stopped date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/forms.py:74 +msgid "Reading finished date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/landing.py:40 msgid "User with this username already exists" msgstr "En bruker med det brukernavnet finnes allerede" -#: bookwyrm/forms/landing.py:47 +#: bookwyrm/forms/landing.py:49 msgid "A user with this email already exists." msgstr "Den e-postadressen er allerede registrert." +#: bookwyrm/forms/landing.py:107 bookwyrm/forms/landing.py:115 +msgid "Incorrect code" +msgstr "" + #: bookwyrm/forms/links.py:36 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "Dette domenet er blokkert. Kontakt systemansvarlig hvis du tror dette er en feil." @@ -461,6 +477,7 @@ msgstr "Programvareversjon:" #: bookwyrm/templates/about/layout.html:30 #: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:200 +#: bookwyrm/templates/snippets/2fa_footer.html:8 #, python-format msgid "About %(site_name)s" msgstr "Om %(site_name)s" @@ -787,6 +804,7 @@ msgstr "Lagre" #: bookwyrm/templates/groups/delete_group_modal.html:15 #: bookwyrm/templates/lists/add_item_modal.html:36 #: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/preferences/disable-2fa.html:19 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:80 #: bookwyrm/templates/search/barcode_modal.html:45 @@ -806,6 +824,7 @@ msgstr "Laster inn data kobler til %(source_name)s og finner me #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 +#: bookwyrm/templates/preferences/2fa.html:54 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 msgid "Confirm" msgstr "Bekreft" @@ -1687,11 +1706,14 @@ msgstr "Tilbakestill passordet ditt på %(site_name)s" #: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:40 #: bookwyrm/templates/setup/layout.html:15 +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:18 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:18 #, python-format msgid "%(site_name)s home page" msgstr "%(site_name)s hjemmeside" #: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:204 +#: bookwyrm/templates/snippets/2fa_footer.html:12 msgid "Contact site admin" msgstr "Kontakt administrator" @@ -2261,10 +2283,12 @@ msgstr "" #: bookwyrm/templates/guided_tour/home.html:17 #: bookwyrm/templates/guided_tour/home.html:39 #: bookwyrm/templates/layout.html:212 +#: bookwyrm/templates/snippets/2fa_footer.html:20 msgid "Guided Tour" msgstr "" #: bookwyrm/templates/guided_tour/home.html:25 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:36 msgid "No thanks" msgstr "" @@ -2590,7 +2614,7 @@ msgid "Privacy setting for imported reviews:" msgstr "Personverninnstilling for importerte anmeldelser:" #: bookwyrm/templates/import/import.html:70 -#: bookwyrm/templates/preferences/layout.html:31 +#: bookwyrm/templates/preferences/layout.html:35 #: bookwyrm/templates/settings/federation/instance_blocklist.html:78 msgid "Import" msgstr "Importér" @@ -2846,6 +2870,7 @@ msgstr "Brukernavn:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 #: bookwyrm/templates/layout.html:144 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/preferences/2fa.html:68 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Passord:" @@ -2916,15 +2941,18 @@ msgid "Error posting status" msgstr "Feil ved lagring av status" #: bookwyrm/templates/layout.html:208 +#: bookwyrm/templates/snippets/2fa_footer.html:16 msgid "Documentation" msgstr "Dokumentasjon" #: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/snippets/2fa_footer.html:29 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "" #: bookwyrm/templates/layout.html:228 +#: bookwyrm/templates/snippets/2fa_footer.html:36 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "" @@ -3602,9 +3630,66 @@ msgstr "Følg %(username)s" msgid "You are now following %(display_name)s!" msgstr "Du følger nå %(display_name)s!" +#: bookwyrm/templates/preferences/2fa.html:4 +#: bookwyrm/templates/preferences/2fa.html:7 +#: bookwyrm/templates/preferences/layout.html:24 +msgid "Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:16 +msgid "Successfully updated 2FA settings" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:24 +msgid "Write down or copy and paste these codes somewhere safe." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:25 +msgid "You must use them in order, and they will not be displayed again." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:35 +msgid "Two Factor Authentication is active on your account." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:36 +#: bookwyrm/templates/preferences/disable-2fa.html:4 +#: bookwyrm/templates/preferences/disable-2fa.html:7 +msgid "Disable 2FA" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:39 +msgid "You can generate backup codes to use in case you do not have access to your authentication app. If you generate new codes, any backup codes previously generated will no longer work." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:40 +msgid "Generate backup codes" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:45 +msgid "Scan the QR code with your authentication app and then enter the code from your app below to confirm your app is set up." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:50 +msgid "Enter the code from your app:" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:60 +msgid "You can make your account more secure by using Two Factor Authentication (2FA). This will require you to enter a one-time code using a phone app like Authy, Google Authenticator or Microsoft Authenticator each time you log in." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:62 +msgid "Confirm your password to begin setting up 2FA." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:72 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:37 +msgid "Set up 2FA" +msgstr "" + #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 -#: bookwyrm/templates/preferences/layout.html:42 +#: bookwyrm/templates/preferences/layout.html:46 msgid "Blocked Users" msgstr "Blokkerte brukere" @@ -3634,7 +3719,7 @@ msgstr "Nytt passord:" #: bookwyrm/templates/preferences/delete_user.html:4 #: bookwyrm/templates/preferences/delete_user.html:7 #: bookwyrm/templates/preferences/delete_user.html:25 -#: bookwyrm/templates/preferences/layout.html:24 +#: bookwyrm/templates/preferences/layout.html:28 #: bookwyrm/templates/settings/users/delete_user_form.html:22 msgid "Delete Account" msgstr "Slett konto" @@ -3647,6 +3732,18 @@ msgstr "Slett kontoen din permanent" msgid "Deleting your account cannot be undone. The username will not be available to register in the future." msgstr "Å slette kontoen din kan ikke angres. Brukernavnet vil ikke være tilgjengelig for registrering i fremtiden." +#: bookwyrm/templates/preferences/disable-2fa.html:12 +msgid "Disable Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:14 +msgid "Disabling 2FA will allow anyone with your username and password to log in to your account." +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:20 +msgid "Turn off 2FA" +msgstr "" + #: bookwyrm/templates/preferences/edit_user.html:4 #: bookwyrm/templates/preferences/edit_user.html:7 #: bookwyrm/templates/preferences/layout.html:15 @@ -3727,15 +3824,15 @@ msgstr "" msgid "Account" msgstr "Konto" -#: bookwyrm/templates/preferences/layout.html:27 +#: bookwyrm/templates/preferences/layout.html:31 msgid "Data" msgstr "" -#: bookwyrm/templates/preferences/layout.html:35 +#: bookwyrm/templates/preferences/layout.html:39 msgid "CSV export" msgstr "" -#: bookwyrm/templates/preferences/layout.html:38 +#: bookwyrm/templates/preferences/layout.html:42 msgid "Relationships" msgstr "Relasjoner" @@ -5858,6 +5955,26 @@ msgstr "Vis mer" msgid "Show less" msgstr "Vis mindre" +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:29 +msgid "2FA check" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:37 +msgid "Enter the code from your authenticator app:" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:41 +msgid "Confirm and Log In" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:29 +msgid "2FA is available" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:34 +msgid "You can secure your account by setting up two factor authentication in your user preferences. This will require a one-time code from your phone in addition to your password each time you log in." +msgstr "" + #: bookwyrm/templates/user/books_header.html:9 #, python-format msgid "%(username)s's books" @@ -6003,7 +6120,7 @@ msgstr "%(title)s: %(subtitle)s" msgid "Not a valid csv file" msgstr "Ikke en gyldig csv-fil" -#: bookwyrm/views/landing/login.py:68 +#: bookwyrm/views/landing/login.py:86 msgid "Username or password are incorrect" msgstr "Feil brukernavn eller passord" diff --git a/locale/pl_PL/LC_MESSAGES/django.mo b/locale/pl_PL/LC_MESSAGES/django.mo index 9e2040e5c9593317e55b80fcb5bcca4b55445c39..a7883074c9d802402b8fea5546bb5e2c9a030f32 100644 GIT binary patch delta 28409 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 delta 24888 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%0A<(^Eq zi57}LM#_}@o<_Y~gl|*!3wJZ}&XK0;p_V%q z32CTU)ucIRN$W>i9!yVKJ;J@XbycUKkywlSl1)2BU0s=Nhutt9dHUJWk2d-ce~r2h zb04tvQjq3OOy%wrSnJ7V3#<#s>`Z!3;;U_iXLyzPJzGZnOu3Jw>${=R+?!}`F!6M@ z!+5lDh_tNeBE34dt{TK&>GS{l)r$%n$lOZ88Y<}fv_FYowG~uu0A<#b*N(9!w*Q;^^N-}cO%N{T10*YjDwH3|DaqiTh>#6F9mHIg-MUY z{erqJxV;GfLjO)>X10w;Q!GG*_Jn`DcGJLmn~;#a^xQQ`^QV#4r0Ykrw4_ZZ-k$q+ z;<<>YY*C#J4e!tuU$$UY< zRopYlsLiatUqJ*ulYWviRk=Ho-^}Khu{Nd58SbLw>&l4>u%_)?Y5gc$h4d-ZA4q%@ z_h{n1_21u#OQ1Xj+F_9&MmGM32D+1;jY@u$yFj{rCe$_2mT!b7h_@iG3uSa&v-Pv$ z81k=~WTzG3VWj2r#M%G6Bg!?Xc9?DO# z=_=EacIt8aa8FbMS2%q%=DtbUl-mD7MCMYdA%#W~9{)oFqX@4g?G}Y~Ðq37Id` zY*{@;L4>!FoP}`RAKGY0S}od`jR7|OU)x@&KL7Q*obOjt3YPz&a&t0Q> z*;s|U0|l#5c`D)Oq_5x}$-R}hu8M?ph1-GrM0r2r$5Gc3?o#B9qug)QxnR?k=N_T2 zB!1-no8TET7gDe^cTVE1F$K4-cD6%)Bj>qBkRDEGxJ?fseLwLKI(uh|cz%=PBS9;RM zaVMc%BI1Sd6Y-4Pxru+E!vIW6dKi}GUP9g=?tX5*#3n)4c{|!Rq?MxZPuw#}pNAhw z%V(Ew1mT60eT=%|ldmfw@dGw(DQQup74_useFSyW5zfH9)0S73yC)UakZ>CZ(&%)| zj%BzbxC>Hf18Jcu&2^8kqnj(5dim|3ys-!6my=$A^xrA7pZIaYDR2$xg(%aTa2@Wt z#FOaxziAsI?u;R$IfWXK)`+mKch&&R|3ldUHaq!eiR-_jUXi;t;Q~sd?)R%AflS=p zsH5uz_i4TVi&My#NPij{h7GtUl2($u*>)gd#9Na7ig+B%Ox_=uhfa2q=1+LJE!&j5 ztAwX=pC&yvUdGp?uO^(5I}!CZ(55>jiBSYjQlK=6x*C(##RUKNH8qu5l0SgEC1G7Z zbKfVtllrxdY;t41_+NMPkf6aZE^2xd96JDw3uM>ra+XhdO_zxBSA>P_n{GGw* zDni_wJ2QDRZ22pscP8ABGSTEk5#C7nD&aYvTIS1J(vA?kz+IF6Ldma8c$@bB`<0iB zd}P$8@Xy>IxRVecgPpO__kwtWG+l2DP6QnvBfQZLY#-%gac|`Qe#IhCi#~j*yO;DC z+)ebIOE&H-WF#dc9}R59Puw|3uRwef;lBy%D$G5Wy9MQSUF6J`Ii@qUbuWutmwPzvUo?=+t|xH`r5B2Vn-j_RWs>~ zN@uG^?>_728(r#RF7N1mmyh^Hx4d~YZuH2fwf&<5{@LO^qxZkVqJR7J%q#lNms|<_ z^ArfqTeMi-yfG;PT#*UXNldJ?u8ig8q-g0%Jm=?@u8^3eEnRi}Vpeu=o%fE}-`N%7 z6Z5UR>p;Ai`$Jq)0_SX+79h32dt7PK;1Kei=3IG5A diff --git a/locale/pl_PL/LC_MESSAGES/django.po b/locale/pl_PL/LC_MESSAGES/django.po index 49549ef0d..3b2cfe4b2 100644 --- a/locale/pl_PL/LC_MESSAGES/django.po +++ b/locale/pl_PL/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-04 18:03+0000\n" -"PO-Revision-Date: 2022-10-04 19:11\n" +"POT-Creation-Date: 2022-10-21 21:11+0000\n" +"PO-Revision-Date: 2022-10-22 18:12\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Polish\n" "Language: pl\n" @@ -42,14 +42,18 @@ msgstr "{i} użyć" msgid "Unlimited" msgstr "Nieskończone" -#: bookwyrm/forms/edit_user.py:89 +#: bookwyrm/forms/edit_user.py:88 msgid "Incorrect password" msgstr "Niepoprawne hasło" -#: bookwyrm/forms/edit_user.py:96 bookwyrm/forms/landing.py:71 +#: bookwyrm/forms/edit_user.py:95 bookwyrm/forms/landing.py:73 msgid "Password does not match" msgstr "Hasła nie są identyczne" +#: bookwyrm/forms/edit_user.py:118 +msgid "Incorrect Password" +msgstr "Niepoprawne hasło" + #: bookwyrm/forms/forms.py:54 msgid "Reading finish date cannot be before start date." msgstr "Data ukończenia czytania musi mieć miejsce po dacie rozpoczęcia." @@ -58,14 +62,26 @@ msgstr "Data ukończenia czytania musi mieć miejsce po dacie rozpoczęcia." msgid "Reading stopped date cannot be before start date." msgstr "Data ukończenia czytania musi mieć miejsce po dacie rozpoczęcia." -#: bookwyrm/forms/landing.py:38 +#: bookwyrm/forms/forms.py:67 +msgid "Reading stopped date cannot be in the future." +msgstr "Data wstrzymania czytania nie może być w przyszłości." + +#: bookwyrm/forms/forms.py:74 +msgid "Reading finished date cannot be in the future." +msgstr "Data zakończenia czytania nie może być w przyszłości." + +#: bookwyrm/forms/landing.py:40 msgid "User with this username already exists" msgstr "Ta nazwa użytkownika jest już używana" -#: bookwyrm/forms/landing.py:47 +#: bookwyrm/forms/landing.py:49 msgid "A user with this email already exists." msgstr "Ten adres e-mail jest już w użyciu." +#: bookwyrm/forms/landing.py:107 bookwyrm/forms/landing.py:115 +msgid "Incorrect code" +msgstr "Niepoprawny kod" + #: bookwyrm/forms/links.py:36 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "Ta domena jest zablokowana. Skontaktuj się z administratorem, jeśli uważasz, że wystąpił błąd." @@ -461,6 +477,7 @@ msgstr "Wersja oprogramowania:" #: bookwyrm/templates/about/layout.html:30 #: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:200 +#: bookwyrm/templates/snippets/2fa_footer.html:8 #, python-format msgid "About %(site_name)s" msgstr "Informacje o %(site_name)s" @@ -795,6 +812,7 @@ msgstr "Zapisz" #: bookwyrm/templates/groups/delete_group_modal.html:15 #: bookwyrm/templates/lists/add_item_modal.html:36 #: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/preferences/disable-2fa.html:19 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:80 #: bookwyrm/templates/search/barcode_modal.html:45 @@ -814,6 +832,7 @@ msgstr "Wczytanie danych spowoduje połączenie z %(source_name)s
Czy chcesz wziąć udział w oprowadzeniu, aby #: bookwyrm/templates/guided_tour/home.html:17 #: bookwyrm/templates/guided_tour/home.html:39 #: bookwyrm/templates/layout.html:212 +#: bookwyrm/templates/snippets/2fa_footer.html:20 msgid "Guided Tour" msgstr "Przewodnik" #: bookwyrm/templates/guided_tour/home.html:25 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:36 msgid "No thanks" msgstr "Nie, dziękuję" @@ -2610,7 +2634,7 @@ msgid "Privacy setting for imported reviews:" msgstr "Ustawienia prywatności dla importowanych recenzji:" #: bookwyrm/templates/import/import.html:70 -#: bookwyrm/templates/preferences/layout.html:31 +#: bookwyrm/templates/preferences/layout.html:35 #: bookwyrm/templates/settings/federation/instance_blocklist.html:78 msgid "Import" msgstr "Importuj" @@ -2870,6 +2894,7 @@ msgstr "Nazwa użytkownika:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 #: bookwyrm/templates/layout.html:144 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/preferences/2fa.html:68 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Hasło:" @@ -2940,15 +2965,18 @@ msgid "Error posting status" msgstr "Błąd zamieszczania statusu" #: bookwyrm/templates/layout.html:208 +#: bookwyrm/templates/snippets/2fa_footer.html:16 msgid "Documentation" msgstr "Dokumentacja" #: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/snippets/2fa_footer.html:29 #, python-format msgid "Support %(site_name)s on
%(support_title)s" msgstr "" #: bookwyrm/templates/layout.html:228 +#: bookwyrm/templates/snippets/2fa_footer.html:36 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "" @@ -3632,9 +3660,66 @@ msgstr "Obserwuj %(username)s" msgid "You are now following %(display_name)s!" msgstr "Obserwujesz %(display_name)s!" +#: bookwyrm/templates/preferences/2fa.html:4 +#: bookwyrm/templates/preferences/2fa.html:7 +#: bookwyrm/templates/preferences/layout.html:24 +msgid "Two Factor Authentication" +msgstr "Uwierzytelnianie dwuskładnikowe" + +#: bookwyrm/templates/preferences/2fa.html:16 +msgid "Successfully updated 2FA settings" +msgstr "Zaktualizowano ustawienia uwierzytelniania" + +#: bookwyrm/templates/preferences/2fa.html:24 +msgid "Write down or copy and paste these codes somewhere safe." +msgstr "Zapisz gdzieś lub skopiuj i wklej te kody do bezpiecznego miejsca." + +#: bookwyrm/templates/preferences/2fa.html:25 +msgid "You must use them in order, and they will not be displayed again." +msgstr "Należy ich użyć w dokładnie takiej kolejności i nie zobaczysz ich już nigdy więcej." + +#: bookwyrm/templates/preferences/2fa.html:35 +msgid "Two Factor Authentication is active on your account." +msgstr "Uwierzytelnianie dwuskładnikowe jest aktywne dla Twojego konta." + +#: bookwyrm/templates/preferences/2fa.html:36 +#: bookwyrm/templates/preferences/disable-2fa.html:4 +#: bookwyrm/templates/preferences/disable-2fa.html:7 +msgid "Disable 2FA" +msgstr "Wyłącz 2FA" + +#: bookwyrm/templates/preferences/2fa.html:39 +msgid "You can generate backup codes to use in case you do not have access to your authentication app. If you generate new codes, any backup codes previously generated will no longer work." +msgstr "Możesz wygenerować kody zapasowe do użycia, gdy nie będziesz mieć dostępu do aplikacji uwierzytelniającej. Po wygenerowaniu nowych kodów, wszelkie poprzednie kody zapasowe utracą ważność." + +#: bookwyrm/templates/preferences/2fa.html:40 +msgid "Generate backup codes" +msgstr "Wygeneruj kody zapasowe" + +#: bookwyrm/templates/preferences/2fa.html:45 +msgid "Scan the QR code with your authentication app and then enter the code from your app below to confirm your app is set up." +msgstr "Zeskanuj kod QR w aplikacji uwierzytelniającej i wprowadź kod z aplikacji do pola poniżej, aby skonfigurować aplikację." + +#: bookwyrm/templates/preferences/2fa.html:50 +msgid "Enter the code from your app:" +msgstr "Wprowadź kod z aplikacji:" + +#: bookwyrm/templates/preferences/2fa.html:60 +msgid "You can make your account more secure by using Two Factor Authentication (2FA). This will require you to enter a one-time code using a phone app like Authy, Google Authenticator or Microsoft Authenticator each time you log in." +msgstr "Możesz zwiększyć bezpieczeństwo swojego konta aktywując uwierzytelnianie dwuskładnikowe (2FA). Polega to na wpisywaniu jednorazowego kodu z aplikacji na telefonie, takiej jak Authy, Google Authenticator lub Microsoft Authenticator przy każdym logowaniu." + +#: bookwyrm/templates/preferences/2fa.html:62 +msgid "Confirm your password to begin setting up 2FA." +msgstr "Potwierdź hasło, aby skonfigurować 2FA." + +#: bookwyrm/templates/preferences/2fa.html:72 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:37 +msgid "Set up 2FA" +msgstr "Skonfiguruj 2FA" + #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 -#: bookwyrm/templates/preferences/layout.html:42 +#: bookwyrm/templates/preferences/layout.html:46 msgid "Blocked Users" msgstr "" @@ -3664,7 +3749,7 @@ msgstr "Nowe hasło:" #: bookwyrm/templates/preferences/delete_user.html:4 #: bookwyrm/templates/preferences/delete_user.html:7 #: bookwyrm/templates/preferences/delete_user.html:25 -#: bookwyrm/templates/preferences/layout.html:24 +#: bookwyrm/templates/preferences/layout.html:28 #: bookwyrm/templates/settings/users/delete_user_form.html:22 msgid "Delete Account" msgstr "Usuń konto" @@ -3677,6 +3762,18 @@ msgstr "Trwale usuń konto" msgid "Deleting your account cannot be undone. The username will not be available to register in the future." msgstr "Usunięcia konta nie można cofnąć. Nazwy użytkownika nie będzie można użyć w przyszłości." +#: bookwyrm/templates/preferences/disable-2fa.html:12 +msgid "Disable Two Factor Authentication" +msgstr "Wyłącz uwierzytelnianie dwuskładnikowe" + +#: bookwyrm/templates/preferences/disable-2fa.html:14 +msgid "Disabling 2FA will allow anyone with your username and password to log in to your account." +msgstr "Wyłączenie 2FA umożliwi zalogowanie się na Twoje konto dowolnej osobie znającej Twoją nazwę użytkownika i hasło." + +#: bookwyrm/templates/preferences/disable-2fa.html:20 +msgid "Turn off 2FA" +msgstr "Wyłącz 2FA" + #: bookwyrm/templates/preferences/edit_user.html:4 #: bookwyrm/templates/preferences/edit_user.html:7 #: bookwyrm/templates/preferences/layout.html:15 @@ -3757,15 +3854,15 @@ msgstr "Pobierz plik" msgid "Account" msgstr "Konto" -#: bookwyrm/templates/preferences/layout.html:27 +#: bookwyrm/templates/preferences/layout.html:31 msgid "Data" msgstr "Dane" -#: bookwyrm/templates/preferences/layout.html:35 +#: bookwyrm/templates/preferences/layout.html:39 msgid "CSV export" msgstr "Eksport CSV" -#: bookwyrm/templates/preferences/layout.html:38 +#: bookwyrm/templates/preferences/layout.html:42 msgid "Relationships" msgstr "Relacje" @@ -5914,6 +6011,26 @@ msgstr "Pokaż więcej" msgid "Show less" msgstr "Pokaż mniej" +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:29 +msgid "2FA check" +msgstr "Sprawdzanie 2FA" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:37 +msgid "Enter the code from your authenticator app:" +msgstr "Wprowadź kod z aplikacji uwierzytelniającej:" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:41 +msgid "Confirm and Log In" +msgstr "Potwierdź i zaloguj" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:29 +msgid "2FA is available" +msgstr "2FA jest dostępna" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:34 +msgid "You can secure your account by setting up two factor authentication in your user preferences. This will require a one-time code from your phone in addition to your password each time you log in." +msgstr "Możesz zabezpieczyć swoje konto konfigurując uwierzytelnianie dwuskładnikowe w preferencjach. Polega to na wpisywaniu jednorazowego kodu z telefonu oprócz hasła przy każdym logowaniu." + #: bookwyrm/templates/user/books_header.html:9 #, python-format msgid "%(username)s's books" @@ -6063,7 +6180,7 @@ msgstr "%(title)s: %(subtitle)s" msgid "Not a valid csv file" msgstr "To nie jest prawidłowy plik csv" -#: bookwyrm/views/landing/login.py:68 +#: bookwyrm/views/landing/login.py:86 msgid "Username or password are incorrect" msgstr "Niepoprawna nazwa użytkownika lub hasło" diff --git a/locale/pt_BR/LC_MESSAGES/django.mo b/locale/pt_BR/LC_MESSAGES/django.mo index b2dd0e79b2c93333b82751e9994b0cc7ca124e13..cdf65213ca4647ed6bd681ce2709ff56185700cf 100644 GIT binary patch delta 23 fcmaDcll8?+)(w%TIE)Mxj0~-eOg1N;YHtDnbrT6y delta 23 fcmaDcll8?+)(w%TI1Ee_3@xn;4L2vAYHtDnbwUYQ diff --git a/locale/pt_BR/LC_MESSAGES/django.po b/locale/pt_BR/LC_MESSAGES/django.po index f3c845b1b..b24ef5998 100644 --- a/locale/pt_BR/LC_MESSAGES/django.po +++ b/locale/pt_BR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-04 18:03+0000\n" -"PO-Revision-Date: 2022-10-04 19:11\n" +"POT-Creation-Date: 2022-10-21 21:11+0000\n" +"PO-Revision-Date: 2022-10-21 21:24\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt\n" @@ -42,14 +42,18 @@ msgstr "{i} usos" msgid "Unlimited" msgstr "Ilimitado" -#: bookwyrm/forms/edit_user.py:89 +#: bookwyrm/forms/edit_user.py:88 msgid "Incorrect password" msgstr "" -#: bookwyrm/forms/edit_user.py:96 bookwyrm/forms/landing.py:71 +#: bookwyrm/forms/edit_user.py:95 bookwyrm/forms/landing.py:73 msgid "Password does not match" msgstr "" +#: bookwyrm/forms/edit_user.py:118 +msgid "Incorrect Password" +msgstr "" + #: bookwyrm/forms/forms.py:54 msgid "Reading finish date cannot be before start date." msgstr "A data de término da leitura não pode ser anterior a de início." @@ -58,14 +62,26 @@ msgstr "A data de término da leitura não pode ser anterior a de início." msgid "Reading stopped date cannot be before start date." msgstr "" -#: bookwyrm/forms/landing.py:38 +#: bookwyrm/forms/forms.py:67 +msgid "Reading stopped date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/forms.py:74 +msgid "Reading finished date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/landing.py:40 msgid "User with this username already exists" msgstr "Um usuário com este nome já existe" -#: bookwyrm/forms/landing.py:47 +#: bookwyrm/forms/landing.py:49 msgid "A user with this email already exists." msgstr "Já existe um usuário com este endereço de e-mail." +#: bookwyrm/forms/landing.py:107 bookwyrm/forms/landing.py:115 +msgid "Incorrect code" +msgstr "" + #: bookwyrm/forms/links.py:36 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "Este domínio está bloqueado. Entre em contato com a administração se você acha que isso é um engano." @@ -461,6 +477,7 @@ msgstr "Versão do software:" #: bookwyrm/templates/about/layout.html:30 #: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:200 +#: bookwyrm/templates/snippets/2fa_footer.html:8 #, python-format msgid "About %(site_name)s" msgstr "Sobre %(site_name)s" @@ -787,6 +804,7 @@ msgstr "Salvar" #: bookwyrm/templates/groups/delete_group_modal.html:15 #: bookwyrm/templates/lists/add_item_modal.html:36 #: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/preferences/disable-2fa.html:19 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:80 #: bookwyrm/templates/search/barcode_modal.html:45 @@ -806,6 +824,7 @@ msgstr "Para carregar informações nos conectaremos a %(source_name)s%(support_title)s" msgstr "" #: bookwyrm/templates/layout.html:228 +#: bookwyrm/templates/snippets/2fa_footer.html:36 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "" @@ -3602,9 +3630,66 @@ msgstr "Seguir %(username)s" msgid "You are now following %(display_name)s!" msgstr "Agora você está seguindo %(display_name)s!" +#: bookwyrm/templates/preferences/2fa.html:4 +#: bookwyrm/templates/preferences/2fa.html:7 +#: bookwyrm/templates/preferences/layout.html:24 +msgid "Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:16 +msgid "Successfully updated 2FA settings" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:24 +msgid "Write down or copy and paste these codes somewhere safe." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:25 +msgid "You must use them in order, and they will not be displayed again." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:35 +msgid "Two Factor Authentication is active on your account." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:36 +#: bookwyrm/templates/preferences/disable-2fa.html:4 +#: bookwyrm/templates/preferences/disable-2fa.html:7 +msgid "Disable 2FA" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:39 +msgid "You can generate backup codes to use in case you do not have access to your authentication app. If you generate new codes, any backup codes previously generated will no longer work." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:40 +msgid "Generate backup codes" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:45 +msgid "Scan the QR code with your authentication app and then enter the code from your app below to confirm your app is set up." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:50 +msgid "Enter the code from your app:" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:60 +msgid "You can make your account more secure by using Two Factor Authentication (2FA). This will require you to enter a one-time code using a phone app like Authy, Google Authenticator or Microsoft Authenticator each time you log in." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:62 +msgid "Confirm your password to begin setting up 2FA." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:72 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:37 +msgid "Set up 2FA" +msgstr "" + #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 -#: bookwyrm/templates/preferences/layout.html:42 +#: bookwyrm/templates/preferences/layout.html:46 msgid "Blocked Users" msgstr "Usuários bloqueados" @@ -3634,7 +3719,7 @@ msgstr "Nova senha:" #: bookwyrm/templates/preferences/delete_user.html:4 #: bookwyrm/templates/preferences/delete_user.html:7 #: bookwyrm/templates/preferences/delete_user.html:25 -#: bookwyrm/templates/preferences/layout.html:24 +#: bookwyrm/templates/preferences/layout.html:28 #: bookwyrm/templates/settings/users/delete_user_form.html:22 msgid "Delete Account" msgstr "Excluir conta" @@ -3647,6 +3732,18 @@ msgstr "Excluir conta permanentemente" msgid "Deleting your account cannot be undone. The username will not be available to register in the future." msgstr "A exclusão de sua conta não poderá ser desfeita. O nome de usuário não estará disponível para cadastro no futuro." +#: bookwyrm/templates/preferences/disable-2fa.html:12 +msgid "Disable Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:14 +msgid "Disabling 2FA will allow anyone with your username and password to log in to your account." +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:20 +msgid "Turn off 2FA" +msgstr "" + #: bookwyrm/templates/preferences/edit_user.html:4 #: bookwyrm/templates/preferences/edit_user.html:7 #: bookwyrm/templates/preferences/layout.html:15 @@ -3727,15 +3824,15 @@ msgstr "" msgid "Account" msgstr "Conta" -#: bookwyrm/templates/preferences/layout.html:27 +#: bookwyrm/templates/preferences/layout.html:31 msgid "Data" msgstr "Dados" -#: bookwyrm/templates/preferences/layout.html:35 +#: bookwyrm/templates/preferences/layout.html:39 msgid "CSV export" msgstr "Exportar CSV" -#: bookwyrm/templates/preferences/layout.html:38 +#: bookwyrm/templates/preferences/layout.html:42 msgid "Relationships" msgstr "Relações" @@ -5860,6 +5957,26 @@ msgstr "Mostrar mais" msgid "Show less" msgstr "Mostrar menos" +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:29 +msgid "2FA check" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:37 +msgid "Enter the code from your authenticator app:" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:41 +msgid "Confirm and Log In" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:29 +msgid "2FA is available" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:34 +msgid "You can secure your account by setting up two factor authentication in your user preferences. This will require a one-time code from your phone in addition to your password each time you log in." +msgstr "" + #: bookwyrm/templates/user/books_header.html:9 #, python-format msgid "%(username)s's books" @@ -6005,7 +6122,7 @@ msgstr "%(title)s: %(subtitle)s" msgid "Not a valid csv file" msgstr "Não é um arquivo csv válido" -#: bookwyrm/views/landing/login.py:68 +#: bookwyrm/views/landing/login.py:86 msgid "Username or password are incorrect" msgstr "Nome de usuário ou senha incorretos" diff --git a/locale/pt_PT/LC_MESSAGES/django.mo b/locale/pt_PT/LC_MESSAGES/django.mo index 82d4e619524089e2b483f6192fb10aa6f3db9b03..80da47dff5c0fae97991ab6b4e8fac8e471dc4da 100644 GIT binary patch delta 23 fcmaF*n&s(hmJKF*IE)Mxj0~-eOg7u>Sy>4Hedr0K delta 23 fcmaF*n&s(hmJKF*I1Ee_3@xn;4L95DSy>4HeisR- diff --git a/locale/pt_PT/LC_MESSAGES/django.po b/locale/pt_PT/LC_MESSAGES/django.po index 5f469aaaa..146f6515d 100644 --- a/locale/pt_PT/LC_MESSAGES/django.po +++ b/locale/pt_PT/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-04 18:03+0000\n" -"PO-Revision-Date: 2022-10-04 19:11\n" +"POT-Creation-Date: 2022-10-21 21:11+0000\n" +"PO-Revision-Date: 2022-10-21 21:24\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Portuguese\n" "Language: pt\n" @@ -42,14 +42,18 @@ msgstr "{i} utilizações" msgid "Unlimited" msgstr "Ilimitado" -#: bookwyrm/forms/edit_user.py:89 +#: bookwyrm/forms/edit_user.py:88 msgid "Incorrect password" msgstr "" -#: bookwyrm/forms/edit_user.py:96 bookwyrm/forms/landing.py:71 +#: bookwyrm/forms/edit_user.py:95 bookwyrm/forms/landing.py:73 msgid "Password does not match" msgstr "" +#: bookwyrm/forms/edit_user.py:118 +msgid "Incorrect Password" +msgstr "" + #: bookwyrm/forms/forms.py:54 msgid "Reading finish date cannot be before start date." msgstr "A data final de leitura não pode ser anterior à data de início." @@ -58,14 +62,26 @@ msgstr "A data final de leitura não pode ser anterior à data de início." msgid "Reading stopped date cannot be before start date." msgstr "" -#: bookwyrm/forms/landing.py:38 +#: bookwyrm/forms/forms.py:67 +msgid "Reading stopped date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/forms.py:74 +msgid "Reading finished date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/landing.py:40 msgid "User with this username already exists" msgstr "Já existe um utilizador com este nome" -#: bookwyrm/forms/landing.py:47 +#: bookwyrm/forms/landing.py:49 msgid "A user with this email already exists." msgstr "Já existe um utilizador com este E-Mail." +#: bookwyrm/forms/landing.py:107 bookwyrm/forms/landing.py:115 +msgid "Incorrect code" +msgstr "" + #: bookwyrm/forms/links.py:36 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "Este domínio está bloqueado. Por favor, entre em contacto com o administrador caso aches que isto é um erro." @@ -461,6 +477,7 @@ msgstr "Versão do software:" #: bookwyrm/templates/about/layout.html:30 #: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:200 +#: bookwyrm/templates/snippets/2fa_footer.html:8 #, python-format msgid "About %(site_name)s" msgstr "Acerca de %(site_name)s" @@ -787,6 +804,7 @@ msgstr "Salvar" #: bookwyrm/templates/groups/delete_group_modal.html:15 #: bookwyrm/templates/lists/add_item_modal.html:36 #: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/preferences/disable-2fa.html:19 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:80 #: bookwyrm/templates/search/barcode_modal.html:45 @@ -806,6 +824,7 @@ msgstr "Carregar os dados irá conectar a %(source_name)s e ver #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 +#: bookwyrm/templates/preferences/2fa.html:54 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 msgid "Confirm" msgstr "Confirmar" @@ -1687,11 +1706,14 @@ msgstr "Redefinir a tua palavra-passe do %(site_name)s" #: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:40 #: bookwyrm/templates/setup/layout.html:15 +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:18 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:18 #, python-format msgid "%(site_name)s home page" msgstr "%(site_name)s página inicial" #: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:204 +#: bookwyrm/templates/snippets/2fa_footer.html:12 msgid "Contact site admin" msgstr "Contactar administrador do website" @@ -2261,10 +2283,12 @@ msgstr "" #: bookwyrm/templates/guided_tour/home.html:17 #: bookwyrm/templates/guided_tour/home.html:39 #: bookwyrm/templates/layout.html:212 +#: bookwyrm/templates/snippets/2fa_footer.html:20 msgid "Guided Tour" msgstr "" #: bookwyrm/templates/guided_tour/home.html:25 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:36 msgid "No thanks" msgstr "" @@ -2590,7 +2614,7 @@ msgid "Privacy setting for imported reviews:" msgstr "Configuração de privacidade para criticas importadas:" #: bookwyrm/templates/import/import.html:70 -#: bookwyrm/templates/preferences/layout.html:31 +#: bookwyrm/templates/preferences/layout.html:35 #: bookwyrm/templates/settings/federation/instance_blocklist.html:78 msgid "Import" msgstr "Importar" @@ -2846,6 +2870,7 @@ msgstr "Nome de utilizador:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 #: bookwyrm/templates/layout.html:144 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/preferences/2fa.html:68 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Palavra-passe:" @@ -2916,15 +2941,18 @@ msgid "Error posting status" msgstr "Erro ao publicar estado" #: bookwyrm/templates/layout.html:208 +#: bookwyrm/templates/snippets/2fa_footer.html:16 msgid "Documentation" msgstr "Documentação" #: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/snippets/2fa_footer.html:29 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "" #: bookwyrm/templates/layout.html:228 +#: bookwyrm/templates/snippets/2fa_footer.html:36 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "" @@ -3602,9 +3630,66 @@ msgstr "Seguir %(username)s" msgid "You are now following %(display_name)s!" msgstr "Estás agora a seguir %(display_name)s!" +#: bookwyrm/templates/preferences/2fa.html:4 +#: bookwyrm/templates/preferences/2fa.html:7 +#: bookwyrm/templates/preferences/layout.html:24 +msgid "Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:16 +msgid "Successfully updated 2FA settings" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:24 +msgid "Write down or copy and paste these codes somewhere safe." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:25 +msgid "You must use them in order, and they will not be displayed again." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:35 +msgid "Two Factor Authentication is active on your account." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:36 +#: bookwyrm/templates/preferences/disable-2fa.html:4 +#: bookwyrm/templates/preferences/disable-2fa.html:7 +msgid "Disable 2FA" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:39 +msgid "You can generate backup codes to use in case you do not have access to your authentication app. If you generate new codes, any backup codes previously generated will no longer work." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:40 +msgid "Generate backup codes" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:45 +msgid "Scan the QR code with your authentication app and then enter the code from your app below to confirm your app is set up." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:50 +msgid "Enter the code from your app:" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:60 +msgid "You can make your account more secure by using Two Factor Authentication (2FA). This will require you to enter a one-time code using a phone app like Authy, Google Authenticator or Microsoft Authenticator each time you log in." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:62 +msgid "Confirm your password to begin setting up 2FA." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:72 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:37 +msgid "Set up 2FA" +msgstr "" + #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 -#: bookwyrm/templates/preferences/layout.html:42 +#: bookwyrm/templates/preferences/layout.html:46 msgid "Blocked Users" msgstr "Utilizadores Bloqueados" @@ -3634,7 +3719,7 @@ msgstr "Nova Palavra-passe:" #: bookwyrm/templates/preferences/delete_user.html:4 #: bookwyrm/templates/preferences/delete_user.html:7 #: bookwyrm/templates/preferences/delete_user.html:25 -#: bookwyrm/templates/preferences/layout.html:24 +#: bookwyrm/templates/preferences/layout.html:28 #: bookwyrm/templates/settings/users/delete_user_form.html:22 msgid "Delete Account" msgstr "Apagar conta" @@ -3647,6 +3732,18 @@ msgstr "Apagar conta permanentemente" msgid "Deleting your account cannot be undone. The username will not be available to register in the future." msgstr "A exclusão da tua conta não pode ser desfeita. O nome de utilizador não estará disponível para registo no futuro." +#: bookwyrm/templates/preferences/disable-2fa.html:12 +msgid "Disable Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:14 +msgid "Disabling 2FA will allow anyone with your username and password to log in to your account." +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:20 +msgid "Turn off 2FA" +msgstr "" + #: bookwyrm/templates/preferences/edit_user.html:4 #: bookwyrm/templates/preferences/edit_user.html:7 #: bookwyrm/templates/preferences/layout.html:15 @@ -3727,15 +3824,15 @@ msgstr "" msgid "Account" msgstr "Conta" -#: bookwyrm/templates/preferences/layout.html:27 +#: bookwyrm/templates/preferences/layout.html:31 msgid "Data" msgstr "Dados" -#: bookwyrm/templates/preferences/layout.html:35 +#: bookwyrm/templates/preferences/layout.html:39 msgid "CSV export" msgstr "Exportar CSV" -#: bookwyrm/templates/preferences/layout.html:38 +#: bookwyrm/templates/preferences/layout.html:42 msgid "Relationships" msgstr "Relacionamentos" @@ -5860,6 +5957,26 @@ msgstr "Mostrar mais" msgid "Show less" msgstr "Mostrar menos" +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:29 +msgid "2FA check" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:37 +msgid "Enter the code from your authenticator app:" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:41 +msgid "Confirm and Log In" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:29 +msgid "2FA is available" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:34 +msgid "You can secure your account by setting up two factor authentication in your user preferences. This will require a one-time code from your phone in addition to your password each time you log in." +msgstr "" + #: bookwyrm/templates/user/books_header.html:9 #, python-format msgid "%(username)s's books" @@ -6005,7 +6122,7 @@ msgstr "%(title)s: %(subtitle)s" msgid "Not a valid csv file" msgstr "Não é um ficheiro csv válido" -#: bookwyrm/views/landing/login.py:68 +#: bookwyrm/views/landing/login.py:86 msgid "Username or password are incorrect" msgstr "Nome de utilizador ou palavra-passe incorretos" diff --git a/locale/ro_RO/LC_MESSAGES/django.mo b/locale/ro_RO/LC_MESSAGES/django.mo index e03a4488f959d9bd78db54bf26592657fe0e21fc..963542bc8c5c5cbe6172a0d1ee628824ae5c21c2 100644 GIT binary patch delta 26 icmbPxk$vt(_J%Ety5by0h6+Z8Rz{}VO~n~AE&>2~JqR!W delta 26 icmbPxk$vt(_J%Ety5bxLCJKg@R)$8~O~n~AE&>2~a0oO2 diff --git a/locale/ro_RO/LC_MESSAGES/django.po b/locale/ro_RO/LC_MESSAGES/django.po index d8466f4e8..cd2374c13 100644 --- a/locale/ro_RO/LC_MESSAGES/django.po +++ b/locale/ro_RO/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-04 18:03+0000\n" -"PO-Revision-Date: 2022-10-04 19:12\n" +"POT-Creation-Date: 2022-10-21 21:11+0000\n" +"PO-Revision-Date: 2022-10-21 21:25\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Romanian\n" "Language: ro\n" @@ -42,14 +42,18 @@ msgstr "{i} utilizări" msgid "Unlimited" msgstr "Nelimitat" -#: bookwyrm/forms/edit_user.py:89 +#: bookwyrm/forms/edit_user.py:88 msgid "Incorrect password" msgstr "Parolă incorectă" -#: bookwyrm/forms/edit_user.py:96 bookwyrm/forms/landing.py:71 +#: bookwyrm/forms/edit_user.py:95 bookwyrm/forms/landing.py:73 msgid "Password does not match" msgstr "Parola nu se potrivește" +#: bookwyrm/forms/edit_user.py:118 +msgid "Incorrect Password" +msgstr "" + #: bookwyrm/forms/forms.py:54 msgid "Reading finish date cannot be before start date." msgstr "Data de terminare a lecturii nu poate fi înainte de data de început." @@ -58,14 +62,26 @@ msgstr "Data de terminare a lecturii nu poate fi înainte de data de început." msgid "Reading stopped date cannot be before start date." msgstr "Data de sfârșit a lecturii nu poate fi înainte de data de început." -#: bookwyrm/forms/landing.py:38 +#: bookwyrm/forms/forms.py:67 +msgid "Reading stopped date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/forms.py:74 +msgid "Reading finished date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/landing.py:40 msgid "User with this username already exists" msgstr "Un utilizator cu acest nume există deja" -#: bookwyrm/forms/landing.py:47 +#: bookwyrm/forms/landing.py:49 msgid "A user with this email already exists." msgstr "Un utilizator cu această adresă de email există deja." +#: bookwyrm/forms/landing.py:107 bookwyrm/forms/landing.py:115 +msgid "Incorrect code" +msgstr "" + #: bookwyrm/forms/links.py:36 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "Acest domeniu este blocat. Vă rugăm să contactați administratorul vostru dacă credeți că este o eroare." @@ -461,6 +477,7 @@ msgstr "Versiunea programului:" #: bookwyrm/templates/about/layout.html:30 #: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:200 +#: bookwyrm/templates/snippets/2fa_footer.html:8 #, python-format msgid "About %(site_name)s" msgstr "Despre %(site_name)s" @@ -791,6 +808,7 @@ msgstr "Salvați" #: bookwyrm/templates/groups/delete_group_modal.html:15 #: bookwyrm/templates/lists/add_item_modal.html:36 #: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/preferences/disable-2fa.html:19 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:80 #: bookwyrm/templates/search/barcode_modal.html:45 @@ -810,6 +828,7 @@ msgstr "Încărcatul de date se va conecta la %(source_name)s #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 +#: bookwyrm/templates/preferences/2fa.html:54 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 msgid "Confirm" msgstr "Confirmați" @@ -1695,11 +1714,14 @@ msgstr "Reinițializați parola dvs. pentru %(site_name)s" #: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:40 #: bookwyrm/templates/setup/layout.html:15 +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:18 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:18 #, python-format msgid "%(site_name)s home page" msgstr "Pagina principală a %(site_name)s" #: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:204 +#: bookwyrm/templates/snippets/2fa_footer.html:12 msgid "Contact site admin" msgstr "Contactați adminul site-ului" @@ -2271,10 +2293,12 @@ msgstr "Bine ați venit în Bookwyrm!

Ați dori să parcurgeți un tur gh #: bookwyrm/templates/guided_tour/home.html:17 #: bookwyrm/templates/guided_tour/home.html:39 #: bookwyrm/templates/layout.html:212 +#: bookwyrm/templates/snippets/2fa_footer.html:20 msgid "Guided Tour" msgstr "Tur ghidat" #: bookwyrm/templates/guided_tour/home.html:25 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:36 msgid "No thanks" msgstr "Nu mulțumesc" @@ -2600,7 +2624,7 @@ msgid "Privacy setting for imported reviews:" msgstr "Setare de confidențialitate pentru recenziile importate:" #: bookwyrm/templates/import/import.html:70 -#: bookwyrm/templates/preferences/layout.html:31 +#: bookwyrm/templates/preferences/layout.html:35 #: bookwyrm/templates/settings/federation/instance_blocklist.html:78 msgid "Import" msgstr "Importați" @@ -2858,6 +2882,7 @@ msgstr "Nume de utilizator:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 #: bookwyrm/templates/layout.html:144 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/preferences/2fa.html:68 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Parolă:" @@ -2928,15 +2953,18 @@ msgid "Error posting status" msgstr "Eroare la postarea stării" #: bookwyrm/templates/layout.html:208 +#: bookwyrm/templates/snippets/2fa_footer.html:16 msgid "Documentation" msgstr "Documentație" #: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/snippets/2fa_footer.html:29 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "" #: bookwyrm/templates/layout.html:228 +#: bookwyrm/templates/snippets/2fa_footer.html:36 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "" @@ -3617,9 +3645,66 @@ msgstr "Urmăriți %(username)s" msgid "You are now following %(display_name)s!" msgstr "Sunteți acum abonat la %(display_name)s!" +#: bookwyrm/templates/preferences/2fa.html:4 +#: bookwyrm/templates/preferences/2fa.html:7 +#: bookwyrm/templates/preferences/layout.html:24 +msgid "Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:16 +msgid "Successfully updated 2FA settings" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:24 +msgid "Write down or copy and paste these codes somewhere safe." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:25 +msgid "You must use them in order, and they will not be displayed again." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:35 +msgid "Two Factor Authentication is active on your account." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:36 +#: bookwyrm/templates/preferences/disable-2fa.html:4 +#: bookwyrm/templates/preferences/disable-2fa.html:7 +msgid "Disable 2FA" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:39 +msgid "You can generate backup codes to use in case you do not have access to your authentication app. If you generate new codes, any backup codes previously generated will no longer work." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:40 +msgid "Generate backup codes" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:45 +msgid "Scan the QR code with your authentication app and then enter the code from your app below to confirm your app is set up." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:50 +msgid "Enter the code from your app:" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:60 +msgid "You can make your account more secure by using Two Factor Authentication (2FA). This will require you to enter a one-time code using a phone app like Authy, Google Authenticator or Microsoft Authenticator each time you log in." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:62 +msgid "Confirm your password to begin setting up 2FA." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:72 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:37 +msgid "Set up 2FA" +msgstr "" + #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 -#: bookwyrm/templates/preferences/layout.html:42 +#: bookwyrm/templates/preferences/layout.html:46 msgid "Blocked Users" msgstr "Utilizatori blocați" @@ -3649,7 +3734,7 @@ msgstr "Parolă nouă:" #: bookwyrm/templates/preferences/delete_user.html:4 #: bookwyrm/templates/preferences/delete_user.html:7 #: bookwyrm/templates/preferences/delete_user.html:25 -#: bookwyrm/templates/preferences/layout.html:24 +#: bookwyrm/templates/preferences/layout.html:28 #: bookwyrm/templates/settings/users/delete_user_form.html:22 msgid "Delete Account" msgstr "Ștergeți cont" @@ -3662,6 +3747,18 @@ msgstr "Ștergeți permanent contul" msgid "Deleting your account cannot be undone. The username will not be available to register in the future." msgstr "Ștersul contului dvs. nu poate fi revocată. Numele de utilizator nu va fi valabil pentru înregistrare mai târziu." +#: bookwyrm/templates/preferences/disable-2fa.html:12 +msgid "Disable Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:14 +msgid "Disabling 2FA will allow anyone with your username and password to log in to your account." +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:20 +msgid "Turn off 2FA" +msgstr "" + #: bookwyrm/templates/preferences/edit_user.html:4 #: bookwyrm/templates/preferences/edit_user.html:7 #: bookwyrm/templates/preferences/layout.html:15 @@ -3742,15 +3839,15 @@ msgstr "Descărcați fișierul" msgid "Account" msgstr "Cont" -#: bookwyrm/templates/preferences/layout.html:27 +#: bookwyrm/templates/preferences/layout.html:31 msgid "Data" msgstr "Date" -#: bookwyrm/templates/preferences/layout.html:35 +#: bookwyrm/templates/preferences/layout.html:39 msgid "CSV export" msgstr "Export CSV" -#: bookwyrm/templates/preferences/layout.html:38 +#: bookwyrm/templates/preferences/layout.html:42 msgid "Relationships" msgstr "Relații" @@ -5887,6 +5984,26 @@ msgstr "Arătați mai multe" msgid "Show less" msgstr "Arătați mai puțin" +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:29 +msgid "2FA check" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:37 +msgid "Enter the code from your authenticator app:" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:41 +msgid "Confirm and Log In" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:29 +msgid "2FA is available" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:34 +msgid "You can secure your account by setting up two factor authentication in your user preferences. This will require a one-time code from your phone in addition to your password each time you log in." +msgstr "" + #: bookwyrm/templates/user/books_header.html:9 #, python-format msgid "%(username)s's books" @@ -6034,7 +6151,7 @@ msgstr "%(title)s: %(subtitle)s" msgid "Not a valid csv file" msgstr "Nu este un fișier csv valid" -#: bookwyrm/views/landing/login.py:68 +#: bookwyrm/views/landing/login.py:86 msgid "Username or password are incorrect" msgstr "Numele de utilizator sau parola greșite" diff --git a/locale/sv_SE/LC_MESSAGES/django.mo b/locale/sv_SE/LC_MESSAGES/django.mo index 155004628f974c8d0e359562ef0315eb907b2560..f684bba9d5fae50337743be0697f3871759d044c 100644 GIT binary patch delta 23 fcmex4llA9J)(xVkIE)Mxj0~-eOg77&y3+&zb4Uq9 delta 23 fcmex4llA9J)(xVkI1Ee_3@xn;4L8f4y3+&zb9V_y diff --git a/locale/sv_SE/LC_MESSAGES/django.po b/locale/sv_SE/LC_MESSAGES/django.po index 5bd49f8b1..1d5058f9f 100644 --- a/locale/sv_SE/LC_MESSAGES/django.po +++ b/locale/sv_SE/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-04 18:03+0000\n" -"PO-Revision-Date: 2022-10-04 19:11\n" +"POT-Creation-Date: 2022-10-21 21:11+0000\n" +"PO-Revision-Date: 2022-10-21 21:24\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Swedish\n" "Language: sv\n" @@ -42,14 +42,18 @@ msgstr "{i} använder" msgid "Unlimited" msgstr "Obegränsad" -#: bookwyrm/forms/edit_user.py:89 +#: bookwyrm/forms/edit_user.py:88 msgid "Incorrect password" msgstr "" -#: bookwyrm/forms/edit_user.py:96 bookwyrm/forms/landing.py:71 +#: bookwyrm/forms/edit_user.py:95 bookwyrm/forms/landing.py:73 msgid "Password does not match" msgstr "" +#: bookwyrm/forms/edit_user.py:118 +msgid "Incorrect Password" +msgstr "" + #: bookwyrm/forms/forms.py:54 msgid "Reading finish date cannot be before start date." msgstr "Slutdatum för läsning kan inte vara före startdatum." @@ -58,14 +62,26 @@ msgstr "Slutdatum för läsning kan inte vara före startdatum." msgid "Reading stopped date cannot be before start date." msgstr "" -#: bookwyrm/forms/landing.py:38 +#: bookwyrm/forms/forms.py:67 +msgid "Reading stopped date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/forms.py:74 +msgid "Reading finished date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/landing.py:40 msgid "User with this username already exists" msgstr "En användare med det användarnamnet existerar redan" -#: bookwyrm/forms/landing.py:47 +#: bookwyrm/forms/landing.py:49 msgid "A user with this email already exists." msgstr "En användare med den här e-postadressen existerar redan." +#: bookwyrm/forms/landing.py:107 bookwyrm/forms/landing.py:115 +msgid "Incorrect code" +msgstr "" + #: bookwyrm/forms/links.py:36 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "Den här domänen är blockerad. Vänligen kontakta din administratör om du tror att det här är felaktigt." @@ -461,6 +477,7 @@ msgstr "Programvaruversion:" #: bookwyrm/templates/about/layout.html:30 #: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:200 +#: bookwyrm/templates/snippets/2fa_footer.html:8 #, python-format msgid "About %(site_name)s" msgstr "Om %(site_name)s" @@ -787,6 +804,7 @@ msgstr "Spara" #: bookwyrm/templates/groups/delete_group_modal.html:15 #: bookwyrm/templates/lists/add_item_modal.html:36 #: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/preferences/disable-2fa.html:19 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:80 #: bookwyrm/templates/search/barcode_modal.html:45 @@ -806,6 +824,7 @@ msgstr "Att ladda in data kommer att ansluta till %(source_name)s%(support_title)s" msgstr "" #: bookwyrm/templates/layout.html:228 +#: bookwyrm/templates/snippets/2fa_footer.html:36 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "" @@ -3602,9 +3630,66 @@ msgstr "Följ %(username)s" msgid "You are now following %(display_name)s!" msgstr "Du följer nu %(display_name)s!" +#: bookwyrm/templates/preferences/2fa.html:4 +#: bookwyrm/templates/preferences/2fa.html:7 +#: bookwyrm/templates/preferences/layout.html:24 +msgid "Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:16 +msgid "Successfully updated 2FA settings" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:24 +msgid "Write down or copy and paste these codes somewhere safe." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:25 +msgid "You must use them in order, and they will not be displayed again." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:35 +msgid "Two Factor Authentication is active on your account." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:36 +#: bookwyrm/templates/preferences/disable-2fa.html:4 +#: bookwyrm/templates/preferences/disable-2fa.html:7 +msgid "Disable 2FA" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:39 +msgid "You can generate backup codes to use in case you do not have access to your authentication app. If you generate new codes, any backup codes previously generated will no longer work." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:40 +msgid "Generate backup codes" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:45 +msgid "Scan the QR code with your authentication app and then enter the code from your app below to confirm your app is set up." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:50 +msgid "Enter the code from your app:" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:60 +msgid "You can make your account more secure by using Two Factor Authentication (2FA). This will require you to enter a one-time code using a phone app like Authy, Google Authenticator or Microsoft Authenticator each time you log in." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:62 +msgid "Confirm your password to begin setting up 2FA." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:72 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:37 +msgid "Set up 2FA" +msgstr "" + #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 -#: bookwyrm/templates/preferences/layout.html:42 +#: bookwyrm/templates/preferences/layout.html:46 msgid "Blocked Users" msgstr "Blockerade användare" @@ -3634,7 +3719,7 @@ msgstr "Nytt lösenord:" #: bookwyrm/templates/preferences/delete_user.html:4 #: bookwyrm/templates/preferences/delete_user.html:7 #: bookwyrm/templates/preferences/delete_user.html:25 -#: bookwyrm/templates/preferences/layout.html:24 +#: bookwyrm/templates/preferences/layout.html:28 #: bookwyrm/templates/settings/users/delete_user_form.html:22 msgid "Delete Account" msgstr "Ta bort kontot" @@ -3647,6 +3732,18 @@ msgstr "Ta bort kontot permanent" msgid "Deleting your account cannot be undone. The username will not be available to register in the future." msgstr "Borttagning av ditt konto kan inte ångras. Användarnamnet kommer inte att vara tillgängligt att registrera i framtiden." +#: bookwyrm/templates/preferences/disable-2fa.html:12 +msgid "Disable Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:14 +msgid "Disabling 2FA will allow anyone with your username and password to log in to your account." +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:20 +msgid "Turn off 2FA" +msgstr "" + #: bookwyrm/templates/preferences/edit_user.html:4 #: bookwyrm/templates/preferences/edit_user.html:7 #: bookwyrm/templates/preferences/layout.html:15 @@ -3727,15 +3824,15 @@ msgstr "" msgid "Account" msgstr "Konto" -#: bookwyrm/templates/preferences/layout.html:27 +#: bookwyrm/templates/preferences/layout.html:31 msgid "Data" msgstr "Data" -#: bookwyrm/templates/preferences/layout.html:35 +#: bookwyrm/templates/preferences/layout.html:39 msgid "CSV export" msgstr "CSV-export" -#: bookwyrm/templates/preferences/layout.html:38 +#: bookwyrm/templates/preferences/layout.html:42 msgid "Relationships" msgstr "Förhållanden" @@ -5860,6 +5957,26 @@ msgstr "Visa mer" msgid "Show less" msgstr "Visa mindre" +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:29 +msgid "2FA check" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:37 +msgid "Enter the code from your authenticator app:" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:41 +msgid "Confirm and Log In" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:29 +msgid "2FA is available" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:34 +msgid "You can secure your account by setting up two factor authentication in your user preferences. This will require a one-time code from your phone in addition to your password each time you log in." +msgstr "" + #: bookwyrm/templates/user/books_header.html:9 #, python-format msgid "%(username)s's books" @@ -6005,7 +6122,7 @@ msgstr "%(title)s: %(subtitle)s" msgid "Not a valid csv file" msgstr "Inte en giltig csv-fil" -#: bookwyrm/views/landing/login.py:68 +#: bookwyrm/views/landing/login.py:86 msgid "Username or password are incorrect" msgstr "Användarnamnet eller lösenordet är felaktigt" diff --git a/locale/zh_Hans/LC_MESSAGES/django.mo b/locale/zh_Hans/LC_MESSAGES/django.mo index d7517d6a24de5406e3f7f321b5730969de80984f..95ea4607b0a7279d70cc40338550af0bf679657e 100644 GIT binary patch delta 23 fcmaF;p5^s>mJN}oIE)Mxj0~-eOg1N;>dFNGgCq&_ delta 23 fcmaF;p5^s>mJN}oI1Ee_3@xn;4L2vA>dFNGgHs9j diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/locale/zh_Hans/LC_MESSAGES/django.po index 3137d2760..86bef0aa4 100644 --- a/locale/zh_Hans/LC_MESSAGES/django.po +++ b/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-04 18:03+0000\n" -"PO-Revision-Date: 2022-10-04 19:11\n" +"POT-Creation-Date: 2022-10-21 21:11+0000\n" +"PO-Revision-Date: 2022-10-21 21:24\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Chinese Simplified\n" "Language: zh\n" @@ -42,14 +42,18 @@ msgstr "{i} 次使用" msgid "Unlimited" msgstr "不受限" -#: bookwyrm/forms/edit_user.py:89 +#: bookwyrm/forms/edit_user.py:88 msgid "Incorrect password" msgstr "" -#: bookwyrm/forms/edit_user.py:96 bookwyrm/forms/landing.py:71 +#: bookwyrm/forms/edit_user.py:95 bookwyrm/forms/landing.py:73 msgid "Password does not match" msgstr "" +#: bookwyrm/forms/edit_user.py:118 +msgid "Incorrect Password" +msgstr "" + #: bookwyrm/forms/forms.py:54 msgid "Reading finish date cannot be before start date." msgstr "读完日期不得早于开始日期。" @@ -58,14 +62,26 @@ msgstr "读完日期不得早于开始日期。" msgid "Reading stopped date cannot be before start date." msgstr "" -#: bookwyrm/forms/landing.py:38 +#: bookwyrm/forms/forms.py:67 +msgid "Reading stopped date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/forms.py:74 +msgid "Reading finished date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/landing.py:40 msgid "User with this username already exists" msgstr "使用此用户名的用户已存在" -#: bookwyrm/forms/landing.py:47 +#: bookwyrm/forms/landing.py:49 msgid "A user with this email already exists." msgstr "已经存在使用该邮箱的用户。" +#: bookwyrm/forms/landing.py:107 bookwyrm/forms/landing.py:115 +msgid "Incorrect code" +msgstr "" + #: bookwyrm/forms/links.py:36 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "此域名已被屏蔽。如果您认为这是一个错误,请联系您的管理员。" @@ -461,6 +477,7 @@ msgstr "软件版本:" #: bookwyrm/templates/about/layout.html:30 #: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:200 +#: bookwyrm/templates/snippets/2fa_footer.html:8 #, python-format msgid "About %(site_name)s" msgstr "关于 %(site_name)s" @@ -783,6 +800,7 @@ msgstr "保存" #: bookwyrm/templates/groups/delete_group_modal.html:15 #: bookwyrm/templates/lists/add_item_modal.html:36 #: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/preferences/disable-2fa.html:19 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:80 #: bookwyrm/templates/search/barcode_modal.html:45 @@ -802,6 +820,7 @@ msgstr "加载数据会连接到 %(source_name)s 并检查这 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 +#: bookwyrm/templates/preferences/2fa.html:54 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 msgid "Confirm" msgstr "确认" @@ -1679,11 +1698,14 @@ msgstr "重置你在 %(site_name)s 的密码" #: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:40 #: bookwyrm/templates/setup/layout.html:15 +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:18 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:18 #, python-format msgid "%(site_name)s home page" msgstr "%(site_name)s 首页" #: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:204 +#: bookwyrm/templates/snippets/2fa_footer.html:12 msgid "Contact site admin" msgstr "联系站点管理员" @@ -2251,10 +2273,12 @@ msgstr "" #: bookwyrm/templates/guided_tour/home.html:17 #: bookwyrm/templates/guided_tour/home.html:39 #: bookwyrm/templates/layout.html:212 +#: bookwyrm/templates/snippets/2fa_footer.html:20 msgid "Guided Tour" msgstr "" #: bookwyrm/templates/guided_tour/home.html:25 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:36 msgid "No thanks" msgstr "" @@ -2580,7 +2604,7 @@ msgid "Privacy setting for imported reviews:" msgstr "导入书评的隐私设定" #: bookwyrm/templates/import/import.html:70 -#: bookwyrm/templates/preferences/layout.html:31 +#: bookwyrm/templates/preferences/layout.html:35 #: bookwyrm/templates/settings/federation/instance_blocklist.html:78 msgid "Import" msgstr "导入" @@ -2834,6 +2858,7 @@ msgstr "用户名:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 #: bookwyrm/templates/layout.html:144 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/preferences/2fa.html:68 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "密码:" @@ -2904,15 +2929,18 @@ msgid "Error posting status" msgstr "发布状态时出错" #: bookwyrm/templates/layout.html:208 +#: bookwyrm/templates/snippets/2fa_footer.html:16 msgid "Documentation" msgstr "文档" #: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/snippets/2fa_footer.html:29 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "" #: bookwyrm/templates/layout.html:228 +#: bookwyrm/templates/snippets/2fa_footer.html:36 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "" @@ -3587,9 +3615,66 @@ msgstr "关注 %(username)s" msgid "You are now following %(display_name)s!" msgstr "您正在关注 %(display_name)s!" +#: bookwyrm/templates/preferences/2fa.html:4 +#: bookwyrm/templates/preferences/2fa.html:7 +#: bookwyrm/templates/preferences/layout.html:24 +msgid "Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:16 +msgid "Successfully updated 2FA settings" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:24 +msgid "Write down or copy and paste these codes somewhere safe." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:25 +msgid "You must use them in order, and they will not be displayed again." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:35 +msgid "Two Factor Authentication is active on your account." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:36 +#: bookwyrm/templates/preferences/disable-2fa.html:4 +#: bookwyrm/templates/preferences/disable-2fa.html:7 +msgid "Disable 2FA" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:39 +msgid "You can generate backup codes to use in case you do not have access to your authentication app. If you generate new codes, any backup codes previously generated will no longer work." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:40 +msgid "Generate backup codes" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:45 +msgid "Scan the QR code with your authentication app and then enter the code from your app below to confirm your app is set up." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:50 +msgid "Enter the code from your app:" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:60 +msgid "You can make your account more secure by using Two Factor Authentication (2FA). This will require you to enter a one-time code using a phone app like Authy, Google Authenticator or Microsoft Authenticator each time you log in." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:62 +msgid "Confirm your password to begin setting up 2FA." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:72 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:37 +msgid "Set up 2FA" +msgstr "" + #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 -#: bookwyrm/templates/preferences/layout.html:42 +#: bookwyrm/templates/preferences/layout.html:46 msgid "Blocked Users" msgstr "屏蔽的用户" @@ -3619,7 +3704,7 @@ msgstr "新密码:" #: bookwyrm/templates/preferences/delete_user.html:4 #: bookwyrm/templates/preferences/delete_user.html:7 #: bookwyrm/templates/preferences/delete_user.html:25 -#: bookwyrm/templates/preferences/layout.html:24 +#: bookwyrm/templates/preferences/layout.html:28 #: bookwyrm/templates/settings/users/delete_user_form.html:22 msgid "Delete Account" msgstr "删除帐号" @@ -3632,6 +3717,18 @@ msgstr "永久删除帐号" msgid "Deleting your account cannot be undone. The username will not be available to register in the future." msgstr "删除帐号的操作将无法被撤销。对应用户名也无法被再次注册。" +#: bookwyrm/templates/preferences/disable-2fa.html:12 +msgid "Disable Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:14 +msgid "Disabling 2FA will allow anyone with your username and password to log in to your account." +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:20 +msgid "Turn off 2FA" +msgstr "" + #: bookwyrm/templates/preferences/edit_user.html:4 #: bookwyrm/templates/preferences/edit_user.html:7 #: bookwyrm/templates/preferences/layout.html:15 @@ -3712,15 +3809,15 @@ msgstr "" msgid "Account" msgstr "帐号" -#: bookwyrm/templates/preferences/layout.html:27 +#: bookwyrm/templates/preferences/layout.html:31 msgid "Data" msgstr "数据" -#: bookwyrm/templates/preferences/layout.html:35 +#: bookwyrm/templates/preferences/layout.html:39 msgid "CSV export" msgstr "CSV 导出" -#: bookwyrm/templates/preferences/layout.html:38 +#: bookwyrm/templates/preferences/layout.html:42 msgid "Relationships" msgstr "关系" @@ -5833,6 +5930,26 @@ msgstr "显示更多" msgid "Show less" msgstr "显示更少" +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:29 +msgid "2FA check" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:37 +msgid "Enter the code from your authenticator app:" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:41 +msgid "Confirm and Log In" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:29 +msgid "2FA is available" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:34 +msgid "You can secure your account by setting up two factor authentication in your user preferences. This will require a one-time code from your phone in addition to your password each time you log in." +msgstr "" + #: bookwyrm/templates/user/books_header.html:9 #, python-format msgid "%(username)s's books" @@ -5976,7 +6093,7 @@ msgstr "%(title)s:%(subtitle)s" msgid "Not a valid csv file" msgstr "不是有效的 csv 文件" -#: bookwyrm/views/landing/login.py:68 +#: bookwyrm/views/landing/login.py:86 msgid "Username or password are incorrect" msgstr "用户名或密码不正确" diff --git a/locale/zh_Hant/LC_MESSAGES/django.mo b/locale/zh_Hant/LC_MESSAGES/django.mo index 4bc88f00791cb169d039ba151f441a3b9fdc662c..6417c1118970108590c77da1da28762eac92a25d 100644 GIT binary patch delta 23 fcmZ4epK\n" "Language-Team: Chinese Traditional\n" "Language: zh\n" @@ -42,14 +42,18 @@ msgstr "" msgid "Unlimited" msgstr "不受限" -#: bookwyrm/forms/edit_user.py:89 +#: bookwyrm/forms/edit_user.py:88 msgid "Incorrect password" msgstr "" -#: bookwyrm/forms/edit_user.py:96 bookwyrm/forms/landing.py:71 +#: bookwyrm/forms/edit_user.py:95 bookwyrm/forms/landing.py:73 msgid "Password does not match" msgstr "" +#: bookwyrm/forms/edit_user.py:118 +msgid "Incorrect Password" +msgstr "" + #: bookwyrm/forms/forms.py:54 msgid "Reading finish date cannot be before start date." msgstr "" @@ -58,14 +62,26 @@ msgstr "" msgid "Reading stopped date cannot be before start date." msgstr "" -#: bookwyrm/forms/landing.py:38 +#: bookwyrm/forms/forms.py:67 +msgid "Reading stopped date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/forms.py:74 +msgid "Reading finished date cannot be in the future." +msgstr "" + +#: bookwyrm/forms/landing.py:40 msgid "User with this username already exists" msgstr "" -#: bookwyrm/forms/landing.py:47 +#: bookwyrm/forms/landing.py:49 msgid "A user with this email already exists." msgstr "已經存在使用該郵箱的使用者。" +#: bookwyrm/forms/landing.py:107 bookwyrm/forms/landing.py:115 +msgid "Incorrect code" +msgstr "" + #: bookwyrm/forms/links.py:36 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "" @@ -461,6 +477,7 @@ msgstr "" #: bookwyrm/templates/about/layout.html:30 #: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:200 +#: bookwyrm/templates/snippets/2fa_footer.html:8 #, python-format msgid "About %(site_name)s" msgstr "關於 %(site_name)s" @@ -783,6 +800,7 @@ msgstr "儲存" #: bookwyrm/templates/groups/delete_group_modal.html:15 #: bookwyrm/templates/lists/add_item_modal.html:36 #: bookwyrm/templates/lists/delete_list_modal.html:16 +#: bookwyrm/templates/preferences/disable-2fa.html:19 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:27 #: bookwyrm/templates/readthrough/readthrough_modal.html:80 #: bookwyrm/templates/search/barcode_modal.html:45 @@ -802,6 +820,7 @@ msgstr "" #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 +#: bookwyrm/templates/preferences/2fa.html:54 #: bookwyrm/templates/snippets/remove_from_group_button.html:17 msgid "Confirm" msgstr "確認" @@ -1679,11 +1698,14 @@ msgstr "重置你在 %(site_name)s 的密碼" #: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:40 #: bookwyrm/templates/setup/layout.html:15 +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:18 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:18 #, python-format msgid "%(site_name)s home page" msgstr "" #: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:204 +#: bookwyrm/templates/snippets/2fa_footer.html:12 msgid "Contact site admin" msgstr "聯絡網站管理員" @@ -2251,10 +2273,12 @@ msgstr "" #: bookwyrm/templates/guided_tour/home.html:17 #: bookwyrm/templates/guided_tour/home.html:39 #: bookwyrm/templates/layout.html:212 +#: bookwyrm/templates/snippets/2fa_footer.html:20 msgid "Guided Tour" msgstr "" #: bookwyrm/templates/guided_tour/home.html:25 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:36 msgid "No thanks" msgstr "" @@ -2580,7 +2604,7 @@ msgid "Privacy setting for imported reviews:" msgstr "匯入書評的私隱設定" #: bookwyrm/templates/import/import.html:70 -#: bookwyrm/templates/preferences/layout.html:31 +#: bookwyrm/templates/preferences/layout.html:35 #: bookwyrm/templates/settings/federation/instance_blocklist.html:78 msgid "Import" msgstr "匯入" @@ -2834,6 +2858,7 @@ msgstr "使用者名稱:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 #: bookwyrm/templates/layout.html:144 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/preferences/2fa.html:68 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "密碼:" @@ -2904,15 +2929,18 @@ msgid "Error posting status" msgstr "" #: bookwyrm/templates/layout.html:208 +#: bookwyrm/templates/snippets/2fa_footer.html:16 msgid "Documentation" msgstr "文件:" #: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/snippets/2fa_footer.html:29 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "" #: bookwyrm/templates/layout.html:228 +#: bookwyrm/templates/snippets/2fa_footer.html:36 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "" @@ -3587,9 +3615,66 @@ msgstr "" msgid "You are now following %(display_name)s!" msgstr "" +#: bookwyrm/templates/preferences/2fa.html:4 +#: bookwyrm/templates/preferences/2fa.html:7 +#: bookwyrm/templates/preferences/layout.html:24 +msgid "Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:16 +msgid "Successfully updated 2FA settings" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:24 +msgid "Write down or copy and paste these codes somewhere safe." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:25 +msgid "You must use them in order, and they will not be displayed again." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:35 +msgid "Two Factor Authentication is active on your account." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:36 +#: bookwyrm/templates/preferences/disable-2fa.html:4 +#: bookwyrm/templates/preferences/disable-2fa.html:7 +msgid "Disable 2FA" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:39 +msgid "You can generate backup codes to use in case you do not have access to your authentication app. If you generate new codes, any backup codes previously generated will no longer work." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:40 +msgid "Generate backup codes" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:45 +msgid "Scan the QR code with your authentication app and then enter the code from your app below to confirm your app is set up." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:50 +msgid "Enter the code from your app:" +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:60 +msgid "You can make your account more secure by using Two Factor Authentication (2FA). This will require you to enter a one-time code using a phone app like Authy, Google Authenticator or Microsoft Authenticator each time you log in." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:62 +msgid "Confirm your password to begin setting up 2FA." +msgstr "" + +#: bookwyrm/templates/preferences/2fa.html:72 +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:37 +msgid "Set up 2FA" +msgstr "" + #: bookwyrm/templates/preferences/blocks.html:4 #: bookwyrm/templates/preferences/blocks.html:7 -#: bookwyrm/templates/preferences/layout.html:42 +#: bookwyrm/templates/preferences/layout.html:46 msgid "Blocked Users" msgstr "封鎖的使用者" @@ -3619,7 +3704,7 @@ msgstr "新密碼:" #: bookwyrm/templates/preferences/delete_user.html:4 #: bookwyrm/templates/preferences/delete_user.html:7 #: bookwyrm/templates/preferences/delete_user.html:25 -#: bookwyrm/templates/preferences/layout.html:24 +#: bookwyrm/templates/preferences/layout.html:28 #: bookwyrm/templates/settings/users/delete_user_form.html:22 msgid "Delete Account" msgstr "" @@ -3632,6 +3717,18 @@ msgstr "" msgid "Deleting your account cannot be undone. The username will not be available to register in the future." msgstr "" +#: bookwyrm/templates/preferences/disable-2fa.html:12 +msgid "Disable Two Factor Authentication" +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:14 +msgid "Disabling 2FA will allow anyone with your username and password to log in to your account." +msgstr "" + +#: bookwyrm/templates/preferences/disable-2fa.html:20 +msgid "Turn off 2FA" +msgstr "" + #: bookwyrm/templates/preferences/edit_user.html:4 #: bookwyrm/templates/preferences/edit_user.html:7 #: bookwyrm/templates/preferences/layout.html:15 @@ -3712,15 +3809,15 @@ msgstr "" msgid "Account" msgstr "帳號" -#: bookwyrm/templates/preferences/layout.html:27 +#: bookwyrm/templates/preferences/layout.html:31 msgid "Data" msgstr "" -#: bookwyrm/templates/preferences/layout.html:35 +#: bookwyrm/templates/preferences/layout.html:39 msgid "CSV export" msgstr "" -#: bookwyrm/templates/preferences/layout.html:38 +#: bookwyrm/templates/preferences/layout.html:42 msgid "Relationships" msgstr "關係" @@ -5831,6 +5928,26 @@ msgstr "顯示更多" msgid "Show less" msgstr "顯示更少" +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:29 +msgid "2FA check" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:37 +msgid "Enter the code from your authenticator app:" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_login.html:41 +msgid "Confirm and Log In" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:29 +msgid "2FA is available" +msgstr "" + +#: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:34 +msgid "You can secure your account by setting up two factor authentication in your user preferences. This will require a one-time code from your phone in addition to your password each time you log in." +msgstr "" + #: bookwyrm/templates/user/books_header.html:9 #, python-format msgid "%(username)s's books" @@ -5974,7 +6091,7 @@ msgstr "" msgid "Not a valid csv file" msgstr "不是有效的 csv 檔案" -#: bookwyrm/views/landing/login.py:68 +#: bookwyrm/views/landing/login.py:86 msgid "Username or password are incorrect" msgstr ""