From f44b3cc4b21b747ba5517c6b0f9a41335fca660d Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 10 Jul 2022 20:05:54 -0700 Subject: [PATCH 01/28] Improves change password flow There are two changes: one is to require the current password to change your password (which is a security improvement), and the other is error reporting when you either get your current password wrong or your new password doesn't match it's second entry. --- .../preferences/change_password.html | 33 ++++++++++++++++++- bookwyrm/views/preferences/change_password.py | 24 ++++++++++++-- 2 files changed, 53 insertions(+), 4 deletions(-) diff --git a/bookwyrm/templates/preferences/change_password.html b/bookwyrm/templates/preferences/change_password.html index 563bdee4d..ad34aca1a 100644 --- a/bookwyrm/templates/preferences/change_password.html +++ b/bookwyrm/templates/preferences/change_password.html @@ -8,15 +8,46 @@ {% endblock %} {% block panel %} +{% if success %} +
+ + + {% trans "Successfully changed password" %} + +
+{% endif %}
{% csrf_token %} +
+ + + {% include 'snippets/form_errors.html' with errors_list=errors.current_password id="desc_current_password" %} +
+
- + + {% include 'snippets/form_errors.html' with errors_list=errors.confirm_password id="desc_confirm_password" %}
diff --git a/bookwyrm/views/preferences/change_password.py b/bookwyrm/views/preferences/change_password.py index cdfc9d333..eaca2d8fa 100644 --- a/bookwyrm/views/preferences/change_password.py +++ b/bookwyrm/views/preferences/change_password.py @@ -1,10 +1,13 @@ """ class views for password management """ from django.contrib.auth import login from django.contrib.auth.decorators import login_required -from django.shortcuts import redirect from django.template.response import TemplateResponse from django.utils.decorators import method_decorator +from django.utils.translation import gettext_lazy as _ from django.views import View +from django.views.decorators.debug import sensitive_variables, sensitive_post_parameters + +from bookwyrm import models # pylint: disable= no-self-use @@ -17,15 +20,30 @@ class ChangePassword(View): data = {"user": request.user} return TemplateResponse(request, "preferences/change_password.html", data) + @sensitive_variables("new_password") + @sensitive_variables("confirm_password") + @method_decorator(sensitive_post_parameters("current_password")) + @method_decorator(sensitive_post_parameters("password")) + @method_decorator(sensitive_post_parameters("confirm__password")) def post(self, request): """allow a user to change their password""" + data = {"user": request.user} + + # check current password + user = models.User.objects.get(id=request.user.id) + if not user.check_password(request.POST.get("current_password")): + data["errors"] = {"current_password": [_("Incorrect password")]} + return TemplateResponse(request, "preferences/change_password.html", data) + new_password = request.POST.get("password") confirm_password = request.POST.get("confirm-password") if new_password != confirm_password: - return redirect("prefs-password") + data["errors"] = {"confirm_password": [_("Password does not match")]} + return TemplateResponse(request, "preferences/change_password.html", data) request.user.set_password(new_password) request.user.save(broadcast=False, update_fields=["password"]) login(request, request.user) - return redirect("user-feed", request.user.localname) + data["success"] = True + return TemplateResponse(request, "preferences/change_password.html", data) From a0e01af2ca9028a422328c72a79333c1a7f1c686 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 10 Jul 2022 20:22:54 -0700 Subject: [PATCH 02/28] Updates tests --- .../views/preferences/test_change_password.py | 41 +++++++++++++++++-- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/bookwyrm/tests/views/preferences/test_change_password.py b/bookwyrm/tests/views/preferences/test_change_password.py index 61837c4e1..b6d2f48ef 100644 --- a/bookwyrm/tests/views/preferences/test_change_password.py +++ b/bookwyrm/tests/views/preferences/test_change_password.py @@ -42,17 +42,50 @@ class ChangePasswordViews(TestCase): """change password""" view = views.ChangePassword.as_view() password_hash = self.local_user.password - request = self.factory.post("", {"password": "hi", "confirm-password": "hi"}) + request = self.factory.post( + "", + { + "current_password": "password", + "password": "hi", + "confirm-password": "hi", + }, + ) request.user = self.local_user with patch("bookwyrm.views.preferences.change_password.login"): - view(request) + result = view(request) + validate_html(result.render()) self.assertNotEqual(self.local_user.password, password_hash) + def test_password_change_wrong_current(self): + """change password""" + view = views.ChangePassword.as_view() + password_hash = self.local_user.password + request = self.factory.post( + "", + { + "current_password": "not my password", + "password": "hi", + "confirm-password": "hihi", + }, + ) + request.user = self.local_user + result = view(request) + validate_html(result.render()) + self.assertEqual(self.local_user.password, password_hash) + def test_password_change_mismatch(self): """change password""" view = views.ChangePassword.as_view() password_hash = self.local_user.password - request = self.factory.post("", {"password": "hi", "confirm-password": "hihi"}) + request = self.factory.post( + "", + { + "current_password": "password", + "password": "hi", + "confirm-password": "hihi", + }, + ) request.user = self.local_user - view(request) + result = view(request) + validate_html(result.render()) self.assertEqual(self.local_user.password, password_hash) From 42e29e40b35adc0eebd056e27fe6f6453d3822f9 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 11 Jul 2022 07:49:52 -0700 Subject: [PATCH 03/28] Use HTTP post for csv export Also fixes a missing translation string --- bookwyrm/templates/preferences/export.html | 11 ++-- .../views/{ => preferences}/test_export.py | 2 +- bookwyrm/urls.py | 5 -- bookwyrm/views/__init__.py | 2 +- bookwyrm/views/preferences/export.py | 52 +++++++++---------- 5 files changed, 34 insertions(+), 38 deletions(-) rename bookwyrm/tests/views/{ => preferences}/test_export.py (98%) diff --git a/bookwyrm/templates/preferences/export.html b/bookwyrm/templates/preferences/export.html index 865051442..61933be3e 100644 --- a/bookwyrm/templates/preferences/export.html +++ b/bookwyrm/templates/preferences/export.html @@ -13,10 +13,13 @@ {% trans "Your export will include all the books on your shelves, books you have reviewed, and books with reading activity." %}

- - - Download file - +

+ {% csrf_token %} + +

{% endblock %} diff --git a/bookwyrm/tests/views/test_export.py b/bookwyrm/tests/views/preferences/test_export.py similarity index 98% rename from bookwyrm/tests/views/test_export.py rename to bookwyrm/tests/views/preferences/test_export.py index 44c324164..d562c3fbe 100644 --- a/bookwyrm/tests/views/test_export.py +++ b/bookwyrm/tests/views/preferences/test_export.py @@ -54,7 +54,7 @@ class ExportViews(TestCase): user=self.local_user, book=self.book, ) - request = self.factory.get("") + request = self.factory.post("") request.user = self.local_user export = views.export_user_book_data(request) self.assertIsInstance(export, StreamingHttpResponse) diff --git a/bookwyrm/urls.py b/bookwyrm/urls.py index cbb468d5a..faae7daca 100644 --- a/bookwyrm/urls.py +++ b/bookwyrm/urls.py @@ -482,11 +482,6 @@ urlpatterns = [ name="prefs-password", ), re_path(r"^preferences/export/?$", views.Export.as_view(), name="prefs-export"), - re_path( - r"^preferences/export/file/?$", - views.export_user_book_data, - name="prefs-export-file", - ), re_path(r"^preferences/delete/?$", views.DeleteUser.as_view(), name="prefs-delete"), re_path(r"^preferences/block/?$", views.Block.as_view(), name="prefs-block"), re_path(r"^block/(?P\d+)/?$", views.Block.as_view()), diff --git a/bookwyrm/views/__init__.py b/bookwyrm/views/__init__.py index 2d085b02d..f199293c0 100644 --- a/bookwyrm/views/__init__.py +++ b/bookwyrm/views/__init__.py @@ -28,7 +28,7 @@ from .admin.user_admin import UserAdmin, UserAdminList # user preferences from .preferences.change_password import ChangePassword from .preferences.edit_user import EditUser -from .preferences.export import Export, export_user_book_data +from .preferences.export import Export from .preferences.delete_user import DeleteUser from .preferences.block import Block, unblock diff --git a/bookwyrm/views/preferences/export.py b/bookwyrm/views/preferences/export.py index c0015fb86..2582dda3c 100644 --- a/bookwyrm/views/preferences/export.py +++ b/bookwyrm/views/preferences/export.py @@ -7,7 +7,6 @@ from django.http import StreamingHttpResponse from django.template.response import TemplateResponse from django.views import View from django.utils.decorators import method_decorator -from django.views.decorators.http import require_GET from bookwyrm import models @@ -20,35 +19,34 @@ class Export(View): """Request csv file""" return TemplateResponse(request, "preferences/export.html") - -@login_required -@require_GET -def export_user_book_data(request): - """Streaming the csv file of a user's book data""" - data = ( - models.Edition.viewer_aware_objects(request.user) - .filter( - Q(shelves__user=request.user) - | Q(readthrough__user=request.user) - | Q(review__user=request.user) - | Q(comment__user=request.user) - | Q(quotation__user=request.user) + def post(self, request): + """Streaming the csv file of a user's book data""" + data = ( + models.Edition.viewer_aware_objects(request.user) + .filter( + Q(shelves__user=request.user) + | Q(readthrough__user=request.user) + | Q(review__user=request.user) + | Q(comment__user=request.user) + | Q(quotation__user=request.user) + ) + .distinct() ) - .distinct() - ) - generator = csv_row_generator(data, request.user) + generator = csv_row_generator(data, request.user) - pseudo_buffer = Echo() - writer = csv.writer(pseudo_buffer) - # for testing, if you want to see the results in the browser: - # from django.http import JsonResponse - # return JsonResponse(list(generator), safe=False) - return StreamingHttpResponse( - (writer.writerow(row) for row in generator), - content_type="text/csv", - headers={"Content-Disposition": 'attachment; filename="bookwyrm-export.csv"'}, - ) + pseudo_buffer = Echo() + writer = csv.writer(pseudo_buffer) + # for testing, if you want to see the results in the browser: + # from django.http import JsonResponse + # return JsonResponse(list(generator), safe=False) + return StreamingHttpResponse( + (writer.writerow(row) for row in generator), + content_type="text/csv", + headers={ + "Content-Disposition": 'attachment; filename="bookwyrm-export.csv"' + }, + ) def csv_row_generator(books, user): From 9104d1f8dbfa6a6c219912753a1e14c251133cc5 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 11 Jul 2022 08:05:32 -0700 Subject: [PATCH 04/28] Fixes reference to renamed view --- bookwyrm/tests/views/preferences/test_export.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/tests/views/preferences/test_export.py b/bookwyrm/tests/views/preferences/test_export.py index d562c3fbe..7b13989f3 100644 --- a/bookwyrm/tests/views/preferences/test_export.py +++ b/bookwyrm/tests/views/preferences/test_export.py @@ -56,7 +56,7 @@ class ExportViews(TestCase): ) request = self.factory.post("") request.user = self.local_user - export = views.export_user_book_data(request) + export = views.Export.as_view()(request) self.assertIsInstance(export, StreamingHttpResponse) self.assertEqual(export.status_code, 200) result = list(export.streaming_content) From 5706028656674f1dc12d75f8e4a788e968dfb546 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 11 Jul 2022 08:46:47 -0700 Subject: [PATCH 05/28] Log failing to connect as info instead of exception These are normal, expected errors, and while we should probably re-evaluate the connectors in some way, pending that, there's no need to log these as unepected errors, which causes confusion and clutters my error logging. --- bookwyrm/connectors/connector_manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/connectors/connector_manager.py b/bookwyrm/connectors/connector_manager.py index 37b093aa9..385880e5a 100644 --- a/bookwyrm/connectors/connector_manager.py +++ b/bookwyrm/connectors/connector_manager.py @@ -53,7 +53,7 @@ async def get_results(session, url, min_confidence, query, connector): except asyncio.TimeoutError: logger.info("Connection timed out for url: %s", url) except aiohttp.ClientError as err: - logger.exception(err) + logger.info(err) async def async_connector_search(query, items, min_confidence): From 798476d67014e017b753559b2214bdf3fe533f11 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 11 Jul 2022 09:05:26 -0700 Subject: [PATCH 06/28] Updates locales --- locale/de_DE/LC_MESSAGES/django.mo | Bin 30883 -> 101717 bytes locale/de_DE/LC_MESSAGES/django.po | 262 ++++++++++++++------------- locale/en_US/LC_MESSAGES/django.po | 39 +++- locale/es_ES/LC_MESSAGES/django.mo | Bin 89144 -> 89984 bytes locale/es_ES/LC_MESSAGES/django.po | 136 +++++++------- locale/fi_FI/LC_MESSAGES/django.mo | Bin 88689 -> 88689 bytes locale/fi_FI/LC_MESSAGES/django.po | 126 +++++++------ locale/fr_FR/LC_MESSAGES/django.mo | Bin 112036 -> 112329 bytes locale/fr_FR/LC_MESSAGES/django.po | 126 +++++++------ locale/gl_ES/LC_MESSAGES/django.mo | Bin 88339 -> 88339 bytes locale/gl_ES/LC_MESSAGES/django.po | 126 +++++++------ locale/it_IT/LC_MESSAGES/django.mo | Bin 88364 -> 88883 bytes locale/it_IT/LC_MESSAGES/django.po | 134 +++++++------- locale/lt_LT/LC_MESSAGES/django.mo | Bin 90789 -> 90789 bytes locale/lt_LT/LC_MESSAGES/django.po | 138 +++++++------- locale/no_NO/LC_MESSAGES/django.mo | Bin 74665 -> 74665 bytes locale/no_NO/LC_MESSAGES/django.po | 126 +++++++------ locale/pt_BR/LC_MESSAGES/django.mo | Bin 87730 -> 87730 bytes locale/pt_BR/LC_MESSAGES/django.po | 126 +++++++------ locale/pt_PT/LC_MESSAGES/django.mo | Bin 81901 -> 81901 bytes locale/pt_PT/LC_MESSAGES/django.po | 126 +++++++------ locale/ro_RO/LC_MESSAGES/django.mo | Bin 89838 -> 89838 bytes locale/ro_RO/LC_MESSAGES/django.po | 132 ++++++++------ locale/sv_SE/LC_MESSAGES/django.mo | Bin 87719 -> 87719 bytes locale/sv_SE/LC_MESSAGES/django.po | 126 +++++++------ locale/zh_Hans/LC_MESSAGES/django.mo | Bin 44096 -> 82228 bytes locale/zh_Hans/LC_MESSAGES/django.po | 120 ++++++------ locale/zh_Hant/LC_MESSAGES/django.mo | Bin 38839 -> 33193 bytes locale/zh_Hant/LC_MESSAGES/django.po | 122 +++++++------ 29 files changed, 1077 insertions(+), 888 deletions(-) diff --git a/locale/de_DE/LC_MESSAGES/django.mo b/locale/de_DE/LC_MESSAGES/django.mo index 4ce83f72b3f3850c58528f13afcd23442a75a515..e40b635a1f401ff4551d08abf758caf0a7855114 100644 GIT binary patch literal 101717 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 UyY`o>HHmqyCN85$Bq6cAJt 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\n" "Language-Team: German\n" "Language: de\n" @@ -48,7 +48,7 @@ msgstr "Enddatum darf nicht vor dem Startdatum liegen." #: bookwyrm/forms/forms.py:59 msgid "Reading stopped date cannot be before start date." -msgstr "" +msgstr "Das Datum für Lesen gestoppt kann nicht vor dem Lesestart sein." #: bookwyrm/forms/landing.py:32 msgid "User with this username already exists" @@ -467,7 +467,7 @@ msgstr "Rückblick auf %(year)s" #: bookwyrm/templates/annual_summary/layout.html:47 #, python-format msgid "%(display_name)s’s year of reading" -msgstr "%(display_name)ss Lesejahr" +msgstr "Lektürejahr für %(display_name)s" #: bookwyrm/templates/annual_summary/layout.html:53 msgid "Share this page" @@ -1205,7 +1205,7 @@ msgstr "Domain" #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:56 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Status" msgstr "Status" @@ -1221,7 +1221,7 @@ msgstr "Aktionen" #: bookwyrm/templates/book/file_links/edit_links.html:48 #: bookwyrm/templates/settings/link_domains/link_table.html:21 msgid "Unknown user" -msgstr "" +msgstr "Unbekannter Benutzer" #: bookwyrm/templates/book/file_links/edit_links.html:57 #: bookwyrm/templates/book/file_links/verification_modal.html:22 @@ -1329,7 +1329,7 @@ msgstr "Bestätigungscode:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:81 -#: bookwyrm/templates/settings/dashboard/dashboard.html:127 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Absenden" @@ -1369,7 +1369,7 @@ msgid "Local users" msgstr "Lokale Benutzer*innen" #: bookwyrm/templates/directory/community_filter.html:12 -#: bookwyrm/templates/settings/users/user_admin.html:29 +#: bookwyrm/templates/settings/users/user_admin.html:33 msgid "Federated community" msgstr "Föderierte Gemeinschaft" @@ -1576,13 +1576,13 @@ msgstr "Erfahre mehr über %(site_name)s:" #: bookwyrm/templates/email/moderation_report/text_content.html:6 #, python-format msgid "@%(reporter)s has flagged a link domain for moderation." -msgstr "" +msgstr "@%(reporter)s hat einen Link zur Moderation markiert." #: bookwyrm/templates/email/moderation_report/html_content.html:14 #: bookwyrm/templates/email/moderation_report/text_content.html:10 #, python-format msgid "@%(reporter)s has flagged behavior by @%(reportee)s for moderation." -msgstr "" +msgstr "@%(reporter)s hat das Verhalten von @%(reportee)s zur Moderation gekennzeichnet." #: bookwyrm/templates/email/moderation_report/html_content.html:21 #: bookwyrm/templates/email/moderation_report/text_content.html:15 @@ -1746,7 +1746,7 @@ msgstr "Gelesen" #: bookwyrm/templates/get_started/book_preview.html:13 #: bookwyrm/templates/shelf/shelf.html:89 bookwyrm/templates/user/user.html:36 msgid "Stopped Reading" -msgstr "" +msgstr "Lesen gestoppt" #: bookwyrm/templates/get_started/books.html:6 msgid "What are you reading?" @@ -2281,7 +2281,7 @@ msgstr "Passwort bestätigen:" #: bookwyrm/templates/landing/password_reset_request.html:14 #, python-format msgid "A password reset link will be sent to %(email)s if there is an account using that email address." -msgstr "" +msgstr "Ein Link zum Zurücksetzen des Passworts wird an %(email)s gesendet, wenn ein Konto mit dieser E-Mail-Adresse existiert." #: bookwyrm/templates/landing/password_reset_request.html:20 msgid "A link to reset your password will be sent to your email address" @@ -2598,71 +2598,71 @@ msgstr "Gespeicherte Listen" #: bookwyrm/templates/notifications/items/accept.html:18 #, python-format msgid "%(related_user)s accepted your invitation to join group \"%(group_name)s\"" -msgstr "" +msgstr "%(related_user)s hat Ihre Einladung zur Gruppe akzeptiert \"%(group_name)s\"" #: bookwyrm/templates/notifications/items/accept.html:26 #, python-format msgid "%(related_user)s and %(second_user)s accepted your invitation to join group \"%(group_name)s\"" -msgstr "" +msgstr "%(related_user)s und %(second_user)s haben Ihre Einladung zur Gruppe \"%(group_name)s\" akzeptiert" #: bookwyrm/templates/notifications/items/accept.html:36 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others accepted your invitation to join group \"%(group_name)s\"" -msgstr "" +msgstr "%(related_user)s und %(other_user_display_count)s andere haben Ihre Einladung zur Gruppe angenommen \"%(group_name)s\"" #: bookwyrm/templates/notifications/items/add.html:33 #, python-format msgid "%(related_user)s added %(book_title)s to your list \"%(list_name)s\"" -msgstr "" +msgstr "%(related_user)s hat %(book_title)s zu Ihrer Liste hinzugefügt \"%(list_name)s\"" #: bookwyrm/templates/notifications/items/add.html:39 #, python-format msgid "%(related_user)s suggested adding %(book_title)s to your list \"%(list_name)s\"" -msgstr "" +msgstr "%(related_user)s schlug vor, %(book_title)s zu Ihrer Liste hinzuzufügen \"%(list_name)s\"" #: bookwyrm/templates/notifications/items/add.html:47 #, python-format msgid "%(related_user)s added %(book_title)s and %(second_book_title)s to your list \"%(list_name)s\"" -msgstr "" +msgstr "%(related_user)s hat %(book_title)s und %(second_book_title)s zu Ihrer Liste hinzugefügt \"%(list_name)s\"" #: bookwyrm/templates/notifications/items/add.html:54 #, python-format msgid "%(related_user)s suggested adding %(book_title)s and %(second_book_title)s to your list \"%(list_name)s\"" -msgstr "" +msgstr "%(related_user)s schlug vor, %(book_title)s und %(second_book_title)s zu Ihrer Liste hinzuzufügen \"%(list_name)s\"" #: bookwyrm/templates/notifications/items/add.html:66 #, python-format msgid "%(related_user)s added %(book_title)s, %(second_book_title)s, and %(display_count)s other book to your list \"%(list_name)s\"" msgid_plural "%(related_user)s added %(book_title)s, %(second_book_title)s, and %(display_count)s other books to your list \"%(list_name)s\"" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%(related_user)s hat %(book_title)s, %(second_book_title)s und %(display_count)s andere Bücher zu Ihrer Liste \"%(list_name)s hinzugefügt\"" +msgstr[1] "%(related_user)s hat %(book_title)s, %(second_book_title)s und %(display_count)s andere Bücher zu Ihrer Liste \"%(list_name)s hinzugefügt\"" #: bookwyrm/templates/notifications/items/add.html:82 #, python-format msgid "%(related_user)s suggested adding %(book_title)s, %(second_book_title)s, and %(display_count)s other book to your list \"%(list_name)s\"" msgid_plural "%(related_user)s suggested adding %(book_title)s, %(second_book_title)s, and %(display_count)s other books to your list \"%(list_name)s\"" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%(related_user)s schlug vor, %(book_title)s, %(second_book_title)s, und %(display_count)s weitere Bücher an Ihre Liste \"%(list_name)s\" hinzuzufügen" +msgstr[1] "%(related_user)s schlug vor, %(book_title)s, %(second_book_title)s, und %(display_count)s weitere Bücher an Ihre Liste \"%(list_name)s\" hinzuzufügen" #: bookwyrm/templates/notifications/items/boost.html:21 #, python-format msgid "%(related_user)s boosted your review of %(book_title)s" -msgstr "" +msgstr "%(related_user)s hat Ihre Rezension von %(book_title)s geteilt" #: bookwyrm/templates/notifications/items/boost.html:27 #, python-format msgid "%(related_user)s and %(second_user)s boosted your review of %(book_title)s" -msgstr "" +msgstr "%(related_user)s und %(second_user)s haben Ihre Rezension von %(book_title)s geteilt" #: bookwyrm/templates/notifications/items/boost.html:36 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others boosted your review of %(book_title)s" -msgstr "" +msgstr "%(related_user)s und %(other_user_display_count)s andere haben deine Rezension über %(book_title)s geteilt" #: bookwyrm/templates/notifications/items/boost.html:44 #, python-format msgid "%(related_user)s boosted your comment on %(book_title)s" -msgstr "" +msgstr "%(related_user)s hat deinen Kommentar über %(book_title)s geteilt" #: bookwyrm/templates/notifications/items/boost.html:50 #, python-format @@ -2692,22 +2692,22 @@ msgstr "" #: bookwyrm/templates/notifications/items/boost.html:90 #, python-format msgid "%(related_user)s boosted your status" -msgstr "" +msgstr "%(related_user)s hat Ihren Status geteilt" #: bookwyrm/templates/notifications/items/boost.html:96 #, python-format msgid "%(related_user)s and %(second_user)s boosted your status" -msgstr "" +msgstr "%(related_user)s und %(second_user)s haben Ihren Status geteilt" #: bookwyrm/templates/notifications/items/boost.html:105 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others boosted your status" -msgstr "" +msgstr "%(related_user)s und %(other_user_display_count)s andere haben Ihren Status geteilt" #: bookwyrm/templates/notifications/items/fav.html:21 #, python-format msgid "%(related_user)s liked your review of %(book_title)s" -msgstr "" +msgstr "%(related_user)s gefällt Ihre Rezension von %(book_title)s" #: bookwyrm/templates/notifications/items/fav.html:27 #, python-format @@ -2767,22 +2767,22 @@ msgstr "" #: bookwyrm/templates/notifications/items/follow.html:16 #, python-format msgid "%(related_user)s followed you" -msgstr "" +msgstr "%(related_user)s folgt Ihnen" #: bookwyrm/templates/notifications/items/follow.html:20 #, python-format msgid "%(related_user)s and %(second_user)s followed you" -msgstr "" +msgstr "%(related_user)s und %(second_user)s folgen Ihnen" #: bookwyrm/templates/notifications/items/follow.html:25 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others followed you" -msgstr "" +msgstr "%(related_user)s und %(other_user_display_count)s andere folgen Ihnen" #: bookwyrm/templates/notifications/items/follow_request.html:15 #, python-format msgid "%(related_user)s sent you a follow request" -msgstr "" +msgstr "%(related_user)s hat Ihnen eine Follower-Anfrage gesendet" #: bookwyrm/templates/notifications/items/import.html:14 #, python-format @@ -2792,7 +2792,7 @@ msgstr "Dein Import ist fertig." #: bookwyrm/templates/notifications/items/invite.html:16 #, python-format msgid "%(related_user)s invited you to join the group \"%(group_name)s\"" -msgstr "" +msgstr "%(related_user)s hat Sie eingeladen, der Gruppe \"%(group_name)s\" beizutreten" #: bookwyrm/templates/notifications/items/join.html:16 #, python-format @@ -2802,7 +2802,7 @@ msgstr "ist deiner Gruppe „%(group_name)s“ be #: bookwyrm/templates/notifications/items/leave.html:18 #, python-format msgid "%(related_user)s has left your group \"%(group_name)s\"" -msgstr "" +msgstr "%(related_user)s hat Ihre Gruppe \"%(group_name)s\" verlassen" #: bookwyrm/templates/notifications/items/leave.html:26 #, python-format @@ -2868,8 +2868,8 @@ msgstr "" #, python-format msgid "A new report needs moderation" msgid_plural "%(display_count)s new reports need moderation" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Ein neuer -Bericht muss moderiert werden" +msgstr[1] "%(display_count)s neue Berichte müssen moderiert werden" #: bookwyrm/templates/notifications/items/update.html:16 #, python-format @@ -3154,7 +3154,7 @@ msgstr "„%(book_title)s“ beginnen" #: bookwyrm/templates/reading_progress/stop.html:5 #, python-format msgid "Stop Reading \"%(book_title)s\"" -msgstr "" +msgstr "Höre auf zu lesen \"%(book_title)s\"" #: bookwyrm/templates/reading_progress/want.html:5 #, python-format @@ -3205,7 +3205,7 @@ msgstr "abgeschlossen" #: bookwyrm/templates/readthrough/readthrough_list.html:16 msgid "stopped" -msgstr "" +msgstr "gestoppt" #: bookwyrm/templates/readthrough/readthrough_list.html:27 msgid "Show all updates" @@ -3353,13 +3353,13 @@ msgstr "Nein" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:105 +#: bookwyrm/templates/settings/dashboard/dashboard.html:84 msgid "Start date:" msgstr "Startdatum:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:90 msgid "End date:" msgstr "Enddatum:" @@ -3430,11 +3430,11 @@ msgstr "Farbe:" #: bookwyrm/templates/settings/automod/rules.html:11 #: bookwyrm/templates/settings/layout.html:61 msgid "Auto-moderation rules" -msgstr "" +msgstr "Regeln für automatische Moderation" #: bookwyrm/templates/settings/automod/rules.html:18 msgid "Auto-moderation rules will create reports for any local user or status with fields matching the provided string." -msgstr "" +msgstr "Auto-Moderationsregeln erstellen Berichte für jeden lokalen Benutzer oder Status mit Feldern, die der angegebenen Zeichenfolge entsprechen." #: bookwyrm/templates/settings/automod/rules.html:19 msgid "Users or statuses that have already been reported (regardless of whether the report was resolved) will not be flagged." @@ -3450,11 +3450,11 @@ msgstr "Letzte Ausführung:" #: bookwyrm/templates/settings/automod/rules.html:40 msgid "Total run count:" -msgstr "" +msgstr "Gesamtanzahl:" #: bookwyrm/templates/settings/automod/rules.html:47 msgid "Enabled:" -msgstr "" +msgstr "Aktiviert:" #: bookwyrm/templates/settings/automod/rules.html:59 msgid "Delete schedule" @@ -3466,7 +3466,7 @@ msgstr "Jetzt ausführen" #: bookwyrm/templates/settings/automod/rules.html:64 msgid "Last run date will not be updated" -msgstr "" +msgstr "Letztes Ausführungsdatum wird nicht aktualisiert" #: bookwyrm/templates/settings/automod/rules.html:69 #: bookwyrm/templates/settings/automod/rules.html:92 @@ -3484,7 +3484,7 @@ msgstr "Regel hinzufügen" #: bookwyrm/templates/settings/automod/rules.html:116 #: bookwyrm/templates/settings/automod/rules.html:160 msgid "String match" -msgstr "" +msgstr "Zeichenfolgenübereinstimmung" #: bookwyrm/templates/settings/automod/rules.html:126 #: bookwyrm/templates/settings/automod/rules.html:163 @@ -3519,7 +3519,7 @@ msgid "Dashboard" msgstr "Übersicht" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:134 +#: bookwyrm/templates/settings/dashboard/dashboard.html:113 msgid "Total users" msgstr "Benutzer*innen insgesamt" @@ -3537,66 +3537,31 @@ msgstr "Statusmeldungen" msgid "Works" msgstr "Werke" -#: bookwyrm/templates/settings/dashboard/dashboard.html:43 -#, python-format -msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:46 -msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 -#, python-format -msgid "%(display_count)s open report" -msgid_plural "%(display_count)s open reports" -msgstr[0] "%(display_count)s offene Meldung" -msgstr[1] "%(display_count)s offene Meldungen" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:66 -#, python-format -msgid "%(display_count)s domain needs review" -msgid_plural "%(display_count)s domains need review" -msgstr[0] "%(display_count)s Domain muss überprüft werden" -msgstr[1] "%(display_count)s Domains müssen überprüft werden" - #: bookwyrm/templates/settings/dashboard/dashboard.html:78 -#, python-format -msgid "%(display_count)s invite request" -msgid_plural "%(display_count)s invite requests" -msgstr[0] "%(display_count)s Einladungsanfrage" -msgstr[1] "%(display_count)s Einladungsanfragen" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:90 -#, python-format -msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." -msgstr "Ein Update ist verfügbar! Du verwendest v%(current)s, die neueste Version ist %(available)s." - -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 msgid "Instance Activity" msgstr "Instanzaktivität" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:96 msgid "Interval:" msgstr "Intervall:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:121 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "Days" msgstr "Tage" -#: bookwyrm/templates/settings/dashboard/dashboard.html:122 +#: bookwyrm/templates/settings/dashboard/dashboard.html:101 msgid "Weeks" msgstr "Wochen" -#: bookwyrm/templates/settings/dashboard/dashboard.html:140 +#: bookwyrm/templates/settings/dashboard/dashboard.html:119 msgid "User signup activity" msgstr "Neuanmeldungen" -#: bookwyrm/templates/settings/dashboard/dashboard.html:146 +#: bookwyrm/templates/settings/dashboard/dashboard.html:125 msgid "Status activity" msgstr "Statusaktivitäten" -#: bookwyrm/templates/settings/dashboard/dashboard.html:152 +#: bookwyrm/templates/settings/dashboard/dashboard.html:131 msgid "Works created" msgstr "Erstellte Werke" @@ -3612,6 +3577,49 @@ msgstr "Statusmeldungen veröffentlicht" msgid "Total" msgstr "Gesamt" +#: bookwyrm/templates/settings/dashboard/warnings/domain_review.html:9 +#, python-format +msgid "%(display_count)s domain needs review" +msgid_plural "%(display_count)s domains need review" +msgstr[0] "%(display_count)s Domain muss überprüft werden" +msgstr[1] "%(display_count)s Domains müssen überprüft werden" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:8 +#, python-format +msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." +msgstr "Ihre ausgehende E-Mail-Adresse %(email_sender)skönnte falsch konfiguriert sein." + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:11 +msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env file." +msgstr "Überprüfen Sie EMAIL_SENDER_NAME und EMAIL_SENDER_DOMAIN in Ihrer .env-Datei." + +#: bookwyrm/templates/settings/dashboard/warnings/invites.html:9 +#, python-format +msgid "%(display_count)s invite request" +msgid_plural "%(display_count)s invite requests" +msgstr[0] "%(display_count)s Einladungsanfrage" +msgstr[1] "%(display_count)s Einladungsanfragen" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_conduct.html:8 +msgid "Your instance is missing a code of conduct." +msgstr "Ihrer Instanz fehlt ein Verhaltenskodex." + +#: bookwyrm/templates/settings/dashboard/warnings/missing_privacy.html:8 +msgid "Your instance is missing a privacy policy." +msgstr "In Ihrer Instanz fehlt eine Datenschutzerklärung." + +#: bookwyrm/templates/settings/dashboard/warnings/reports.html:9 +#, python-format +msgid "%(display_count)s open report" +msgid_plural "%(display_count)s open reports" +msgstr[0] "%(display_count)s offene Meldung" +msgstr[1] "%(display_count)s offene Meldungen" + +#: bookwyrm/templates/settings/dashboard/warnings/update_version.html:8 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "Ein Update ist verfügbar! Du verwendest v%(current)s, die neueste Version ist %(available)s." + #: bookwyrm/templates/settings/email_blocklist/domain_form.html:5 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:10 msgid "Add domain" @@ -4026,7 +4034,7 @@ msgstr "Zurück zu den Meldungen" #: bookwyrm/templates/settings/reports/report.html:24 msgid "Message reporter" -msgstr "" +msgstr "Nachrichtenmelder" #: bookwyrm/templates/settings/reports/report.html:28 msgid "Update on your report:" @@ -4066,7 +4074,7 @@ msgstr "Bericht #%(report_id)s: Link hinzugefügt von @%(username)s" #: bookwyrm/templates/settings/reports/report_header.html:17 #, python-format msgid "Report #%(report_id)s: Link domain" -msgstr "" +msgstr "Bericht #%(report_id)s: Link" #: bookwyrm/templates/settings/reports/report_header.html:24 #, python-format @@ -4249,15 +4257,15 @@ msgstr "Wie man ein Theme hinzufügt" #: bookwyrm/templates/settings/themes.html:29 msgid "Copy the theme file into the bookwyrm/static/css/themes directory on your server from the command line." -msgstr "" +msgstr "Kopieren Sie die Theme-Datei in das bookwyrm/static/css/themes-Verzeichnis auf Ihrem Server mittels der Kommandozeile." #: bookwyrm/templates/settings/themes.html:32 msgid "Run ./bw-dev collectstatic." -msgstr "" +msgstr "Führe ./bw-dev collectstatic aus." #: bookwyrm/templates/settings/themes.html:35 msgid "Add the file name using the form below to make it available in the application interface." -msgstr "" +msgstr "Fügen Sie den Dateinamen mit dem untenstehenden Formular hinzu, um ihn in der Anwendung verfügbar zu machen." #: bookwyrm/templates/settings/themes.html:42 #: bookwyrm/templates/settings/themes.html:83 @@ -4308,38 +4316,42 @@ msgstr "Dein Passwort:" msgid "Users: %(instance_name)s" msgstr "Benutzer*innen: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:40 +#: bookwyrm/templates/settings/users/user_admin.html:29 +msgid "Deleted users" +msgstr "Gelöschte Benutzer" + +#: bookwyrm/templates/settings/users/user_admin.html:44 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Benutzer*inname" -#: bookwyrm/templates/settings/users/user_admin.html:44 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Date Added" msgstr "Hinzugefügt am" -#: bookwyrm/templates/settings/users/user_admin.html:48 +#: bookwyrm/templates/settings/users/user_admin.html:52 msgid "Last Active" msgstr "Zuletzt aktiv" -#: bookwyrm/templates/settings/users/user_admin.html:57 +#: bookwyrm/templates/settings/users/user_admin.html:61 msgid "Remote instance" msgstr "Entfernte Instanz" -#: bookwyrm/templates/settings/users/user_admin.html:74 +#: bookwyrm/templates/settings/users/user_admin.html:81 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Active" msgstr "Aktiv" -#: bookwyrm/templates/settings/users/user_admin.html:79 +#: bookwyrm/templates/settings/users/user_admin.html:86 msgid "Deleted" -msgstr "" +msgstr "Gelöscht" -#: bookwyrm/templates/settings/users/user_admin.html:85 +#: bookwyrm/templates/settings/users/user_admin.html:92 #: bookwyrm/templates/settings/users/user_info.html:32 msgid "Inactive" msgstr "Inaktiv" -#: bookwyrm/templates/settings/users/user_admin.html:94 +#: bookwyrm/templates/settings/users/user_admin.html:101 #: bookwyrm/templates/settings/users/user_info.html:127 msgid "Not set" msgstr "Nicht festgelegt" @@ -4350,7 +4362,7 @@ msgstr "Benutzer*inprofil anzeigen" #: bookwyrm/templates/settings/users/user_info.html:19 msgid "Go to user admin" -msgstr "" +msgstr "Gehe zur Benutzerverwaltung" #: bookwyrm/templates/settings/users/user_info.html:40 msgid "Local" @@ -4430,27 +4442,27 @@ msgstr "BookWyrm einrichten" #: bookwyrm/templates/setup/admin.html:7 msgid "Your account as a user and an admin" -msgstr "" +msgstr "Ihr Konto als Benutzer und Admin" #: bookwyrm/templates/setup/admin.html:13 msgid "Create your account" -msgstr "" +msgstr "Erstelle einen Account" #: bookwyrm/templates/setup/admin.html:20 msgid "Admin key:" -msgstr "" +msgstr "Adminschlüssel:" #: bookwyrm/templates/setup/admin.html:32 msgid "An admin key was created when you installed BookWyrm. You can get your admin key by running ./bw-dev admin_code from the command line on your server." -msgstr "" +msgstr "Ein Adminschlüssel wurde erstellt als Sie BookWyrm installierten. Sie können Ihren Adminschlüssel durch das Ausführen von ./bw-dev admin_code auf der Kommandozeile Ihres Servers herausfinden." #: bookwyrm/templates/setup/admin.html:45 msgid "As an admin, you'll be able to configure the instance name and information, and moderate your instance. This means you will have access to private information about your users, and are responsible for responding to reports of bad behavior or spam." -msgstr "" +msgstr "Als Administrator können Sie den Namen und die Informationen der Instanz konfigurieren und Ihre Instanz moderieren. Dies bedeutet, dass Sie Zugang zu privaten Informationen über Ihre Nutzer haben und verantwortlich für die Reaktion auf Berichte über Fehlverhalten oder Spam sind." #: bookwyrm/templates/setup/admin.html:51 msgid "Once the instance is set up, you can promote other users to moderator or admin roles from the admin panel." -msgstr "" +msgstr "Sobald die Instanz eingerichtet ist, können Sie andere Benutzer im Admin-Panel zu Moderatoren oder Administratoren befördern." #: bookwyrm/templates/setup/admin.html:55 msgid "Learn more about moderation" @@ -4462,19 +4474,19 @@ msgstr "Instanzkonfiguration" #: bookwyrm/templates/setup/config.html:7 msgid "Make sure everything looks right before proceeding" -msgstr "" +msgstr "Vergewissern Sie sich, dass alles richtig aussieht bevor Sie fortfahren" #: bookwyrm/templates/setup/config.html:18 msgid "You are running BookWyrm in debug mode. This should never be used in a production environment." -msgstr "" +msgstr "Sie verwenden BookWyrm im Debug Modus. Dies sollte nie in einer Produktionsumgebung verwendet werden." #: bookwyrm/templates/setup/config.html:30 msgid "Your domain appears to be misconfigured. It should not include protocol or slashes." -msgstr "" +msgstr "Ihre Domain scheint falsch konfiguriert zu sein. Sie sollte kein Protokoll oder Schrägstriche enthalten." #: bookwyrm/templates/setup/config.html:42 msgid "You are running BookWyrm in production mode without https. USE_HTTPS should be enabled in production." -msgstr "" +msgstr "Sie verwenden BookWyrm im Produktionsmodus ohne https. USE_HTTPS sollte in der Produktion aktiviert werden." #: bookwyrm/templates/setup/config.html:52 bookwyrm/templates/user_menu.html:45 msgid "Settings" @@ -4490,15 +4502,15 @@ msgstr "Protokoll:" #: bookwyrm/templates/setup/config.html:81 msgid "Using S3:" -msgstr "" +msgstr "S3 benutzen:" #: bookwyrm/templates/setup/config.html:95 msgid "Default interface language:" -msgstr "" +msgstr "Standardsprache der Benutzeroberfläche:" #: bookwyrm/templates/setup/config.html:102 msgid "Email sender:" -msgstr "" +msgstr "E-Mail-Absender:" #: bookwyrm/templates/setup/config.html:109 msgid "Enable preview images:" @@ -4530,7 +4542,7 @@ msgstr "Instanzeinstellungen" #: bookwyrm/templates/setup/layout.html:15 msgid "Installing BookWyrm" -msgstr "" +msgstr "Installiere BookWyrm" #: bookwyrm/templates/setup/layout.html:18 msgid "Need help?" @@ -4936,13 +4948,13 @@ msgstr "„%(book_title)s“ beginnen" #: bookwyrm/templates/snippets/reading_modals/stop_reading_modal.html:6 #, python-format msgid "Stop Reading \"%(book_title)s\"" -msgstr "" +msgstr "Lesen von \"%(book_title)s \" stoppen" #: bookwyrm/templates/snippets/reading_modals/stop_reading_modal.html:32 #: bookwyrm/templates/snippets/shelf_selector.html:54 #: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:21 msgid "Stopped reading" -msgstr "" +msgstr "Lesen gestoppt" #: bookwyrm/templates/snippets/reading_modals/want_to_read_modal.html:6 #, python-format @@ -5018,7 +5030,7 @@ msgstr "Mehr Regale" #: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:31 #: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:48 msgid "Stop reading" -msgstr "" +msgstr "Aufhören zu lesen" #: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:40 msgid "Finish reading" @@ -5118,12 +5130,12 @@ msgstr "hat %(book)s besprochen" #: bookwyrm/templates/snippets/status/headers/stopped_reading.html:10 #, python-format msgid "stopped reading %(book)s by %(author_name)s" -msgstr "" +msgstr "hat das Lesen von %(book)s von %(author_name)s beendet" #: bookwyrm/templates/snippets/status/headers/stopped_reading.html:17 #, python-format msgid "stopped reading %(book)s" -msgstr "" +msgstr "hat das Lesen von %(book)s beendet" #: bookwyrm/templates/snippets/status/headers/to_read.html:10 #, python-format diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po index 4476585f6..c4aea86bf 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-07-08 22:40+0000\n" +"POT-Creation-Date: 2022-07-11 15:53+0000\n" "PO-Revision-Date: 2021-02-28 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -2274,7 +2274,7 @@ msgid "More about this site" msgstr "" #: bookwyrm/templates/landing/password_reset.html:34 -#: bookwyrm/templates/preferences/change_password.html:18 +#: bookwyrm/templates/preferences/change_password.html:40 #: bookwyrm/templates/preferences/delete_user.html:20 msgid "Confirm password:" msgstr "" @@ -2872,6 +2872,11 @@ msgid_plural "%(display_count)s new reports need modera msgstr[0] "" msgstr[1] "" +#: bookwyrm/templates/notifications/items/status_preview.html:4 +#: bookwyrm/templates/snippets/status/content_status.html:73 +msgid "Content warning" +msgstr "" + #: bookwyrm/templates/notifications/items/update.html:16 #, python-format msgid "has changed the privacy level for %(group_name)s" @@ -3029,12 +3034,20 @@ msgstr "" #: bookwyrm/templates/preferences/change_password.html:4 #: bookwyrm/templates/preferences/change_password.html:7 -#: bookwyrm/templates/preferences/change_password.html:21 +#: bookwyrm/templates/preferences/change_password.html:52 #: bookwyrm/templates/preferences/layout.html:20 msgid "Change Password" msgstr "" -#: bookwyrm/templates/preferences/change_password.html:14 +#: bookwyrm/templates/preferences/change_password.html:15 +msgid "Successfully changed password" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:22 +msgid "Current password:" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:36 msgid "New password:" msgstr "" @@ -3126,6 +3139,10 @@ msgstr "" msgid "Your export will include all the books on your shelves, books you have reviewed, and books with reading activity." msgstr "" +#: bookwyrm/templates/preferences/export.html:20 +msgid "Download file" +msgstr "" + #: bookwyrm/templates/preferences/layout.html:11 msgid "Account" msgstr "" @@ -5036,10 +5053,6 @@ msgstr "" msgid "Finish reading" msgstr "" -#: bookwyrm/templates/snippets/status/content_status.html:73 -msgid "Content warning" -msgstr "" - #: bookwyrm/templates/snippets/status/content_status.html:80 msgid "Show status" msgstr "" @@ -5335,7 +5348,7 @@ msgstr "" msgid "View profile and more" msgstr "" -#: bookwyrm/templates/user_menu.html:72 +#: bookwyrm/templates/user_menu.html:78 msgid "Log out" msgstr "" @@ -5356,6 +5369,14 @@ msgstr "" msgid "Username or password are incorrect" msgstr "" +#: bookwyrm/views/preferences/change_password.py:35 +msgid "Incorrect password" +msgstr "" + +#: bookwyrm/views/preferences/change_password.py:42 +msgid "Password does not match" +msgstr "" + #: bookwyrm/views/rss_feed.py:34 #, python-brace-format msgid "Status updates from {obj.display_name}" diff --git a/locale/es_ES/LC_MESSAGES/django.mo b/locale/es_ES/LC_MESSAGES/django.mo index 49a5f2de8c466fe574cd959c3b05d5e810108888..27a60d5904974f4ca7555ea0b0fb45ce3f6d9446 100644 GIT binary patch delta 23723 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 diff --git a/locale/es_ES/LC_MESSAGES/django.po b/locale/es_ES/LC_MESSAGES/django.po index 28404d726..737107c42 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-07-07 17:47+0000\n" -"PO-Revision-Date: 2022-07-07 18:12\n" +"POT-Creation-Date: 2022-07-08 22:40+0000\n" +"PO-Revision-Date: 2022-07-10 18:51\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Spanish\n" "Language: es\n" @@ -48,7 +48,7 @@ msgstr "La fecha final de lectura no puede ser anterior a la fecha de inicio." #: bookwyrm/forms/forms.py:59 msgid "Reading stopped date cannot be before start date." -msgstr "" +msgstr "La fecha final de lectura no puede ser anterior a la fecha de inicio." #: bookwyrm/forms/landing.py:32 msgid "User with this username already exists" @@ -1205,7 +1205,7 @@ msgstr "Dominio" #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:56 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Status" msgstr "Estado" @@ -1221,7 +1221,7 @@ msgstr "Acciones" #: bookwyrm/templates/book/file_links/edit_links.html:48 #: bookwyrm/templates/settings/link_domains/link_table.html:21 msgid "Unknown user" -msgstr "" +msgstr "Usuario/a desconocido/a" #: bookwyrm/templates/book/file_links/edit_links.html:57 #: bookwyrm/templates/book/file_links/verification_modal.html:22 @@ -1329,7 +1329,7 @@ msgstr "Código de confirmación:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:81 -#: bookwyrm/templates/settings/dashboard/dashboard.html:127 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Enviar" @@ -1369,7 +1369,7 @@ msgid "Local users" msgstr "Usuarios locales" #: bookwyrm/templates/directory/community_filter.html:12 -#: bookwyrm/templates/settings/users/user_admin.html:29 +#: bookwyrm/templates/settings/users/user_admin.html:33 msgid "Federated community" msgstr "Comunidad federada" @@ -1746,7 +1746,7 @@ msgstr "Leído" #: bookwyrm/templates/get_started/book_preview.html:13 #: bookwyrm/templates/shelf/shelf.html:89 bookwyrm/templates/user/user.html:36 msgid "Stopped Reading" -msgstr "" +msgstr "Lectura interrumpida" #: bookwyrm/templates/get_started/books.html:6 msgid "What are you reading?" @@ -2281,7 +2281,7 @@ msgstr "Confirmar contraseña:" #: bookwyrm/templates/landing/password_reset_request.html:14 #, python-format msgid "A password reset link will be sent to %(email)s if there is an account using that email address." -msgstr "" +msgstr "Se enviará un enlace para restablecer la contraseña a %(email)s si hay una cuenta usando esa dirección de correo electrónico." #: bookwyrm/templates/landing/password_reset_request.html:20 msgid "A link to reset your password will be sent to your email address" @@ -2598,7 +2598,7 @@ msgstr "Listas guardadas" #: bookwyrm/templates/notifications/items/accept.html:18 #, python-format msgid "%(related_user)s accepted your invitation to join group \"%(group_name)s\"" -msgstr "" +msgstr "%(related_user)s aceptó su invitación para unirse al grupo \"%(group_name)s\"" #: bookwyrm/templates/notifications/items/accept.html:26 #, python-format @@ -3353,13 +3353,13 @@ msgstr "Falso" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:105 +#: bookwyrm/templates/settings/dashboard/dashboard.html:84 msgid "Start date:" msgstr "Fecha de inicio:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:90 msgid "End date:" msgstr "Fecha final:" @@ -3519,7 +3519,7 @@ msgid "Dashboard" msgstr "Tablero" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:134 +#: bookwyrm/templates/settings/dashboard/dashboard.html:113 msgid "Total users" msgstr "Número de usuarios" @@ -3537,66 +3537,31 @@ msgstr "Estados" msgid "Works" msgstr "Obras" -#: bookwyrm/templates/settings/dashboard/dashboard.html:43 -#, python-format -msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:46 -msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 -#, python-format -msgid "%(display_count)s open report" -msgid_plural "%(display_count)s open reports" -msgstr[0] "%(display_count)s informe abierto" -msgstr[1] "%(display_count)s informes abiertos" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:66 -#, python-format -msgid "%(display_count)s domain needs review" -msgid_plural "%(display_count)s domains need review" -msgstr[0] "%(display_count)s dominio necesita revisión" -msgstr[1] "%(display_count)s dominios necesitan revisión" - #: bookwyrm/templates/settings/dashboard/dashboard.html:78 -#, python-format -msgid "%(display_count)s invite request" -msgid_plural "%(display_count)s invite requests" -msgstr[0] "%(display_count)s solicitación de invitado" -msgstr[1] "%(display_count)s solicitaciones de invitado" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:90 -#, python-format -msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." -msgstr "Hay una actualización disponible. La versión que estás usando es la %(current)s, mientras que la actual es %(available)s." - -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 msgid "Instance Activity" msgstr "Actividad de instancia" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:96 msgid "Interval:" msgstr "Intervalo:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:121 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "Days" msgstr "Dias" -#: bookwyrm/templates/settings/dashboard/dashboard.html:122 +#: bookwyrm/templates/settings/dashboard/dashboard.html:101 msgid "Weeks" msgstr "Semanas" -#: bookwyrm/templates/settings/dashboard/dashboard.html:140 +#: bookwyrm/templates/settings/dashboard/dashboard.html:119 msgid "User signup activity" msgstr "Actividad de inscripciones de usuarios" -#: bookwyrm/templates/settings/dashboard/dashboard.html:146 +#: bookwyrm/templates/settings/dashboard/dashboard.html:125 msgid "Status activity" msgstr "Actividad de estado" -#: bookwyrm/templates/settings/dashboard/dashboard.html:152 +#: bookwyrm/templates/settings/dashboard/dashboard.html:131 msgid "Works created" msgstr "Obras creadas" @@ -3612,6 +3577,49 @@ msgstr "Estados publicados" msgid "Total" msgstr "Suma" +#: bookwyrm/templates/settings/dashboard/warnings/domain_review.html:9 +#, python-format +msgid "%(display_count)s domain needs review" +msgid_plural "%(display_count)s domains need review" +msgstr[0] "%(display_count)s dominio necesita revisión" +msgstr[1] "%(display_count)s dominios necesitan revisión" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:8 +#, python-format +msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:11 +msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env file." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/invites.html:9 +#, python-format +msgid "%(display_count)s invite request" +msgid_plural "%(display_count)s invite requests" +msgstr[0] "%(display_count)s solicitación de invitado" +msgstr[1] "%(display_count)s solicitaciones de invitado" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_conduct.html:8 +msgid "Your instance is missing a code of conduct." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_privacy.html:8 +msgid "Your instance is missing a privacy policy." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/reports.html:9 +#, python-format +msgid "%(display_count)s open report" +msgid_plural "%(display_count)s open reports" +msgstr[0] "%(display_count)s informe abierto" +msgstr[1] "%(display_count)s informes abiertos" + +#: bookwyrm/templates/settings/dashboard/warnings/update_version.html:8 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "Hay una actualización disponible. La versión que estás usando es la %(current)s, mientras que la actual es %(available)s." + #: bookwyrm/templates/settings/email_blocklist/domain_form.html:5 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:10 msgid "Add domain" @@ -4308,38 +4316,42 @@ msgstr "Tu contraseña:" msgid "Users: %(instance_name)s" msgstr "Usuarios %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:40 +#: bookwyrm/templates/settings/users/user_admin.html:29 +msgid "Deleted users" +msgstr "" + +#: bookwyrm/templates/settings/users/user_admin.html:44 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Nombre de usuario" -#: bookwyrm/templates/settings/users/user_admin.html:44 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Date Added" msgstr "Fecha agregada" -#: bookwyrm/templates/settings/users/user_admin.html:48 +#: bookwyrm/templates/settings/users/user_admin.html:52 msgid "Last Active" msgstr "Actividad reciente" -#: bookwyrm/templates/settings/users/user_admin.html:57 +#: bookwyrm/templates/settings/users/user_admin.html:61 msgid "Remote instance" msgstr "Instancia remota" -#: bookwyrm/templates/settings/users/user_admin.html:74 +#: bookwyrm/templates/settings/users/user_admin.html:81 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Active" msgstr "Activo" -#: bookwyrm/templates/settings/users/user_admin.html:79 +#: bookwyrm/templates/settings/users/user_admin.html:86 msgid "Deleted" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:85 +#: bookwyrm/templates/settings/users/user_admin.html:92 #: bookwyrm/templates/settings/users/user_info.html:32 msgid "Inactive" msgstr "Inactivo" -#: bookwyrm/templates/settings/users/user_admin.html:94 +#: bookwyrm/templates/settings/users/user_admin.html:101 #: bookwyrm/templates/settings/users/user_info.html:127 msgid "Not set" msgstr "No establecido" diff --git a/locale/fi_FI/LC_MESSAGES/django.mo b/locale/fi_FI/LC_MESSAGES/django.mo index 492f9f54700c8905e2edb603605d1a27f1c1793f..01488e862d9fe6273b43d057bf3dceafe326915d 100644 GIT binary patch delta 22 ecmeykh4teW)(y!Q*)0@|jIB%zH)maB?*ssIya^fr delta 22 ecmeykh4teW)(y!Q+07LUEvyWUHfLRA?*ssI#0eV! diff --git a/locale/fi_FI/LC_MESSAGES/django.po b/locale/fi_FI/LC_MESSAGES/django.po index f46e70898..f3aaae5b8 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-07-07 17:47+0000\n" -"PO-Revision-Date: 2022-07-07 18:12\n" +"POT-Creation-Date: 2022-07-08 22:40+0000\n" +"PO-Revision-Date: 2022-07-08 23:41\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Finnish\n" "Language: fi\n" @@ -1205,7 +1205,7 @@ msgstr "Verkkotunnus" #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:56 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Status" msgstr "Tila" @@ -1329,7 +1329,7 @@ msgstr "Vahvistuskoodi:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:81 -#: bookwyrm/templates/settings/dashboard/dashboard.html:127 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Lähetä" @@ -1369,7 +1369,7 @@ msgid "Local users" msgstr "Paikalliset käyttäjät" #: bookwyrm/templates/directory/community_filter.html:12 -#: bookwyrm/templates/settings/users/user_admin.html:29 +#: bookwyrm/templates/settings/users/user_admin.html:33 msgid "Federated community" msgstr "Yhteisö fediversumissa" @@ -3353,13 +3353,13 @@ msgstr "Epätosi" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:105 +#: bookwyrm/templates/settings/dashboard/dashboard.html:84 msgid "Start date:" msgstr "Alkaen:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:90 msgid "End date:" msgstr "Päättyen:" @@ -3519,7 +3519,7 @@ msgid "Dashboard" msgstr "Kojelauta" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:134 +#: bookwyrm/templates/settings/dashboard/dashboard.html:113 msgid "Total users" msgstr "Käyttäjiä yhteensä" @@ -3537,66 +3537,31 @@ msgstr "Tilapäivityksiä" msgid "Works" msgstr "Teoksia" -#: bookwyrm/templates/settings/dashboard/dashboard.html:43 -#, python-format -msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:46 -msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 -#, python-format -msgid "%(display_count)s open report" -msgid_plural "%(display_count)s open reports" -msgstr[0] "%(display_count)s käsittelemätön raportti" -msgstr[1] "%(display_count)s käsittelemätöntä raporttia" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:66 -#, python-format -msgid "%(display_count)s domain needs review" -msgid_plural "%(display_count)s domains need review" -msgstr[0] "%(display_count)s verkkotunnus vaatii tarkistusta" -msgstr[1] "%(display_count)s verkkotunnusta vaatii tarkistusta" - #: bookwyrm/templates/settings/dashboard/dashboard.html:78 -#, python-format -msgid "%(display_count)s invite request" -msgid_plural "%(display_count)s invite requests" -msgstr[0] "%(display_count)s kutsupyyntö" -msgstr[1] "%(display_count)s kutsupyyntöä" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:90 -#, python-format -msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." -msgstr "Päivitys saatavilla! Käytössäsi on versio %(current)s, ja viimeisin julkaistu versio on %(available)s." - -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 msgid "Instance Activity" msgstr "Palvelimen aktiivisuus" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:96 msgid "Interval:" msgstr "Aikaväli:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:121 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "Days" msgstr "päivä" -#: bookwyrm/templates/settings/dashboard/dashboard.html:122 +#: bookwyrm/templates/settings/dashboard/dashboard.html:101 msgid "Weeks" msgstr "viikko" -#: bookwyrm/templates/settings/dashboard/dashboard.html:140 +#: bookwyrm/templates/settings/dashboard/dashboard.html:119 msgid "User signup activity" msgstr "Rekisteröityneitä käyttäjiä" -#: bookwyrm/templates/settings/dashboard/dashboard.html:146 +#: bookwyrm/templates/settings/dashboard/dashboard.html:125 msgid "Status activity" msgstr "Tilapäivityksiä" -#: bookwyrm/templates/settings/dashboard/dashboard.html:152 +#: bookwyrm/templates/settings/dashboard/dashboard.html:131 msgid "Works created" msgstr "Luotuja teoksia" @@ -3612,6 +3577,49 @@ msgstr "Tilapäivityksiä" msgid "Total" msgstr "Yhteensä" +#: bookwyrm/templates/settings/dashboard/warnings/domain_review.html:9 +#, python-format +msgid "%(display_count)s domain needs review" +msgid_plural "%(display_count)s domains need review" +msgstr[0] "%(display_count)s verkkotunnus vaatii tarkistusta" +msgstr[1] "%(display_count)s verkkotunnusta vaatii tarkistusta" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:8 +#, python-format +msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:11 +msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env file." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/invites.html:9 +#, python-format +msgid "%(display_count)s invite request" +msgid_plural "%(display_count)s invite requests" +msgstr[0] "%(display_count)s kutsupyyntö" +msgstr[1] "%(display_count)s kutsupyyntöä" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_conduct.html:8 +msgid "Your instance is missing a code of conduct." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_privacy.html:8 +msgid "Your instance is missing a privacy policy." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/reports.html:9 +#, python-format +msgid "%(display_count)s open report" +msgid_plural "%(display_count)s open reports" +msgstr[0] "%(display_count)s käsittelemätön raportti" +msgstr[1] "%(display_count)s käsittelemätöntä raporttia" + +#: bookwyrm/templates/settings/dashboard/warnings/update_version.html:8 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "Päivitys saatavilla! Käytössäsi on versio %(current)s, ja viimeisin julkaistu versio on %(available)s." + #: bookwyrm/templates/settings/email_blocklist/domain_form.html:5 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:10 msgid "Add domain" @@ -4308,38 +4316,42 @@ msgstr "Salasana:" msgid "Users: %(instance_name)s" msgstr "Käyttäjät: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:40 +#: bookwyrm/templates/settings/users/user_admin.html:29 +msgid "Deleted users" +msgstr "" + +#: bookwyrm/templates/settings/users/user_admin.html:44 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Käyttäjänimi" -#: bookwyrm/templates/settings/users/user_admin.html:44 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Date Added" msgstr "Lisätty" -#: bookwyrm/templates/settings/users/user_admin.html:48 +#: bookwyrm/templates/settings/users/user_admin.html:52 msgid "Last Active" msgstr "Viimeksi paikalla" -#: bookwyrm/templates/settings/users/user_admin.html:57 +#: bookwyrm/templates/settings/users/user_admin.html:61 msgid "Remote instance" msgstr "Etäpalvelin" -#: bookwyrm/templates/settings/users/user_admin.html:74 +#: bookwyrm/templates/settings/users/user_admin.html:81 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Active" msgstr "Aktiivinen" -#: bookwyrm/templates/settings/users/user_admin.html:79 +#: bookwyrm/templates/settings/users/user_admin.html:86 msgid "Deleted" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:85 +#: bookwyrm/templates/settings/users/user_admin.html:92 #: bookwyrm/templates/settings/users/user_info.html:32 msgid "Inactive" msgstr "Ei aktiivinen" -#: bookwyrm/templates/settings/users/user_admin.html:94 +#: bookwyrm/templates/settings/users/user_admin.html:101 #: bookwyrm/templates/settings/users/user_info.html:127 msgid "Not set" msgstr "Ei asetettu" diff --git a/locale/fr_FR/LC_MESSAGES/django.mo b/locale/fr_FR/LC_MESSAGES/django.mo index 69fb18862c14d2818e6d8418e73ced9205881b80..e791e6ed973b9b7d08c6d12ef8a5f8beb7518bba 100644 GIT binary patch delta 24401 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 TA|^66HZnMJSLO|#$-e&s6fvQ? delta 24108 zcmZA91#lJD!-wI$A-KDfAb}9v-JJw?4Fo9!cV~lZv7jyP9^ADQr+9(l#kF|h4+XyW zchAWT^X<&`IqtjnCQwekjJ5oEEcbRY-&qbny6ZU2 z6!5SDn1YN69UW&EE<{yq@{^fi4{S*MXUvZGYIrd|%z083+L48=@10<}_$F)i+} z@$=Y{{+&kzG}20)9j7ohz<4+wl^%%!xC|5FNz_VR!*G0$qcD_6R=khPF?JW@dR#`l zURT=04>$pbcVqou5{T2?aaQ5Kn9hfp_i&ue#CP{{oORfxw=s1e$5~7K2u{WBeI19s zoo~1ZJN0v%H5jMAaSN^{-f{q|hA{^^&LND%J=ky%>#soK!E}bFa3PK!;y9FXvJQ2e zjW{2*CBegtzQY}7C-MC_AN#S4T7hH{#@RTMc)Age!!9`sumZ*;kuf>dFai&Zq#}7v zIcm$psEkUZ9f#xK{Ek|xpfSd6s3j~r)^S)p=Q!5JBI6wAJB~(8WHg1!vXW(~+=lqD zNjw2~8=GUL$(%b}=n`m2;1lM>Myyji9F1-93Fg6?QyeEL4n$VjnTWYj`=B$E2Xz+0 z&>#Q6V)zeM!tB#{L@^xI@k1<+Zn^2^@ruAfB+S8Hm~@8Y)WK1h6EC4o{a1{M*&>ZW zn4EZijD?jk4hCaFY>2Tj%;tyNcrO!ook0YWQXm3VVTLWR7}d~fjDedm0Jmc@yn)H_ zAB=}SGkK;lA*xe6HB^UpP)qn4we+7* z1Nw#f9_z0W`jgNFvteeOh8n;Y zRKb- zNP`nl9W6!8d@c6GL#TIofdytjbx~W>8r5JARK1btixW}pO+_vBYMZ_bHL(4ttvu-x z&{Ca4HETLNgF%v6{ z>Zc+yaM!6rKr;$M4WtjM;X$aSi?I3AZ2A(^O07nng-zDosJ;Hp=AS{$@G@#eA6ehq zbRSM|Iz9g>2xtlOSu5gH;*C%pJwy%UC91=(Ha*rdGm}K9{Pfrtb75*+jDENaHL+`` z7uIdmfZk$!`uBcFYp)V4HzQ7uTB1Ct!&1`5tD+icVEqZT=R+_r?m#_74^bW0TVYnR z7iuB{Q5{F1R%QyiTI$6Fv~;V`7dNB!eg|qGhi&{Us)4_3{4r{PZ&4HYhN_=%rFrg? zq4IN}>J>tLajAehL#4~gqt=X*kP~}RZ zW>(FnH$in6h8kFR)QU|&t>kY=dDl5XKzn`-wE~Y(GyjB|X{>eT2a|-Ty$!-tSPA1` zb89<{OS~&;Mf#(bemLs!UW__JTW$OV#@F+IgMdc<7*+A3^*d@{vDcd!rb0E46;-Y{ zY9{4T1F4D{KpoU$+RWMwwIw60V=*4_N$98Nf3{87fokY5s)JLghAv_Pe1w|OJJiag z++a?92J|Oh7&YKVsCL?;R$_MHS(Oc`Yw3_$H!9@Ns6 zN6n}Ts-xPd0klEQq%UfwE+)ijs0l2@M0f-X<3*bvdz0C^l$%(8b(Ee2jVvz~#FD5b z?uOd)zNi^Zz>FAarepF^FMyQl%YL_IBEFexV6Vg`^6^*(X)6G%)T#3r;v z4QL>0Z%5!UoPZj6-K{3SC8}Nr)E4%`)F4T8J-(7YB z=&Iw+1hfJJQHO6VCdbKG3KwGvyos988_a@VkOS^y+HHPJKZmM6e2*E}XjJ>tP+PSK zQ{hU~!1nK9{k2y&Nl?WHs2M%8@qbYr|A$(Eq1Wh+P#6Q zcOTQ?2TYGi_L|g9S}8x&p$b5) zP;S)HmPF048ir$C)LGbzYVU~6|HGT_@cghM+neh`u-ywKC(ZGf_{^5_Gk+mkDS@Pf<(v#>PKeeU6&L6c4o$ zX)yqEqUzPLHbK=7MGd?YY9NEHqfrx>f;tPcj$g3Q0dt*CKkY0SPV6QvgnJ|Y zN1LDXxM`p$YJgQx4L3s7Z)FWfZP5T!JJT^1F0%2JHonazpoaF^gwr;D5w$hr~84 zd?Bi%L#U2Upk{gjHPhQR{s1-OH#YtWrx1^M+WdxeCaRso)|05G>jK80f9D~AKoXwX z0?E#pKeV;AO6JQ6_3iZZ>I07}Gsi^YHPy>y^0NjQue;qaRr>J(`U<~|*-O%SO z>#xJnlYri6k*Lpt<)|e;jN02%sF^&p=^ro=@ozRg;W@K{8Bu4ZDr%($paw7u^_Y)A z^)nZ>Qftn!{t9d*!5{ZyJiLvX*;CY0@By=7yz^#;`A`iv!i3lgHJ~o2fe%J4`6yKT zvrv!YBCLqJF$ey4p7qZ~Aln7=nAAlz+y_;02qwWXm=tGYVqA?{nO&&I=o0$jGt>m) zT{II&i5g&LRJ-|5^^2j-NHy0c)JDDgTcaM6{-_EIP%~PAs<;s~paZDK^&G1FOVl2x zxMa#@wiZC8S3tE>8#S>er~$ZbZ9*qhhrQ9egs8`G6l!2AP|xjt)bo7>wE{0t^Zm$u;Pp`h2}8Bt!=$^;KmyH37>}xW54D%CQ5C*pQcUotS?Wxv28v)1 zmPH-n&R7s9qdGi@CGZ@wD^A=iCVm5R5>I(m--y`%as)KPZm5hg=#NpTft*L}=^fOP zJ+r>Sn#4a@D_t|+Bc`CXW5Exyk-(sUmKf7sxbh zM0^(NMe*FGzd|kfd+S$gtlMUf6QepzYt4*mHz#Jr5~vkug&KH2OpX(8v;Jy$Aqjen zR-xhtP*5jDUBf1AfJ6{_Phs4c9D%I}OCcpvPKgHT)b z+9i;Kz(-U;zk8;EoTxo3XycVoPeBOkP`1V_*v-bLVM^kQPy^eJneY^9LQhdM{)lSF z=e~I*yD12$LJriPltwjF7j;-VT6?1^4oA&!8fL_Km>qYbw(K@)$)BS-e21F(H=FMJ zz`TkRApN*bb^=o=P#S0B8Ptf|Jv1xQ3$?dHPz_B&S zk43QBV{rE8CRp^U-`xC86sC(MJv&&)f25N0Mm z4+rC3)MrZ3=jPKe47H+>sEMq>0Njmr>EF3SpeE*jVYXlh<|aNB6W~6KhbJ*UUbgYO zn3ec*?2Ud@7Kjj{YwTK_H@f7b&dreU**A~@rH}uDdcdWmbXo*dT zLJjCVY9LoIHr}!6k1-eVm)H{1zBlpyID`07RJ|e}%&WXC<{>^0b+(S9Rxib)ORo#^Zv(gOK>pu!{2c_mi)?BbUcF@=xEkA zb2heoHxoFE`N@yrc)Z^u3S)qt|5^l!kUX&Jl?I?fg6Zl$2B-UuCZV|k29J0O`L_D<9nR9_#IXLZ32&z!^d$JC-gW6h@VL8 zakk;OBp&at?Mf&0IPNAAUJ{7Jg~>eLzjjkFxySqG`|EHE>9tdMynhYHlhU{ewdbL! zJkB5Z29MxD{uhb>JbQI1d zJxw;VVw>jv>~)S@9`En@ z#$pS~y~a=s$?fr;_VuXvEo_Bl@_4+D?XQ@E_*s|0Gy?ar5cbXMamwRr)C``YKlaGy zaVp?6)MI!N$781a9`BdTRj609Q^4bWh1bFrMBCv+j9bu@n~8zMU!o4To2rn<`$DOR zaY+b9JzkA$dQa5p9fT=yEb0w5-?|L-0$YnQaSJBGU6=%qV?4ZuYX3f}{7d91aGehX z^wXTn7Ss|RM7>DPVo|(}TKbg5O~)Bf`FT+*Qr4z7MwRb` z#c+|0U&R38iAtD(6h^lk33Uh@$ElbJo0K#S^v9mWH=stGsgzmL?5Gc+GS;f7m8fIm zZBd6a9CPA3tcn>+n-yx0ItznK^ZY9?nuK{c1y5sO8IMz$$L~FAh9%0GrLTeUi8n{B zP)F2^`e6|MirRu>sI9t*+M1V`9zEsFi!LK(Cce46YYJW>K?NURTKt4MwaF@&CC`Xj znQW+~u7p~V7N`!}+4vyTAsu1kGf@MXk7|Dds{CQp({k0d3Aa!)dWZUy@~PI_fECYSTNQ&PXrJjzdsewA8u}_4r<~`R`FHn7*3%crJ`Pi8n(HBx!Z?c&Ej< z`us0SKuc2|wS>W_23zA89Ev(*J~hl!5r`@uiduni)QpFtwrHkxg>{GZxb+%p1)ie! z^Z%OyBqXcp@&1+R?3j;uJJc3LVj=v7T8VF)Z^9(bvVbNmUt~{CWlb3=xeBsKHy~hj_P1?ZLS`LFjPnVFc(IkX0RUh#@dcr;;X0?dVzW> z;@2|+DQK;XYOk@4cee2%sDV$had(9c?6RJ=-bO9)8&riv^-Y5TsJ$zW6|f=djLb%D z<$TnN>_lzZNz_W*K~403m>)e2yx)X){t0L)I-r(t0%~s}QKxtjs$vx8#GR-!@i*!* z^=)WYC=2Rr4U`#z|x8E@k&tb0%cKZiOSH&CA)pHVNcW=%{z7qwFJ(e)#+jetgU8MSmTQ8W00 zIz$PZnuh&R<#MBzvHZ77 z9ivWv!e(ZVOQ0HPf*Md;48gvrB|eOL^Ibp<@EYnde1j_I)7*4i2epMwQ2lgo&huZG zKm-Y@upJBGFYQzazn2IS-r#TmD<*J}QtU931PH)r}46u$uZQWGV0Ow*ST!d;j zj@!~4o+PLO*-;hppiXyD^u7^M9e2V&9BK2{p=NRt^&Yrk(|uZ*7nMJ%y(*}I*2c5g z0<{uuP-`=i3aEq{s8iYowUk3qdpip?pbekiR)>@4uP6a^Pysco3dnkkM~zIt+65T!>Eo@ zbue2Ih}!eYs54aywW1ACuk5apuwmKjzX=(l1}#Xe=i9|NVtN{F+pe3(NCC{ z_+Zo)twA-g9d+6-q283AQE#|_aC7*AQA^$hYvKsh0M6L-KT$8b=i#nt__RrQK^if@=6QYKyL7Wo+Nutn3<8 z`7M|W_n;>72$Sgf_vvFkt&*b(2BKz?AFE*()Bv|y_oJ5lIBM_zLVe0TLx22$TIy7N z`Slx?M4h29)RGTHt-uWQ{`|j&fDS_xYGhYXOZpZy;`IH@%2Y!Qun}qtTA}xagL-;? zL3MNSK0}brou>cB0B3 zMU^{)>fjn`1)ib?ns9(w;Xu@Y%AgK)%>g|BTDmY2w8Y&|BOPE1M%ehz7?bqbs5j$$ zRQV;S6PQg8Iw|L~TVAtd5;gTe$@_fdk$+&;NA- z`nLKAbr!y$_9|I~S*k$Ph>N2JQ~}j+bIgxjQ3F_jDz^!>MY~bu9-_AHBWfiJjW7md z5`F%+BcSKDFKPf&P$OM|YG^ZRX>Xxc>Jw^!F-DpdNQ(oAXT_rUD{6)pQJ*3Iptd%} zDD&A7fI58j(N#ws320`$ZN?;2$BR%emeZ)E_KY^~{P?I9ONZLBe5j|P4r&FOpuVcL zL6uvCTA^*I^2ad;J|4~UuZ|LrF-u(vHL_r9D5}9esD_53_I^6*xnGF2@et<5#AD5X zOQT+By-@>SjQX%zi(2X3s2AU*v3Ad2lb}z**yGGn=SB^z8meL+)C@+V1~LoP@LJSX zY(u>XPob9j0%{BHp$75|wRO42o0TetDp$@WpoZ(BPHj8Xi)IGuESy5E$lulvs2Rka zU^>i-TA?7+78F7?T*}5nPy=m<`LH!==2K7ubk`A32ggwbZ&)8yx4GtN5Em~7xlS+2KAUFonqR_i8^d`P=|Z~YT(l_jz0ev6427E z!YUYr_3;C01*%Uq4GhKh#FwKU$GFox&OOYAWia-1Gvg{4Lc9|;$L*+BagrGx@BgG; z79fqI+Ii~|&=UF1H($5YqB3fup3gR@ zl^BW|(62WC5Ne8mc?0M+RcQTSRqt?O;q{TsQPX%0vdS)>PM@|SPs{s zM*a-70-vpM7Md4MD%4E;P+OK0HIW)P7hB^>{D|ss;UZIhGpfD4$O^j7Ndn$iCgvmK z9@fBQi_P!*TH<`-W3e}8UE=ZnZI;0{6yOpZhT+T1AJaWSJtbkw&6{-$ zmM6X+y?_4yjX+)!>a8&E>IlqEd?OyiKW+N_m1cma(4X|r7>MatndiSUb|pR%YvC)@ z(wA9nK9(Dz-jtJ2r++Sb|Nq}*HX#Z%kUgj+e2OD*drm8oFA-I|MYcp!KGMVpx!PbyUG2s1c7uAN(2f<1`Gz z!>DrEHkcPoF4S2lfckK%irU&b*aKag|7ruzzh>;a(flf<5Y{F>8mr!mI_d@V4{GK~Hkns;Ce)j>Dr$lusQS%pJZzI|e%9+jLTfVCq6QRqv&Z`n zkrYQg9amBL_fa#ixW)X*XdhIA53nh|L_HN%x0-Twu_y5ns12F2oal2!xIZsK?$NdZOB-9zlotm51 zhxaOD+iPV8<9h!Rk*(`Iw3#S+C{=WY^#dLC;kKn+Oi)AccQ&THolFr!Q5^1e?0agF&6i9-4xWpK28IAY1QPe z$Q^y1r_wIU{Y^qz$}A>404H(tdh%YcC{vu!U*yfk;lyYlh=zW=ctRb1aPt0zsNPtg{5`g@y%hYFI(o^i;r1mz(heew zG9?M`Aia-G8$!4*Wpue`_|Kmd%D|nCU}~JY5|OPIf!MG{mzKE=rv|+*^rH;NC;HJ$Ex(ZX9VZ zX`?e~(bvDk^|h)OefEsO8@?Zz#ff~1ycLq#JwkQ>vHaY+UJ<`QiJx#bY5fV0G+Ew% zUurbzy0VZy-PTD$S}o$yS5DHm+jw~r!^n>yo*KIo&&Y7&Q^q%j_r=ZEb|Tdyht*2o zxeHktiK%ujEQZOkux;)M2GPtp9E$;z*T>x??i|Fs5pP8J6JcF9shfc`KCHY~F~UES z#t$5|)4PGhGIM95wGi&^l)8z&q+OwW4Z>|n+e-}}()0lveRU%+*|w^*)`TC}cy|0B zbqi2$NpuCgO8S4?gGv7%-$frwIQ|rM))(KMGd% zmS9T>e@@^DvMBk-h39cheJEYisIXTGRCxX2h+SlU9;ZCX{;w zX-h~OMhp4|txMmYbnWJ@PTo@-#XW<1`MLLzrmGazM-y#08Q z`ybMD6`}ArDt+coPWmO%5)huseL-bxx!+WnOW#jIZCll;TZ3{(ZCv@YZCKylhZ1h; z>&FX+M!MRJ{e(S)3sG5DNaT{b$#XiycGJ`u+ua083?=@C675K9!kvgaW#p~8e(pFz z|B|a~B-WyK1Zf8dHzjQro+JK_TUQa{A%ykQTd?i-An_0Ma*@32ghvo=N!~2Ne9vEtR6a!`x;l}bpYTtlwKYlJ|NcW+U6shc zOn!B&V+YjO);(g&bfVk?!jCBvecdFmMZf82Lm;QE*qj3Qxf?|$t)JdKLFlY)s)TLo z3nnBzC3h@pRkSsuo8_k`r?0IO8>9eT_P#RQREpY7~D&yglj1xZ^XVI;6!Utp>F|5>JP3evpj{lL~$Ch18Jivze!P&V=`B2KeuxWV+U**=% zBK=W6e^#ShRl;peKY5)LwnKk1{{K~tf(~~r^0G0=gOPtTa0 z9;I88R}w4ZXtl(Zg*z^H0^7!UtV@}n$Um+E_Ucc2KVFZCJfiGb{sv^9hA9jDP5CyI zsg3tZfBQrEK;r#~@8RxA{$cL)k-HoEx%~L!d?luh>S*_yab^8Vs2H)-F=-{&pG zXF8cBDLajO4{0HcR#yeeMPG>t6#OBs^qItisC$=sTL|a%;b|K~U<&tj+hbPs&}2`yp-UI!C#@`kXyMVi)cd zBn%?6JnA}ajm=eQ3e2IvT<&wEZNaCcjlgH9>n!2YHe7~Ii*hHjojasQ**uj^ zLfLG@dvnL2{Y$tIlj@xvebpo3E*Wh|yM|3@EHmNvq~{|Z2M=*SChY+6Y21l_sIPO; zoI07fj}i|5A+IH6bycMPS@a=qJQh)+t`#Kwfv+f-js_;$%4vyr;|?aTyG@IV?AA2B z{!)U|$)>15Bz8#4bX zMycck>r;Ck;f>r&xTCL$wD6bhEi3xjcKj*uJMqTE_uIm6X=5m9bGgfM^M?vf9MWRM zaKfB)G`hhK(GTm|a8s+=xM~}EN!c1y*5ylnJ32{V;~wHmZJi)f#QV=0_lP{&EQfoG zoN|;-iB)Ok2_B==YFtKqovk7E5id;H(?6uerCbWq=94#&@LJUMyTSY4L zHeVU9_3FApVlYE(fuqQ*OE`qgVRrZ`c$vF1@fF;S=uB5A;g+^c4C?CYNM3QAHvaTV<>-=I}zne+x(lvuW&yn zZ7lZ&eKOZ1P?B21D0CfraUYHR+A_VHftNsl2$p~9u(U| z@yfP(ZNj?7Q+$98Hy~b(a;b=a=Kf^U-(eNfD{&8u?w+*D#K+@G+Gs}IspP%Fm)!RV zwL-fzS!k>^KRBXqfS6(Ri| z;Yh+I2=}C{uKI)%VP4|xx%(5&N?Ymm6KHAzn@MQL{o{3*O4n)ZD<-B=UNY}-=Ok?t zX-5b*=Uz!X`szub0eL64W(-|k!IL-g`{LqTzb{@HYwOlk^{Z`d`KoQaIQfhF7bsRT gfBvmU|Mzq7&gNA-)#C2lR@;-X)y@LzJ#*vzA0_cxumAu6 diff --git a/locale/fr_FR/LC_MESSAGES/django.po b/locale/fr_FR/LC_MESSAGES/django.po index 3e5bdf86f..f27caafb4 100644 --- a/locale/fr_FR/LC_MESSAGES/django.po +++ b/locale/fr_FR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-07-07 17:47+0000\n" -"PO-Revision-Date: 2022-07-08 17:00\n" +"POT-Creation-Date: 2022-07-08 22:40+0000\n" +"PO-Revision-Date: 2022-07-10 13:17\n" "Last-Translator: Mouse Reeve \n" "Language-Team: French\n" "Language: fr\n" @@ -1205,7 +1205,7 @@ msgstr "Domaine" #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:56 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Status" msgstr "Statut" @@ -1329,7 +1329,7 @@ msgstr "Code de confirmation :" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:81 -#: bookwyrm/templates/settings/dashboard/dashboard.html:127 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Valider" @@ -1369,7 +1369,7 @@ msgid "Local users" msgstr "Comptes locaux" #: bookwyrm/templates/directory/community_filter.html:12 -#: bookwyrm/templates/settings/users/user_admin.html:29 +#: bookwyrm/templates/settings/users/user_admin.html:33 msgid "Federated community" msgstr "Communauté fédérée" @@ -3353,13 +3353,13 @@ msgstr "Faux" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:105 +#: bookwyrm/templates/settings/dashboard/dashboard.html:84 msgid "Start date:" msgstr "Date de début :" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:90 msgid "End date:" msgstr "Date de fin :" @@ -3519,7 +3519,7 @@ msgid "Dashboard" msgstr "Tableau de bord" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:134 +#: bookwyrm/templates/settings/dashboard/dashboard.html:113 msgid "Total users" msgstr "Nombre total d'utilisateurs·rices" @@ -3537,66 +3537,31 @@ msgstr "Statuts" msgid "Works" msgstr "Œuvres" -#: bookwyrm/templates/settings/dashboard/dashboard.html:43 -#, python-format -msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." -msgstr "Votre adresse e-mail sortante, %(email_sender)s, pourrait être mal configurée." - -#: bookwyrm/templates/settings/dashboard/dashboard.html:46 -msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env." -msgstr "Vérifiez EMAIL_SENDER_NAME et EMAIL_SENDER_DOMAIN dans votre .env." - -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 -#, python-format -msgid "%(display_count)s open report" -msgid_plural "%(display_count)s open reports" -msgstr[0] "%(display_count)s signalement ouvert" -msgstr[1] "%(display_count)s signalements ouverts" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:66 -#, python-format -msgid "%(display_count)s domain needs review" -msgid_plural "%(display_count)s domains need review" -msgstr[0] "%(display_count)s domaine doit être vérifié" -msgstr[1] "%(display_count)s domaines doivent être vérifiés" - #: bookwyrm/templates/settings/dashboard/dashboard.html:78 -#, python-format -msgid "%(display_count)s invite request" -msgid_plural "%(display_count)s invite requests" -msgstr[0] "%(display_count)s demande d'invitation" -msgstr[1] "%(display_count)s demandes d'invitation" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:90 -#, python-format -msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." -msgstr "Une mise à jour est disponible ! Vous utilisez la version%(current)s et la dernière version est %(available)s." - -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 msgid "Instance Activity" msgstr "Activité de l'instance" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:96 msgid "Interval:" msgstr "Intervalle :" -#: bookwyrm/templates/settings/dashboard/dashboard.html:121 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "Days" msgstr "Jours" -#: bookwyrm/templates/settings/dashboard/dashboard.html:122 +#: bookwyrm/templates/settings/dashboard/dashboard.html:101 msgid "Weeks" msgstr "Semaines" -#: bookwyrm/templates/settings/dashboard/dashboard.html:140 +#: bookwyrm/templates/settings/dashboard/dashboard.html:119 msgid "User signup activity" msgstr "Nouvelles inscriptions" -#: bookwyrm/templates/settings/dashboard/dashboard.html:146 +#: bookwyrm/templates/settings/dashboard/dashboard.html:125 msgid "Status activity" msgstr "Nouveaux statuts" -#: bookwyrm/templates/settings/dashboard/dashboard.html:152 +#: bookwyrm/templates/settings/dashboard/dashboard.html:131 msgid "Works created" msgstr "Œuvres créées" @@ -3612,6 +3577,49 @@ msgstr "Statuts publiés" msgid "Total" msgstr "Total" +#: bookwyrm/templates/settings/dashboard/warnings/domain_review.html:9 +#, python-format +msgid "%(display_count)s domain needs review" +msgid_plural "%(display_count)s domains need review" +msgstr[0] "%(display_count)s domaine doit être vérifié" +msgstr[1] "%(display_count)s domaines doivent être vérifiés" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:8 +#, python-format +msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." +msgstr "Votre adresse e-mail sortante, %(email_sender)s, pourrait être mal configurée." + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:11 +msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env file." +msgstr "Vérifiez EMAIL_SENDER_NAME et EMAIL_SENDER_DOMAIN dans votre fichier .env." + +#: bookwyrm/templates/settings/dashboard/warnings/invites.html:9 +#, python-format +msgid "%(display_count)s invite request" +msgid_plural "%(display_count)s invite requests" +msgstr[0] "%(display_count)s demande d'invitation" +msgstr[1] "%(display_count)s demandes d'invitation" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_conduct.html:8 +msgid "Your instance is missing a code of conduct." +msgstr "Il manque un code de conduite à votre instance." + +#: bookwyrm/templates/settings/dashboard/warnings/missing_privacy.html:8 +msgid "Your instance is missing a privacy policy." +msgstr "Il manque une politique de confidentialité à votre instance." + +#: bookwyrm/templates/settings/dashboard/warnings/reports.html:9 +#, python-format +msgid "%(display_count)s open report" +msgid_plural "%(display_count)s open reports" +msgstr[0] "%(display_count)s signalement ouvert" +msgstr[1] "%(display_count)s signalements ouverts" + +#: bookwyrm/templates/settings/dashboard/warnings/update_version.html:8 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "Une mise à jour est disponible ! Vous utilisez la version%(current)s et la dernière version est %(available)s." + #: bookwyrm/templates/settings/email_blocklist/domain_form.html:5 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:10 msgid "Add domain" @@ -4308,38 +4316,42 @@ msgstr "Votre mot de passe:" msgid "Users: %(instance_name)s" msgstr "Comptes : %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:40 +#: bookwyrm/templates/settings/users/user_admin.html:29 +msgid "Deleted users" +msgstr "Comptes supprimés" + +#: bookwyrm/templates/settings/users/user_admin.html:44 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Nom du compte" -#: bookwyrm/templates/settings/users/user_admin.html:44 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Date Added" msgstr "Date d’ajout" -#: bookwyrm/templates/settings/users/user_admin.html:48 +#: bookwyrm/templates/settings/users/user_admin.html:52 msgid "Last Active" msgstr "Dernière activité" -#: bookwyrm/templates/settings/users/user_admin.html:57 +#: bookwyrm/templates/settings/users/user_admin.html:61 msgid "Remote instance" msgstr "Instance distante" -#: bookwyrm/templates/settings/users/user_admin.html:74 +#: bookwyrm/templates/settings/users/user_admin.html:81 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Active" msgstr "Actif" -#: bookwyrm/templates/settings/users/user_admin.html:79 +#: bookwyrm/templates/settings/users/user_admin.html:86 msgid "Deleted" msgstr "Supprimé" -#: bookwyrm/templates/settings/users/user_admin.html:85 +#: bookwyrm/templates/settings/users/user_admin.html:92 #: bookwyrm/templates/settings/users/user_info.html:32 msgid "Inactive" msgstr "Inactif" -#: bookwyrm/templates/settings/users/user_admin.html:94 +#: bookwyrm/templates/settings/users/user_admin.html:101 #: bookwyrm/templates/settings/users/user_info.html:127 msgid "Not set" msgstr "Non défini" diff --git a/locale/gl_ES/LC_MESSAGES/django.mo b/locale/gl_ES/LC_MESSAGES/django.mo index ab178a376108045bf9a61027e2718de978e64370..4da86fc15c664b3045f5632690aec630cb3a9d04 100644 GIT binary patch delta 20 ccmbQdiFNWO)(v)-SdEOWObj+VU%Jo+09IuPdjJ3c delta 20 ccmbQdiFNWO)(v)-SPhM>3@kT0U%Jo+09JJfe*gdg diff --git a/locale/gl_ES/LC_MESSAGES/django.po b/locale/gl_ES/LC_MESSAGES/django.po index 876afbf1e..7d5e5a108 100644 --- a/locale/gl_ES/LC_MESSAGES/django.po +++ b/locale/gl_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-07-07 17:47+0000\n" -"PO-Revision-Date: 2022-07-08 13:09\n" +"POT-Creation-Date: 2022-07-08 22:40+0000\n" +"PO-Revision-Date: 2022-07-08 23:40\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Galician\n" "Language: gl\n" @@ -1205,7 +1205,7 @@ msgstr "Dominio" #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:56 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Status" msgstr "Estado" @@ -1329,7 +1329,7 @@ msgstr "Código de confirmación:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:81 -#: bookwyrm/templates/settings/dashboard/dashboard.html:127 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Enviar" @@ -1369,7 +1369,7 @@ msgid "Local users" msgstr "Usuarias locais" #: bookwyrm/templates/directory/community_filter.html:12 -#: bookwyrm/templates/settings/users/user_admin.html:29 +#: bookwyrm/templates/settings/users/user_admin.html:33 msgid "Federated community" msgstr "Comunidade federada" @@ -3353,13 +3353,13 @@ msgstr "Falso" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:105 +#: bookwyrm/templates/settings/dashboard/dashboard.html:84 msgid "Start date:" msgstr "Data de inicio:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:90 msgid "End date:" msgstr "Data de fin:" @@ -3519,7 +3519,7 @@ msgid "Dashboard" msgstr "Taboleiro" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:134 +#: bookwyrm/templates/settings/dashboard/dashboard.html:113 msgid "Total users" msgstr "Total de usuarias" @@ -3537,66 +3537,31 @@ msgstr "Estados" msgid "Works" msgstr "Traballos" -#: bookwyrm/templates/settings/dashboard/dashboard.html:43 -#, python-format -msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:46 -msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 -#, python-format -msgid "%(display_count)s open report" -msgid_plural "%(display_count)s open reports" -msgstr[0] "%(display_count)s denuncia aberta" -msgstr[1] "%(display_count)s denuncias abertas" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:66 -#, python-format -msgid "%(display_count)s domain needs review" -msgid_plural "%(display_count)s domains need review" -msgstr[0] "hai que revisar %(display_count)s dominio" -msgstr[1] "hai que revisar %(display_count)s dominios" - #: bookwyrm/templates/settings/dashboard/dashboard.html:78 -#, python-format -msgid "%(display_count)s invite request" -msgid_plural "%(display_count)s invite requests" -msgstr[0] "%(display_count)s solicitude de convite" -msgstr[1] "%(display_count)s solicitudes de convite" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:90 -#, python-format -msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." -msgstr "Hai unha actualización dispoñible! Estás a executar v%(current)s e a última versión é %(available)s." - -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 msgid "Instance Activity" msgstr "Actividade na instancia" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:96 msgid "Interval:" msgstr "Intervalo:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:121 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "Days" msgstr "Días" -#: bookwyrm/templates/settings/dashboard/dashboard.html:122 +#: bookwyrm/templates/settings/dashboard/dashboard.html:101 msgid "Weeks" msgstr "Semanas" -#: bookwyrm/templates/settings/dashboard/dashboard.html:140 +#: bookwyrm/templates/settings/dashboard/dashboard.html:119 msgid "User signup activity" msgstr "Rexistros de usuarias" -#: bookwyrm/templates/settings/dashboard/dashboard.html:146 +#: bookwyrm/templates/settings/dashboard/dashboard.html:125 msgid "Status activity" msgstr "Actividade do estado" -#: bookwyrm/templates/settings/dashboard/dashboard.html:152 +#: bookwyrm/templates/settings/dashboard/dashboard.html:131 msgid "Works created" msgstr "Traballos creados" @@ -3612,6 +3577,49 @@ msgstr "Estados publicados" msgid "Total" msgstr "Total" +#: bookwyrm/templates/settings/dashboard/warnings/domain_review.html:9 +#, python-format +msgid "%(display_count)s domain needs review" +msgid_plural "%(display_count)s domains need review" +msgstr[0] "hai que revisar %(display_count)s dominio" +msgstr[1] "hai que revisar %(display_count)s dominios" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:8 +#, python-format +msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:11 +msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env file." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/invites.html:9 +#, python-format +msgid "%(display_count)s invite request" +msgid_plural "%(display_count)s invite requests" +msgstr[0] "%(display_count)s solicitude de convite" +msgstr[1] "%(display_count)s solicitudes de convite" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_conduct.html:8 +msgid "Your instance is missing a code of conduct." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_privacy.html:8 +msgid "Your instance is missing a privacy policy." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/reports.html:9 +#, python-format +msgid "%(display_count)s open report" +msgid_plural "%(display_count)s open reports" +msgstr[0] "%(display_count)s denuncia aberta" +msgstr[1] "%(display_count)s denuncias abertas" + +#: bookwyrm/templates/settings/dashboard/warnings/update_version.html:8 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "Hai unha actualización dispoñible! Estás a executar v%(current)s e a última versión é %(available)s." + #: bookwyrm/templates/settings/email_blocklist/domain_form.html:5 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:10 msgid "Add domain" @@ -4308,38 +4316,42 @@ msgstr "Contrasinal:" msgid "Users: %(instance_name)s" msgstr "Usuarias: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:40 +#: bookwyrm/templates/settings/users/user_admin.html:29 +msgid "Deleted users" +msgstr "" + +#: bookwyrm/templates/settings/users/user_admin.html:44 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Nome de usuaria" -#: bookwyrm/templates/settings/users/user_admin.html:44 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Date Added" msgstr "Data de alta" -#: bookwyrm/templates/settings/users/user_admin.html:48 +#: bookwyrm/templates/settings/users/user_admin.html:52 msgid "Last Active" msgstr "Última vez activa" -#: bookwyrm/templates/settings/users/user_admin.html:57 +#: bookwyrm/templates/settings/users/user_admin.html:61 msgid "Remote instance" msgstr "Instancia remota" -#: bookwyrm/templates/settings/users/user_admin.html:74 +#: bookwyrm/templates/settings/users/user_admin.html:81 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Active" msgstr "Activa" -#: bookwyrm/templates/settings/users/user_admin.html:79 +#: bookwyrm/templates/settings/users/user_admin.html:86 msgid "Deleted" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:85 +#: bookwyrm/templates/settings/users/user_admin.html:92 #: bookwyrm/templates/settings/users/user_info.html:32 msgid "Inactive" msgstr "Inactiva" -#: bookwyrm/templates/settings/users/user_admin.html:94 +#: bookwyrm/templates/settings/users/user_admin.html:101 #: bookwyrm/templates/settings/users/user_info.html:127 msgid "Not set" msgstr "Non establecido" diff --git a/locale/it_IT/LC_MESSAGES/django.mo b/locale/it_IT/LC_MESSAGES/django.mo index 8eca15d715dd75ab519a302aee6b2034f67f379d..c67d36cd031f4b0b883d666fd2d8173d2cddecd7 100644 GIT binary patch delta 23499 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 OnmB0thgE!j3jIIf%?<+q delta 23086 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­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\n" "Language-Team: Italian\n" "Language: it\n" @@ -48,7 +48,7 @@ msgstr "La data di fine lettura non può essere precedente alla data di inizio." #: bookwyrm/forms/forms.py:59 msgid "Reading stopped date cannot be before start date." -msgstr "" +msgstr "La data di fine lettura non può essere precedente alla data di inizio." #: bookwyrm/forms/landing.py:32 msgid "User with this username already exists" @@ -1205,7 +1205,7 @@ msgstr "Dominio" #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:56 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Status" msgstr "Stato" @@ -1221,7 +1221,7 @@ msgstr "Azioni" #: bookwyrm/templates/book/file_links/edit_links.html:48 #: bookwyrm/templates/settings/link_domains/link_table.html:21 msgid "Unknown user" -msgstr "" +msgstr "Utente sconosciuto" #: bookwyrm/templates/book/file_links/edit_links.html:57 #: bookwyrm/templates/book/file_links/verification_modal.html:22 @@ -1329,7 +1329,7 @@ msgstr "Codice di conferma:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:81 -#: bookwyrm/templates/settings/dashboard/dashboard.html:127 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Invia" @@ -1369,7 +1369,7 @@ msgid "Local users" msgstr "Utenti Locali" #: bookwyrm/templates/directory/community_filter.html:12 -#: bookwyrm/templates/settings/users/user_admin.html:29 +#: bookwyrm/templates/settings/users/user_admin.html:33 msgid "Federated community" msgstr "Comunità federata" @@ -1746,7 +1746,7 @@ msgstr "Letti" #: bookwyrm/templates/get_started/book_preview.html:13 #: bookwyrm/templates/shelf/shelf.html:89 bookwyrm/templates/user/user.html:36 msgid "Stopped Reading" -msgstr "" +msgstr "Lettura in pausa" #: bookwyrm/templates/get_started/books.html:6 msgid "What are you reading?" @@ -2281,7 +2281,7 @@ msgstr "Conferma la password:" #: bookwyrm/templates/landing/password_reset_request.html:14 #, python-format msgid "A password reset link will be sent to %(email)s if there is an account using that email address." -msgstr "" +msgstr "Un link di reset della password verrà mandato a \"%(email)s\" se esiste un account che usa questo indirizzo mail." #: bookwyrm/templates/landing/password_reset_request.html:20 msgid "A link to reset your password will be sent to your email address" @@ -3353,13 +3353,13 @@ msgstr "Falso" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:105 +#: bookwyrm/templates/settings/dashboard/dashboard.html:84 msgid "Start date:" msgstr "Data d'inizio:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:90 msgid "End date:" msgstr "Data di fine:" @@ -3519,7 +3519,7 @@ msgid "Dashboard" msgstr "Dashboard" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:134 +#: bookwyrm/templates/settings/dashboard/dashboard.html:113 msgid "Total users" msgstr "Totale utenti" @@ -3537,66 +3537,31 @@ msgstr "Stati" msgid "Works" msgstr "Lavori" -#: bookwyrm/templates/settings/dashboard/dashboard.html:43 -#, python-format -msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:46 -msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 -#, python-format -msgid "%(display_count)s open report" -msgid_plural "%(display_count)s open reports" -msgstr[0] "%(display_count)s report aperto" -msgstr[1] "%(display_count)s reports aperti" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:66 -#, python-format -msgid "%(display_count)s domain needs review" -msgid_plural "%(display_count)s domains need review" -msgstr[0] "%(display_count)s dominio necessita di una revisione" -msgstr[1] "%(display_count)s domini necessitano di una revisione" - #: bookwyrm/templates/settings/dashboard/dashboard.html:78 -#, python-format -msgid "%(display_count)s invite request" -msgid_plural "%(display_count)s invite requests" -msgstr[0] "%(display_count)s richiesta d'invito" -msgstr[1] "%(display_count)s richieste d'invito" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:90 -#, python-format -msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." -msgstr "È disponibile un aggiornamento! Stai eseguendo v%(current)s e l'ultima versione è %(available)s." - -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 msgid "Instance Activity" msgstr "Attività di Istanza" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:96 msgid "Interval:" msgstr "Intervallo:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:121 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "Days" msgstr "Giorni" -#: bookwyrm/templates/settings/dashboard/dashboard.html:122 +#: bookwyrm/templates/settings/dashboard/dashboard.html:101 msgid "Weeks" msgstr "Settimane" -#: bookwyrm/templates/settings/dashboard/dashboard.html:140 +#: bookwyrm/templates/settings/dashboard/dashboard.html:119 msgid "User signup activity" msgstr "Attività di registrazione dell'utente" -#: bookwyrm/templates/settings/dashboard/dashboard.html:146 +#: bookwyrm/templates/settings/dashboard/dashboard.html:125 msgid "Status activity" msgstr "Attività di stato" -#: bookwyrm/templates/settings/dashboard/dashboard.html:152 +#: bookwyrm/templates/settings/dashboard/dashboard.html:131 msgid "Works created" msgstr "Opere create" @@ -3612,6 +3577,49 @@ msgstr "Stati pubblicati" msgid "Total" msgstr "Totale" +#: bookwyrm/templates/settings/dashboard/warnings/domain_review.html:9 +#, python-format +msgid "%(display_count)s domain needs review" +msgid_plural "%(display_count)s domains need review" +msgstr[0] "%(display_count)s dominio necessita di una revisione" +msgstr[1] "%(display_count)s domini necessitano di una revisione" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:8 +#, python-format +msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:11 +msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env file." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/invites.html:9 +#, python-format +msgid "%(display_count)s invite request" +msgid_plural "%(display_count)s invite requests" +msgstr[0] "%(display_count)s richiesta d'invito" +msgstr[1] "%(display_count)s richieste d'invito" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_conduct.html:8 +msgid "Your instance is missing a code of conduct." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_privacy.html:8 +msgid "Your instance is missing a privacy policy." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/reports.html:9 +#, python-format +msgid "%(display_count)s open report" +msgid_plural "%(display_count)s open reports" +msgstr[0] "%(display_count)s report aperto" +msgstr[1] "%(display_count)s reports aperti" + +#: bookwyrm/templates/settings/dashboard/warnings/update_version.html:8 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "È disponibile un aggiornamento! Stai eseguendo v%(current)s e l'ultima versione è %(available)s." + #: bookwyrm/templates/settings/email_blocklist/domain_form.html:5 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:10 msgid "Add domain" @@ -4308,38 +4316,42 @@ msgstr "La tua password:" msgid "Users: %(instance_name)s" msgstr "Utenti: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:40 +#: bookwyrm/templates/settings/users/user_admin.html:29 +msgid "Deleted users" +msgstr "" + +#: bookwyrm/templates/settings/users/user_admin.html:44 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Nome utente" -#: bookwyrm/templates/settings/users/user_admin.html:44 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Date Added" msgstr "Aggiunto in data" -#: bookwyrm/templates/settings/users/user_admin.html:48 +#: bookwyrm/templates/settings/users/user_admin.html:52 msgid "Last Active" msgstr "Attivo l'ultima volta" -#: bookwyrm/templates/settings/users/user_admin.html:57 +#: bookwyrm/templates/settings/users/user_admin.html:61 msgid "Remote instance" msgstr "Istanza remota" -#: bookwyrm/templates/settings/users/user_admin.html:74 +#: bookwyrm/templates/settings/users/user_admin.html:81 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Active" msgstr "Attivo" -#: bookwyrm/templates/settings/users/user_admin.html:79 +#: bookwyrm/templates/settings/users/user_admin.html:86 msgid "Deleted" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:85 +#: bookwyrm/templates/settings/users/user_admin.html:92 #: bookwyrm/templates/settings/users/user_info.html:32 msgid "Inactive" msgstr "Inattivo" -#: bookwyrm/templates/settings/users/user_admin.html:94 +#: bookwyrm/templates/settings/users/user_admin.html:101 #: bookwyrm/templates/settings/users/user_info.html:127 msgid "Not set" msgstr "Non impostato" diff --git a/locale/lt_LT/LC_MESSAGES/django.mo b/locale/lt_LT/LC_MESSAGES/django.mo index a3fa30e433b43ad676d2c8517a1cd1eb9748957c..c0ade2f5d0e0981c0c421772d3db5366e8377eca 100644 GIT binary patch delta 22 ecmZ2_ly&J*)(vjw*)0@|jIB%zH~XHCm<#}DiU`2~ delta 22 ecmZ2_ly&J*)(vjw+07LUEvyWUHv68Bm<#}Dk_f^8 diff --git a/locale/lt_LT/LC_MESSAGES/django.po b/locale/lt_LT/LC_MESSAGES/django.po index 5efb3c922..2258febf4 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-07-07 17:47+0000\n" -"PO-Revision-Date: 2022-07-07 18:12\n" +"POT-Creation-Date: 2022-07-08 22:40+0000\n" +"PO-Revision-Date: 2022-07-08 23:41\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Lithuanian\n" "Language: lt\n" @@ -1217,7 +1217,7 @@ msgstr "Domenas" #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:56 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Status" msgstr "Būsena" @@ -1341,7 +1341,7 @@ msgstr "Patvirtinimo kodas:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:81 -#: bookwyrm/templates/settings/dashboard/dashboard.html:127 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Siųsti" @@ -1381,7 +1381,7 @@ msgid "Local users" msgstr "Vietiniai nariai" #: bookwyrm/templates/directory/community_filter.html:12 -#: bookwyrm/templates/settings/users/user_admin.html:29 +#: bookwyrm/templates/settings/users/user_admin.html:33 msgid "Federated community" msgstr "Sujungta bendruomenė" @@ -3383,13 +3383,13 @@ msgstr "Netiesa" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:105 +#: bookwyrm/templates/settings/dashboard/dashboard.html:84 msgid "Start date:" msgstr "Pradžios data:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:90 msgid "End date:" msgstr "Pabaigos data:" @@ -3549,7 +3549,7 @@ msgid "Dashboard" msgstr "Suvestinė" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:134 +#: bookwyrm/templates/settings/dashboard/dashboard.html:113 msgid "Total users" msgstr "Iš viso naudotojų" @@ -3567,72 +3567,31 @@ msgstr "Būsenos" msgid "Works" msgstr "Darbai" -#: bookwyrm/templates/settings/dashboard/dashboard.html:43 -#, python-format -msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:46 -msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 -#, python-format -msgid "%(display_count)s open report" -msgid_plural "%(display_count)s open reports" -msgstr[0] "%(display_count)s atvira ataskaita" -msgstr[1] "%(display_count)s atviros ataskaitos" -msgstr[2] "%(display_count)s atviros ataskaitos" -msgstr[3] "%(display_count)s atvirų ataskaitų" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:66 -#, python-format -msgid "%(display_count)s domain needs review" -msgid_plural "%(display_count)s domains need review" -msgstr[0] "%(display_count)s domeną reikia peržiūrėti" -msgstr[1] "%(display_count)s domenus reikia peržiūrėti" -msgstr[2] "%(display_count)s domenus reikia peržiūrėti" -msgstr[3] "%(display_count)s domenus reikia peržiūrėti" - #: bookwyrm/templates/settings/dashboard/dashboard.html:78 -#, python-format -msgid "%(display_count)s invite request" -msgid_plural "%(display_count)s invite requests" -msgstr[0] "%(display_count)s prašymas pakviesti" -msgstr[1] "%(display_count)s prašymai pakviesti" -msgstr[2] "%(display_count)s prašymų pakviesti" -msgstr[3] "%(display_count)s prašymai pakviesti" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:90 -#, python-format -msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." -msgstr "Jau yra naujinys. Jūsų versija – %(current)s, o naujausia –%(available)s." - -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 msgid "Instance Activity" msgstr "Serverio statistika" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:96 msgid "Interval:" msgstr "Intervalas:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:121 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "Days" msgstr "Dienos" -#: bookwyrm/templates/settings/dashboard/dashboard.html:122 +#: bookwyrm/templates/settings/dashboard/dashboard.html:101 msgid "Weeks" msgstr "Savaitės" -#: bookwyrm/templates/settings/dashboard/dashboard.html:140 +#: bookwyrm/templates/settings/dashboard/dashboard.html:119 msgid "User signup activity" msgstr "Naudotojo prisijungimo veikla" -#: bookwyrm/templates/settings/dashboard/dashboard.html:146 +#: bookwyrm/templates/settings/dashboard/dashboard.html:125 msgid "Status activity" msgstr "Būsenos" -#: bookwyrm/templates/settings/dashboard/dashboard.html:152 +#: bookwyrm/templates/settings/dashboard/dashboard.html:131 msgid "Works created" msgstr "Darbai sukurti" @@ -3648,6 +3607,55 @@ msgstr "Būsenos publikuotos" msgid "Total" msgstr "Iš viso" +#: bookwyrm/templates/settings/dashboard/warnings/domain_review.html:9 +#, python-format +msgid "%(display_count)s domain needs review" +msgid_plural "%(display_count)s domains need review" +msgstr[0] "%(display_count)s domeną reikia peržiūrėti" +msgstr[1] "%(display_count)s domenus reikia peržiūrėti" +msgstr[2] "%(display_count)s domenus reikia peržiūrėti" +msgstr[3] "%(display_count)s domenus reikia peržiūrėti" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:8 +#, python-format +msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:11 +msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env file." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/invites.html:9 +#, python-format +msgid "%(display_count)s invite request" +msgid_plural "%(display_count)s invite requests" +msgstr[0] "%(display_count)s prašymas pakviesti" +msgstr[1] "%(display_count)s prašymai pakviesti" +msgstr[2] "%(display_count)s prašymų pakviesti" +msgstr[3] "%(display_count)s prašymai pakviesti" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_conduct.html:8 +msgid "Your instance is missing a code of conduct." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_privacy.html:8 +msgid "Your instance is missing a privacy policy." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/reports.html:9 +#, python-format +msgid "%(display_count)s open report" +msgid_plural "%(display_count)s open reports" +msgstr[0] "%(display_count)s atvira ataskaita" +msgstr[1] "%(display_count)s atviros ataskaitos" +msgstr[2] "%(display_count)s atviros ataskaitos" +msgstr[3] "%(display_count)s atvirų ataskaitų" + +#: bookwyrm/templates/settings/dashboard/warnings/update_version.html:8 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "Jau yra naujinys. Jūsų versija – %(current)s, o naujausia –%(available)s." + #: bookwyrm/templates/settings/email_blocklist/domain_form.html:5 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:10 msgid "Add domain" @@ -4346,38 +4354,42 @@ msgstr "Jūsų slaptažodis:" msgid "Users: %(instance_name)s" msgstr "Vartotojai: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:40 +#: bookwyrm/templates/settings/users/user_admin.html:29 +msgid "Deleted users" +msgstr "" + +#: bookwyrm/templates/settings/users/user_admin.html:44 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Vartotojo vardas" -#: bookwyrm/templates/settings/users/user_admin.html:44 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Date Added" msgstr "Pridėjimo data" -#: bookwyrm/templates/settings/users/user_admin.html:48 +#: bookwyrm/templates/settings/users/user_admin.html:52 msgid "Last Active" msgstr "Paskutinį kartą aktyvus" -#: bookwyrm/templates/settings/users/user_admin.html:57 +#: bookwyrm/templates/settings/users/user_admin.html:61 msgid "Remote instance" msgstr "Nutolęs serveris" -#: bookwyrm/templates/settings/users/user_admin.html:74 +#: bookwyrm/templates/settings/users/user_admin.html:81 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Active" msgstr "Aktyvus" -#: bookwyrm/templates/settings/users/user_admin.html:79 +#: bookwyrm/templates/settings/users/user_admin.html:86 msgid "Deleted" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:85 +#: bookwyrm/templates/settings/users/user_admin.html:92 #: bookwyrm/templates/settings/users/user_info.html:32 msgid "Inactive" msgstr "Neaktyvus" -#: bookwyrm/templates/settings/users/user_admin.html:94 +#: bookwyrm/templates/settings/users/user_admin.html:101 #: bookwyrm/templates/settings/users/user_info.html:127 msgid "Not set" msgstr "Nenustatytas" diff --git a/locale/no_NO/LC_MESSAGES/django.mo b/locale/no_NO/LC_MESSAGES/django.mo index e971057ad31b6ed839292585278a1b1a4e0dea08..f560b3a096e49b7af08670e5cdf2b185daaad5bb 100644 GIT binary patch delta 22 ecmZ2^oMq*4mJO%2vRfz^8C#hcZoatnMlJwyLkal+ delta 22 ecmZ2^oMq*4mJO%2vYRUyT38txZN9kmMlJwyO9}b_ diff --git a/locale/no_NO/LC_MESSAGES/django.po b/locale/no_NO/LC_MESSAGES/django.po index 8c05461f1..f78a952c3 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-07-07 17:47+0000\n" -"PO-Revision-Date: 2022-07-07 18:12\n" +"POT-Creation-Date: 2022-07-08 22:40+0000\n" +"PO-Revision-Date: 2022-07-08 23:41\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Norwegian\n" "Language: no\n" @@ -1205,7 +1205,7 @@ msgstr "Domene" #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:56 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Status" msgstr "Status" @@ -1329,7 +1329,7 @@ msgstr "Bekreftelseskode:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:81 -#: bookwyrm/templates/settings/dashboard/dashboard.html:127 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Send inn" @@ -1369,7 +1369,7 @@ msgid "Local users" msgstr "Lokale medlemmer" #: bookwyrm/templates/directory/community_filter.html:12 -#: bookwyrm/templates/settings/users/user_admin.html:29 +#: bookwyrm/templates/settings/users/user_admin.html:33 msgid "Federated community" msgstr "Føderte samfunn" @@ -3351,13 +3351,13 @@ msgstr "Usant" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:105 +#: bookwyrm/templates/settings/dashboard/dashboard.html:84 msgid "Start date:" msgstr "Startdato:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:90 msgid "End date:" msgstr "Sluttdato:" @@ -3517,7 +3517,7 @@ msgid "Dashboard" msgstr "Kontrollpanel" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:134 +#: bookwyrm/templates/settings/dashboard/dashboard.html:113 msgid "Total users" msgstr "Totalt antall brukere" @@ -3535,66 +3535,31 @@ msgstr "Statuser" msgid "Works" msgstr "Verker" -#: bookwyrm/templates/settings/dashboard/dashboard.html:43 -#, python-format -msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:46 -msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 -#, python-format -msgid "%(display_count)s open report" -msgid_plural "%(display_count)s open reports" -msgstr[0] "%(display_count)s åpen rapport" -msgstr[1] "%(display_count)s åpne rapporter" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:66 -#, python-format -msgid "%(display_count)s domain needs review" -msgid_plural "%(display_count)s domains need review" -msgstr[0] "%(display_count)s domene må godkjennes" -msgstr[1] "%(display_count)s domener må godkjennes" - #: bookwyrm/templates/settings/dashboard/dashboard.html:78 -#, python-format -msgid "%(display_count)s invite request" -msgid_plural "%(display_count)s invite requests" -msgstr[0] "%(display_count)s invitasjonsforespørsel" -msgstr[1] "%(display_count)s invitasjonsforespørsler" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:90 -#, python-format -msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 msgid "Instance Activity" msgstr "Instansaktivitet" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:96 msgid "Interval:" msgstr "Intervall:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:121 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "Days" msgstr "Dager" -#: bookwyrm/templates/settings/dashboard/dashboard.html:122 +#: bookwyrm/templates/settings/dashboard/dashboard.html:101 msgid "Weeks" msgstr "Uker" -#: bookwyrm/templates/settings/dashboard/dashboard.html:140 +#: bookwyrm/templates/settings/dashboard/dashboard.html:119 msgid "User signup activity" msgstr "Brukerregistreringsaktivitet" -#: bookwyrm/templates/settings/dashboard/dashboard.html:146 +#: bookwyrm/templates/settings/dashboard/dashboard.html:125 msgid "Status activity" msgstr "Statusaktivitet" -#: bookwyrm/templates/settings/dashboard/dashboard.html:152 +#: bookwyrm/templates/settings/dashboard/dashboard.html:131 msgid "Works created" msgstr "Verker laget" @@ -3610,6 +3575,49 @@ msgstr "Statuser lagt ut" msgid "Total" msgstr "Totalt" +#: bookwyrm/templates/settings/dashboard/warnings/domain_review.html:9 +#, python-format +msgid "%(display_count)s domain needs review" +msgid_plural "%(display_count)s domains need review" +msgstr[0] "%(display_count)s domene må godkjennes" +msgstr[1] "%(display_count)s domener må godkjennes" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:8 +#, python-format +msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:11 +msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env file." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/invites.html:9 +#, python-format +msgid "%(display_count)s invite request" +msgid_plural "%(display_count)s invite requests" +msgstr[0] "%(display_count)s invitasjonsforespørsel" +msgstr[1] "%(display_count)s invitasjonsforespørsler" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_conduct.html:8 +msgid "Your instance is missing a code of conduct." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_privacy.html:8 +msgid "Your instance is missing a privacy policy." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/reports.html:9 +#, python-format +msgid "%(display_count)s open report" +msgid_plural "%(display_count)s open reports" +msgstr[0] "%(display_count)s åpen rapport" +msgstr[1] "%(display_count)s åpne rapporter" + +#: bookwyrm/templates/settings/dashboard/warnings/update_version.html:8 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "" + #: bookwyrm/templates/settings/email_blocklist/domain_form.html:5 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:10 msgid "Add domain" @@ -4306,38 +4314,42 @@ msgstr "Passordet ditt:" msgid "Users: %(instance_name)s" msgstr "Medlemmer: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:40 +#: bookwyrm/templates/settings/users/user_admin.html:29 +msgid "Deleted users" +msgstr "" + +#: bookwyrm/templates/settings/users/user_admin.html:44 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Brukernavn" -#: bookwyrm/templates/settings/users/user_admin.html:44 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Date Added" msgstr "Lagt til dato" -#: bookwyrm/templates/settings/users/user_admin.html:48 +#: bookwyrm/templates/settings/users/user_admin.html:52 msgid "Last Active" msgstr "Sist aktiv" -#: bookwyrm/templates/settings/users/user_admin.html:57 +#: bookwyrm/templates/settings/users/user_admin.html:61 msgid "Remote instance" msgstr "Ekstern instans" -#: bookwyrm/templates/settings/users/user_admin.html:74 +#: bookwyrm/templates/settings/users/user_admin.html:81 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Active" msgstr "Aktiv" -#: bookwyrm/templates/settings/users/user_admin.html:79 +#: bookwyrm/templates/settings/users/user_admin.html:86 msgid "Deleted" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:85 +#: bookwyrm/templates/settings/users/user_admin.html:92 #: bookwyrm/templates/settings/users/user_info.html:32 msgid "Inactive" msgstr "Inaktiv" -#: bookwyrm/templates/settings/users/user_admin.html:94 +#: bookwyrm/templates/settings/users/user_admin.html:101 #: bookwyrm/templates/settings/users/user_info.html:127 msgid "Not set" msgstr "Ikke angitt" diff --git a/locale/pt_BR/LC_MESSAGES/django.mo b/locale/pt_BR/LC_MESSAGES/django.mo index 48000c2f28d9df1a62ae50ff93f5537871959474..1c90e45d2f713ad22ea5e9d077ca9902305bf1a3 100644 GIT binary patch delta 22 ecmdnAmUYuw)(vjw*)0@|jIB%zHv67WZ3h5m{|Ku9 delta 22 ecmdnAmUYuw)(vjw+07LUEvyWUHv67WZ3h5n4G66O diff --git a/locale/pt_BR/LC_MESSAGES/django.po b/locale/pt_BR/LC_MESSAGES/django.po index 10e311104..ae92a0efe 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-07-07 17:47+0000\n" -"PO-Revision-Date: 2022-07-07 18:12\n" +"POT-Creation-Date: 2022-07-08 22:40+0000\n" +"PO-Revision-Date: 2022-07-08 23:40\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt\n" @@ -1205,7 +1205,7 @@ msgstr "Domínio" #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:56 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Status" msgstr "Publicação" @@ -1329,7 +1329,7 @@ msgstr "Código de confirmação:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:81 -#: bookwyrm/templates/settings/dashboard/dashboard.html:127 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Enviar" @@ -1369,7 +1369,7 @@ msgid "Local users" msgstr "Usuários locais" #: bookwyrm/templates/directory/community_filter.html:12 -#: bookwyrm/templates/settings/users/user_admin.html:29 +#: bookwyrm/templates/settings/users/user_admin.html:33 msgid "Federated community" msgstr "Comunidade federada" @@ -3353,13 +3353,13 @@ msgstr "Falso" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:105 +#: bookwyrm/templates/settings/dashboard/dashboard.html:84 msgid "Start date:" msgstr "Data de início:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:90 msgid "End date:" msgstr "Data final:" @@ -3519,7 +3519,7 @@ msgid "Dashboard" msgstr "Painel" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:134 +#: bookwyrm/templates/settings/dashboard/dashboard.html:113 msgid "Total users" msgstr "Total de usuários" @@ -3537,66 +3537,31 @@ msgstr "Publicações" msgid "Works" msgstr "Obras" -#: bookwyrm/templates/settings/dashboard/dashboard.html:43 -#, python-format -msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:46 -msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 -#, python-format -msgid "%(display_count)s open report" -msgid_plural "%(display_count)s open reports" -msgstr[0] "%(display_count)s denúncia aberta" -msgstr[1] "%(display_count)s denúncias abertas" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:66 -#, python-format -msgid "%(display_count)s domain needs review" -msgid_plural "%(display_count)s domains need review" -msgstr[0] "%(display_count)s domínio precisa ser analisado" -msgstr[1] "%(display_count)s domínios precisam ser analisados" - #: bookwyrm/templates/settings/dashboard/dashboard.html:78 -#, python-format -msgid "%(display_count)s invite request" -msgid_plural "%(display_count)s invite requests" -msgstr[0] "%(display_count)s pedido de convite" -msgstr[1] "%(display_count)s pedidos de convite" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:90 -#, python-format -msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." -msgstr "Há uma atualização disponível! Você está usando a v%(current)s e o último lançamento é %(available)s." - -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 msgid "Instance Activity" msgstr "Atividade da instância" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:96 msgid "Interval:" msgstr "Intervalo:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:121 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "Days" msgstr "Dias" -#: bookwyrm/templates/settings/dashboard/dashboard.html:122 +#: bookwyrm/templates/settings/dashboard/dashboard.html:101 msgid "Weeks" msgstr "Semanas" -#: bookwyrm/templates/settings/dashboard/dashboard.html:140 +#: bookwyrm/templates/settings/dashboard/dashboard.html:119 msgid "User signup activity" msgstr "Novos usuários" -#: bookwyrm/templates/settings/dashboard/dashboard.html:146 +#: bookwyrm/templates/settings/dashboard/dashboard.html:125 msgid "Status activity" msgstr "Publicações" -#: bookwyrm/templates/settings/dashboard/dashboard.html:152 +#: bookwyrm/templates/settings/dashboard/dashboard.html:131 msgid "Works created" msgstr "Obras criadas" @@ -3612,6 +3577,49 @@ msgstr "Publicações feitas" msgid "Total" msgstr "Total" +#: bookwyrm/templates/settings/dashboard/warnings/domain_review.html:9 +#, python-format +msgid "%(display_count)s domain needs review" +msgid_plural "%(display_count)s domains need review" +msgstr[0] "%(display_count)s domínio precisa ser analisado" +msgstr[1] "%(display_count)s domínios precisam ser analisados" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:8 +#, python-format +msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:11 +msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env file." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/invites.html:9 +#, python-format +msgid "%(display_count)s invite request" +msgid_plural "%(display_count)s invite requests" +msgstr[0] "%(display_count)s pedido de convite" +msgstr[1] "%(display_count)s pedidos de convite" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_conduct.html:8 +msgid "Your instance is missing a code of conduct." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_privacy.html:8 +msgid "Your instance is missing a privacy policy." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/reports.html:9 +#, python-format +msgid "%(display_count)s open report" +msgid_plural "%(display_count)s open reports" +msgstr[0] "%(display_count)s denúncia aberta" +msgstr[1] "%(display_count)s denúncias abertas" + +#: bookwyrm/templates/settings/dashboard/warnings/update_version.html:8 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "Há uma atualização disponível! Você está usando a v%(current)s e o último lançamento é %(available)s." + #: bookwyrm/templates/settings/email_blocklist/domain_form.html:5 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:10 msgid "Add domain" @@ -4308,38 +4316,42 @@ msgstr "Sua senha:" msgid "Users: %(instance_name)s" msgstr "Usuários: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:40 +#: bookwyrm/templates/settings/users/user_admin.html:29 +msgid "Deleted users" +msgstr "" + +#: bookwyrm/templates/settings/users/user_admin.html:44 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Nome de usuário" -#: bookwyrm/templates/settings/users/user_admin.html:44 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Date Added" msgstr "Data de inclusão" -#: bookwyrm/templates/settings/users/user_admin.html:48 +#: bookwyrm/templates/settings/users/user_admin.html:52 msgid "Last Active" msgstr "Última atividade" -#: bookwyrm/templates/settings/users/user_admin.html:57 +#: bookwyrm/templates/settings/users/user_admin.html:61 msgid "Remote instance" msgstr "Instância remota" -#: bookwyrm/templates/settings/users/user_admin.html:74 +#: bookwyrm/templates/settings/users/user_admin.html:81 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Active" msgstr "Ativo" -#: bookwyrm/templates/settings/users/user_admin.html:79 +#: bookwyrm/templates/settings/users/user_admin.html:86 msgid "Deleted" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:85 +#: bookwyrm/templates/settings/users/user_admin.html:92 #: bookwyrm/templates/settings/users/user_info.html:32 msgid "Inactive" msgstr "Inativo" -#: bookwyrm/templates/settings/users/user_admin.html:94 +#: bookwyrm/templates/settings/users/user_admin.html:101 #: bookwyrm/templates/settings/users/user_info.html:127 msgid "Not set" msgstr "Não definido" diff --git a/locale/pt_PT/LC_MESSAGES/django.mo b/locale/pt_PT/LC_MESSAGES/django.mo index 2134e8e110f8e428aabdc7c3b54e3376d3962c1e..8208aa842b3a9180dcc8973c6c293a286cf59743 100644 GIT binary patch delta 22 ecmaF+pXKd;mJN;v*)0@|jIB%zHhUagS_c4o^$FAf delta 22 ecmaF+pXKd;mJN;v+07LUEvyWUHhUagS_c4p0}0ju diff --git a/locale/pt_PT/LC_MESSAGES/django.po b/locale/pt_PT/LC_MESSAGES/django.po index 2519ed976..18afab284 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-07-07 17:47+0000\n" -"PO-Revision-Date: 2022-07-07 18:12\n" +"POT-Creation-Date: 2022-07-08 22:40+0000\n" +"PO-Revision-Date: 2022-07-08 23:40\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Portuguese\n" "Language: pt\n" @@ -1205,7 +1205,7 @@ msgstr "Domínio" #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:56 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Status" msgstr "Estado" @@ -1329,7 +1329,7 @@ msgstr "Código de confirmação:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:81 -#: bookwyrm/templates/settings/dashboard/dashboard.html:127 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Submeter" @@ -1369,7 +1369,7 @@ msgid "Local users" msgstr "Utilizadores locais" #: bookwyrm/templates/directory/community_filter.html:12 -#: bookwyrm/templates/settings/users/user_admin.html:29 +#: bookwyrm/templates/settings/users/user_admin.html:33 msgid "Federated community" msgstr "Comunidade federada" @@ -3353,13 +3353,13 @@ msgstr "Falso" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:105 +#: bookwyrm/templates/settings/dashboard/dashboard.html:84 msgid "Start date:" msgstr "Data de início:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:90 msgid "End date:" msgstr "Data de conclusão:" @@ -3519,7 +3519,7 @@ msgid "Dashboard" msgstr "Painel de controlo" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:134 +#: bookwyrm/templates/settings/dashboard/dashboard.html:113 msgid "Total users" msgstr "Total de utilizadores" @@ -3537,66 +3537,31 @@ msgstr "Estados" msgid "Works" msgstr "Obras" -#: bookwyrm/templates/settings/dashboard/dashboard.html:43 -#, python-format -msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:46 -msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 -#, python-format -msgid "%(display_count)s open report" -msgid_plural "%(display_count)s open reports" -msgstr[0] "%(display_count)s denúncia aberta" -msgstr[1] "%(display_count)s denúncias abertas" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:66 -#, python-format -msgid "%(display_count)s domain needs review" -msgid_plural "%(display_count)s domains need review" -msgstr[0] "" -msgstr[1] "" - #: bookwyrm/templates/settings/dashboard/dashboard.html:78 -#, python-format -msgid "%(display_count)s invite request" -msgid_plural "%(display_count)s invite requests" -msgstr[0] "%(display_count)s pedido de convite" -msgstr[1] "%(display_count)s pedidos de convite" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:90 -#, python-format -msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." -msgstr "Uma atualização está disponível! Estás a correr a versão v%(current)s e a mais recente é a %(available)s." - -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 msgid "Instance Activity" msgstr "Atividade do domínio" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:96 msgid "Interval:" msgstr "Intervalo:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:121 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "Days" msgstr "Dias" -#: bookwyrm/templates/settings/dashboard/dashboard.html:122 +#: bookwyrm/templates/settings/dashboard/dashboard.html:101 msgid "Weeks" msgstr "Semanas" -#: bookwyrm/templates/settings/dashboard/dashboard.html:140 +#: bookwyrm/templates/settings/dashboard/dashboard.html:119 msgid "User signup activity" msgstr "Atividade de inscrição do utilizador" -#: bookwyrm/templates/settings/dashboard/dashboard.html:146 +#: bookwyrm/templates/settings/dashboard/dashboard.html:125 msgid "Status activity" msgstr "Atividade de estado" -#: bookwyrm/templates/settings/dashboard/dashboard.html:152 +#: bookwyrm/templates/settings/dashboard/dashboard.html:131 msgid "Works created" msgstr "Obras criadas" @@ -3612,6 +3577,49 @@ msgstr "Estados publicados" msgid "Total" msgstr "Total" +#: bookwyrm/templates/settings/dashboard/warnings/domain_review.html:9 +#, python-format +msgid "%(display_count)s domain needs review" +msgid_plural "%(display_count)s domains need review" +msgstr[0] "" +msgstr[1] "" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:8 +#, python-format +msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:11 +msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env file." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/invites.html:9 +#, python-format +msgid "%(display_count)s invite request" +msgid_plural "%(display_count)s invite requests" +msgstr[0] "%(display_count)s pedido de convite" +msgstr[1] "%(display_count)s pedidos de convite" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_conduct.html:8 +msgid "Your instance is missing a code of conduct." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_privacy.html:8 +msgid "Your instance is missing a privacy policy." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/reports.html:9 +#, python-format +msgid "%(display_count)s open report" +msgid_plural "%(display_count)s open reports" +msgstr[0] "%(display_count)s denúncia aberta" +msgstr[1] "%(display_count)s denúncias abertas" + +#: bookwyrm/templates/settings/dashboard/warnings/update_version.html:8 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "Uma atualização está disponível! Estás a correr a versão v%(current)s e a mais recente é a %(available)s." + #: bookwyrm/templates/settings/email_blocklist/domain_form.html:5 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:10 msgid "Add domain" @@ -4308,38 +4316,42 @@ msgstr "A tua palavra-passe:" msgid "Users: %(instance_name)s" msgstr "Utilizadores: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:40 +#: bookwyrm/templates/settings/users/user_admin.html:29 +msgid "Deleted users" +msgstr "" + +#: bookwyrm/templates/settings/users/user_admin.html:44 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Nome de utilizador" -#: bookwyrm/templates/settings/users/user_admin.html:44 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Date Added" msgstr "Data de Adição" -#: bookwyrm/templates/settings/users/user_admin.html:48 +#: bookwyrm/templates/settings/users/user_admin.html:52 msgid "Last Active" msgstr "Última atividade" -#: bookwyrm/templates/settings/users/user_admin.html:57 +#: bookwyrm/templates/settings/users/user_admin.html:61 msgid "Remote instance" msgstr "Domínio remoto" -#: bookwyrm/templates/settings/users/user_admin.html:74 +#: bookwyrm/templates/settings/users/user_admin.html:81 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Active" msgstr "Ativo" -#: bookwyrm/templates/settings/users/user_admin.html:79 +#: bookwyrm/templates/settings/users/user_admin.html:86 msgid "Deleted" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:85 +#: bookwyrm/templates/settings/users/user_admin.html:92 #: bookwyrm/templates/settings/users/user_info.html:32 msgid "Inactive" msgstr "Inativo" -#: bookwyrm/templates/settings/users/user_admin.html:94 +#: bookwyrm/templates/settings/users/user_admin.html:101 #: bookwyrm/templates/settings/users/user_info.html:127 msgid "Not set" msgstr "Não definido" diff --git a/locale/ro_RO/LC_MESSAGES/django.mo b/locale/ro_RO/LC_MESSAGES/django.mo index b5af8e059514b720d8ff9173b2be55542955f081..5a1f7ca82a0ef413b404692672bf3eb6e09a92f0 100644 GIT binary patch delta 22 ecmaF2m-XFV)(vjw*)0@|jIB%zH~XGn*be}6kqL+Z delta 22 ecmaF2m-XFV)(vjw+07LUEvyWUHv67m*be}6nF)yi diff --git a/locale/ro_RO/LC_MESSAGES/django.po b/locale/ro_RO/LC_MESSAGES/django.po index 54af51b70..ec8d1d7e0 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-07-07 17:47+0000\n" -"PO-Revision-Date: 2022-07-07 18:12\n" +"POT-Creation-Date: 2022-07-08 22:40+0000\n" +"PO-Revision-Date: 2022-07-08 23:41\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Romanian\n" "Language: ro\n" @@ -1211,7 +1211,7 @@ msgstr "Domeniu" #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:56 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Status" msgstr "Status" @@ -1335,7 +1335,7 @@ msgstr "Cod de confirmare:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:81 -#: bookwyrm/templates/settings/dashboard/dashboard.html:127 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Trimiteți" @@ -1375,7 +1375,7 @@ msgid "Local users" msgstr "Utilizatori locali" #: bookwyrm/templates/directory/community_filter.html:12 -#: bookwyrm/templates/settings/users/user_admin.html:29 +#: bookwyrm/templates/settings/users/user_admin.html:33 msgid "Federated community" msgstr "Comunitate federată" @@ -3367,13 +3367,13 @@ msgstr "Fals" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:105 +#: bookwyrm/templates/settings/dashboard/dashboard.html:84 msgid "Start date:" msgstr "Data de început:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:90 msgid "End date:" msgstr "Data de sfârșit:" @@ -3533,7 +3533,7 @@ msgid "Dashboard" msgstr "Tablou de bord" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:134 +#: bookwyrm/templates/settings/dashboard/dashboard.html:113 msgid "Total users" msgstr "Număr total de utilizatori" @@ -3551,69 +3551,31 @@ msgstr "Statusuri" msgid "Works" msgstr "Opere" -#: bookwyrm/templates/settings/dashboard/dashboard.html:43 -#, python-format -msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:46 -msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 -#, python-format -msgid "%(display_count)s open report" -msgid_plural "%(display_count)s open reports" -msgstr[0] "%(display_count)s raport deschis" -msgstr[1] "" -msgstr[2] "%(display_count)s raporturi dechise" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:66 -#, python-format -msgid "%(display_count)s domain needs review" -msgid_plural "%(display_count)s domains need review" -msgstr[0] "%(display_count)s domeniu care necesită revizuire" -msgstr[1] "" -msgstr[2] "%(display_count)s domenii care necesită revizii" - #: bookwyrm/templates/settings/dashboard/dashboard.html:78 -#, python-format -msgid "%(display_count)s invite request" -msgid_plural "%(display_count)s invite requests" -msgstr[0] "%(display_count)s cerere de invitare" -msgstr[1] "" -msgstr[2] "%(display_count)s cereri de invitare" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:90 -#, python-format -msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." -msgstr "O actualizare este disponibilă! Rulați în prezent v%(current)s, iar cea mai nouă versiune este %(available)s." - -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 msgid "Instance Activity" msgstr "Activitatea instanței" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:96 msgid "Interval:" msgstr "Interval:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:121 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "Days" msgstr "Zile" -#: bookwyrm/templates/settings/dashboard/dashboard.html:122 +#: bookwyrm/templates/settings/dashboard/dashboard.html:101 msgid "Weeks" msgstr "Săptămâni" -#: bookwyrm/templates/settings/dashboard/dashboard.html:140 +#: bookwyrm/templates/settings/dashboard/dashboard.html:119 msgid "User signup activity" msgstr "Activitate de înscriere a utilizatorilor" -#: bookwyrm/templates/settings/dashboard/dashboard.html:146 +#: bookwyrm/templates/settings/dashboard/dashboard.html:125 msgid "Status activity" msgstr "Activitate stare" -#: bookwyrm/templates/settings/dashboard/dashboard.html:152 +#: bookwyrm/templates/settings/dashboard/dashboard.html:131 msgid "Works created" msgstr "Opere create" @@ -3629,6 +3591,52 @@ msgstr "Stări publicate" msgid "Total" msgstr "Total" +#: bookwyrm/templates/settings/dashboard/warnings/domain_review.html:9 +#, python-format +msgid "%(display_count)s domain needs review" +msgid_plural "%(display_count)s domains need review" +msgstr[0] "%(display_count)s domeniu care necesită revizuire" +msgstr[1] "" +msgstr[2] "%(display_count)s domenii care necesită revizii" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:8 +#, python-format +msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:11 +msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env file." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/invites.html:9 +#, python-format +msgid "%(display_count)s invite request" +msgid_plural "%(display_count)s invite requests" +msgstr[0] "%(display_count)s cerere de invitare" +msgstr[1] "" +msgstr[2] "%(display_count)s cereri de invitare" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_conduct.html:8 +msgid "Your instance is missing a code of conduct." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_privacy.html:8 +msgid "Your instance is missing a privacy policy." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/reports.html:9 +#, python-format +msgid "%(display_count)s open report" +msgid_plural "%(display_count)s open reports" +msgstr[0] "%(display_count)s raport deschis" +msgstr[1] "" +msgstr[2] "%(display_count)s raporturi dechise" + +#: bookwyrm/templates/settings/dashboard/warnings/update_version.html:8 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "O actualizare este disponibilă! Rulați în prezent v%(current)s, iar cea mai nouă versiune este %(available)s." + #: bookwyrm/templates/settings/email_blocklist/domain_form.html:5 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:10 msgid "Add domain" @@ -4326,38 +4334,42 @@ msgstr "Parola dvs.:" msgid "Users: %(instance_name)s" msgstr "Utilizatori: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:40 +#: bookwyrm/templates/settings/users/user_admin.html:29 +msgid "Deleted users" +msgstr "" + +#: bookwyrm/templates/settings/users/user_admin.html:44 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Nume de utilizator" -#: bookwyrm/templates/settings/users/user_admin.html:44 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Date Added" msgstr "Data adăugării" -#: bookwyrm/templates/settings/users/user_admin.html:48 +#: bookwyrm/templates/settings/users/user_admin.html:52 msgid "Last Active" msgstr "Ultima dată activ(ă)" -#: bookwyrm/templates/settings/users/user_admin.html:57 +#: bookwyrm/templates/settings/users/user_admin.html:61 msgid "Remote instance" msgstr "Instanță la distanță" -#: bookwyrm/templates/settings/users/user_admin.html:74 +#: bookwyrm/templates/settings/users/user_admin.html:81 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Active" msgstr "Activ" -#: bookwyrm/templates/settings/users/user_admin.html:79 +#: bookwyrm/templates/settings/users/user_admin.html:86 msgid "Deleted" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:85 +#: bookwyrm/templates/settings/users/user_admin.html:92 #: bookwyrm/templates/settings/users/user_info.html:32 msgid "Inactive" msgstr "Inactiv" -#: bookwyrm/templates/settings/users/user_admin.html:94 +#: bookwyrm/templates/settings/users/user_admin.html:101 #: bookwyrm/templates/settings/users/user_info.html:127 msgid "Not set" msgstr "Neconfigurat" diff --git a/locale/sv_SE/LC_MESSAGES/django.mo b/locale/sv_SE/LC_MESSAGES/django.mo index 47c4f1939f545d9ad07da8bc1d0eac2222db324e..036cd4bbc4ebe85bfa15677992ff79102abd9b6f 100644 GIT binary patch delta 22 ecmZ3!mUa1B)(xM|v0Eq@8C#hcZ2oy}T{{4BfeJJL delta 22 ecmZ3!mUa1B)(xM|v70LxT38txZT@*~T{{4Bj|w&b diff --git a/locale/sv_SE/LC_MESSAGES/django.po b/locale/sv_SE/LC_MESSAGES/django.po index 03002a581..b49f44b15 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-07-07 17:47+0000\n" -"PO-Revision-Date: 2022-07-07 18:12\n" +"POT-Creation-Date: 2022-07-08 22:40+0000\n" +"PO-Revision-Date: 2022-07-08 23:40\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Swedish\n" "Language: sv\n" @@ -1205,7 +1205,7 @@ msgstr "Domän" #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:56 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Status" msgstr "Status" @@ -1329,7 +1329,7 @@ msgstr "Bekräftelsekod:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:81 -#: bookwyrm/templates/settings/dashboard/dashboard.html:127 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "Skicka in" @@ -1369,7 +1369,7 @@ msgid "Local users" msgstr "Lokala användare" #: bookwyrm/templates/directory/community_filter.html:12 -#: bookwyrm/templates/settings/users/user_admin.html:29 +#: bookwyrm/templates/settings/users/user_admin.html:33 msgid "Federated community" msgstr "Federerad gemenskap" @@ -3353,13 +3353,13 @@ msgstr "Falskt" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:105 +#: bookwyrm/templates/settings/dashboard/dashboard.html:84 msgid "Start date:" msgstr "Startdatum:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:90 msgid "End date:" msgstr "Slutdatum:" @@ -3519,7 +3519,7 @@ msgid "Dashboard" msgstr "Översiktspanel" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:134 +#: bookwyrm/templates/settings/dashboard/dashboard.html:113 msgid "Total users" msgstr "Totalt antal användare" @@ -3537,66 +3537,31 @@ msgstr "Statusar" msgid "Works" msgstr "Verk" -#: bookwyrm/templates/settings/dashboard/dashboard.html:43 -#, python-format -msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:46 -msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 -#, python-format -msgid "%(display_count)s open report" -msgid_plural "%(display_count)s open reports" -msgstr[0] "%(display_count)s öppen rapport" -msgstr[1] "%(display_count)s öppna rapporter" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:66 -#, python-format -msgid "%(display_count)s domain needs review" -msgid_plural "%(display_count)s domains need review" -msgstr[0] "%(display_count)s domänen behöver granskning" -msgstr[1] "%(display_count)s domänerna behöver granskning" - #: bookwyrm/templates/settings/dashboard/dashboard.html:78 -#, python-format -msgid "%(display_count)s invite request" -msgid_plural "%(display_count)s invite requests" -msgstr[0] "%(display_count)s inbjudningsförfrågning" -msgstr[1] "%(display_count)s inbjudningsförfrågningar" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:90 -#, python-format -msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." -msgstr "En uppdatering är tillgänglig! Du kör v%(current)s och den senaste versionen är %(available)s." - -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 msgid "Instance Activity" msgstr "Instansaktivitet" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:96 msgid "Interval:" msgstr "Intervall:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:121 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "Days" msgstr "Dagar" -#: bookwyrm/templates/settings/dashboard/dashboard.html:122 +#: bookwyrm/templates/settings/dashboard/dashboard.html:101 msgid "Weeks" msgstr "Veckor" -#: bookwyrm/templates/settings/dashboard/dashboard.html:140 +#: bookwyrm/templates/settings/dashboard/dashboard.html:119 msgid "User signup activity" msgstr "Användarens registreringsaktivitet" -#: bookwyrm/templates/settings/dashboard/dashboard.html:146 +#: bookwyrm/templates/settings/dashboard/dashboard.html:125 msgid "Status activity" msgstr "Statusaktivitet" -#: bookwyrm/templates/settings/dashboard/dashboard.html:152 +#: bookwyrm/templates/settings/dashboard/dashboard.html:131 msgid "Works created" msgstr "Skapade verk" @@ -3612,6 +3577,49 @@ msgstr "Utlagda statusar" msgid "Total" msgstr "Totalt" +#: bookwyrm/templates/settings/dashboard/warnings/domain_review.html:9 +#, python-format +msgid "%(display_count)s domain needs review" +msgid_plural "%(display_count)s domains need review" +msgstr[0] "%(display_count)s domänen behöver granskning" +msgstr[1] "%(display_count)s domänerna behöver granskning" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:8 +#, python-format +msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:11 +msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env file." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/invites.html:9 +#, python-format +msgid "%(display_count)s invite request" +msgid_plural "%(display_count)s invite requests" +msgstr[0] "%(display_count)s inbjudningsförfrågning" +msgstr[1] "%(display_count)s inbjudningsförfrågningar" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_conduct.html:8 +msgid "Your instance is missing a code of conduct." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_privacy.html:8 +msgid "Your instance is missing a privacy policy." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/reports.html:9 +#, python-format +msgid "%(display_count)s open report" +msgid_plural "%(display_count)s open reports" +msgstr[0] "%(display_count)s öppen rapport" +msgstr[1] "%(display_count)s öppna rapporter" + +#: bookwyrm/templates/settings/dashboard/warnings/update_version.html:8 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "En uppdatering är tillgänglig! Du kör v%(current)s och den senaste versionen är %(available)s." + #: bookwyrm/templates/settings/email_blocklist/domain_form.html:5 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:10 msgid "Add domain" @@ -4308,38 +4316,42 @@ msgstr "Ditt lösenord:" msgid "Users: %(instance_name)s" msgstr "Användare: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:40 +#: bookwyrm/templates/settings/users/user_admin.html:29 +msgid "Deleted users" +msgstr "" + +#: bookwyrm/templates/settings/users/user_admin.html:44 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "Användarnamn" -#: bookwyrm/templates/settings/users/user_admin.html:44 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Date Added" msgstr "Lades till datum" -#: bookwyrm/templates/settings/users/user_admin.html:48 +#: bookwyrm/templates/settings/users/user_admin.html:52 msgid "Last Active" msgstr "Senast aktiv" -#: bookwyrm/templates/settings/users/user_admin.html:57 +#: bookwyrm/templates/settings/users/user_admin.html:61 msgid "Remote instance" msgstr "Fjärrinstans" -#: bookwyrm/templates/settings/users/user_admin.html:74 +#: bookwyrm/templates/settings/users/user_admin.html:81 #: bookwyrm/templates/settings/users/user_info.html:28 msgid "Active" msgstr "Aktiv" -#: bookwyrm/templates/settings/users/user_admin.html:79 +#: bookwyrm/templates/settings/users/user_admin.html:86 msgid "Deleted" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:85 +#: bookwyrm/templates/settings/users/user_admin.html:92 #: bookwyrm/templates/settings/users/user_info.html:32 msgid "Inactive" msgstr "Inaktiv" -#: bookwyrm/templates/settings/users/user_admin.html:94 +#: bookwyrm/templates/settings/users/user_admin.html:101 #: bookwyrm/templates/settings/users/user_info.html:127 msgid "Not set" msgstr "Inte inställd" diff --git a/locale/zh_Hans/LC_MESSAGES/django.mo b/locale/zh_Hans/LC_MESSAGES/django.mo index 1d1227f8092b70c68bb692fb532759090142aa83..1f275f27d43a946c9b5ddd8be9fb04d821499909 100644 GIT binary patch literal 82228 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
xcV&7S3+Wcy^r^>)YMyQVLDS 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 literal 44096 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 S0TOg?KN0&d0;IH0jQ%f4%`RX7 diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/locale/zh_Hans/LC_MESSAGES/django.po index effa15933..65c4151f6 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-07-07 17:47+0000\n" -"PO-Revision-Date: 2022-07-07 18:12\n" +"POT-Creation-Date: 2022-07-08 22:40+0000\n" +"PO-Revision-Date: 2022-07-08 23:40\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Chinese Simplified\n" "Language: zh\n" @@ -1199,7 +1199,7 @@ msgstr "域名" #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:56 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Status" msgstr "状态" @@ -1323,7 +1323,7 @@ msgstr "确认代码:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:81 -#: bookwyrm/templates/settings/dashboard/dashboard.html:127 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "提交" @@ -1363,7 +1363,7 @@ msgid "Local users" msgstr "本地用户" #: bookwyrm/templates/directory/community_filter.html:12 -#: bookwyrm/templates/settings/users/user_admin.html:29 +#: bookwyrm/templates/settings/users/user_admin.html:33 msgid "Federated community" msgstr "跨站社区" @@ -3338,13 +3338,13 @@ msgstr "否" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:105 +#: bookwyrm/templates/settings/dashboard/dashboard.html:84 msgid "Start date:" msgstr "开始日期:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:90 msgid "End date:" msgstr "结束日期:" @@ -3504,7 +3504,7 @@ msgid "Dashboard" msgstr "仪表盘" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:134 +#: bookwyrm/templates/settings/dashboard/dashboard.html:113 msgid "Total users" msgstr "用户总数" @@ -3522,63 +3522,31 @@ msgstr "状态" msgid "Works" msgstr "作品" -#: bookwyrm/templates/settings/dashboard/dashboard.html:43 -#, python-format -msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:46 -msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 -#, python-format -msgid "%(display_count)s open report" -msgid_plural "%(display_count)s open reports" -msgstr[0] "%(display_count)s 条待处理报告" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:66 -#, python-format -msgid "%(display_count)s domain needs review" -msgid_plural "%(display_count)s domains need review" -msgstr[0] "%(display_count)s 个域名需要审核" - #: bookwyrm/templates/settings/dashboard/dashboard.html:78 -#, python-format -msgid "%(display_count)s invite request" -msgid_plural "%(display_count)s invite requests" -msgstr[0] "%(display_count)s 条邀请请求" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:90 -#, python-format -msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." -msgstr "有可用的更新!最新版本为:%(available)s,但你当前运行的版本为:%(current)s。" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 msgid "Instance Activity" msgstr "实例活动" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:96 msgid "Interval:" msgstr "区段:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:121 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "Days" msgstr "天" -#: bookwyrm/templates/settings/dashboard/dashboard.html:122 +#: bookwyrm/templates/settings/dashboard/dashboard.html:101 msgid "Weeks" msgstr "周" -#: bookwyrm/templates/settings/dashboard/dashboard.html:140 +#: bookwyrm/templates/settings/dashboard/dashboard.html:119 msgid "User signup activity" msgstr "用户注册活动" -#: bookwyrm/templates/settings/dashboard/dashboard.html:146 +#: bookwyrm/templates/settings/dashboard/dashboard.html:125 msgid "Status activity" msgstr "状态动态" -#: bookwyrm/templates/settings/dashboard/dashboard.html:152 +#: bookwyrm/templates/settings/dashboard/dashboard.html:131 msgid "Works created" msgstr "创建的作品" @@ -3594,6 +3562,46 @@ msgstr "发布的状态" msgid "Total" msgstr "总数" +#: bookwyrm/templates/settings/dashboard/warnings/domain_review.html:9 +#, python-format +msgid "%(display_count)s domain needs review" +msgid_plural "%(display_count)s domains need review" +msgstr[0] "%(display_count)s 个域名需要审核" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:8 +#, python-format +msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:11 +msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env file." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/invites.html:9 +#, python-format +msgid "%(display_count)s invite request" +msgid_plural "%(display_count)s invite requests" +msgstr[0] "%(display_count)s 条邀请请求" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_conduct.html:8 +msgid "Your instance is missing a code of conduct." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_privacy.html:8 +msgid "Your instance is missing a privacy policy." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/reports.html:9 +#, python-format +msgid "%(display_count)s open report" +msgid_plural "%(display_count)s open reports" +msgstr[0] "%(display_count)s 条待处理报告" + +#: bookwyrm/templates/settings/dashboard/warnings/update_version.html:8 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "有可用的更新!最新版本为:%(available)s,但你当前运行的版本为:%(current)s。" + #: bookwyrm/templates/settings/email_blocklist/domain_form.html:5 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:10 msgid "Add domain" @@ -4289,38 +4297,42 @@ msgstr "你的密码:" msgid "Users: %(instance_name)s" msgstr "用户: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:40 +#: bookwyrm/templates/settings/users/user_admin.html:29 +msgid "Deleted users" +msgstr "" + +#: bookwyrm/templates/settings/users/user_admin.html:44 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "用户名" -#: bookwyrm/templates/settings/users/user_admin.html:44 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Date Added" msgstr "添加日期:" -#: bookwyrm/templates/settings/users/user_admin.html:48 +#: bookwyrm/templates/settings/users/user_admin.html:52 msgid "Last Active" msgstr "最后或缺" -#: bookwyrm/templates/settings/users/user_admin.html:57 +#: bookwyrm/templates/settings/users/user_admin.html:61 msgid "Remote instance" msgstr "移除服务器" -#: bookwyrm/templates/settings/users/user_admin.html:74 +#: 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:79 +#: bookwyrm/templates/settings/users/user_admin.html:86 msgid "Deleted" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:85 +#: bookwyrm/templates/settings/users/user_admin.html:92 #: bookwyrm/templates/settings/users/user_info.html:32 msgid "Inactive" msgstr "停用" -#: bookwyrm/templates/settings/users/user_admin.html:94 +#: bookwyrm/templates/settings/users/user_admin.html:101 #: bookwyrm/templates/settings/users/user_info.html:127 msgid "Not set" msgstr "未设置" diff --git a/locale/zh_Hant/LC_MESSAGES/django.mo b/locale/zh_Hant/LC_MESSAGES/django.mo index f9ca27be9b891b3b13c30e68d084e0cd54184a43..e518d549092ab42bdb74b185e4d41f32ca6523d1 100644 GIT binary patch delta 12810 zcmZYF3w)0C|Htub!z|~sA$B8&(Kd$Il2e=Wd4&8NZrp6l#%65DO^%t6OFEE}QiSMM zs7O(Y4nImor4&Pw%CDo+|MlMWSwH{(|9U(=p5M>+`@O!W>$>la+Wma^=K0~l(^X17 z=x{X*cbuECb!Er-f^zQ$s&$+Lv5wOWU&reB9oE6{ILE1h^{^AR!TvZMTi{`=h`(V? zjEr|2ANsI2cE-An6LgkS7(~TZY>Z*tO@q@Et6^8vT83kNoP%1(6Icsh!q)h2oQb7c zdJCG1THxy#gP)?t4^N;E#$Z+Ecj75TP;nZT&<&qr1w4mk@ju9-9jBGIzyz#Bnuyv#Pt<+=QTL5N zEhGcAkX+Qn`KXEKqx!q3ai2gf-Z^d!r8r0Jyb5YSA8Md@)X}#>^&gDtw*+-UYfuxd zN1f!eSOuTA_BYHUSd#kV7=@p-=KQs?AFRP?!z3ENYiu$)_w(RlK+KKSUu7E-iSj@+!N^^bOuw<&c~pRa3bmiW}%LD9x{gW0O}}@ zm>;3;JB{jBh+6nBW=W1g^;J;sN&~EpO;9Ir2bR_6zaIsyd^l=?G&9?rZS9LtD|anl zkDA~)tA7P+lfQ*p@EO!bYTs_3Ce#MwQSU}4Ec*QSprDvNQAa$-au+r5 zTGT)rPz&FJdIxryZ=-hpIqDragW70Vd+*Uzz@U$c>J;>hZ$k~3f?8=`)RB!sJ?mW5 zj%TBeaGB-nQ483P8fTB?hb=#b8s{t2Mt?zV^m=>FUlUfo!&`Z6)H94j4b&d%VlUJL z>8Ks$p!(&Z?q6iCK%LCP*d5oS7JeS}GJbD)LuPkYC#833;F;xUhoVBbu6@spHKt*in<}Z zlQ&^y)X_$xUb050mogFcP zIgNTGH9C7MZiscr+n{znz`WZWi+ZUtP~!ygW?YRLXQ#Ozby7#Mls^9_DCkH(LmkOQ z)DeA;8qn$DokUgCP8wh=c1A5E3)MdlHSki)SDTwqC$a~9cnGzTb6Ai0ov=H-8-1vi zH$xp&N7PYuLmg!w)ItZLb~FanFAFvC4Ag?=VH_?+-M<&LvDZ*v#fMPu%oiBc+jyCR zZoH0~sC2S7UsD8as1Eyk0%s?${syPP}$O}*#+mBlChp72JOXmFb zlAWbOE4qq}utbX2F~)3(x*-v@kS?el4?-UXddeuTR3 zR0`*>fzMD;62G;EE2x$Jf?D8pYcJo`+hG;d$wXToi|Utzny`n}55rpI<5B(RTKjU0 zAYUJ(prd&jOX17baKP#hqZaZxYN2OQKV&Xr3`TbIzIYN)C(<3Ykb$Nj>yuBx(zpsW z&Z8KC!Hw3i#e4yE5-+2k^=qh(AEJ)_l=&U%SzkxJ-DSIb{cED~=BRPnVk2yiTG$vY zjZ=~PgHAq$5>zb0$+#3F@i#N9hj&96)XQ20wbO=XENX(bsDVeIjyiyvFb6f>y?7HA zU=w^0o9pwxkAiNzh&SPnsEMwjc3iHf_e|?yGK&McI=KSW z51&=mz6G_Q7u2rL|0@(U@f+6gF6xKL3Dkg>P!n85^$Y9eO;8r~2LCMC8~b` z>I5D^^?Md;;ESmK?_#hSg%cEFQGYRG4kymc$2jsssF(CA>SGq!$NOrngM5iO?NIHr zunew5z07M-C$Isvk!Mlw#17N~UhKp9tFWI6?d-61Jcc^Llc<;QBC6kCsD2TBy}S~t zUoFdHP!lC!c}zkrsJrEgDDmm`(l^4#%2hpg;1r5B$ z8rByzuyVYc`faEMMc(B&qp>2Y{}j{$@=#x~^RNMK#NWgCdjRUEGpZ^9F;;|>T#+j%UKact;wh#4kokaD!fcniQiq!?M4eA8eVnaNHHSmJve_MM) zoWLLJ>c)D8}!PUch8OZg>g;TNs`SM$1A zYJ}In9O?wCj^O+?KpksnfEpkM^)9qElg$C6&SK2B#*JB}RdSrN5>8s;r#0&3z;miMuIxaDbb`T9Up4iur2EUG7GB%(7M9ixVFa%5B7}Qty`0<>7 z1cfXrG{JOpKB|5t*2jmeey`QPg+A)vv-)#x;zy#C@1iM(F z7nY)85O%@4Q4>6ddKsUxe4lv;izddRM`K>H`rj-sn{Fq8+Gu0cxGj+Tf=*isMbF5q zaE6%U%&DlI&9Qu$`3RP#eiLfP+pT^dYJwxEUu=$99zN0A`Aw(=*TSNI|8Gn|10|VV ztV2)KSMd7CY3DQstpN@K_bMQ`FZuxQ4$$pKR@Mp`*Wq9L9WAG*#8dJ~!El|(8 z6Y7g+7?#64bD_BkHSyzE2A@GK_yyF2d(C&vFHtY!PuLWzPxi*`Fq!AC8+uvANK`(_ zoMZJ5pl)1`x8PxHgx{eyP$kp*{NIeq+oBfK8MV;vmiM>zA(s0yIe*=dW)<1kiag&s zZnOH`s4uAfsFON{dN;nsa(E3jQDl~9CDcZuQ0>jlcBqA=U~TLjw2BGVArtlao`qV- z16Us4MBVtIc?vb~8EgL@wZK2EJ!*=#&}h_s@u+cbLoGDf>Vv&0=o={&b;J`;1Fb~e zuod-;Uq%h|CTf6pt^Omc|I#c(E$lMt1pcu4@>9L~YN&DRdwI}_r%;iK_ST^{YNBDN zg^jj+8miwc%L}Z1mF1hvZC1a_^0!e7{s3#?C#a47h~;?yoZ8vmJJ1BR@|I=?)XUb( z+NYQ^Q43sv8o0o6*L)PU@C}x~h#L1*)CS(M{G`<9ztAeKnof?lpz^5Ce@)bpC88$m zh8n0JY9XU=AdW{(wAbq2viv=)Lj5VrFPnd0ijJc6G;g35r~%rdCP=pWL8ys`qZTw4 zo8UrJ|7~vPs5(L2afTWn{%9>#a=oQTqk6`gNvQtaP+J&+TH;95OjE5s-<*qj3m2n4 zud7h^ue0{8x%Qhx$T}Rb4o6TEpF$0M9{Jmda|Ly#y{CKLjT$fwwU9j2!V0hju0n13 zAa=(~X6qT=Kb_n&gD0u)&gZDm=jRYA{|Yd+zBh42)CtruZ$X_v0!CpM%ZHnj%vo58 z_5##A>rmqcH&JL#VJB)wU!Zny4r}30sFjwR>8(5()!xSPE?9$nsO4FxaTa1@ydTwn z7wY6*$GZ47auPwOkb)-o6VZCScL)?iy^-Xeuf(G`@@pdvB_42r=1syVvnWvGT$<8GlibEJf{dSo9 z%p<6cePa2ys1x|r>aQy&oXT^(XA*_#(7^H-)XUNeRo??OQGcw4BT&yY8)I-js^2zq z7wTERV)>hvzl+-N#~9QN3G?_*RhWpnAs2O2LDYmR%yk$>euOB#BEnf%ae~ow7=SAX zjr9z%lPFKWCaCL#2JtTK-@7J2B%O41AvoQl--||B=lgITbvcswmhvRjmFwaBMxIQ$ zBtB+!X_U3OZbSp(wAFur_lMd1J8hu(RDMBuG4UGZbmA{!3h}Y^Nx-?}dNf}UwOO>! z+G5DxCO#p$62(_3+CL=TrD7bh#`^31E4o%tam>myC?6p1ARZue^)tPU-ww%tCgu}5 zw7o_Oj&!GPG@+}hN70}6QrCqD-eZlkumSNr(Uz#lsP!~5R~Av%%AXb0 z@RvLK=sJh55)Tva5>FJ>vMBnOCojGVDbyhr5pmT2fc!F8yniO=2L0e}N9?-c#_i}KUgrj4b47B9N0-Ef?jsVShJ53k_+m_U@hp%1C^J#CF~F6!c2-g(r@HNtLq{%Tx6 zLs>kDH5q7?D!B%FILoM?PPrq|ig=3ngSx+n0fer96MHE8aT{L2l7y~(9?r*jinjOl z{9hnxYYifvXhGvTLf1YlByMIwiP)J~Lwyu^4dMuS6QcOKo3f93U3U}XiCM%a)KA6* z#3(}7oZfchX?%#NL=3jN@uoV)QcfnSQto8+X_QM_c_ig8-Fb0UgB7V+LblLarcv%s z{7O_{S$gBH6RTDoA{Hmu7<@A zv^o_vt@@w=dLkuAvAtI@}jkrqa zT1nmCSeNKY#1Xpcc@+IC&RWW=i8u88Ygj{7Zghx;VJluFc2WM3*h7?L5#LewCGiot zu1_iJdWUF6oFzUaqKTVm`yHoXIifys6JuP)GsFSfKG*XfN?{BY6NsvG*hs#G7)d^e z_>}T~9D;umZxXut5FM!x;9JCOLf6aGeL&oJ-D=7Gm}hNo<0hTIexKHrZw(tL2Pi*7 zyhF4gcX28aPw4uNc!6?=Xliw;ug(Tq<9;HS`t8KMl%FK75lQ6F<3YTD!N>WdfcS+t zOywnXiE5Ph61wif$BBlND>FekLRX?k(Vv_7^Bdwv`rS;-ChjB8D{AG}81mxlQ3`Jm z5&C+m!(dO7T(s6@=5yGRo0i*+l`)05#quX{IenhP_87)EzfvxP*YQE3H1%~+R}OIx zah|-L)p=iURF)uayrLPT92FPnIFQ)=&kbI$@=%3%gm~Snaz4jri74U{{X7; zKcBjzL?>di>WaT~CQ`ofdijQ=FXdN=ZNxEd>O;IpEGGY%=tbySPrOL{E6i<{Ffg<@ z;rH;c&hEU4wcI6bUvW3Kn;5E}xFFm;e0xndtbKz}%l0M1-Q*4f+;tt|L!Wl&7v?5* zdZ=O`cUsQaG+)zhf$Yit%$U&oolb?-%AAmqo|ERJ$A5nN z+_U@KvwOA`u35~Q(E!xJmY~gFsI;l;&GQIsd z(_$GYGbh78Eh{_8*C&g8`3438(*wTtla*wv+$lRfCy+ZOE;BH#12<(($n{SM#10Dh zCnpup?Ym(;|8z<6%}guPr$?WZ;?=ly0@=Z#v3F)?%@~)S8Eeb^?;6YezqZ&O$w|J} zZ4(n(CEn0jyar7WJ7~xaEnU+y0!hC3;l;a-&B+>@?$3xT&PVtuZ=1m>w9-G=ER4TiFm^&$FVbx^sRlV}+l5_iaU)Zw# z%B%N8!yCcPWU1_*bu+wY!=hao^)32RhvF-eQk66>idCLpeJ??lUg)Zby3XAW` z11x%<>0cOn(0ZO*QE=|*ea`vSj~6akS-57$`9~LAym#(}=L+2X8GYSPW?U_OaZSOw zX9|+spYpc4Z|1jj%g#)6SI&$JwVySzMCkOKpx4K=|WV&y!86Q!&a^1Nd1@7pFhSWa4W5Yl1^Z$Ceo&N!RF4~;{ literal 38839 zcmchg34D~*x&L4Hiu+oZssoCE5hUF_oRYHRJjnwd;md#&19+uPRv_jk_oP9^~q@9pP5A5XsLIp@4*KhJs2 zd1vs~Cm+5j;B&{JLGUT~+Q~uC?XV!2-C3bQ(5rV4Tm&zHr@?z*2bh9q!!NU*kAuD7QLwMY4>Wm*$+ww&57cwz zkYNa_;IZ(23x5b6jXWKyUl*9X(zpRC{R{AT_*Hled=*{-e+5;)6H0^NM0h$>JGwwU zR|551DO5cMLDl0{sB&+ID);kH>8qjg{Ss7vZ?^E?L$&)YsQmr~mCvz#{P>*+mA*Gr zx)@adq@l`r5UQS2;mL3|)VME)O7|7xEAVjSSK(>!b*Os13D1CkhpO+%SNU=}L8b2n z)i0MpwZ9)!zBfSCXBbqyKL?e*5~{!MhnoMB;azYJRJvw3AHD~b-}I}4;3UOE$;+YY zwc6xuQ0?0RRlmJZ<$fP3-LIgY`vX+EKSQPa8&o}x>g(%!2Glr3p!%&FRDCYB`2JA! zxXE}ARDUKceiBqUGoZ?u2Q{DTq3W|9s-Jd1)$3)b{9d*2H!S=usOSC(8S3D~Yl5H$ zycwPcCqnh_6Hw1T4b_j&L*={I^SLg|B1Q1f9TJR3d+RsLqE^bJt;`zBO>d>^X6e+;jHS*ZR!x1VQMsPw&|(v?D$ zca!l>3m*+Nf5t)0&j+FEy8x;^&p?&G87luq<2Q^yu=t-t)wkK?cc9Asz`{@Hk1j(# z3#z`CLA4_R)qfeNc{2rSzAS_)?8&J=;Kt2BsbmMM3 zae!~{1@JuLyFs;Y5Y+s-9Y)~ipvrj&D!(~U^{a>Kr?pV&cSE)FWvG68&EynkL4zBfa-_c@J#q! zsPdbQf42C)L$&+pfj+v|j{2Lw)Pr1S8a|TqsE`)l%C;TkD1}gt2q56F_RQt9-rE7#k;dh|s&DnIK>d^

X;zjxq~@Za!Uc*G#z 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 K+Af^UV*h`HluhUW diff --git a/locale/zh_Hant/LC_MESSAGES/django.po b/locale/zh_Hant/LC_MESSAGES/django.po index cb0c7244a..8dd4692f2 100644 --- a/locale/zh_Hant/LC_MESSAGES/django.po +++ b/locale/zh_Hant/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-07-07 17:47+0000\n" -"PO-Revision-Date: 2022-07-07 18:12\n" +"POT-Creation-Date: 2022-07-08 22:40+0000\n" +"PO-Revision-Date: 2022-07-10 04:58\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Chinese Traditional\n" "Language: zh\n" @@ -1199,7 +1199,7 @@ msgstr "" #: bookwyrm/templates/settings/announcements/announcements.html:37 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:47 #: bookwyrm/templates/settings/invites/status_filter.html:5 -#: bookwyrm/templates/settings/users/user_admin.html:52 +#: bookwyrm/templates/settings/users/user_admin.html:56 #: bookwyrm/templates/settings/users/user_info.html:24 msgid "Status" msgstr "狀態" @@ -1323,7 +1323,7 @@ msgstr "" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:81 -#: bookwyrm/templates/settings/dashboard/dashboard.html:127 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 #: bookwyrm/templates/snippets/report_modal.html:53 msgid "Submit" msgstr "提交" @@ -1363,7 +1363,7 @@ msgid "Local users" msgstr "本地使用者" #: bookwyrm/templates/directory/community_filter.html:12 -#: bookwyrm/templates/settings/users/user_admin.html:29 +#: bookwyrm/templates/settings/users/user_admin.html:33 msgid "Federated community" msgstr "跨站社群" @@ -1994,7 +1994,7 @@ msgstr "納入書評" #: bookwyrm/templates/import/import.html:60 msgid "Privacy setting for imported reviews:" -msgstr "匯入書評的隱私設定" +msgstr "匯入書評的私隱設定" #: bookwyrm/templates/import/import.html:66 #: bookwyrm/templates/preferences/layout.html:31 @@ -3336,13 +3336,13 @@ msgstr "否" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:105 +#: bookwyrm/templates/settings/dashboard/dashboard.html:84 msgid "Start date:" msgstr "開始日期:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:90 msgid "End date:" msgstr "結束日期:" @@ -3502,7 +3502,7 @@ msgid "Dashboard" msgstr "" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:134 +#: bookwyrm/templates/settings/dashboard/dashboard.html:113 msgid "Total users" msgstr "" @@ -3520,63 +3520,31 @@ msgstr "" msgid "Works" msgstr "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:43 -#, python-format -msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:46 -msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 -#, python-format -msgid "%(display_count)s open report" -msgid_plural "%(display_count)s open reports" -msgstr[0] "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:66 -#, python-format -msgid "%(display_count)s domain needs review" -msgid_plural "%(display_count)s domains need review" -msgstr[0] "" - #: bookwyrm/templates/settings/dashboard/dashboard.html:78 -#, python-format -msgid "%(display_count)s invite request" -msgid_plural "%(display_count)s invite requests" -msgstr[0] "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:90 -#, python-format -msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." -msgstr "" - -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 msgid "Instance Activity" msgstr "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:96 msgid "Interval:" msgstr "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:121 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "Days" msgstr "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:122 +#: bookwyrm/templates/settings/dashboard/dashboard.html:101 msgid "Weeks" msgstr "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:140 +#: bookwyrm/templates/settings/dashboard/dashboard.html:119 msgid "User signup activity" msgstr "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:146 +#: bookwyrm/templates/settings/dashboard/dashboard.html:125 msgid "Status activity" msgstr "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:152 +#: bookwyrm/templates/settings/dashboard/dashboard.html:131 msgid "Works created" msgstr "" @@ -3592,6 +3560,46 @@ msgstr "" msgid "Total" msgstr "" +#: bookwyrm/templates/settings/dashboard/warnings/domain_review.html:9 +#, python-format +msgid "%(display_count)s domain needs review" +msgid_plural "%(display_count)s domains need review" +msgstr[0] "" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:8 +#, python-format +msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/email_config.html:11 +msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env file." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/invites.html:9 +#, python-format +msgid "%(display_count)s invite request" +msgid_plural "%(display_count)s invite requests" +msgstr[0] "" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_conduct.html:8 +msgid "Your instance is missing a code of conduct." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/missing_privacy.html:8 +msgid "Your instance is missing a privacy policy." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/warnings/reports.html:9 +#, python-format +msgid "%(display_count)s open report" +msgid_plural "%(display_count)s open reports" +msgstr[0] "" + +#: bookwyrm/templates/settings/dashboard/warnings/update_version.html:8 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "" + #: bookwyrm/templates/settings/email_blocklist/domain_form.html:5 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:10 msgid "Add domain" @@ -4287,38 +4295,42 @@ msgstr "" msgid "Users: %(instance_name)s" msgstr "使用者: %(instance_name)s" -#: bookwyrm/templates/settings/users/user_admin.html:40 +#: bookwyrm/templates/settings/users/user_admin.html:29 +msgid "Deleted users" +msgstr "" + +#: bookwyrm/templates/settings/users/user_admin.html:44 #: bookwyrm/templates/settings/users/username_filter.html:5 msgid "Username" msgstr "使用者名稱" -#: bookwyrm/templates/settings/users/user_admin.html:44 +#: bookwyrm/templates/settings/users/user_admin.html:48 msgid "Date Added" msgstr "新增日期:" -#: bookwyrm/templates/settings/users/user_admin.html:48 +#: bookwyrm/templates/settings/users/user_admin.html:52 msgid "Last Active" msgstr "最後活躍" -#: bookwyrm/templates/settings/users/user_admin.html:57 +#: bookwyrm/templates/settings/users/user_admin.html:61 msgid "Remote instance" msgstr "移除伺服器" -#: bookwyrm/templates/settings/users/user_admin.html:74 +#: 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:79 +#: bookwyrm/templates/settings/users/user_admin.html:86 msgid "Deleted" msgstr "" -#: bookwyrm/templates/settings/users/user_admin.html:85 +#: bookwyrm/templates/settings/users/user_admin.html:92 #: bookwyrm/templates/settings/users/user_info.html:32 msgid "Inactive" msgstr "停用" -#: bookwyrm/templates/settings/users/user_admin.html:94 +#: bookwyrm/templates/settings/users/user_admin.html:101 #: bookwyrm/templates/settings/users/user_info.html:127 msgid "Not set" msgstr "未設定" From e895451a21754bafda1df6d3c3dd2a39eb159796 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 11 Jul 2022 14:47:56 -0700 Subject: [PATCH 07/28] Update README.md --- README.md | 71 ++++++++++++++++++++++--------------------------------- 1 file changed, 28 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index cf40d284d..1b097e580 100644 --- a/README.md +++ b/README.md @@ -1,60 +1,45 @@ # BookWyrm -Social reading and reviewing, decentralized with ActivityPub +[![](https://img.shields.io/github/release/bookwyrm-social/bookwyrm.svg?colorB=58839b)](https://github.com/bookwyrm-social/bookwyrm/releases) +[![Run Python Tests](https://github.com/bookwyrm-social/bookwyrm/actions/workflows/django-tests.yml/badge.svg)](https://github.com/bookwyrm-social/bookwyrm/actions/workflows/django-tests.yml) +[![Pylint](https://github.com/bookwyrm-social/bookwyrm/actions/workflows/pylint.yml/badge.svg)](https://github.com/bookwyrm-social/bookwyrm/actions/workflows/pylint.yml) -## Contents -- [Joining BookWyrm](#joining-bookwyrm) -- [Contributing](#contributing) -- [About BookWyrm](#about-bookwyrm) - - [What it is and isn't](#what-it-is-and-isnt) - - [The role of federation](#the-role-of-federation) - - [Features](#features) -- [Set up BookWyrm](#set-up-bookwyrm) - -## Joining BookWyrm -If you'd like to join an instance, you can check out the [instances](https://joinbookwyrm.com/instances/) list. +BookWyrm is a social network for tracking your reading, talking about books, writing reviews, and discovering what to read next. Federation allows BookWyrm users to join small, trusted communities that can connect with one another, and with other ActivityPub services like [Mastodon](https://joinmastodon.org/) and [Pleroma](http://pleroma.social/). -## Contributing -See [contributing](https://docs.joinbookwyrm.com/contributing.html) for code, translation or monetary contributions. +## Links + +[![Mastodon Follow](https://img.shields.io/mastodon/follow/000146121?domain=https%3A%2F%2Ftech.lgbt&style=social)](https://tech.lgbt/@bookwyrm) +[![Twitter Follow](https://img.shields.io/twitter/follow/BookWyrmSocial?style=social)](https://twitter.com/BookWyrmSocial) + + - [Project homepage](https://joinbookwyrm.com/) + - [Support](https://patreon.com/bookwyrm) + - [Documentation](https://docs.joinbookwyrm.com/) + ## About BookWyrm -### What it is and isn't BookWyrm is a platform for social reading. You can use it to track what you're reading, review books, and follow your friends. It isn't primarily meant for cataloguing or as a data-source for books, but it does do both of those things to some degree. -### The role of federation +## Federation BookWyrm is built on [ActivityPub](http://activitypub.rocks/). With ActivityPub, it inter-operates with different instances of BookWyrm, and other ActivityPub compliant services, like Mastodon. This means you can run an instance for your book club, and still follow your friend who posts on a server devoted to 20th century Russian speculative fiction. It also means that your friend on mastodon can read and comment on a book review that you post on your BookWyrm instance. Federation makes it possible to have small, self-determining communities, in contrast to the monolithic service you find on GoodReads or Twitter. An instance can be focused on a particular interest, be just for a group of friends, or anything else that brings people together. Each community can choose which other instances they want to federate with, and moderate and run their community autonomously. Check out https://runyourown.social/ to get a sense of the philosophy and logistics behind small, high-trust social networks. -### Features -Since the project is still in its early stages, the features are growing every day, and there is plenty of room for suggestions and ideas. Open an [issue](https://github.com/bookwyrm-social/bookwyrm/issues) to get the conversation going! -- Posting about books - - Compose reviews, with or without ratings, which are aggregated in the book page - - Compose other kinds of statuses about books, such as: - - Comments on a book - - Quotes or excerpts - - Reply to statuses - - View aggregate reviews of a book across connected BookWyrm instances - - Differentiate local and federated reviews and rating in your activity feed -- Track reading activity - - Shelve books on default "to-read," "currently reading," and "read" shelves - - Create custom shelves - - Store started reading/finished reading dates, as well as progress updates along the way - - Update followers about reading activity (optionally, and with granular privacy controls) - - Create lists of books which can be open to submissions from anyone, curated, or only edited by the creator -- Federation with ActivityPub - - Broadcast and receive user statuses and activity - - Share book data between instances to create a networked database of metadata - - Identify shared books across instances and aggregate related content - - Follow and interact with users across BookWyrm instances - - Inter-operate with non-BookWyrm ActivityPub services (currently, Mastodon is supported) -- Granular privacy controls - - Private, followers-only, and public privacy levels for posting, shelves, and lists - - Option for users to manually approve followers - - Allow blocking and flagging for moderation +## Features -### The Tech Stack +### Posting about books +Compose reviews, comment on what you're reading, and post quotes from books. You can converse with other BookWyrm users across the network about what they're reading. + +### Track reading activity +Keep track of what books you've read, and what books you'd like to read in the future. + +### Federation with ActivityPub +Federation allows you to interact with users on other instances and services, and also shares metadata about books and authors, which collaboratively builds a decentralized database of books. + +### Privacy and moderation +Users and administrators can control who can see thier posts and what other instances to federate with. + +## Tech Stack Web backend - [Django](https://www.djangoproject.com/) web server - [PostgreSQL](https://www.postgresql.org/) database From e3dbe5a1420b271462b20d25a88dba0b638f773d Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 11 Jul 2022 15:55:17 -0700 Subject: [PATCH 08/28] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1b097e580..558d42d45 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ Federation makes it possible to have small, self-determining communities, in con ## Features -### Posting about books +### Post about books Compose reviews, comment on what you're reading, and post quotes from books. You can converse with other BookWyrm users across the network about what they're reading. ### Track reading activity From 3670ae46ec5b7e8948a2742df1c3e06de0a01352 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Tue, 12 Jul 2022 10:32:56 -0700 Subject: [PATCH 09/28] Reverse order of notification related users --- bookwyrm/templates/notifications/items/layout.html | 11 +++++------ bookwyrm/templatetags/notification_page_tags.py | 6 ++++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/bookwyrm/templates/notifications/items/layout.html b/bookwyrm/templates/notifications/items/layout.html index 3830e7e40..8acbb9fec 100644 --- a/bookwyrm/templates/notifications/items/layout.html +++ b/bookwyrm/templates/notifications/items/layout.html @@ -2,7 +2,7 @@ {% load humanize %} {% related_status notification as related_status %} -{% with related_users=notification.related_users.all.distinct %} +{% get_related_users notification as related_users %} {% with related_user_count=notification.related_users.count %}

@@ -16,7 +16,7 @@ {% if related_user_count > 1 %} {% endwith %} -{% endwith %} diff --git a/bookwyrm/templatetags/notification_page_tags.py b/bookwyrm/templatetags/notification_page_tags.py index 28fa2afb5..7a365e689 100644 --- a/bookwyrm/templatetags/notification_page_tags.py +++ b/bookwyrm/templatetags/notification_page_tags.py @@ -12,3 +12,9 @@ def related_status(notification): if not notification.related_status: return None return load_subclass(notification.related_status) + + +@register.simple_tag(takes_context=False) +def get_related_users(notification): + """Who actually was it who liked your post""" + return list(reversed(list(notification.related_users.distinct())))[:10] From 235e877b3dde3cae111e79da0de6dcad087378c6 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 14 Jul 2022 11:00:05 -0700 Subject: [PATCH 10/28] Reverse order of notification users lists Should show newest first --- bookwyrm/models/notification.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bookwyrm/models/notification.py b/bookwyrm/models/notification.py index 921174924..b0b75a169 100644 --- a/bookwyrm/models/notification.py +++ b/bookwyrm/models/notification.py @@ -300,8 +300,10 @@ def notify_user_on_follow(sender, instance, created, *args, **kwargs): notification.read = False notification.save() else: + # Only group unread follows Notification.notify( instance.user_object, instance.user_subject, notification_type=Notification.FOLLOW, + read=False, ) From 661865de87422dcaddac570d7668c0d7cf36ca29 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 14 Jul 2022 11:13:11 -0700 Subject: [PATCH 11/28] Remmoves insecure redirects This should really fundamentally work differently, but this is a quick for for now to avoid an insecure redirect. There will be a negative impact on user experience from this, and a followup change should look into these views and improve their flow. --- bookwyrm/views/goal.py | 4 ++-- bookwyrm/views/interaction.py | 10 +++++----- bookwyrm/views/reading.py | 10 ++++------ bookwyrm/views/shelf/shelf_actions.py | 8 ++++---- bookwyrm/views/status.py | 6 +++--- bookwyrm/views/user.py | 2 +- 6 files changed, 19 insertions(+), 21 deletions(-) diff --git a/bookwyrm/views/goal.py b/bookwyrm/views/goal.py index b28c04766..57ff4bd75 100644 --- a/bookwyrm/views/goal.py +++ b/bookwyrm/views/goal.py @@ -70,7 +70,7 @@ class Goal(View): privacy=goal.privacy, ) - return redirect(request.headers.get("Referer", "/")) + return redirect("user-goal", request.user.localname, year) @require_POST @@ -79,4 +79,4 @@ def hide_goal(request): """don't keep bugging people to set a goal""" request.user.show_goal = False request.user.save(broadcast=False, update_fields=["show_goal"]) - return redirect(request.headers.get("Referer", "/")) + return redirect("/") diff --git a/bookwyrm/views/interaction.py b/bookwyrm/views/interaction.py index f59271bd1..35441a2cf 100644 --- a/bookwyrm/views/interaction.py +++ b/bookwyrm/views/interaction.py @@ -28,7 +28,7 @@ class Favorite(View): if is_api_request(request): return HttpResponse() - return redirect(request.headers.get("Referer", "/")) + return redirect("/") @method_decorator(login_required, name="dispatch") @@ -48,7 +48,7 @@ class Unfavorite(View): favorite.delete() if is_api_request(request): return HttpResponse() - return redirect(request.headers.get("Referer", "/")) + return redirect("/") @method_decorator(login_required, name="dispatch") @@ -67,7 +67,7 @@ class Boost(View): boosted_status=status, user=request.user ).exists(): # you already boosted that. - return redirect(request.headers.get("Referer", "/")) + return redirect("/") models.Boost.objects.create( boosted_status=status, @@ -76,7 +76,7 @@ class Boost(View): ) if is_api_request(request): return HttpResponse() - return redirect(request.headers.get("Referer", "/")) + return redirect("/") @method_decorator(login_required, name="dispatch") @@ -94,4 +94,4 @@ class Unboost(View): boost.delete() if is_api_request(request): return HttpResponse() - return redirect(request.headers.get("Referer", "/")) + return redirect("/") diff --git a/bookwyrm/views/reading.py b/bookwyrm/views/reading.py index eb43e4ea4..482da3cd0 100644 --- a/bookwyrm/views/reading.py +++ b/bookwyrm/views/reading.py @@ -79,13 +79,11 @@ class ReadingStatus(View): current_status_shelfbook = shelves[0] if shelves else None # checking the referer prevents redirecting back to the modal page - referer = request.headers.get("Referer", "/") - referer = "/" if "reading-status" in referer else referer if current_status_shelfbook is not None: if current_status_shelfbook.shelf.identifier != desired_shelf.identifier: current_status_shelfbook.delete() else: # It already was on the shelf - return redirect(referer) + return redirect("/") models.ShelfBook.objects.create( book=book, shelf=desired_shelf, user=request.user @@ -123,7 +121,7 @@ class ReadingStatus(View): if is_api_request(request): return HttpResponse() - return redirect(referer) + return redirect("/") @method_decorator(login_required, name="dispatch") @@ -205,7 +203,7 @@ def delete_readthrough(request): readthrough.raise_not_deletable(request.user) readthrough.delete() - return redirect(request.headers.get("Referer", "/")) + return redirect("/") @login_required @@ -216,4 +214,4 @@ def delete_progressupdate(request): update.raise_not_deletable(request.user) update.delete() - return redirect(request.headers.get("Referer", "/")) + return redirect("/") diff --git a/bookwyrm/views/shelf/shelf_actions.py b/bookwyrm/views/shelf/shelf_actions.py index 5e7e6c0c9..67442f3b5 100644 --- a/bookwyrm/views/shelf/shelf_actions.py +++ b/bookwyrm/views/shelf/shelf_actions.py @@ -13,7 +13,7 @@ def create_shelf(request): """user generated shelves""" form = forms.ShelfForm(request.POST) if not form.is_valid(): - return redirect(request.headers.get("Referer", "/")) + return redirect("user-shelves", request.user.localname) shelf = form.save() return redirect(shelf.local_path) @@ -70,7 +70,7 @@ def shelve(request): ): current_read_status_shelfbook.delete() else: # It is already on the shelf - return redirect(request.headers.get("Referer", "/")) + return redirect("/") # create the new shelf-book entry models.ShelfBook.objects.create( @@ -86,7 +86,7 @@ def shelve(request): # Might be good to alert, or reject the action? except IntegrityError: pass - return redirect(request.headers.get("Referer", "/")) + return redirect("/") @login_required @@ -100,4 +100,4 @@ def unshelve(request, book_id=False): ) shelf_book.raise_not_deletable(request.user) shelf_book.delete() - return redirect(request.headers.get("Referer", "/")) + return redirect("/") diff --git a/bookwyrm/views/status.py b/bookwyrm/views/status.py index 0dd9e0f80..8c14b3cdd 100644 --- a/bookwyrm/views/status.py +++ b/bookwyrm/views/status.py @@ -82,7 +82,7 @@ class CreateStatus(View): if is_api_request(request): logger.exception(form.errors) return HttpResponseBadRequest() - return redirect(request.headers.get("Referer", "/")) + return redirect("/") status = form.save(commit=False) # save the plain, unformatted version of the status for future editing @@ -146,7 +146,7 @@ class DeleteStatus(View): # perform deletion status.delete() - return redirect(request.headers.get("Referer", "/")) + return redirect("/") @login_required @@ -195,7 +195,7 @@ def edit_readthrough(request): if is_api_request(request): return HttpResponse() - return redirect(request.headers.get("Referer", "/")) + return redirect("/") def find_mentions(content): diff --git a/bookwyrm/views/user.py b/bookwyrm/views/user.py index 2aed317f7..a46c74642 100644 --- a/bookwyrm/views/user.py +++ b/bookwyrm/views/user.py @@ -164,7 +164,7 @@ def hide_suggestions(request): """not everyone wants user suggestions""" request.user.show_suggested_users = False request.user.save(broadcast=False, update_fields=["show_suggested_users"]) - return redirect(request.headers.get("Referer", "/")) + return redirect("/") # pylint: disable=unused-argument From 05716c3578fafb21d1c9f6537ebe88a7a65d4ec7 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 14 Jul 2022 11:38:53 -0700 Subject: [PATCH 12/28] Adds unit test for creating shelves for another user --- .../tests/views/shelf/test_shelf_actions.py | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/bookwyrm/tests/views/shelf/test_shelf_actions.py b/bookwyrm/tests/views/shelf/test_shelf_actions.py index 93ff0a38e..2f2c208c7 100644 --- a/bookwyrm/tests/views/shelf/test_shelf_actions.py +++ b/bookwyrm/tests/views/shelf/test_shelf_actions.py @@ -32,6 +32,14 @@ class ShelfActionViews(TestCase): localname="mouse", remote_id="https://example.com/users/mouse", ) + self.another_user = models.User.objects.create_user( + "rat@local.com", + "rat@rat.com", + "ratword", + local=True, + localname="rat", + remote_id="https://example.com/users/rat", + ) self.work = models.Work.objects.create(title="Test Work") self.book = models.Edition.objects.create( title="Example Edition", @@ -165,6 +173,20 @@ class ShelfActionViews(TestCase): self.assertEqual(shelf.description, "desc") self.assertEqual(shelf.user, self.local_user) + def test_create_shelf_wrong_user(self, *_): + """a brand new custom shelf""" + form = forms.ShelfForm() + form.data["user"] = self.another_user.id + form.data["name"] = "new shelf name" + form.data["description"] = "desc" + form.data["privacy"] = "unlisted" + request = self.factory.post("", form.data) + request.user = self.local_user + + views.create_shelf(request) + + self.assertIsNone(models.Shelf.objects.filter(name="new shelf name")) + def test_delete_shelf(self, *_): """delete a brand new custom shelf""" request = self.factory.post("") From 4f1283ff52cbf7cc37f6a66e8331e9eea9711ffe Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 14 Jul 2022 11:42:59 -0700 Subject: [PATCH 13/28] Check editability before creating shelf --- bookwyrm/views/shelf/shelf_actions.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bookwyrm/views/shelf/shelf_actions.py b/bookwyrm/views/shelf/shelf_actions.py index 5e7e6c0c9..003d8b3b7 100644 --- a/bookwyrm/views/shelf/shelf_actions.py +++ b/bookwyrm/views/shelf/shelf_actions.py @@ -15,7 +15,9 @@ def create_shelf(request): if not form.is_valid(): return redirect(request.headers.get("Referer", "/")) - shelf = form.save() + shelf = form.save(commit=False) + shelf.raise_not_editable(request.user) + shelf.save() return redirect(shelf.local_path) From 73c4a01a6e2f57024cced957e3f12d6b8fefd05d Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 14 Jul 2022 11:45:59 -0700 Subject: [PATCH 14/28] Test for PermissionDenied error, not isNone --- bookwyrm/tests/views/shelf/test_shelf_actions.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bookwyrm/tests/views/shelf/test_shelf_actions.py b/bookwyrm/tests/views/shelf/test_shelf_actions.py index 2f2c208c7..6d593c5e9 100644 --- a/bookwyrm/tests/views/shelf/test_shelf_actions.py +++ b/bookwyrm/tests/views/shelf/test_shelf_actions.py @@ -183,9 +183,9 @@ class ShelfActionViews(TestCase): request = self.factory.post("", form.data) request.user = self.local_user - views.create_shelf(request) + with self.assertRaises(PermissionDenied): + views.create_shelf(request) - self.assertIsNone(models.Shelf.objects.filter(name="new shelf name")) def test_delete_shelf(self, *_): """delete a brand new custom shelf""" From 3f47cca5e64fd7008ece221f24cf5bf05ee60ccc Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 14 Jul 2022 11:51:58 -0700 Subject: [PATCH 15/28] Python formatting --- bookwyrm/tests/views/shelf/test_shelf_actions.py | 1 - 1 file changed, 1 deletion(-) diff --git a/bookwyrm/tests/views/shelf/test_shelf_actions.py b/bookwyrm/tests/views/shelf/test_shelf_actions.py index 6d593c5e9..f554404f3 100644 --- a/bookwyrm/tests/views/shelf/test_shelf_actions.py +++ b/bookwyrm/tests/views/shelf/test_shelf_actions.py @@ -186,7 +186,6 @@ class ShelfActionViews(TestCase): with self.assertRaises(PermissionDenied): views.create_shelf(request) - def test_delete_shelf(self, *_): """delete a brand new custom shelf""" request = self.factory.post("") From 317a239d40c9faf59eeec2c1f394fb7f0902633d Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 14 Jul 2022 12:10:29 -0700 Subject: [PATCH 16/28] Update shelf test now that it has multiple users --- .../tests/views/shelf/test_shelf_actions.py | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/bookwyrm/tests/views/shelf/test_shelf_actions.py b/bookwyrm/tests/views/shelf/test_shelf_actions.py index f554404f3..290232580 100644 --- a/bookwyrm/tests/views/shelf/test_shelf_actions.py +++ b/bookwyrm/tests/views/shelf/test_shelf_actions.py @@ -74,7 +74,7 @@ class ShelfActionViews(TestCase): def test_shelve_to_read(self, *_): """special behavior for the to-read shelf""" - shelf = models.Shelf.objects.get(identifier="to-read") + shelf = models.Shelf.objects.get(user=self.local_user, identifier="to-read") request = self.factory.post( "", {"book": self.book.id, "shelf": shelf.identifier} ) @@ -87,7 +87,7 @@ class ShelfActionViews(TestCase): def test_shelve_reading(self, *_): """special behavior for the reading shelf""" - shelf = models.Shelf.objects.get(identifier="reading") + shelf = models.Shelf.objects.get(user=self.local_user, identifier="reading") request = self.factory.post( "", {"book": self.book.id, "shelf": shelf.identifier} ) @@ -100,7 +100,7 @@ class ShelfActionViews(TestCase): def test_shelve_read(self, *_): """special behavior for the read shelf""" - shelf = models.Shelf.objects.get(identifier="read") + shelf = models.Shelf.objects.get(user=self.local_user, identifier="read") request = self.factory.post( "", {"book": self.book.id, "shelf": shelf.identifier} ) @@ -113,11 +113,13 @@ class ShelfActionViews(TestCase): def test_shelve_read_with_change_shelf(self, *_): """special behavior for the read shelf""" - previous_shelf = models.Shelf.objects.get(identifier="reading") + previous_shelf = models.Shelf.objects.get( + user=self.local_user, identifier="reading" + ) models.ShelfBook.objects.create( shelf=previous_shelf, user=self.local_user, book=self.book ) - shelf = models.Shelf.objects.get(identifier="read") + shelf = models.Shelf.objects.get(user=self.local_user, identifier="read") request = self.factory.post( "", @@ -168,7 +170,7 @@ class ShelfActionViews(TestCase): views.create_shelf(request) - shelf = models.Shelf.objects.get(name="new shelf name") + shelf = models.Shelf.objects.get(user=self.local_user, name="new shelf name") self.assertEqual(shelf.privacy, "unlisted") self.assertEqual(shelf.description, "desc") self.assertEqual(shelf.user, self.local_user) @@ -198,18 +200,8 @@ class ShelfActionViews(TestCase): def test_delete_shelf_unauthorized(self, *_): """delete a brand new custom shelf""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - rat = models.User.objects.create_user( - "rat@local.com", - "rat@mouse.mouse", - "password", - local=True, - localname="rat", - ) request = self.factory.post("") - request.user = rat + request.user = self.another_user with self.assertRaises(PermissionDenied): views.delete_shelf(request, self.shelf.id) From 69728439c83ddf662179645334ce74f0dd2054e4 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 14 Jul 2022 12:23:43 -0700 Subject: [PATCH 17/28] Remove error reporting on resend to invalid email address --- bookwyrm/templates/confirm_email/resend_modal.html | 8 -------- bookwyrm/views/landing/register.py | 8 ++++---- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/bookwyrm/templates/confirm_email/resend_modal.html b/bookwyrm/templates/confirm_email/resend_modal.html index beb9318a9..4d155cbb6 100644 --- a/bookwyrm/templates/confirm_email/resend_modal.html +++ b/bookwyrm/templates/confirm_email/resend_modal.html @@ -19,16 +19,8 @@ name="email" class="input" id="email" - aria-described-by="id_email_errors" required > - {% if error %} -
-

- {% trans "No user matching this email address found." %} -

-
- {% endif %}
{% endblock %} diff --git a/bookwyrm/views/landing/register.py b/bookwyrm/views/landing/register.py index e8de5f809..c5fd17424 100644 --- a/bookwyrm/views/landing/register.py +++ b/bookwyrm/views/landing/register.py @@ -134,19 +134,19 @@ class ConfirmEmail(View): class ResendConfirmEmail(View): """you probably didn't get the email because celery is slow but you can try this""" - def get(self, request, error=False): + def get(self, request): """resend link landing page""" - return TemplateResponse(request, "confirm_email/resend.html", {"error": error}) + return TemplateResponse(request, "confirm_email/resend.html") def post(self, request): """resend confirmation link""" email = request.POST.get("email") try: user = models.User.objects.get(email=email) + emailing.email_confirmation_email(user) except models.User.DoesNotExist: - return self.get(request, error=True) + pass - emailing.email_confirmation_email(user) return TemplateResponse( request, "confirm_email/confirm_email.html", {"valid": True} ) From 5ecd75ee24291224b082eab6a0c317cf47a8ede1 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 14 Jul 2022 12:54:02 -0700 Subject: [PATCH 18/28] Remove redirecting to "next" This wasn't even particularly working --- bookwyrm/views/landing/login.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/views/landing/login.py b/bookwyrm/views/landing/login.py index 7cac5ad88..0c464cb5e 100644 --- a/bookwyrm/views/landing/login.py +++ b/bookwyrm/views/landing/login.py @@ -58,7 +58,7 @@ class Login(View): user.update_active_date() if request.POST.get("first_login"): return set_language(user, redirect("get-started-profile")) - return set_language(user, redirect(request.GET.get("next", "/"))) + return set_language(user, redirect("/")) # maybe the user is pending email confirmation if models.User.objects.filter( From 753b988d1d15feeb451926e537c277e958845e69 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 15 Jul 2022 07:42:49 -0700 Subject: [PATCH 19/28] Locale updates --- locale/de_DE/LC_MESSAGES/django.mo | Bin 101717 -> 111057 bytes locale/de_DE/LC_MESSAGES/django.po | 93 +++++++++------ locale/en_US/LC_MESSAGES/django.po | 8 +- locale/es_ES/LC_MESSAGES/django.mo | Bin 89984 -> 89984 bytes locale/es_ES/LC_MESSAGES/django.po | 41 +++++-- locale/fi_FI/LC_MESSAGES/django.mo | Bin 88689 -> 108982 bytes locale/fi_FI/LC_MESSAGES/django.po | 169 +++++++++++++++------------ locale/fr_FR/LC_MESSAGES/django.mo | Bin 112329 -> 112329 bytes locale/fr_FR/LC_MESSAGES/django.po | 41 +++++-- locale/gl_ES/LC_MESSAGES/django.mo | Bin 88339 -> 90395 bytes locale/gl_ES/LC_MESSAGES/django.po | 61 ++++++---- locale/it_IT/LC_MESSAGES/django.mo | Bin 88883 -> 88883 bytes locale/it_IT/LC_MESSAGES/django.po | 41 +++++-- locale/lt_LT/LC_MESSAGES/django.mo | Bin 90789 -> 90789 bytes locale/lt_LT/LC_MESSAGES/django.po | 41 +++++-- locale/no_NO/LC_MESSAGES/django.mo | Bin 74665 -> 74665 bytes locale/no_NO/LC_MESSAGES/django.po | 41 +++++-- locale/pt_BR/LC_MESSAGES/django.mo | Bin 87730 -> 87730 bytes locale/pt_BR/LC_MESSAGES/django.po | 41 +++++-- locale/pt_PT/LC_MESSAGES/django.mo | Bin 81901 -> 81901 bytes locale/pt_PT/LC_MESSAGES/django.po | 41 +++++-- locale/ro_RO/LC_MESSAGES/django.mo | Bin 89838 -> 89838 bytes locale/ro_RO/LC_MESSAGES/django.po | 41 +++++-- locale/sv_SE/LC_MESSAGES/django.mo | Bin 87719 -> 87719 bytes locale/sv_SE/LC_MESSAGES/django.po | 41 +++++-- locale/zh_Hans/LC_MESSAGES/django.mo | Bin 82228 -> 82228 bytes locale/zh_Hans/LC_MESSAGES/django.po | 41 +++++-- locale/zh_Hant/LC_MESSAGES/django.mo | Bin 33193 -> 33193 bytes locale/zh_Hant/LC_MESSAGES/django.po | 41 +++++-- 29 files changed, 536 insertions(+), 246 deletions(-) diff --git a/locale/de_DE/LC_MESSAGES/django.mo b/locale/de_DE/LC_MESSAGES/django.mo index e40b635a1f401ff4551d08abf758caf0a7855114..83ef741021b6e0d061137a1dfe06900ee2dfbfdb 100644 GIT binary patch delta 26479 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 diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po index 73ca4af2d..7faa7b11f 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-07-08 22:40+0000\n" -"PO-Revision-Date: 2022-07-10 22:16\n" +"POT-Creation-Date: 2022-07-11 15:53+0000\n" +"PO-Revision-Date: 2022-07-12 17:43\n" "Last-Translator: Mouse Reeve \n" "Language-Team: German\n" "Language: de\n" @@ -2273,7 +2273,7 @@ msgid "More about this site" msgstr "Mehr über diese Seite" #: bookwyrm/templates/landing/password_reset.html:34 -#: bookwyrm/templates/preferences/change_password.html:18 +#: bookwyrm/templates/preferences/change_password.html:40 #: bookwyrm/templates/preferences/delete_user.html:20 msgid "Confirm password:" msgstr "Passwort bestätigen:" @@ -2667,27 +2667,27 @@ msgstr "%(related_user)s hat deinen %(related_user)s and %(second_user)s boosted your comment on %(book_title)s" -msgstr "" +msgstr "%(related_user)s und %(second_user)s haben deinen Kommentar über %(book_title)s geteilt" #: bookwyrm/templates/notifications/items/boost.html:59 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others boosted your comment on %(book_title)s" -msgstr "" +msgstr "%(related_user)s und %(other_user_display_count)s andere haben deinen Kommentar über %(book_title)s geteilt" #: bookwyrm/templates/notifications/items/boost.html:67 #, python-format msgid "%(related_user)s boosted your quote from %(book_title)s" -msgstr "" +msgstr "%(related_user)s hat dein Zitat aus %(book_title)s geteilt" #: bookwyrm/templates/notifications/items/boost.html:73 #, python-format msgid "%(related_user)s and %(second_user)s boosted your quote from %(book_title)s" -msgstr "" +msgstr "%(related_user)s und %(second_user)s haben dein Zitat über %(book_title)s geteilt" #: bookwyrm/templates/notifications/items/boost.html:82 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others boosted your quote from %(book_title)s" -msgstr "" +msgstr "%(related_user)s und %(other_user_display_count)s andere haben dein Zitat aus %(book_title)s geteilt" #: bookwyrm/templates/notifications/items/boost.html:90 #, python-format @@ -2712,57 +2712,57 @@ msgstr "%(related_user)s gefällt Ihre %(related_user)s and %(second_user)s liked your review of %(book_title)s" -msgstr "" +msgstr "%(related_user)s und %(second_user)s haben deine Rezension über %(book_title)s favorisiert" #: bookwyrm/templates/notifications/items/fav.html:36 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others liked your review of %(book_title)s" -msgstr "" +msgstr "%(related_user)s und %(other_user_display_count)s andere haben deine Rezension über %(book_title)s favorisiert" #: bookwyrm/templates/notifications/items/fav.html:44 #, python-format msgid "%(related_user)s liked your comment on %(book_title)s" -msgstr "" +msgstr "%(related_user)s hat deinen Kommentar über %(book_title)s favorisiert" #: bookwyrm/templates/notifications/items/fav.html:50 #, python-format msgid "%(related_user)s and %(second_user)s liked your comment on %(book_title)s" -msgstr "" +msgstr "%(related_user)s und %(second_user)s haben deinen Kommentar über %(book_title)s favorisiert" #: bookwyrm/templates/notifications/items/fav.html:59 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others liked your comment on %(book_title)s" -msgstr "" +msgstr "%(related_user)s und %(other_user_display_count)s andere haben deinen Kommentar über %(book_title)s favorisiert" #: bookwyrm/templates/notifications/items/fav.html:67 #, python-format msgid "%(related_user)s liked your quote from %(book_title)s" -msgstr "" +msgstr "%(related_user)s hat dein Zitat aus %(book_title)s favorisiert" #: bookwyrm/templates/notifications/items/fav.html:73 #, python-format msgid "%(related_user)s and %(second_user)s liked your quote from %(book_title)s" -msgstr "" +msgstr "%(related_user)s und %(second_user)s haben dein Zitat über %(book_title)s favorisiert" #: bookwyrm/templates/notifications/items/fav.html:82 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others liked your quote from %(book_title)s" -msgstr "" +msgstr "%(related_user)s und %(other_user_display_count)s andere haben dein Zitat aus %(book_title)s favorisiert" #: bookwyrm/templates/notifications/items/fav.html:90 #, python-format msgid "%(related_user)s liked your status" -msgstr "" +msgstr "%(related_user)s hat deinen Status favorisiert" #: bookwyrm/templates/notifications/items/fav.html:96 #, python-format msgid "%(related_user)s and %(second_user)s liked your status" -msgstr "" +msgstr "%(related_user)s und %(second_user)s haben deinen Status favorisiert" #: bookwyrm/templates/notifications/items/fav.html:105 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others liked your status" -msgstr "" +msgstr "%(related_user)s und %(other_user_display_count)s andere haben deinen Status favorisiert" #: bookwyrm/templates/notifications/items/follow.html:16 #, python-format @@ -2807,32 +2807,32 @@ msgstr "%(related_user)s hat Ihre Gruppe \ #: bookwyrm/templates/notifications/items/leave.html:26 #, python-format msgid "%(related_user)s and %(second_user)s have left your group \"%(group_name)s\"" -msgstr "" +msgstr "%(related_user)s und %(second_user)s haben deine Gruppe \"%(group_name)s\" verlassen" #: bookwyrm/templates/notifications/items/leave.html:36 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others have left your group \"%(group_name)s\"" -msgstr "" +msgstr "%(related_user)s und %(other_user_display_count)s andere haben deine Gruppe \"%(group_name)s\" verlassen" #: bookwyrm/templates/notifications/items/mention.html:20 #, python-format msgid "%(related_user)s mentioned you in a review of %(book_title)s" -msgstr "" +msgstr "%(related_user)s hat dich in einer Rezension über %(book_title)s erwähnt" #: bookwyrm/templates/notifications/items/mention.html:26 #, python-format msgid "%(related_user)s mentioned you in a comment on %(book_title)s" -msgstr "" +msgstr "%(related_user)s hat dich in einem Kommmentar über %(book_title)s erwähnt" #: bookwyrm/templates/notifications/items/mention.html:32 #, python-format msgid "%(related_user)s mentioned you in a quote from %(book_title)s" -msgstr "" +msgstr "%(related_user)s hat dich in einem Zitat aus %(book_title)s erwähnt" #: bookwyrm/templates/notifications/items/mention.html:38 #, python-format msgid "%(related_user)s mentioned you in a status" -msgstr "" +msgstr "%(related_user)s hat dich in einem Status erwähnt" #: bookwyrm/templates/notifications/items/remove.html:17 #, python-format @@ -2847,22 +2847,22 @@ msgstr "Du wurdest aus der Gruppe „%(group_name)s%(related_user)s replied to your review of %(book_title)s" -msgstr "" +msgstr "%(related_user)s hat auf deine Rezension über %(book_title)s geantwortet" #: bookwyrm/templates/notifications/items/reply.html:27 #, python-format msgid "%(related_user)s replied to your comment on %(book_title)s" -msgstr "" +msgstr "%(related_user)s hat auf deinen Kommentar über %(book_title)s geantwortet" #: bookwyrm/templates/notifications/items/reply.html:33 #, python-format msgid "%(related_user)s replied to your quote from %(book_title)s" -msgstr "" +msgstr "%(related_user)s hat auf dein Zitat aus %(book_title)s geantwortet" #: bookwyrm/templates/notifications/items/reply.html:39 #, python-format msgid "%(related_user)s replied to your status" -msgstr "" +msgstr "%(related_user)s hat auf deinen Status geantwortet" #: bookwyrm/templates/notifications/items/report.html:15 #, python-format @@ -2871,6 +2871,11 @@ msgid_plural "%(display_count)s new reports need modera msgstr[0] "Ein neuer -Bericht muss moderiert werden" msgstr[1] "%(display_count)s neue Berichte müssen moderiert werden" +#: bookwyrm/templates/notifications/items/status_preview.html:4 +#: bookwyrm/templates/snippets/status/content_status.html:73 +msgid "Content warning" +msgstr "Inhaltswarnung" + #: bookwyrm/templates/notifications/items/update.html:16 #, python-format msgid "has changed the privacy level for %(group_name)s" @@ -3028,12 +3033,20 @@ msgstr "Momentan keine Benutzer*innen gesperrt." #: bookwyrm/templates/preferences/change_password.html:4 #: bookwyrm/templates/preferences/change_password.html:7 -#: bookwyrm/templates/preferences/change_password.html:21 +#: bookwyrm/templates/preferences/change_password.html:52 #: bookwyrm/templates/preferences/layout.html:20 msgid "Change Password" msgstr "Passwort ändern" -#: bookwyrm/templates/preferences/change_password.html:14 +#: bookwyrm/templates/preferences/change_password.html:15 +msgid "Successfully changed password" +msgstr "Passwort erfolgreich geändert" + +#: bookwyrm/templates/preferences/change_password.html:22 +msgid "Current password:" +msgstr "Aktuelles Passwort:" + +#: bookwyrm/templates/preferences/change_password.html:36 msgid "New password:" msgstr "Neues Passwort:" @@ -3125,6 +3138,10 @@ msgstr "CSV-Export" msgid "Your export will include all the books on your shelves, books you have reviewed, and books with reading activity." msgstr "Ihr Export enthält alle Bücher in Ihren Regalen, Bücher die Sie bewertet haben und Bücher mit Leseaktivität." +#: bookwyrm/templates/preferences/export.html:20 +msgid "Download file" +msgstr "Datei herunterladen" + #: bookwyrm/templates/preferences/layout.html:11 msgid "Account" msgstr "Benutzer*inkonto" @@ -5036,10 +5053,6 @@ msgstr "Aufhören zu lesen" msgid "Finish reading" msgstr "Lesen abschließen" -#: bookwyrm/templates/snippets/status/content_status.html:73 -msgid "Content warning" -msgstr "Inhaltswarnung" - #: bookwyrm/templates/snippets/status/content_status.html:80 msgid "Show status" msgstr "Status anzeigen" @@ -5335,7 +5348,7 @@ msgstr "Keine Follower*innen, denen du folgst" msgid "View profile and more" msgstr "Profil und mehr ansehen" -#: bookwyrm/templates/user_menu.html:72 +#: bookwyrm/templates/user_menu.html:78 msgid "Log out" msgstr "Abmelden" @@ -5356,6 +5369,14 @@ msgstr "Keine gültige CSV-Datei" msgid "Username or password are incorrect" msgstr "Benutzer*inname oder Passwort falsch" +#: bookwyrm/views/preferences/change_password.py:35 +msgid "Incorrect password" +msgstr "Falsches Passwort" + +#: bookwyrm/views/preferences/change_password.py:42 +msgid "Password does not match" +msgstr "Passwort stimmt nicht überein" + #: bookwyrm/views/rss_feed.py:34 #, python-brace-format msgid "Status updates from {obj.display_name}" diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po index c4aea86bf..8436cc4d8 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-07-11 15:53+0000\n" +"POT-Creation-Date: 2022-07-14 23:57+0000\n" "PO-Revision-Date: 2021-02-28 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -1352,11 +1352,7 @@ msgstr "" msgid "Email address:" msgstr "" -#: bookwyrm/templates/confirm_email/resend_modal.html:28 -msgid "No user matching this email address found." -msgstr "" - -#: bookwyrm/templates/confirm_email/resend_modal.html:38 +#: bookwyrm/templates/confirm_email/resend_modal.html:30 msgid "Resend link" msgstr "" diff --git a/locale/es_ES/LC_MESSAGES/django.mo b/locale/es_ES/LC_MESSAGES/django.mo index 27a60d5904974f4ca7555ea0b0fb45ce3f6d9446..86af3d5503546c7fb83242ab2111bbd2f8e715d9 100644 GIT binary patch delta 21 dcmZqJ&)Tq`b;HjK?1l=4W>!W;?*k7FMQ)n=Ur=0RUtS2=f2{ diff --git a/locale/es_ES/LC_MESSAGES/django.po b/locale/es_ES/LC_MESSAGES/django.po index 737107c42..806139558 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-07-08 22:40+0000\n" -"PO-Revision-Date: 2022-07-10 18:51\n" +"POT-Creation-Date: 2022-07-11 15:53+0000\n" +"PO-Revision-Date: 2022-07-11 16:22\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Spanish\n" "Language: es\n" @@ -2273,7 +2273,7 @@ msgid "More about this site" msgstr "Más sobre este sitio" #: bookwyrm/templates/landing/password_reset.html:34 -#: bookwyrm/templates/preferences/change_password.html:18 +#: bookwyrm/templates/preferences/change_password.html:40 #: bookwyrm/templates/preferences/delete_user.html:20 msgid "Confirm password:" msgstr "Confirmar contraseña:" @@ -2871,6 +2871,11 @@ msgid_plural "%(display_count)s new reports need modera msgstr[0] "" msgstr[1] "" +#: bookwyrm/templates/notifications/items/status_preview.html:4 +#: bookwyrm/templates/snippets/status/content_status.html:73 +msgid "Content warning" +msgstr "Advertencia de contenido" + #: bookwyrm/templates/notifications/items/update.html:16 #, python-format msgid "has changed the privacy level for %(group_name)s" @@ -3028,12 +3033,20 @@ msgstr "No hay ningún usuario bloqueado actualmente." #: bookwyrm/templates/preferences/change_password.html:4 #: bookwyrm/templates/preferences/change_password.html:7 -#: bookwyrm/templates/preferences/change_password.html:21 +#: bookwyrm/templates/preferences/change_password.html:52 #: bookwyrm/templates/preferences/layout.html:20 msgid "Change Password" msgstr "Cambiar contraseña" -#: bookwyrm/templates/preferences/change_password.html:14 +#: bookwyrm/templates/preferences/change_password.html:15 +msgid "Successfully changed password" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:22 +msgid "Current password:" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:36 msgid "New password:" msgstr "Nueva contraseña:" @@ -3125,6 +3138,10 @@ msgstr "Exportar CSV" msgid "Your export will include all the books on your shelves, books you have reviewed, and books with reading activity." msgstr "Se exportarán todos los libros que tengas en las estanterías, las reseñas y los libros que estés leyendo." +#: bookwyrm/templates/preferences/export.html:20 +msgid "Download file" +msgstr "" + #: bookwyrm/templates/preferences/layout.html:11 msgid "Account" msgstr "Cuenta" @@ -5036,10 +5053,6 @@ msgstr "" msgid "Finish reading" msgstr "Terminar de leer" -#: bookwyrm/templates/snippets/status/content_status.html:73 -msgid "Content warning" -msgstr "Advertencia de contenido" - #: bookwyrm/templates/snippets/status/content_status.html:80 msgid "Show status" msgstr "Mostrar estado" @@ -5335,7 +5348,7 @@ msgstr "No le sigue nadie que tu sigas" msgid "View profile and more" msgstr "Ver perfil y más" -#: bookwyrm/templates/user_menu.html:72 +#: bookwyrm/templates/user_menu.html:78 msgid "Log out" msgstr "Cerrar sesión" @@ -5356,6 +5369,14 @@ msgstr "No un archivo csv válido" msgid "Username or password are incorrect" msgstr "Nombre de usuario o contraseña es incorrecta" +#: bookwyrm/views/preferences/change_password.py:35 +msgid "Incorrect password" +msgstr "" + +#: bookwyrm/views/preferences/change_password.py:42 +msgid "Password does not match" +msgstr "" + #: bookwyrm/views/rss_feed.py:34 #, python-brace-format msgid "Status updates from {obj.display_name}" diff --git a/locale/fi_FI/LC_MESSAGES/django.mo b/locale/fi_FI/LC_MESSAGES/django.mo index 01488e862d9fe6273b43d057bf3dceafe326915d..f5ece7df48dd59f6a970cd210ea52d4938097013 100644 GIT binary patch literal 108982 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�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 delta 23396 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\n" "Language-Team: Finnish\n" "Language: fi\n" @@ -1221,7 +1221,7 @@ msgstr "Toiminnot" #: bookwyrm/templates/book/file_links/edit_links.html:48 #: bookwyrm/templates/settings/link_domains/link_table.html:21 msgid "Unknown user" -msgstr "" +msgstr "Tuntematon käyttäjä" #: bookwyrm/templates/book/file_links/edit_links.html:57 #: bookwyrm/templates/book/file_links/verification_modal.html:22 @@ -1576,13 +1576,13 @@ msgstr "Lue lisää %(site_name)s-yhteisöstä:" #: bookwyrm/templates/email/moderation_report/text_content.html:6 #, python-format msgid "@%(reporter)s has flagged a link domain for moderation." -msgstr "" +msgstr "@%(reporter)s on merkinnyt verkkotunnuksen tarkastettavaksi." #: bookwyrm/templates/email/moderation_report/html_content.html:14 #: bookwyrm/templates/email/moderation_report/text_content.html:10 #, python-format msgid "@%(reporter)s has flagged behavior by @%(reportee)s for moderation." -msgstr "" +msgstr "@%(reporter)s on merkinnyt käyttäjän @%(reportee)s toiminnan tarkastettavaksi." #: bookwyrm/templates/email/moderation_report/html_content.html:21 #: bookwyrm/templates/email/moderation_report/text_content.html:15 @@ -2273,7 +2273,7 @@ msgid "More about this site" msgstr "Tietoja sivustosta" #: bookwyrm/templates/landing/password_reset.html:34 -#: bookwyrm/templates/preferences/change_password.html:18 +#: bookwyrm/templates/preferences/change_password.html:40 #: bookwyrm/templates/preferences/delete_user.html:20 msgid "Confirm password:" msgstr "Vahvista salasana:" @@ -2281,7 +2281,7 @@ msgstr "Vahvista salasana:" #: bookwyrm/templates/landing/password_reset_request.html:14 #, python-format msgid "A password reset link will be sent to %(email)s if there is an account using that email address." -msgstr "" +msgstr "Osoitteeseen %(email)s lähetetään linkki salasanan palauttamiseksi, mikäli osoite on yhdistetty johonkin käyttäjätiliin." #: bookwyrm/templates/landing/password_reset_request.html:20 msgid "A link to reset your password will be sent to your email address" @@ -2598,191 +2598,191 @@ msgstr "Tallennetut listat" #: bookwyrm/templates/notifications/items/accept.html:18 #, python-format msgid "%(related_user)s accepted your invitation to join group \"%(group_name)s\"" -msgstr "" +msgstr "%(related_user)s hyväksyi kutsusi liittyä ryhmään %(group_name)s" #: bookwyrm/templates/notifications/items/accept.html:26 #, python-format msgid "%(related_user)s and %(second_user)s accepted your invitation to join group \"%(group_name)s\"" -msgstr "" +msgstr "%(related_user)s ja %(second_user)s hyväksyivät kutsusi liittyä ryhmään %(group_name)s" #: bookwyrm/templates/notifications/items/accept.html:36 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others accepted your invitation to join group \"%(group_name)s\"" -msgstr "" +msgstr "%(related_user)s ja %(other_user_display_count)s muuta hyväksyivät kutsusi liittyä ryhmään %(group_name)s" #: bookwyrm/templates/notifications/items/add.html:33 #, python-format msgid "%(related_user)s added %(book_title)s to your list \"%(list_name)s\"" -msgstr "" +msgstr "%(related_user)s lisäsi teoksen %(book_title)s listaasi %(list_name)s" #: bookwyrm/templates/notifications/items/add.html:39 #, python-format msgid "%(related_user)s suggested adding %(book_title)s to your list \"%(list_name)s\"" -msgstr "" +msgstr "%(related_user)s ehdotti teosta %(book_title)s lisättäväksi listaasi %(list_name)s" #: bookwyrm/templates/notifications/items/add.html:47 #, python-format msgid "%(related_user)s added %(book_title)s and %(second_book_title)s to your list \"%(list_name)s\"" -msgstr "" +msgstr "%(related_user)s lisäsi teokset %(book_title)s ja %(second_book_title)s listaasi %(list_name)s" #: bookwyrm/templates/notifications/items/add.html:54 #, python-format msgid "%(related_user)s suggested adding %(book_title)s and %(second_book_title)s to your list \"%(list_name)s\"" -msgstr "" +msgstr "%(related_user)s ehdotti teoksia %(book_title)s ja %(second_book_title)s lisättäväksi listaasi %(list_name)s" #: bookwyrm/templates/notifications/items/add.html:66 #, python-format msgid "%(related_user)s added %(book_title)s, %(second_book_title)s, and %(display_count)s other book to your list \"%(list_name)s\"" msgid_plural "%(related_user)s added %(book_title)s, %(second_book_title)s, and %(display_count)s other books to your list \"%(list_name)s\"" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%(related_user)s lisäsi teokset %(book_title)s ja %(second_book_title)s sekä %(display_count)s muun teoksen listaasi %(list_name)s" +msgstr[1] "%(related_user)s lisäsi teokset %(book_title)s ja %(second_book_title)s sekä %(display_count)s muuta teosta listaasi %(list_name)s" #: bookwyrm/templates/notifications/items/add.html:82 #, python-format msgid "%(related_user)s suggested adding %(book_title)s, %(second_book_title)s, and %(display_count)s other book to your list \"%(list_name)s\"" msgid_plural "%(related_user)s suggested adding %(book_title)s, %(second_book_title)s, and %(display_count)s other books to your list \"%(list_name)s\"" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%(related_user)s ehdotti teoksia %(book_title)s ja %(second_book_title)s sekä %(display_count)s muuta teosta lisättäväksi listaasi %(list_name)s" +msgstr[1] "%(related_user)s ehdotti teoksia %(book_title)s ja %(second_book_title)s sekä %(display_count)s muuta teosta lisättäväksi listaasi %(list_name)s" #: bookwyrm/templates/notifications/items/boost.html:21 #, python-format msgid "%(related_user)s boosted your review of %(book_title)s" -msgstr "" +msgstr "%(related_user)s kaiutti arviotasi teoksesta %(book_title)s" #: bookwyrm/templates/notifications/items/boost.html:27 #, python-format msgid "%(related_user)s and %(second_user)s boosted your review of %(book_title)s" -msgstr "" +msgstr "%(related_user)s ja %(second_user)s kaiuttivat arviotasi teoksesta %(book_title)s" #: bookwyrm/templates/notifications/items/boost.html:36 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others boosted your review of %(book_title)s" -msgstr "" +msgstr "%(related_user)s ja %(other_user_display_count)s muuta kaiuttivat arviotasi teoksesta %(book_title)s" #: bookwyrm/templates/notifications/items/boost.html:44 #, python-format msgid "%(related_user)s boosted your comment on %(book_title)s" -msgstr "" +msgstr "%(related_user)s kaiutti teosta %(book_title)s koskevaa kommenttiasi" #: bookwyrm/templates/notifications/items/boost.html:50 #, python-format msgid "%(related_user)s and %(second_user)s boosted your comment on %(book_title)s" -msgstr "" +msgstr "%(related_user)s ja %(second_user)s kaiuttivat teosta %(book_title)s koskevaa kommenttiasi" #: bookwyrm/templates/notifications/items/boost.html:59 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others boosted your comment on %(book_title)s" -msgstr "" +msgstr "%(related_user)s ja %(other_user_display_count)s muuta kaiuttivat teosta %(book_title)s koskevaa kommenttiasi" #: bookwyrm/templates/notifications/items/boost.html:67 #, python-format msgid "%(related_user)s boosted your quote from %(book_title)s" -msgstr "" +msgstr "%(related_user)s kaiuttia lainaustasi teoksesta %(book_title)s" #: bookwyrm/templates/notifications/items/boost.html:73 #, python-format msgid "%(related_user)s and %(second_user)s boosted your quote from %(book_title)s" -msgstr "" +msgstr "%(related_user)s ja %(second_user)s kaiuttivat lainaustasi teoksesta %(book_title)s" #: bookwyrm/templates/notifications/items/boost.html:82 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others boosted your quote from %(book_title)s" -msgstr "" +msgstr "%(related_user)s ja %(other_user_display_count)s muuta kaiuttivat lainaustasi teoksesta %(book_title)s" #: bookwyrm/templates/notifications/items/boost.html:90 #, python-format msgid "%(related_user)s boosted your status" -msgstr "" +msgstr "%(related_user)s kaiutti tilapäivitystäsi" #: bookwyrm/templates/notifications/items/boost.html:96 #, python-format msgid "%(related_user)s and %(second_user)s boosted your status" -msgstr "" +msgstr "%(related_user)s ja %(second_user)s kaiuttivat tilapäivitystäsi" #: bookwyrm/templates/notifications/items/boost.html:105 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others boosted your status" -msgstr "" +msgstr "%(related_user)s ja %(other_user_display_count)s muuta kaiuttivat tilapäivitystäsi" #: bookwyrm/templates/notifications/items/fav.html:21 #, python-format msgid "%(related_user)s liked your review of %(book_title)s" -msgstr "" +msgstr "%(related_user)s tykkäsi teosta %(book_title)s koskevasta arviostasi" #: bookwyrm/templates/notifications/items/fav.html:27 #, python-format msgid "%(related_user)s and %(second_user)s liked your review of %(book_title)s" -msgstr "" +msgstr "%(related_user)s ja %(second_user)s tykkäsivät teosta %(book_title)s koskevasta arviostasi" #: bookwyrm/templates/notifications/items/fav.html:36 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others liked your review of %(book_title)s" -msgstr "" +msgstr "%(related_user)s ja %(other_user_display_count)s muuta tykkäsivät teosta %(book_title)s koskevasta arviostasi" #: bookwyrm/templates/notifications/items/fav.html:44 #, python-format msgid "%(related_user)s liked your comment on %(book_title)s" -msgstr "" +msgstr "%(related_user)s tykkäsi teosta %(book_title)s koskevasta kommentistasi" #: bookwyrm/templates/notifications/items/fav.html:50 #, python-format msgid "%(related_user)s and %(second_user)s liked your comment on %(book_title)s" -msgstr "" +msgstr "%(related_user)s ja %(second_user)s tykkäsivät teosta %(book_title)s koskevasta kommentistasi" #: bookwyrm/templates/notifications/items/fav.html:59 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others liked your comment on %(book_title)s" -msgstr "" +msgstr "%(related_user)s ja %(other_user_display_count)s muuta tykkäsivät teosta %(book_title)s koskevasta kommentistasi" #: bookwyrm/templates/notifications/items/fav.html:67 #, python-format msgid "%(related_user)s liked your quote from %(book_title)s" -msgstr "" +msgstr "%(related_user)s tykkäsi lainauksestasi teoksesta %(book_title)s" #: bookwyrm/templates/notifications/items/fav.html:73 #, python-format msgid "%(related_user)s and %(second_user)s liked your quote from %(book_title)s" -msgstr "" +msgstr "%(related_user)s ja %(second_user)s tykkäsivät lainauksestasi teoksesta %(book_title)s" #: bookwyrm/templates/notifications/items/fav.html:82 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others liked your quote from %(book_title)s" -msgstr "" +msgstr "%(related_user)s ja %(other_user_display_count)s muuta tykkäsivät lainauksestasi teoksesta %(book_title)s" #: bookwyrm/templates/notifications/items/fav.html:90 #, python-format msgid "%(related_user)s liked your status" -msgstr "" +msgstr "%(related_user)s tykkäsi tilapäivityksestäsi" #: bookwyrm/templates/notifications/items/fav.html:96 #, python-format msgid "%(related_user)s and %(second_user)s liked your status" -msgstr "" +msgstr "%(related_user)s ja %(second_user)s tykkäsivät tilapäivityksestäsi" #: bookwyrm/templates/notifications/items/fav.html:105 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others liked your status" -msgstr "" +msgstr "%(related_user)s ja %(other_user_display_count)s muuta tykkäsivät tilapäivityksestäsi" #: bookwyrm/templates/notifications/items/follow.html:16 #, python-format msgid "%(related_user)s followed you" -msgstr "" +msgstr "%(related_user)s alkoi seurata sinua" #: bookwyrm/templates/notifications/items/follow.html:20 #, python-format msgid "%(related_user)s and %(second_user)s followed you" -msgstr "" +msgstr "%(related_user)s ja %(second_user)s alkoivat seurata sinua" #: bookwyrm/templates/notifications/items/follow.html:25 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others followed you" -msgstr "" +msgstr "%(related_user)s ja %(other_user_display_count)s muuta alkoivat seurata sinua" #: bookwyrm/templates/notifications/items/follow_request.html:15 #, python-format msgid "%(related_user)s sent you a follow request" -msgstr "" +msgstr "%(related_user)s lähetti pyynnön saada seurata sinua" #: bookwyrm/templates/notifications/items/import.html:14 #, python-format @@ -2792,7 +2792,7 @@ msgstr "Tuonti valmis." #: bookwyrm/templates/notifications/items/invite.html:16 #, python-format msgid "%(related_user)s invited you to join the group \"%(group_name)s\"" -msgstr "" +msgstr "%(related_user)s kutsui sinut liittymään ryhmään ”%(group_name)s”" #: bookwyrm/templates/notifications/items/join.html:16 #, python-format @@ -2802,37 +2802,37 @@ msgstr "liittyi ryhmääsi ”%(group_name)s”" #: bookwyrm/templates/notifications/items/leave.html:18 #, python-format msgid "%(related_user)s has left your group \"%(group_name)s\"" -msgstr "" +msgstr "%(related_user)s poistui ryhmästäsi ”%(group_name)s”" #: bookwyrm/templates/notifications/items/leave.html:26 #, python-format msgid "%(related_user)s and %(second_user)s have left your group \"%(group_name)s\"" -msgstr "" +msgstr "%(related_user)s ja %(second_user)s poistuivat ryhmästäsi ”%(group_name)s”" #: bookwyrm/templates/notifications/items/leave.html:36 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others have left your group \"%(group_name)s\"" -msgstr "" +msgstr "%(related_user)s ja %(other_user_display_count)s muuta poistuivat ryhmästäsi ”%(group_name)s”" #: bookwyrm/templates/notifications/items/mention.html:20 #, python-format msgid "%(related_user)s mentioned you in a review of %(book_title)s" -msgstr "" +msgstr "%(related_user)s mainitsi sinut teosta %(book_title)s koskevassa arviossaan" #: bookwyrm/templates/notifications/items/mention.html:26 #, python-format msgid "%(related_user)s mentioned you in a comment on %(book_title)s" -msgstr "" +msgstr "%(related_user)s mainitsi sinut teosta %(book_title)s koskevassa kommentissaan" #: bookwyrm/templates/notifications/items/mention.html:32 #, python-format msgid "%(related_user)s mentioned you in a quote from %(book_title)s" -msgstr "" +msgstr "%(related_user)s mainitsi sinut lainauksessaan teoksesta %(book_title)s" #: bookwyrm/templates/notifications/items/mention.html:38 #, python-format msgid "%(related_user)s mentioned you in a status" -msgstr "" +msgstr "%(related_user)s mainitsi sinut tilapäivityksessään" #: bookwyrm/templates/notifications/items/remove.html:17 #, python-format @@ -2847,29 +2847,34 @@ msgstr "Sinut on poistettu ryhmästä ”%(group_name #: bookwyrm/templates/notifications/items/reply.html:21 #, python-format msgid "%(related_user)s replied to your review of %(book_title)s" -msgstr "" +msgstr "%(related_user)s vastasi teosta %(book_title)s koskevaan arvioosi" #: bookwyrm/templates/notifications/items/reply.html:27 #, python-format msgid "%(related_user)s replied to your comment on %(book_title)s" -msgstr "" +msgstr "%(related_user)s vastasi teosta %(book_title)s koskevaan kommenttiisi" #: bookwyrm/templates/notifications/items/reply.html:33 #, python-format msgid "%(related_user)s replied to your quote from %(book_title)s" -msgstr "" +msgstr "%(related_user)s vastasi lainaukseesi teoksesta %(book_title)s" #: bookwyrm/templates/notifications/items/reply.html:39 #, python-format msgid "%(related_user)s replied to your status" -msgstr "" +msgstr "%(related_user)s vastasi tilapäivitykseesi" #: bookwyrm/templates/notifications/items/report.html:15 #, python-format msgid "A new report needs moderation" msgid_plural "%(display_count)s new reports need moderation" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Uusi raportti odottaa tarkastusta" +msgstr[1] "%(display_count)s uutta raporttia odottaa tarkastusta" + +#: bookwyrm/templates/notifications/items/status_preview.html:4 +#: bookwyrm/templates/snippets/status/content_status.html:73 +msgid "Content warning" +msgstr "Sisältövaroitus" #: bookwyrm/templates/notifications/items/update.html:16 #, python-format @@ -3028,12 +3033,20 @@ msgstr "Ei estettyjä käyttäjiä." #: bookwyrm/templates/preferences/change_password.html:4 #: bookwyrm/templates/preferences/change_password.html:7 -#: bookwyrm/templates/preferences/change_password.html:21 +#: bookwyrm/templates/preferences/change_password.html:52 #: bookwyrm/templates/preferences/layout.html:20 msgid "Change Password" msgstr "Vaihda salasana" -#: bookwyrm/templates/preferences/change_password.html:14 +#: bookwyrm/templates/preferences/change_password.html:15 +msgid "Successfully changed password" +msgstr "Salasanan vaihto onnistui" + +#: bookwyrm/templates/preferences/change_password.html:22 +msgid "Current password:" +msgstr "Nykyinen salasana:" + +#: bookwyrm/templates/preferences/change_password.html:36 msgid "New password:" msgstr "Uusi salasana:" @@ -3125,6 +3138,10 @@ msgstr "CSV-vienti" msgid "Your export will include all the books on your shelves, books you have reviewed, and books with reading activity." msgstr "Vienti sisältää kaikki hyllyissäsi olevat ja arvioimasi kirjat sekä kirjat, joita olet lukenut." +#: bookwyrm/templates/preferences/export.html:20 +msgid "Download file" +msgstr "Lataa tiedosto" + #: bookwyrm/templates/preferences/layout.html:11 msgid "Account" msgstr "Käyttäjätili" @@ -3587,11 +3604,11 @@ msgstr[1] "%(display_count)s verkkotunnusta vaatii tarkistusta" #: bookwyrm/templates/settings/dashboard/warnings/email_config.html:8 #, python-format msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." -msgstr "" +msgstr "Lähtevän sähköpostin osoitteesi %(email_sender)s saattaa olla määritelty väärin." #: bookwyrm/templates/settings/dashboard/warnings/email_config.html:11 msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env file." -msgstr "" +msgstr "Tarkista .env-tiedostosta asetukset EMAIL_SENDER_NAME ja EMAIL_SENDER_DOMAIN." #: bookwyrm/templates/settings/dashboard/warnings/invites.html:9 #, python-format @@ -3602,11 +3619,11 @@ msgstr[1] "%(display_count)s kutsupyyntöä" #: bookwyrm/templates/settings/dashboard/warnings/missing_conduct.html:8 msgid "Your instance is missing a code of conduct." -msgstr "" +msgstr "Palvelimeltasi puuttuu käyttöehdot." #: bookwyrm/templates/settings/dashboard/warnings/missing_privacy.html:8 msgid "Your instance is missing a privacy policy." -msgstr "" +msgstr "Palvelimeltasi puuttuu tietosuojakäytäntö." #: bookwyrm/templates/settings/dashboard/warnings/reports.html:9 #, python-format @@ -4074,7 +4091,7 @@ msgstr "Raportti %(report_id)s: käyttäjän @%(username)s lisäämä linkki" #: bookwyrm/templates/settings/reports/report_header.html:17 #, python-format msgid "Report #%(report_id)s: Link domain" -msgstr "" +msgstr "Raportti %(report_id)s: Verkkotunnus" #: bookwyrm/templates/settings/reports/report_header.html:24 #, python-format @@ -4318,7 +4335,7 @@ msgstr "Käyttäjät: %(instance_name)s" #: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Deleted users" -msgstr "" +msgstr "Poistetut käyttäjät" #: bookwyrm/templates/settings/users/user_admin.html:44 #: bookwyrm/templates/settings/users/username_filter.html:5 @@ -4344,7 +4361,7 @@ msgstr "Aktiivinen" #: bookwyrm/templates/settings/users/user_admin.html:86 msgid "Deleted" -msgstr "" +msgstr "Poistettu" #: bookwyrm/templates/settings/users/user_admin.html:92 #: bookwyrm/templates/settings/users/user_info.html:32 @@ -5036,10 +5053,6 @@ msgstr "Keskeytä lukeminen" msgid "Finish reading" msgstr "Lopeta lukeminen" -#: bookwyrm/templates/snippets/status/content_status.html:73 -msgid "Content warning" -msgstr "Sisältövaroitus" - #: bookwyrm/templates/snippets/status/content_status.html:80 msgid "Show status" msgstr "Näytä tilapäivitys" @@ -5335,7 +5348,7 @@ msgstr "Ei seuraajia, joita seuraat itse" msgid "View profile and more" msgstr "Näytä profiili ja muita tietoja" -#: bookwyrm/templates/user_menu.html:72 +#: bookwyrm/templates/user_menu.html:78 msgid "Log out" msgstr "Kirjaudu ulos" @@ -5356,6 +5369,14 @@ msgstr "Epäkelpo csv-tiedosto" msgid "Username or password are incorrect" msgstr "Käyttäjänimi tai salasana on virheellinen" +#: bookwyrm/views/preferences/change_password.py:35 +msgid "Incorrect password" +msgstr "Väärä salasana" + +#: bookwyrm/views/preferences/change_password.py:42 +msgid "Password does not match" +msgstr "Salasanat eivät täsmää" + #: bookwyrm/views/rss_feed.py:34 #, python-brace-format msgid "Status updates from {obj.display_name}" diff --git a/locale/fr_FR/LC_MESSAGES/django.mo b/locale/fr_FR/LC_MESSAGES/django.mo index e791e6ed973b9b7d08c6d12ef8a5f8beb7518bba..37de909b2695fce4a79b54e895f06bb215f8a11f 100644 GIT binary patch delta 22 ecmX^4mhI$QwhjA!vKuNGnpqhcZ9e*wWiJ4KbP8_( delta 22 ecmX^4mhI$QwhjA!vKuHE8e18fZ$A2yWiJ4KWD0Kp diff --git a/locale/fr_FR/LC_MESSAGES/django.po b/locale/fr_FR/LC_MESSAGES/django.po index f27caafb4..f8e62ff27 100644 --- a/locale/fr_FR/LC_MESSAGES/django.po +++ b/locale/fr_FR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-07-08 22:40+0000\n" -"PO-Revision-Date: 2022-07-10 13:17\n" +"POT-Creation-Date: 2022-07-11 15:53+0000\n" +"PO-Revision-Date: 2022-07-11 16:22\n" "Last-Translator: Mouse Reeve \n" "Language-Team: French\n" "Language: fr\n" @@ -2273,7 +2273,7 @@ msgid "More about this site" msgstr "En savoir plus sur ce site" #: bookwyrm/templates/landing/password_reset.html:34 -#: bookwyrm/templates/preferences/change_password.html:18 +#: bookwyrm/templates/preferences/change_password.html:40 #: bookwyrm/templates/preferences/delete_user.html:20 msgid "Confirm password:" msgstr "Confirmez le mot de passe :" @@ -2871,6 +2871,11 @@ msgid_plural "%(display_count)s new reports need modera msgstr[0] "Un nouveau signalement a besoin d’être traité" msgstr[1] "%(display_count)s nouveaux signalements ont besoin d’être traités" +#: bookwyrm/templates/notifications/items/status_preview.html:4 +#: bookwyrm/templates/snippets/status/content_status.html:73 +msgid "Content warning" +msgstr "Avertissement sur le contenu" + #: bookwyrm/templates/notifications/items/update.html:16 #, python-format msgid "has changed the privacy level for %(group_name)s" @@ -3028,12 +3033,20 @@ msgstr "Aucun compte bloqué actuellement" #: bookwyrm/templates/preferences/change_password.html:4 #: bookwyrm/templates/preferences/change_password.html:7 -#: bookwyrm/templates/preferences/change_password.html:21 +#: bookwyrm/templates/preferences/change_password.html:52 #: bookwyrm/templates/preferences/layout.html:20 msgid "Change Password" msgstr "Changer le mot de passe" -#: bookwyrm/templates/preferences/change_password.html:14 +#: bookwyrm/templates/preferences/change_password.html:15 +msgid "Successfully changed password" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:22 +msgid "Current password:" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:36 msgid "New password:" msgstr "Nouveau mot de passe :" @@ -3125,6 +3138,10 @@ msgstr "Export CSV" msgid "Your export will include all the books on your shelves, books you have reviewed, and books with reading activity." msgstr "Votre export comprendra tous les livres sur vos étagères, les livres que vous avez critiqués, et les livres ayant une activité de lecture." +#: bookwyrm/templates/preferences/export.html:20 +msgid "Download file" +msgstr "" + #: bookwyrm/templates/preferences/layout.html:11 msgid "Account" msgstr "Compte" @@ -5036,10 +5053,6 @@ msgstr "Interrompre la lecture" msgid "Finish reading" msgstr "Terminer la lecture" -#: bookwyrm/templates/snippets/status/content_status.html:73 -msgid "Content warning" -msgstr "Avertissement sur le contenu" - #: bookwyrm/templates/snippets/status/content_status.html:80 msgid "Show status" msgstr "Afficher le statut" @@ -5335,7 +5348,7 @@ msgstr "Aucun·e abonné·e que vous suivez" msgid "View profile and more" msgstr "Voir le profil et plus" -#: bookwyrm/templates/user_menu.html:72 +#: bookwyrm/templates/user_menu.html:78 msgid "Log out" msgstr "Se déconnecter" @@ -5356,6 +5369,14 @@ msgstr "Fichier CSV non valide" msgid "Username or password are incorrect" msgstr "Identifiant ou mot de passe incorrect" +#: bookwyrm/views/preferences/change_password.py:35 +msgid "Incorrect password" +msgstr "" + +#: bookwyrm/views/preferences/change_password.py:42 +msgid "Password does not match" +msgstr "" + #: bookwyrm/views/rss_feed.py:34 #, python-brace-format msgid "Status updates from {obj.display_name}" diff --git a/locale/gl_ES/LC_MESSAGES/django.mo b/locale/gl_ES/LC_MESSAGES/django.mo index 4da86fc15c664b3045f5632690aec630cb3a9d04..0336edd7f432499aac87aeee3dd875ea457f19e6 100644 GIT binary patch delta 25159 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

eVA2Mj5}kd!Eev^96Z{ z&oP^?bV=&HC1j#}xIPS*2)W46(~OE`@CV!YOX5FM_7RI=Fy&8($1#~qgjA%j6QZcE zS1>E`v&SisWM)LI5LU;3$l>Q5VKCt=CEwVQNIDrvuOs|I-XQ$+DNRo~?JSf()5g~l ze@WdXHXTdbAmX#hE5eMzh`*xFR?_ZR66c8Qvz5D2aD@i?e(H;Ig!qq?oxsGW1NFz- zL~G)Mc7UlWb^l6TLxN8-9NE2 zPNI{RUlN2Nm;&2}ayl(UU~CGR0|ec~!mH(rvbpEmmLb|c=I@HwG7eOBY^ z=6RM;*(F2IRl;h1 zNGKhX*5e)}qdk!~wsIZfdk7Z^Rp=~)LH@I4V{jz-vk5b7-UZ6%67~}E&}jr^S#8-V z;;RUJlASa36-`)4y}qQIk{`(*F-}%82NTXw(8o6PCH`ky55P;F&lYB zp`P>j7nQsSlZiJXY@&m^gu0YxBY!#Z;!I9I*V5u;>RcrMHsKsWPkuXS0n+;A={DhO zo7X~D`YW3lMtl_=bf7{lEP_1=dICxRL%E&}2ImTS9SKQn`!hDbF=i(}4HFt<^HO4S z+NUD#7visJqo3lQ^>3%(wC$uK#*m(G)A#Vc?PLvZBgBxmoB_H~?-1bwY5fL}_YpZl#8b}r`g=r= zOTl?6R3_{v=ow`F!wwKfoxX&mHvc7YUqVJ(?ql=S)}L^SvSN1E77<@;>!qb$cEz>+ z#uVt8NCv;-I!$akiiWprgCd`FoQwSG)R{<|yu`ny?1C-N@JYP@;)AI-iazdOQ_}Z| zUm*OmAV^7XgqG2;5uQqKY6`o+5oWw{Aj zR1PMl-~Q*(ZUlLW&p)4xvpezopMeTF2v_N-5n|8Y~yY2H&%FmGgzsKA^CqD)MQt4kjiN&e(?vsk$$$vmdL8wg7 z^M-Jgx;;pLLwq*z8z-J)wl;^fiWh^Qp6)cn0#es2@AN(~N?=6tqV@4eTJT zNgpPi94lfLLLb6oLO1Hq|P&w?fGX#%A$$=@JZeV z>b4-Hpe!%-^_0Zjq-W^oe{&N2(d~qj@f(iCYNnpE9v_mY=U3__vmG=ceahx9CeN36 zC)#x)o(5l${*8E2!c*d5o*rnAx5-OQomdw6zvsV{jHG02r7#=*L|V@-LO${`lirM3 za0y{1VI1K(dE*FrZV_@4^hda!sy4qY{!QJXOymRkZHfQosloUW4AzT`lQyHWBrkwa zNBK0;vz>6AjzVpx_efVD_>*o#oz}#^#CrIIyzaK0KfWVfgZzpZLchc5SI@P?^*^|W{enU2(s?SI-;BKJb^?2F2x&bB2x&;~q;3if z_Tl`qk=RYaJHm0|dPWnTOJKp07#{Ny#o zp`P@5oa30~g?M!v& z5#|yG5SCD9FJ&DFGf97?dbVzaH68u^MbML;fg94ME%Dzm92*cGP`3@Cq<;VFN97xY zGQ<;~CbqNbWE8dWUy0wKPJ6;F@+Q%y9#$fM5n%%P{Yh`eB9v7nK92YT%4QJsd`o&X zWvwX7L~zUUkHlv#g?jQ~1M;sBze)Ue8q6Twj+xDBnoMj{=NPLdl2xqCZmh=hS zOh|l6*%h3`tCaiD$!hAiqC!FPijwyk@r8JRpywL-7l^+lzK-}->TmRv{NF#^)l?{C zSG$yWLE_i&Z|WRJJ-P5M9pu1oFpN4ch_9f-7NqOgdOukA(&iseOY@JF5Jp)+tUwz* z$&C8`nI|3mLFOaE4MH3ZirR^(MmPi2#Gp^|-kDCE>ULn&^CRAy{Fzvox^sv(B7Xtt zNw&V~>CH>Le~NjYepEO}7(uv0h5NRFFQs>Eo!ZuElqY9WdWu^|Qa^}L*S1?lox7%r z^OQRMNVl!AsvsUo%pdWG6lsy?vlzczIU$; z!87*{%OAgU*kZr\n" "Language-Team: Galician\n" "Language: gl\n" @@ -2273,7 +2273,7 @@ msgid "More about this site" msgstr "Máis acerca deste sitio" #: bookwyrm/templates/landing/password_reset.html:34 -#: bookwyrm/templates/preferences/change_password.html:18 +#: bookwyrm/templates/preferences/change_password.html:40 #: bookwyrm/templates/preferences/delete_user.html:20 msgid "Confirm password:" msgstr "Confirma o contrasinal:" @@ -2281,7 +2281,7 @@ msgstr "Confirma o contrasinal:" #: bookwyrm/templates/landing/password_reset_request.html:14 #, python-format msgid "A password reset link will be sent to %(email)s if there is an account using that email address." -msgstr "" +msgstr "Imos enviar a %(email)s unha ligazón para restablecer o contrasinal se existe unha conta que usa ese enderezo." #: bookwyrm/templates/landing/password_reset_request.html:20 msgid "A link to reset your password will be sent to your email address" @@ -2598,12 +2598,12 @@ msgstr "Listas gardadas" #: bookwyrm/templates/notifications/items/accept.html:18 #, python-format msgid "%(related_user)s accepted your invitation to join group \"%(group_name)s\"" -msgstr "" +msgstr "%(related_user)s aceptou o teu convite para unirte ao grupo \"%(group_name)s\"" #: bookwyrm/templates/notifications/items/accept.html:26 #, python-format msgid "%(related_user)s and %(second_user)s accepted your invitation to join group \"%(group_name)s\"" -msgstr "" +msgstr "%(related_user)s e%(second_user)s aceptaron o teu convite para unirse ao grupo \"%(group_name)s\"" #: bookwyrm/templates/notifications/items/accept.html:36 #, python-format @@ -2871,6 +2871,11 @@ msgid_plural "%(display_count)s new reports need modera msgstr[0] "" msgstr[1] "" +#: bookwyrm/templates/notifications/items/status_preview.html:4 +#: bookwyrm/templates/snippets/status/content_status.html:73 +msgid "Content warning" +msgstr "Aviso sobre o contido" + #: bookwyrm/templates/notifications/items/update.html:16 #, python-format msgid "has changed the privacy level for %(group_name)s" @@ -3028,12 +3033,20 @@ msgstr "Non tes usuarias bloqueadas." #: bookwyrm/templates/preferences/change_password.html:4 #: bookwyrm/templates/preferences/change_password.html:7 -#: bookwyrm/templates/preferences/change_password.html:21 +#: bookwyrm/templates/preferences/change_password.html:52 #: bookwyrm/templates/preferences/layout.html:20 msgid "Change Password" msgstr "Cambiar contrasinal" -#: bookwyrm/templates/preferences/change_password.html:14 +#: bookwyrm/templates/preferences/change_password.html:15 +msgid "Successfully changed password" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:22 +msgid "Current password:" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:36 msgid "New password:" msgstr "Novo contrasinal:" @@ -3125,6 +3138,10 @@ msgstr "Exportación CSV" msgid "Your export will include all the books on your shelves, books you have reviewed, and books with reading activity." msgstr "A exportación incluirá tódolos libros dos estantes, libros que recensionaches e libros con actividade de lectura." +#: bookwyrm/templates/preferences/export.html:20 +msgid "Download file" +msgstr "Descargar ficheiro" + #: bookwyrm/templates/preferences/layout.html:11 msgid "Account" msgstr "Conta" @@ -3587,11 +3604,11 @@ msgstr[1] "hai que revisar %(display_count)s dominios" #: bookwyrm/templates/settings/dashboard/warnings/email_config.html:8 #, python-format msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." -msgstr "" +msgstr "O enderezo de envío de emails, %(email_sender)s, podería estar mal configurado." #: bookwyrm/templates/settings/dashboard/warnings/email_config.html:11 msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env file." -msgstr "" +msgstr "Comproba o EMAIL_SENDER_NAME e EMAIL_SENDER_DOMAIN no teu ficheiro .env." #: bookwyrm/templates/settings/dashboard/warnings/invites.html:9 #, python-format @@ -3602,11 +3619,11 @@ msgstr[1] "%(display_count)s solicitudes de convite" #: bookwyrm/templates/settings/dashboard/warnings/missing_conduct.html:8 msgid "Your instance is missing a code of conduct." -msgstr "" +msgstr "A túa instancia non ten código de conduta." #: bookwyrm/templates/settings/dashboard/warnings/missing_privacy.html:8 msgid "Your instance is missing a privacy policy." -msgstr "" +msgstr "A túa instancia non ten política de privacidade." #: bookwyrm/templates/settings/dashboard/warnings/reports.html:9 #, python-format @@ -4074,7 +4091,7 @@ msgstr "Denuncia #%(report_id)s: Ligazón engadida por @%(username)s" #: bookwyrm/templates/settings/reports/report_header.html:17 #, python-format msgid "Report #%(report_id)s: Link domain" -msgstr "" +msgstr "Denuncia #%(report_id)s: Dominio na ligazón" #: bookwyrm/templates/settings/reports/report_header.html:24 #, python-format @@ -4318,7 +4335,7 @@ msgstr "Usuarias: %(instance_name)s" #: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Deleted users" -msgstr "" +msgstr "Usuarias eliminadas" #: bookwyrm/templates/settings/users/user_admin.html:44 #: bookwyrm/templates/settings/users/username_filter.html:5 @@ -4344,7 +4361,7 @@ msgstr "Activa" #: bookwyrm/templates/settings/users/user_admin.html:86 msgid "Deleted" -msgstr "" +msgstr "Eliminada" #: bookwyrm/templates/settings/users/user_admin.html:92 #: bookwyrm/templates/settings/users/user_info.html:32 @@ -5036,10 +5053,6 @@ msgstr "Deixar de ler" msgid "Finish reading" msgstr "Rematar a lectura" -#: bookwyrm/templates/snippets/status/content_status.html:73 -msgid "Content warning" -msgstr "Aviso sobre o contido" - #: bookwyrm/templates/snippets/status/content_status.html:80 msgid "Show status" msgstr "Mostrar estado" @@ -5335,7 +5348,7 @@ msgstr "Sen seguidoras que ti segues" msgid "View profile and more" msgstr "Ver perfil e máis" -#: bookwyrm/templates/user_menu.html:72 +#: bookwyrm/templates/user_menu.html:78 msgid "Log out" msgstr "Desconectar" @@ -5356,6 +5369,14 @@ msgstr "Non é un ficheiro csv válido" msgid "Username or password are incorrect" msgstr "As credenciais non son correctas" +#: bookwyrm/views/preferences/change_password.py:35 +msgid "Incorrect password" +msgstr "Contrasinal incorrecto" + +#: bookwyrm/views/preferences/change_password.py:42 +msgid "Password does not match" +msgstr "O contrasinal non concorda" + #: bookwyrm/views/rss_feed.py:34 #, python-brace-format msgid "Status updates from {obj.display_name}" diff --git a/locale/it_IT/LC_MESSAGES/django.mo b/locale/it_IT/LC_MESSAGES/django.mo index c67d36cd031f4b0b883d666fd2d8173d2cddecd7..d02492a75e297c4ff15ee10e86f1c9952ecd68a0 100644 GIT binary patch delta 22 ecmdnIjdk-j)(!C&*bNm7&8&=!Hm6-U+XVn?0SQ?E delta 22 ecmdnIjdk-j)(!C&*bNkn46Td|Hm6-U+XVn>#tBjY diff --git a/locale/it_IT/LC_MESSAGES/django.po b/locale/it_IT/LC_MESSAGES/django.po index 79e4d1097..83b1bc843 100644 --- a/locale/it_IT/LC_MESSAGES/django.po +++ b/locale/it_IT/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-07-08 22:40+0000\n" -"PO-Revision-Date: 2022-07-10 21:20\n" +"POT-Creation-Date: 2022-07-11 15:53+0000\n" +"PO-Revision-Date: 2022-07-11 16:22\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Italian\n" "Language: it\n" @@ -2273,7 +2273,7 @@ msgid "More about this site" msgstr "Ulteriori informazioni su questo sito" #: bookwyrm/templates/landing/password_reset.html:34 -#: bookwyrm/templates/preferences/change_password.html:18 +#: bookwyrm/templates/preferences/change_password.html:40 #: bookwyrm/templates/preferences/delete_user.html:20 msgid "Confirm password:" msgstr "Conferma la password:" @@ -2871,6 +2871,11 @@ msgid_plural "%(display_count)s new reports need modera msgstr[0] "" msgstr[1] "" +#: bookwyrm/templates/notifications/items/status_preview.html:4 +#: bookwyrm/templates/snippets/status/content_status.html:73 +msgid "Content warning" +msgstr "Avviso sul contenuto" + #: bookwyrm/templates/notifications/items/update.html:16 #, python-format msgid "has changed the privacy level for %(group_name)s" @@ -3028,12 +3033,20 @@ msgstr "Nessun utente attualmente bloccato." #: bookwyrm/templates/preferences/change_password.html:4 #: bookwyrm/templates/preferences/change_password.html:7 -#: bookwyrm/templates/preferences/change_password.html:21 +#: bookwyrm/templates/preferences/change_password.html:52 #: bookwyrm/templates/preferences/layout.html:20 msgid "Change Password" msgstr "Modifica Password" -#: bookwyrm/templates/preferences/change_password.html:14 +#: bookwyrm/templates/preferences/change_password.html:15 +msgid "Successfully changed password" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:22 +msgid "Current password:" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:36 msgid "New password:" msgstr "Nuova password:" @@ -3125,6 +3138,10 @@ msgstr "Esporta CSV" msgid "Your export will include all the books on your shelves, books you have reviewed, and books with reading activity." msgstr "La tua esportazione includerà tutti i libri sui tuoi scaffali, quelli che hai recensito e con attività di lettura." +#: bookwyrm/templates/preferences/export.html:20 +msgid "Download file" +msgstr "" + #: bookwyrm/templates/preferences/layout.html:11 msgid "Account" msgstr "Profilo" @@ -5036,10 +5053,6 @@ msgstr "" msgid "Finish reading" msgstr "Finito di leggere" -#: bookwyrm/templates/snippets/status/content_status.html:73 -msgid "Content warning" -msgstr "Avviso sul contenuto" - #: bookwyrm/templates/snippets/status/content_status.html:80 msgid "Show status" msgstr "Mostra stato" @@ -5335,7 +5348,7 @@ msgstr "Nessun follower che segui" msgid "View profile and more" msgstr "Visualizza profilo e altro" -#: bookwyrm/templates/user_menu.html:72 +#: bookwyrm/templates/user_menu.html:78 msgid "Log out" msgstr "Esci" @@ -5356,6 +5369,14 @@ msgstr "Non è un file di csv valido" msgid "Username or password are incorrect" msgstr "Nome utente o password errati" +#: bookwyrm/views/preferences/change_password.py:35 +msgid "Incorrect password" +msgstr "" + +#: bookwyrm/views/preferences/change_password.py:42 +msgid "Password does not match" +msgstr "" + #: bookwyrm/views/rss_feed.py:34 #, python-brace-format msgid "Status updates from {obj.display_name}" diff --git a/locale/lt_LT/LC_MESSAGES/django.mo b/locale/lt_LT/LC_MESSAGES/django.mo index c0ade2f5d0e0981c0c421772d3db5366e8377eca..2f37afe618b4ad230eeba20c5b5cee64feff1445 100644 GIT binary patch delta 23 fcmZ2_ly&J*)(x)bISdUI49%>Jj5hn8kC+SqZ)FJV delta 23 fcmZ2_ly&J*)(x)bISecmjEt>J3^)6pkC+SqZ=(qD diff --git a/locale/lt_LT/LC_MESSAGES/django.po b/locale/lt_LT/LC_MESSAGES/django.po index 2258febf4..2eca28352 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-07-08 22:40+0000\n" -"PO-Revision-Date: 2022-07-08 23:41\n" +"POT-Creation-Date: 2022-07-11 15:53+0000\n" +"PO-Revision-Date: 2022-07-11 16:22\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Lithuanian\n" "Language: lt\n" @@ -2297,7 +2297,7 @@ msgid "More about this site" msgstr "Daugiau apie šią svetainę" #: bookwyrm/templates/landing/password_reset.html:34 -#: bookwyrm/templates/preferences/change_password.html:18 +#: bookwyrm/templates/preferences/change_password.html:40 #: bookwyrm/templates/preferences/delete_user.html:20 msgid "Confirm password:" msgstr "Patvirtinti slaptažodį:" @@ -2901,6 +2901,11 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" +#: bookwyrm/templates/notifications/items/status_preview.html:4 +#: bookwyrm/templates/snippets/status/content_status.html:73 +msgid "Content warning" +msgstr "Įspėjimas dėl turinio" + #: bookwyrm/templates/notifications/items/update.html:16 #, python-format msgid "has changed the privacy level for %(group_name)s" @@ -3058,12 +3063,20 @@ msgstr "Blokuotų narių nėra." #: bookwyrm/templates/preferences/change_password.html:4 #: bookwyrm/templates/preferences/change_password.html:7 -#: bookwyrm/templates/preferences/change_password.html:21 +#: bookwyrm/templates/preferences/change_password.html:52 #: bookwyrm/templates/preferences/layout.html:20 msgid "Change Password" msgstr "Keisti slaptažodį" -#: bookwyrm/templates/preferences/change_password.html:14 +#: bookwyrm/templates/preferences/change_password.html:15 +msgid "Successfully changed password" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:22 +msgid "Current password:" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:36 msgid "New password:" msgstr "Naujas slaptažodis:" @@ -3155,6 +3168,10 @@ msgstr "CSV eksportas" msgid "Your export will include all the books on your shelves, books you have reviewed, and books with reading activity." msgstr "Į eksportavimą įeis visos jūsų lentynose esančios knygos, peržiūrėtos knygos bei tos, kurias neseniai skaitėte." +#: bookwyrm/templates/preferences/export.html:20 +msgid "Download file" +msgstr "" + #: bookwyrm/templates/preferences/layout.html:11 msgid "Account" msgstr "Paskyra" @@ -5088,10 +5105,6 @@ msgstr "" msgid "Finish reading" msgstr "Baigti skaityti" -#: bookwyrm/templates/snippets/status/content_status.html:73 -msgid "Content warning" -msgstr "Įspėjimas dėl turinio" - #: bookwyrm/templates/snippets/status/content_status.html:80 msgid "Show status" msgstr "Rodyti būseną" @@ -5391,7 +5404,7 @@ msgstr "Jūs kartu nieko nesekate" msgid "View profile and more" msgstr "Žiūrėti paskyrą ir dar daugiau" -#: bookwyrm/templates/user_menu.html:72 +#: bookwyrm/templates/user_menu.html:78 msgid "Log out" msgstr "Atsijungti" @@ -5412,6 +5425,14 @@ msgstr "Netinkamas csv failas" msgid "Username or password are incorrect" msgstr "Naudotojo vardas arba slaptažodis neteisingi" +#: bookwyrm/views/preferences/change_password.py:35 +msgid "Incorrect password" +msgstr "" + +#: bookwyrm/views/preferences/change_password.py:42 +msgid "Password does not match" +msgstr "" + #: bookwyrm/views/rss_feed.py:34 #, python-brace-format msgid "Status updates from {obj.display_name}" diff --git a/locale/no_NO/LC_MESSAGES/django.mo b/locale/no_NO/LC_MESSAGES/django.mo index f560b3a096e49b7af08670e5cdf2b185daaad5bb..26490831ed1b90e7c05f560f2346c5d212425385 100644 GIT binary patch delta 23 fcmZ2^oMq*4mJKJjau^ya7@Aob8Ew9}^+qlLd6Ehw delta 23 fcmZ2^oMq*4mJKJjau`@B7#Ulc7;e6}^+qlLdC&?e diff --git a/locale/no_NO/LC_MESSAGES/django.po b/locale/no_NO/LC_MESSAGES/django.po index f78a952c3..3ba81df84 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-07-08 22:40+0000\n" -"PO-Revision-Date: 2022-07-08 23:41\n" +"POT-Creation-Date: 2022-07-11 15:53+0000\n" +"PO-Revision-Date: 2022-07-11 16:22\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Norwegian\n" "Language: no\n" @@ -2273,7 +2273,7 @@ msgid "More about this site" msgstr "Om dette nettstedet" #: bookwyrm/templates/landing/password_reset.html:34 -#: bookwyrm/templates/preferences/change_password.html:18 +#: bookwyrm/templates/preferences/change_password.html:40 #: bookwyrm/templates/preferences/delete_user.html:20 msgid "Confirm password:" msgstr "Gjenta passordet:" @@ -2871,6 +2871,11 @@ msgid_plural "%(display_count)s new reports need modera msgstr[0] "" msgstr[1] "" +#: bookwyrm/templates/notifications/items/status_preview.html:4 +#: bookwyrm/templates/snippets/status/content_status.html:73 +msgid "Content warning" +msgstr "Varsel om følsomt innhold" + #: bookwyrm/templates/notifications/items/update.html:16 #, python-format msgid "has changed the privacy level for %(group_name)s" @@ -3028,12 +3033,20 @@ msgstr "Ingen brukere er for tiden blokkert." #: bookwyrm/templates/preferences/change_password.html:4 #: bookwyrm/templates/preferences/change_password.html:7 -#: bookwyrm/templates/preferences/change_password.html:21 +#: bookwyrm/templates/preferences/change_password.html:52 #: bookwyrm/templates/preferences/layout.html:20 msgid "Change Password" msgstr "Endre passord" -#: bookwyrm/templates/preferences/change_password.html:14 +#: bookwyrm/templates/preferences/change_password.html:15 +msgid "Successfully changed password" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:22 +msgid "Current password:" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:36 msgid "New password:" msgstr "Nytt passord:" @@ -3125,6 +3138,10 @@ msgstr "" msgid "Your export will include all the books on your shelves, books you have reviewed, and books with reading activity." msgstr "" +#: bookwyrm/templates/preferences/export.html:20 +msgid "Download file" +msgstr "" + #: bookwyrm/templates/preferences/layout.html:11 msgid "Account" msgstr "Konto" @@ -5034,10 +5051,6 @@ msgstr "" msgid "Finish reading" msgstr "Fullfør lesing" -#: bookwyrm/templates/snippets/status/content_status.html:73 -msgid "Content warning" -msgstr "Varsel om følsomt innhold" - #: bookwyrm/templates/snippets/status/content_status.html:80 msgid "Show status" msgstr "Vis status" @@ -5333,7 +5346,7 @@ msgstr "Ingen følgere du følger" msgid "View profile and more" msgstr "" -#: bookwyrm/templates/user_menu.html:72 +#: bookwyrm/templates/user_menu.html:78 msgid "Log out" msgstr "Logg ut" @@ -5354,6 +5367,14 @@ msgstr "Ikke en gyldig csv-fil" msgid "Username or password are incorrect" msgstr "Feil brukernavn eller passord" +#: bookwyrm/views/preferences/change_password.py:35 +msgid "Incorrect password" +msgstr "" + +#: bookwyrm/views/preferences/change_password.py:42 +msgid "Password does not match" +msgstr "" + #: bookwyrm/views/rss_feed.py:34 #, python-brace-format msgid "Status updates from {obj.display_name}" diff --git a/locale/pt_BR/LC_MESSAGES/django.mo b/locale/pt_BR/LC_MESSAGES/django.mo index 1c90e45d2f713ad22ea5e9d077ca9902305bf1a3..bd053e54e381e3ec6988f099322d9bf0019b3678 100644 GIT binary patch delta 23 fcmdnAmUYuw)(x)bISdUI49%>Jj5hn8Pi+SPZORDO delta 23 fcmdnAmUYuw)(x)bISecmjEt>J3^x0oPi+SPZUP9~ diff --git a/locale/pt_BR/LC_MESSAGES/django.po b/locale/pt_BR/LC_MESSAGES/django.po index ae92a0efe..280e9c896 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-07-08 22:40+0000\n" -"PO-Revision-Date: 2022-07-08 23:40\n" +"POT-Creation-Date: 2022-07-11 15:53+0000\n" +"PO-Revision-Date: 2022-07-11 16:22\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt\n" @@ -2273,7 +2273,7 @@ msgid "More about this site" msgstr "Mais sobre este site" #: bookwyrm/templates/landing/password_reset.html:34 -#: bookwyrm/templates/preferences/change_password.html:18 +#: bookwyrm/templates/preferences/change_password.html:40 #: bookwyrm/templates/preferences/delete_user.html:20 msgid "Confirm password:" msgstr "Confirmar senha:" @@ -2871,6 +2871,11 @@ msgid_plural "%(display_count)s new reports need modera msgstr[0] "" msgstr[1] "" +#: bookwyrm/templates/notifications/items/status_preview.html:4 +#: bookwyrm/templates/snippets/status/content_status.html:73 +msgid "Content warning" +msgstr "Aviso de conteúdo" + #: bookwyrm/templates/notifications/items/update.html:16 #, python-format msgid "has changed the privacy level for %(group_name)s" @@ -3028,12 +3033,20 @@ msgstr "Nenhum usuário bloqueado." #: bookwyrm/templates/preferences/change_password.html:4 #: bookwyrm/templates/preferences/change_password.html:7 -#: bookwyrm/templates/preferences/change_password.html:21 +#: bookwyrm/templates/preferences/change_password.html:52 #: bookwyrm/templates/preferences/layout.html:20 msgid "Change Password" msgstr "Alterar senha" -#: bookwyrm/templates/preferences/change_password.html:14 +#: bookwyrm/templates/preferences/change_password.html:15 +msgid "Successfully changed password" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:22 +msgid "Current password:" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:36 msgid "New password:" msgstr "Nova senha:" @@ -3125,6 +3138,10 @@ msgstr "Exportar CSV" msgid "Your export will include all the books on your shelves, books you have reviewed, and books with reading activity." msgstr "Seu arquivo conterá todos os livros em suas estantes, suas resenhas e o andamento de suas leituras." +#: bookwyrm/templates/preferences/export.html:20 +msgid "Download file" +msgstr "" + #: bookwyrm/templates/preferences/layout.html:11 msgid "Account" msgstr "Conta" @@ -5036,10 +5053,6 @@ msgstr "" msgid "Finish reading" msgstr "Terminar de ler" -#: bookwyrm/templates/snippets/status/content_status.html:73 -msgid "Content warning" -msgstr "Aviso de conteúdo" - #: bookwyrm/templates/snippets/status/content_status.html:80 msgid "Show status" msgstr "Mostrar publicação" @@ -5335,7 +5348,7 @@ msgstr "Nenhum seguidor que você segue" msgid "View profile and more" msgstr "Ver perfil e mais" -#: bookwyrm/templates/user_menu.html:72 +#: bookwyrm/templates/user_menu.html:78 msgid "Log out" msgstr "Sair" @@ -5356,6 +5369,14 @@ msgstr "Não é um arquivo csv válido" msgid "Username or password are incorrect" msgstr "Nome de usuário ou senha incorretos" +#: bookwyrm/views/preferences/change_password.py:35 +msgid "Incorrect password" +msgstr "" + +#: bookwyrm/views/preferences/change_password.py:42 +msgid "Password does not match" +msgstr "" + #: bookwyrm/views/rss_feed.py:34 #, python-brace-format msgid "Status updates from {obj.display_name}" diff --git a/locale/pt_PT/LC_MESSAGES/django.mo b/locale/pt_PT/LC_MESSAGES/django.mo index 8208aa842b3a9180dcc8973c6c293a286cf59743..0020b329619cf38bb8a023dfdb1518ce5faaba7f 100644 GIT binary patch delta 23 fcmaF+pXKd;mJJREISdUI49%>J3^#imTv`VJgTD#? delta 23 fcmaF+pXKd;mJJREISecmjEt>J3^sclTv`VJgZ&Bw diff --git a/locale/pt_PT/LC_MESSAGES/django.po b/locale/pt_PT/LC_MESSAGES/django.po index 18afab284..e95cc26fd 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-07-08 22:40+0000\n" -"PO-Revision-Date: 2022-07-08 23:40\n" +"POT-Creation-Date: 2022-07-11 15:53+0000\n" +"PO-Revision-Date: 2022-07-11 16:21\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Portuguese\n" "Language: pt\n" @@ -2273,7 +2273,7 @@ msgid "More about this site" msgstr "Mais sobre este site" #: bookwyrm/templates/landing/password_reset.html:34 -#: bookwyrm/templates/preferences/change_password.html:18 +#: bookwyrm/templates/preferences/change_password.html:40 #: bookwyrm/templates/preferences/delete_user.html:20 msgid "Confirm password:" msgstr "Confirmar palavra-passe:" @@ -2871,6 +2871,11 @@ msgid_plural "%(display_count)s new reports need modera msgstr[0] "" msgstr[1] "" +#: bookwyrm/templates/notifications/items/status_preview.html:4 +#: bookwyrm/templates/snippets/status/content_status.html:73 +msgid "Content warning" +msgstr "Aviso de Conteúdo" + #: bookwyrm/templates/notifications/items/update.html:16 #, python-format msgid "has changed the privacy level for %(group_name)s" @@ -3028,12 +3033,20 @@ msgstr "Não há utilizadores bloqueados." #: bookwyrm/templates/preferences/change_password.html:4 #: bookwyrm/templates/preferences/change_password.html:7 -#: bookwyrm/templates/preferences/change_password.html:21 +#: bookwyrm/templates/preferences/change_password.html:52 #: bookwyrm/templates/preferences/layout.html:20 msgid "Change Password" msgstr "Alterar Palavra-passe" -#: bookwyrm/templates/preferences/change_password.html:14 +#: bookwyrm/templates/preferences/change_password.html:15 +msgid "Successfully changed password" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:22 +msgid "Current password:" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:36 msgid "New password:" msgstr "Nova Palavra-passe:" @@ -3125,6 +3138,10 @@ msgstr "Exportar para CSV" msgid "Your export will include all the books on your shelves, books you have reviewed, and books with reading activity." msgstr "A exportação incluirá todos os livros das tuas prateleiras, livros que tu já avaliaste e livros com a atividade da leitura." +#: bookwyrm/templates/preferences/export.html:20 +msgid "Download file" +msgstr "" + #: bookwyrm/templates/preferences/layout.html:11 msgid "Account" msgstr "Conta" @@ -5036,10 +5053,6 @@ msgstr "" msgid "Finish reading" msgstr "Terminar leitura" -#: bookwyrm/templates/snippets/status/content_status.html:73 -msgid "Content warning" -msgstr "Aviso de Conteúdo" - #: bookwyrm/templates/snippets/status/content_status.html:80 msgid "Show status" msgstr "Mostrar o estado" @@ -5335,7 +5348,7 @@ msgstr "Não há seguidores que tu segues" msgid "View profile and more" msgstr "Visualizar perfil e mais" -#: bookwyrm/templates/user_menu.html:72 +#: bookwyrm/templates/user_menu.html:78 msgid "Log out" msgstr "Terminar sessão" @@ -5356,6 +5369,14 @@ msgstr "Não é um ficheiro csv válido" msgid "Username or password are incorrect" msgstr "Nome de utilizador ou palavra-passe incorretos" +#: bookwyrm/views/preferences/change_password.py:35 +msgid "Incorrect password" +msgstr "" + +#: bookwyrm/views/preferences/change_password.py:42 +msgid "Password does not match" +msgstr "" + #: bookwyrm/views/rss_feed.py:34 #, python-brace-format msgid "Status updates from {obj.display_name}" diff --git a/locale/ro_RO/LC_MESSAGES/django.mo b/locale/ro_RO/LC_MESSAGES/django.mo index 5a1f7ca82a0ef413b404692672bf3eb6e09a92f0..dd4e6c3860df20b9dd756181302107db0819cc8e 100644 GIT binary patch delta 23 fcmaF2m-XFV)(x)bISdUI49%>Jj5hn8U)T=-dhQ9c delta 23 fcmaF2m-XFV)(x)bISecmjEt>J3^)6pU)T=-dn^gK diff --git a/locale/ro_RO/LC_MESSAGES/django.po b/locale/ro_RO/LC_MESSAGES/django.po index ec8d1d7e0..cf376fb56 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-07-08 22:40+0000\n" -"PO-Revision-Date: 2022-07-08 23:41\n" +"POT-Creation-Date: 2022-07-11 15:53+0000\n" +"PO-Revision-Date: 2022-07-11 16:22\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Romanian\n" "Language: ro\n" @@ -2285,7 +2285,7 @@ msgid "More about this site" msgstr "Mai multe despre acest site" #: bookwyrm/templates/landing/password_reset.html:34 -#: bookwyrm/templates/preferences/change_password.html:18 +#: bookwyrm/templates/preferences/change_password.html:40 #: bookwyrm/templates/preferences/delete_user.html:20 msgid "Confirm password:" msgstr "Confirmați parola:" @@ -2886,6 +2886,11 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" +#: bookwyrm/templates/notifications/items/status_preview.html:4 +#: bookwyrm/templates/snippets/status/content_status.html:73 +msgid "Content warning" +msgstr "Avertisment de conținut" + #: bookwyrm/templates/notifications/items/update.html:16 #, python-format msgid "has changed the privacy level for %(group_name)s" @@ -3043,12 +3048,20 @@ msgstr "Niciun utilizator blocat." #: bookwyrm/templates/preferences/change_password.html:4 #: bookwyrm/templates/preferences/change_password.html:7 -#: bookwyrm/templates/preferences/change_password.html:21 +#: bookwyrm/templates/preferences/change_password.html:52 #: bookwyrm/templates/preferences/layout.html:20 msgid "Change Password" msgstr "Schimbați parola" -#: bookwyrm/templates/preferences/change_password.html:14 +#: bookwyrm/templates/preferences/change_password.html:15 +msgid "Successfully changed password" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:22 +msgid "Current password:" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:36 msgid "New password:" msgstr "Parolă nouă:" @@ -3140,6 +3153,10 @@ msgstr "Export CSV" msgid "Your export will include all the books on your shelves, books you have reviewed, and books with reading activity." msgstr "Exportul dvs. va include toate cărțile de pe etajerele dvs., cărți pe care le-ați revizuit și cărți cu activitate de lectură." +#: bookwyrm/templates/preferences/export.html:20 +msgid "Download file" +msgstr "" + #: bookwyrm/templates/preferences/layout.html:11 msgid "Account" msgstr "Cont" @@ -5062,10 +5079,6 @@ msgstr "" msgid "Finish reading" msgstr "Terminați de citit" -#: bookwyrm/templates/snippets/status/content_status.html:73 -msgid "Content warning" -msgstr "Avertisment de conținut" - #: bookwyrm/templates/snippets/status/content_status.html:80 msgid "Show status" msgstr "Arătați stare" @@ -5363,7 +5376,7 @@ msgstr "Niciun urmăritor pe care îl urmărești" msgid "View profile and more" msgstr "Vizualizați profil și multe altele" -#: bookwyrm/templates/user_menu.html:72 +#: bookwyrm/templates/user_menu.html:78 msgid "Log out" msgstr "Deconectați-vă" @@ -5384,6 +5397,14 @@ msgstr "Nu este un fișier csv valid" msgid "Username or password are incorrect" msgstr "Numele de utilizator sau parola greșite" +#: bookwyrm/views/preferences/change_password.py:35 +msgid "Incorrect password" +msgstr "" + +#: bookwyrm/views/preferences/change_password.py:42 +msgid "Password does not match" +msgstr "" + #: bookwyrm/views/rss_feed.py:34 #, python-brace-format msgid "Status updates from {obj.display_name}" diff --git a/locale/sv_SE/LC_MESSAGES/django.mo b/locale/sv_SE/LC_MESSAGES/django.mo index 036cd4bbc4ebe85bfa15677992ff79102abd9b6f..61c5aabb358da0d8686a061e844fccffcb7a80b2 100644 GIT binary patch delta 23 fcmZ3!mUa1B)(s!eaTppZ7@Aob8E*c0Ze2S7dD{wK delta 23 fcmZ3!mUa1B)(s!eaTr)A7#Ulc7;OG|Ze2S7dKn62 diff --git a/locale/sv_SE/LC_MESSAGES/django.po b/locale/sv_SE/LC_MESSAGES/django.po index b49f44b15..a881cf235 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-07-08 22:40+0000\n" -"PO-Revision-Date: 2022-07-08 23:40\n" +"POT-Creation-Date: 2022-07-11 15:53+0000\n" +"PO-Revision-Date: 2022-07-11 16:21\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Swedish\n" "Language: sv\n" @@ -2273,7 +2273,7 @@ msgid "More about this site" msgstr "Mer om den här sidan" #: bookwyrm/templates/landing/password_reset.html:34 -#: bookwyrm/templates/preferences/change_password.html:18 +#: bookwyrm/templates/preferences/change_password.html:40 #: bookwyrm/templates/preferences/delete_user.html:20 msgid "Confirm password:" msgstr "Bekräfta lösenordet:" @@ -2871,6 +2871,11 @@ msgid_plural "%(display_count)s new reports need modera msgstr[0] "" msgstr[1] "" +#: bookwyrm/templates/notifications/items/status_preview.html:4 +#: bookwyrm/templates/snippets/status/content_status.html:73 +msgid "Content warning" +msgstr "Innehållsvarning" + #: bookwyrm/templates/notifications/items/update.html:16 #, python-format msgid "has changed the privacy level for %(group_name)s" @@ -3028,12 +3033,20 @@ msgstr "Inga användare är för närvarande blockerade." #: bookwyrm/templates/preferences/change_password.html:4 #: bookwyrm/templates/preferences/change_password.html:7 -#: bookwyrm/templates/preferences/change_password.html:21 +#: bookwyrm/templates/preferences/change_password.html:52 #: bookwyrm/templates/preferences/layout.html:20 msgid "Change Password" msgstr "Ändra lösenord" -#: bookwyrm/templates/preferences/change_password.html:14 +#: bookwyrm/templates/preferences/change_password.html:15 +msgid "Successfully changed password" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:22 +msgid "Current password:" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:36 msgid "New password:" msgstr "Nytt lösenord:" @@ -3125,6 +3138,10 @@ msgstr "CSV-export" msgid "Your export will include all the books on your shelves, books you have reviewed, and books with reading activity." msgstr "Din export inkluderar alla böcker som du har på din hylla, har recenserat och böcker med läsaktivitet." +#: bookwyrm/templates/preferences/export.html:20 +msgid "Download file" +msgstr "" + #: bookwyrm/templates/preferences/layout.html:11 msgid "Account" msgstr "Konto" @@ -5036,10 +5053,6 @@ msgstr "" msgid "Finish reading" msgstr "Sluta läs" -#: bookwyrm/templates/snippets/status/content_status.html:73 -msgid "Content warning" -msgstr "Innehållsvarning" - #: bookwyrm/templates/snippets/status/content_status.html:80 msgid "Show status" msgstr "Visa status" @@ -5335,7 +5348,7 @@ msgstr "Inga följare som du följer" msgid "View profile and more" msgstr "" -#: bookwyrm/templates/user_menu.html:72 +#: bookwyrm/templates/user_menu.html:78 msgid "Log out" msgstr "Logga ut" @@ -5356,6 +5369,14 @@ msgstr "Inte en giltig csv-fil" msgid "Username or password are incorrect" msgstr "Användarnamnet eller lösenordet är felaktigt" +#: bookwyrm/views/preferences/change_password.py:35 +msgid "Incorrect password" +msgstr "" + +#: bookwyrm/views/preferences/change_password.py:42 +msgid "Password does not match" +msgstr "" + #: bookwyrm/views/rss_feed.py:34 #, python-brace-format msgid "Status updates from {obj.display_name}" diff --git a/locale/zh_Hans/LC_MESSAGES/django.mo b/locale/zh_Hans/LC_MESSAGES/django.mo index 1f275f27d43a946c9b5ddd8be9fb04d821499909..28ca1472f61c58a3003234eea46ab887935e9df7 100644 GIT binary patch delta 23 fcmdne#JZ)4b%X194nso)Lo+KQqs_kOpBDlEXe$Wu delta 23 fcmdne#JZ)4b%X194g(7XBV#KQgU!C@pBDlEXk!TV diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/locale/zh_Hans/LC_MESSAGES/django.po index 65c4151f6..941f6807f 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-07-08 22:40+0000\n" -"PO-Revision-Date: 2022-07-08 23:40\n" +"POT-Creation-Date: 2022-07-11 15:53+0000\n" +"PO-Revision-Date: 2022-07-11 16:22\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Chinese Simplified\n" "Language: zh\n" @@ -2261,7 +2261,7 @@ msgid "More about this site" msgstr "更多关于本站点的信息" #: bookwyrm/templates/landing/password_reset.html:34 -#: bookwyrm/templates/preferences/change_password.html:18 +#: bookwyrm/templates/preferences/change_password.html:40 #: bookwyrm/templates/preferences/delete_user.html:20 msgid "Confirm password:" msgstr "确认密码:" @@ -2856,6 +2856,11 @@ msgid "A new report needs moderation" msgid_plural "%(display_count)s new reports need moderation" msgstr[0] "" +#: bookwyrm/templates/notifications/items/status_preview.html:4 +#: bookwyrm/templates/snippets/status/content_status.html:73 +msgid "Content warning" +msgstr "内容警告" + #: bookwyrm/templates/notifications/items/update.html:16 #, python-format msgid "has changed the privacy level for %(group_name)s" @@ -3013,12 +3018,20 @@ msgstr "当前没有被屏蔽的用户。" #: bookwyrm/templates/preferences/change_password.html:4 #: bookwyrm/templates/preferences/change_password.html:7 -#: bookwyrm/templates/preferences/change_password.html:21 +#: bookwyrm/templates/preferences/change_password.html:52 #: bookwyrm/templates/preferences/layout.html:20 msgid "Change Password" msgstr "更改密码" -#: bookwyrm/templates/preferences/change_password.html:14 +#: bookwyrm/templates/preferences/change_password.html:15 +msgid "Successfully changed password" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:22 +msgid "Current password:" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:36 msgid "New password:" msgstr "新密码:" @@ -3110,6 +3123,10 @@ msgstr "CSV导出" msgid "Your export will include all the books on your shelves, books you have reviewed, and books with reading activity." msgstr "你的导出将包括你书架上的所有书籍,你评论过的书籍,以及有阅读活动的书籍。" +#: bookwyrm/templates/preferences/export.html:20 +msgid "Download file" +msgstr "" + #: bookwyrm/templates/preferences/layout.html:11 msgid "Account" msgstr "帐号" @@ -5010,10 +5027,6 @@ msgstr "" msgid "Finish reading" msgstr "完成阅读" -#: bookwyrm/templates/snippets/status/content_status.html:73 -msgid "Content warning" -msgstr "内容警告" - #: bookwyrm/templates/snippets/status/content_status.html:80 msgid "Show status" msgstr "显示状态" @@ -5307,7 +5320,7 @@ msgstr "没有你关注的关注者" msgid "View profile and more" msgstr "查看档案和其他" -#: bookwyrm/templates/user_menu.html:72 +#: bookwyrm/templates/user_menu.html:78 msgid "Log out" msgstr "登出" @@ -5328,6 +5341,14 @@ msgstr "不是有效的 csv 文件" msgid "Username or password are incorrect" msgstr "用户名或密码不正确" +#: bookwyrm/views/preferences/change_password.py:35 +msgid "Incorrect password" +msgstr "" + +#: bookwyrm/views/preferences/change_password.py:42 +msgid "Password does not match" +msgstr "" + #: bookwyrm/views/rss_feed.py:34 #, python-brace-format msgid "Status updates from {obj.display_name}" diff --git a/locale/zh_Hant/LC_MESSAGES/django.mo b/locale/zh_Hant/LC_MESSAGES/django.mo index e518d549092ab42bdb74b185e4d41f32ca6523d1..5f8f5aa41ca52d72d9f5dd859d7578c9735ede9b 100644 GIT binary patch delta 22 dcmZ44%(SwZX@h7uyP<-inU#^zW|{C_EdWx?2D1PF delta 22 dcmZ44%(SwZX@h7uyMcm%iIu6vW|{C_EdWy82DktK diff --git a/locale/zh_Hant/LC_MESSAGES/django.po b/locale/zh_Hant/LC_MESSAGES/django.po index 8dd4692f2..2774d7184 100644 --- a/locale/zh_Hant/LC_MESSAGES/django.po +++ b/locale/zh_Hant/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-07-08 22:40+0000\n" -"PO-Revision-Date: 2022-07-10 04:58\n" +"POT-Creation-Date: 2022-07-11 15:53+0000\n" +"PO-Revision-Date: 2022-07-11 16:22\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Chinese Traditional\n" "Language: zh\n" @@ -2261,7 +2261,7 @@ msgid "More about this site" msgstr "關於本網站的更多" #: bookwyrm/templates/landing/password_reset.html:34 -#: bookwyrm/templates/preferences/change_password.html:18 +#: bookwyrm/templates/preferences/change_password.html:40 #: bookwyrm/templates/preferences/delete_user.html:20 msgid "Confirm password:" msgstr "確認密碼:" @@ -2856,6 +2856,11 @@ msgid "A new report needs moderation" msgid_plural "%(display_count)s new reports need moderation" msgstr[0] "" +#: bookwyrm/templates/notifications/items/status_preview.html:4 +#: bookwyrm/templates/snippets/status/content_status.html:73 +msgid "Content warning" +msgstr "" + #: bookwyrm/templates/notifications/items/update.html:16 #, python-format msgid "has changed the privacy level for %(group_name)s" @@ -3013,12 +3018,20 @@ msgstr "當前沒有被封鎖的使用者。" #: bookwyrm/templates/preferences/change_password.html:4 #: bookwyrm/templates/preferences/change_password.html:7 -#: bookwyrm/templates/preferences/change_password.html:21 +#: bookwyrm/templates/preferences/change_password.html:52 #: bookwyrm/templates/preferences/layout.html:20 msgid "Change Password" msgstr "更改密碼" -#: bookwyrm/templates/preferences/change_password.html:14 +#: bookwyrm/templates/preferences/change_password.html:15 +msgid "Successfully changed password" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:22 +msgid "Current password:" +msgstr "" + +#: bookwyrm/templates/preferences/change_password.html:36 msgid "New password:" msgstr "新密碼:" @@ -3110,6 +3123,10 @@ msgstr "" msgid "Your export will include all the books on your shelves, books you have reviewed, and books with reading activity." msgstr "" +#: bookwyrm/templates/preferences/export.html:20 +msgid "Download file" +msgstr "" + #: bookwyrm/templates/preferences/layout.html:11 msgid "Account" msgstr "帳號" @@ -5008,10 +5025,6 @@ msgstr "" msgid "Finish reading" msgstr "完成閱讀" -#: bookwyrm/templates/snippets/status/content_status.html:73 -msgid "Content warning" -msgstr "" - #: bookwyrm/templates/snippets/status/content_status.html:80 msgid "Show status" msgstr "" @@ -5305,7 +5318,7 @@ msgstr "" msgid "View profile and more" msgstr "" -#: bookwyrm/templates/user_menu.html:72 +#: bookwyrm/templates/user_menu.html:78 msgid "Log out" msgstr "登出" @@ -5326,6 +5339,14 @@ msgstr "不是有效的 csv 檔案" msgid "Username or password are incorrect" msgstr "" +#: bookwyrm/views/preferences/change_password.py:35 +msgid "Incorrect password" +msgstr "" + +#: bookwyrm/views/preferences/change_password.py:42 +msgid "Password does not match" +msgstr "" + #: bookwyrm/views/rss_feed.py:34 #, python-brace-format msgid "Status updates from {obj.display_name}" From 7fdfd0c9c7ca7324aabc190939105b4f8264933c Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 15 Jul 2022 09:26:52 -0700 Subject: [PATCH 20/28] Check permissions when creating a status --- bookwyrm/tests/views/test_status.py | 16 ++++++++++++++++ bookwyrm/views/status.py | 1 + 2 files changed, 17 insertions(+) diff --git a/bookwyrm/tests/views/test_status.py b/bookwyrm/tests/views/test_status.py index 0026c52b5..b93d93f23 100644 --- a/bookwyrm/tests/views/test_status.py +++ b/bookwyrm/tests/views/test_status.py @@ -75,6 +75,22 @@ class StatusViews(TestCase): self.assertEqual(status.book, self.book) self.assertIsNone(status.edited_date) + def test_create_status_wrong_user(self, *_): + """You can't compose statuses for someone else""" + view = views.CreateStatus.as_view() + form = forms.CommentForm( + { + "content": "hi", + "user": self.remote_user.id, + "book": self.book.id, + "privacy": "public", + } + ) + request = self.factory.post("", form.data) + request.user = self.local_user + with self.assertRaises(PermissionDenied): + view(request, "comment") + def test_create_status_reply(self, *_): """create a status in reply to an existing status""" view = views.CreateStatus.as_view() diff --git a/bookwyrm/views/status.py b/bookwyrm/views/status.py index 8c14b3cdd..c0a045f8a 100644 --- a/bookwyrm/views/status.py +++ b/bookwyrm/views/status.py @@ -85,6 +85,7 @@ class CreateStatus(View): return redirect("/") status = form.save(commit=False) + status.raise_not_editable(request.user) # save the plain, unformatted version of the status for future editing status.raw_content = status.content if hasattr(status, "quote"): From d74d59a57bb0b9fa6b3eb046d393ca5ecbe0b482 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 15 Jul 2022 09:33:13 -0700 Subject: [PATCH 21/28] Disable pylint complaint --- bookwyrm/tests/views/test_status.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bookwyrm/tests/views/test_status.py b/bookwyrm/tests/views/test_status.py index b93d93f23..1159b3863 100644 --- a/bookwyrm/tests/views/test_status.py +++ b/bookwyrm/tests/views/test_status.py @@ -10,12 +10,13 @@ from bookwyrm.settings import DOMAIN from bookwyrm.tests.validate_html import validate_html -# pylint: disable=invalid-name @patch("bookwyrm.suggested_users.rerank_suggestions_task.delay") @patch("bookwyrm.activitystreams.populate_stream_task.delay") @patch("bookwyrm.lists_stream.populate_lists_task.delay") @patch("bookwyrm.activitystreams.remove_status_task.delay") @patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async") +# pylint: disable=invalid-name +# pylint: disable=too-many-public-methods class StatusViews(TestCase): """viewing and creating statuses""" From 4a65ee326adb168138fd6aee9793e2a89a98efc4 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 15 Jul 2022 09:59:57 -0700 Subject: [PATCH 22/28] Use password validation in register view --- bookwyrm/forms/landing.py | 6 ++++++ bookwyrm/tests/views/landing/test_register.py | 11 +++++++++++ 2 files changed, 17 insertions(+) diff --git a/bookwyrm/forms/landing.py b/bookwyrm/forms/landing.py index b01c2cc98..36c18dfb8 100644 --- a/bookwyrm/forms/landing.py +++ b/bookwyrm/forms/landing.py @@ -1,4 +1,6 @@ """ Forms for the landing pages """ +from django.contrib.auth.password_validation import validate_password +from django.core.exceptions import ValidationError from django.forms import PasswordInput from django.utils.translation import gettext_lazy as _ @@ -28,6 +30,10 @@ class RegisterForm(CustomForm): """Check if the username is taken""" cleaned_data = super().clean() localname = cleaned_data.get("localname").strip() + try: + validate_password(cleaned_data.get("password")) + except ValidationError as err: + self.add_error("password", err) if models.User.objects.filter(localname=localname).first(): self.add_error("localname", _("User with this username already exists")) diff --git a/bookwyrm/tests/views/landing/test_register.py b/bookwyrm/tests/views/landing/test_register.py index 24360a646..aa1ca7fb9 100644 --- a/bookwyrm/tests/views/landing/test_register.py +++ b/bookwyrm/tests/views/landing/test_register.py @@ -122,6 +122,17 @@ class RegisterViews(TestCase): self.assertEqual(models.User.objects.count(), 1) validate_html(response.render()) + def test_register_invalid_password(self, *_): + """gotta have an email""" + view = views.Register.as_view() + self.assertEqual(models.User.objects.count(), 1) + request = self.factory.post( + "register/", {"localname": "nutria", "password": "password", "email": "aa"} + ) + response = view(request) + self.assertEqual(models.User.objects.count(), 1) + validate_html(response.render()) + def test_register_error_and_invite(self, *_): """redirect to the invite page""" view = views.Register.as_view() From 659ee96002e06b7be0bee90adbc96a399fcd6aa2 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 15 Jul 2022 10:45:08 -0700 Subject: [PATCH 23/28] Use password validation in change password flow This also moves the form validation into a form instead of doing it in the view. --- bookwyrm/forms/edit_user.py | 33 +++++++++++++++++++ .../preferences/change_password.html | 27 ++++----------- .../views/preferences/test_change_password.py | 29 ++++++++++++---- bookwyrm/views/preferences/change_password.py | 26 +++++---------- 4 files changed, 70 insertions(+), 45 deletions(-) diff --git a/bookwyrm/forms/edit_user.py b/bookwyrm/forms/edit_user.py index d609f15dc..a291c6441 100644 --- a/bookwyrm/forms/edit_user.py +++ b/bookwyrm/forms/edit_user.py @@ -1,5 +1,8 @@ """ using django model forms """ from django import forms +from django.contrib.auth.password_validation import validate_password +from django.core.exceptions import ValidationError +from django.utils.translation import gettext_lazy as _ from bookwyrm import models from bookwyrm.models.fields import ClearableFileInputWithWarning @@ -66,3 +69,33 @@ class DeleteUserForm(CustomForm): class Meta: model = models.User fields = ["password"] + + +class ChangePasswordForm(CustomForm): + current_password = forms.CharField(widget=forms.PasswordInput) + confirm_password = forms.CharField(widget=forms.PasswordInput) + + class Meta: + model = models.User + fields = ["password"] + widgets = { + "password": forms.PasswordInput(), + } + + def clean(self): + """Make sure passwords match and are valid""" + current_password = self.data.get("current_password") + if not self.instance.check_password(current_password): + self.add_error("current_password", _("Incorrect password")) + + cleaned_data = super().clean() + new_password = cleaned_data.get("password") + confirm_password = self.data.get("confirm_password") + + if new_password != confirm_password: + self.add_error("confirm_password", _("Password does not match")) + + try: + validate_password(new_password) + except ValidationError as err: + self.add_error("password", err) diff --git a/bookwyrm/templates/preferences/change_password.html b/bookwyrm/templates/preferences/change_password.html index ad34aca1a..3b816779d 100644 --- a/bookwyrm/templates/preferences/change_password.html +++ b/bookwyrm/templates/preferences/change_password.html @@ -20,34 +20,19 @@ {% csrf_token %}

- - {% include 'snippets/form_errors.html' with errors_list=errors.current_password id="desc_current_password" %} + {{ form.current_password }} + {% include 'snippets/form_errors.html' with errors_list=form.current_password.errors id="desc_current_password" %}
- + {{ form.password }} + {% include 'snippets/form_errors.html' with errors_list=form.password.errors id="desc_current_password" %}
- - {% include 'snippets/form_errors.html' with errors_list=errors.confirm_password id="desc_confirm_password" %} + {{ form.confirm_password }} + {% include 'snippets/form_errors.html' with errors_list=form.confirm_password.errors id="desc_confirm_password" %}
diff --git a/bookwyrm/tests/views/preferences/test_change_password.py b/bookwyrm/tests/views/preferences/test_change_password.py index b6d2f48ef..fdcf577b0 100644 --- a/bookwyrm/tests/views/preferences/test_change_password.py +++ b/bookwyrm/tests/views/preferences/test_change_password.py @@ -46,8 +46,8 @@ class ChangePasswordViews(TestCase): "", { "current_password": "password", - "password": "hi", - "confirm-password": "hi", + "password": "longwordsecure", + "confirm_password": "longwordsecure", }, ) request.user = self.local_user @@ -64,8 +64,8 @@ class ChangePasswordViews(TestCase): "", { "current_password": "not my password", - "password": "hi", - "confirm-password": "hihi", + "password": "longwordsecure", + "confirm_password": "hihi", }, ) request.user = self.local_user @@ -81,8 +81,25 @@ class ChangePasswordViews(TestCase): "", { "current_password": "password", - "password": "hi", - "confirm-password": "hihi", + "password": "longwordsecure", + "confirm_password": "hihi", + }, + ) + request.user = self.local_user + result = view(request) + validate_html(result.render()) + self.assertEqual(self.local_user.password, password_hash) + + def test_password_change_invalid(self): + """change password""" + view = views.ChangePassword.as_view() + password_hash = self.local_user.password + request = self.factory.post( + "", + { + "current_password": "password", + "password": "hi", + "confirm_password": "hi", }, ) request.user = self.local_user diff --git a/bookwyrm/views/preferences/change_password.py b/bookwyrm/views/preferences/change_password.py index eaca2d8fa..1563cd08a 100644 --- a/bookwyrm/views/preferences/change_password.py +++ b/bookwyrm/views/preferences/change_password.py @@ -3,11 +3,10 @@ from django.contrib.auth import login from django.contrib.auth.decorators import login_required from django.template.response import TemplateResponse from django.utils.decorators import method_decorator -from django.utils.translation import gettext_lazy as _ from django.views import View from django.views.decorators.debug import sensitive_variables, sensitive_post_parameters -from bookwyrm import models +from bookwyrm import forms # pylint: disable= no-self-use @@ -17,33 +16,24 @@ class ChangePassword(View): def get(self, request): """change password page""" - data = {"user": request.user} + data = {"form": forms.ChangePasswordForm()} return TemplateResponse(request, "preferences/change_password.html", data) @sensitive_variables("new_password") - @sensitive_variables("confirm_password") @method_decorator(sensitive_post_parameters("current_password")) @method_decorator(sensitive_post_parameters("password")) @method_decorator(sensitive_post_parameters("confirm__password")) def post(self, request): """allow a user to change their password""" - data = {"user": request.user} - - # check current password - user = models.User.objects.get(id=request.user.id) - if not user.check_password(request.POST.get("current_password")): - data["errors"] = {"current_password": [_("Incorrect password")]} - return TemplateResponse(request, "preferences/change_password.html", data) - - new_password = request.POST.get("password") - confirm_password = request.POST.get("confirm-password") - - if new_password != confirm_password: - data["errors"] = {"confirm_password": [_("Password does not match")]} + form = forms.ChangePasswordForm(request.POST, instance=request.user) + if not form.is_valid(): + data = {"form": form} return TemplateResponse(request, "preferences/change_password.html", data) + new_password = form.cleaned_data["password"] request.user.set_password(new_password) request.user.save(broadcast=False, update_fields=["password"]) + login(request, request.user) - data["success"] = True + data = {"success": True, "form": forms.ChangePasswordForm()} return TemplateResponse(request, "preferences/change_password.html", data) From b62f8eff42e402c7c7aa1b3a353c7e893c90b61c Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 15 Jul 2022 10:56:13 -0700 Subject: [PATCH 24/28] Updates method decorators --- bookwyrm/views/preferences/change_password.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bookwyrm/views/preferences/change_password.py b/bookwyrm/views/preferences/change_password.py index 1563cd08a..d66035560 100644 --- a/bookwyrm/views/preferences/change_password.py +++ b/bookwyrm/views/preferences/change_password.py @@ -19,10 +19,10 @@ class ChangePassword(View): data = {"form": forms.ChangePasswordForm()} return TemplateResponse(request, "preferences/change_password.html", data) - @sensitive_variables("new_password") + @method_decorator(sensitive_variables("new_password")) @method_decorator(sensitive_post_parameters("current_password")) @method_decorator(sensitive_post_parameters("password")) - @method_decorator(sensitive_post_parameters("confirm__password")) + @method_decorator(sensitive_post_parameters("confirm_password")) def post(self, request): """allow a user to change their password""" form = forms.ChangePasswordForm(request.POST, instance=request.user) From 1bb0a9d99864c6573bce0e410e6521872f1c77bd Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 15 Jul 2022 11:18:47 -0700 Subject: [PATCH 25/28] Updates tests --- bookwyrm/tests/views/preferences/test_change_password.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bookwyrm/tests/views/preferences/test_change_password.py b/bookwyrm/tests/views/preferences/test_change_password.py index fdcf577b0..879ffd03d 100644 --- a/bookwyrm/tests/views/preferences/test_change_password.py +++ b/bookwyrm/tests/views/preferences/test_change_password.py @@ -54,6 +54,7 @@ class ChangePasswordViews(TestCase): with patch("bookwyrm.views.preferences.change_password.login"): result = view(request) validate_html(result.render()) + self.local_user.refresh_from_db() self.assertNotEqual(self.local_user.password, password_hash) def test_password_change_wrong_current(self): @@ -71,6 +72,7 @@ class ChangePasswordViews(TestCase): request.user = self.local_user result = view(request) validate_html(result.render()) + self.local_user.refresh_from_db() self.assertEqual(self.local_user.password, password_hash) def test_password_change_mismatch(self): @@ -88,6 +90,7 @@ class ChangePasswordViews(TestCase): request.user = self.local_user result = view(request) validate_html(result.render()) + self.local_user.refresh_from_db() self.assertEqual(self.local_user.password, password_hash) def test_password_change_invalid(self): @@ -105,4 +108,5 @@ class ChangePasswordViews(TestCase): request.user = self.local_user result = view(request) validate_html(result.render()) + self.local_user.refresh_from_db() self.assertEqual(self.local_user.password, password_hash) From 3846b201bd153eb657efe8942a3cc49882341d1d Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 15 Jul 2022 11:25:49 -0700 Subject: [PATCH 26/28] Updates reset password flow to use validators --- bookwyrm/forms/landing.py | 31 +++++++++++++++++-- .../templates/landing/password_reset.html | 6 ++-- bookwyrm/views/landing/password.py | 15 +++++---- 3 files changed, 39 insertions(+), 13 deletions(-) diff --git a/bookwyrm/forms/landing.py b/bookwyrm/forms/landing.py index 36c18dfb8..a31e8a7c4 100644 --- a/bookwyrm/forms/landing.py +++ b/bookwyrm/forms/landing.py @@ -1,7 +1,7 @@ """ Forms for the landing pages """ +from django import forms from django.contrib.auth.password_validation import validate_password from django.core.exceptions import ValidationError -from django.forms import PasswordInput from django.utils.translation import gettext_lazy as _ from bookwyrm import models @@ -15,7 +15,7 @@ class LoginForm(CustomForm): fields = ["localname", "password"] help_texts = {f: None for f in fields} widgets = { - "password": PasswordInput(), + "password": forms.PasswordInput(), } @@ -24,7 +24,7 @@ class RegisterForm(CustomForm): model = models.User fields = ["localname", "email", "password"] help_texts = {f: None for f in fields} - widgets = {"password": PasswordInput()} + widgets = {"password": forms.PasswordInput()} def clean(self): """Check if the username is taken""" @@ -49,3 +49,28 @@ class InviteRequestForm(CustomForm): class Meta: model = models.InviteRequest fields = ["email", "answer"] + + +class PasswordResetForm(CustomForm): + confirm_password = forms.CharField(widget=forms.PasswordInput) + + class Meta: + model = models.User + fields = ["password"] + widgets = { + "password": forms.PasswordInput(), + } + + def clean(self): + """Make sure the passwords match and are valid""" + cleaned_data = super().clean() + new_password = cleaned_data.get("password") + confirm_password = self.data.get("confirm_password") + + if new_password != confirm_password: + self.add_error("confirm_password", _("Password does not match")) + + try: + validate_password(new_password) + except ValidationError as err: + self.add_error("password", err) diff --git a/bookwyrm/templates/landing/password_reset.html b/bookwyrm/templates/landing/password_reset.html index 8348efd4f..d56cba625 100644 --- a/bookwyrm/templates/landing/password_reset.html +++ b/bookwyrm/templates/landing/password_reset.html @@ -26,7 +26,8 @@ {% trans "Password:" %}
- + {{ form.password }} + {% include 'snippets/form_errors.html' with errors_list=form.password.errors id="desc_current_password" %}
@@ -34,7 +35,8 @@ {% trans "Confirm password:" %}
- + {{ form.confirm_password }} + {% include 'snippets/form_errors.html' with errors_list=form.confirm_password.errors id="desc_confirm_password" %}
diff --git a/bookwyrm/views/landing/password.py b/bookwyrm/views/landing/password.py index a7eb001b0..7487b9414 100644 --- a/bookwyrm/views/landing/password.py +++ b/bookwyrm/views/landing/password.py @@ -5,7 +5,7 @@ from django.shortcuts import redirect from django.template.response import TemplateResponse from django.views import View -from bookwyrm import models +from bookwyrm import forms, models from bookwyrm.emailing import password_reset_email @@ -57,7 +57,8 @@ class PasswordReset(View): except models.PasswordReset.DoesNotExist: raise PermissionDenied() - return TemplateResponse(request, "landing/password_reset.html", {"code": code}) + data = {"code": code, "form": forms.PasswordResetForm()} + return TemplateResponse(request, "landing/password_reset.html", data) def post(self, request, code): """allow a user to change their password through an emailed token""" @@ -68,14 +69,12 @@ class PasswordReset(View): return TemplateResponse(request, "landing/password_reset.html", data) user = reset_code.user - - new_password = request.POST.get("password") - confirm_password = request.POST.get("confirm-password") - - if new_password != confirm_password: - data = {"errors": ["Passwords do not match"]} + form = forms.PasswordResetForm(request.POST, instance=user) + if not form.is_valid(): + data = {"code": code, "form": form} return TemplateResponse(request, "landing/password_reset.html", data) + new_password = form.cleaned_data["password"] user.set_password(new_password) user.save(broadcast=False, update_fields=["password"]) login(request, user) From b1f5171502df49cb7847005f70c2cd8db57f9152 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 15 Jul 2022 11:39:29 -0700 Subject: [PATCH 27/28] Updates reset password tests --- bookwyrm/tests/views/landing/test_password.py | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/bookwyrm/tests/views/landing/test_password.py b/bookwyrm/tests/views/landing/test_password.py index b1f7e59f0..c7c7e05d5 100644 --- a/bookwyrm/tests/views/landing/test_password.py +++ b/bookwyrm/tests/views/landing/test_password.py @@ -104,7 +104,9 @@ class PasswordViews(TestCase): """reset from code""" view = views.PasswordReset.as_view() code = models.PasswordReset.objects.create(user=self.local_user) - request = self.factory.post("", {"password": "hi", "confirm-password": "hi"}) + request = self.factory.post( + "", {"password": "longwordsecure", "confirm_password": "longwordsecure"} + ) with patch("bookwyrm.views.landing.password.login"): resp = view(request, code.code) self.assertEqual(resp.status_code, 302) @@ -114,7 +116,9 @@ class PasswordViews(TestCase): """reset from code""" view = views.PasswordReset.as_view() models.PasswordReset.objects.create(user=self.local_user) - request = self.factory.post("", {"password": "hi", "confirm-password": "hi"}) + request = self.factory.post( + "", {"password": "longwordsecure", "confirm_password": "longwordsecure"} + ) resp = view(request, "jhgdkfjgdf") validate_html(resp.render()) self.assertTrue(models.PasswordReset.objects.exists()) @@ -123,7 +127,18 @@ class PasswordViews(TestCase): """reset from code""" view = views.PasswordReset.as_view() code = models.PasswordReset.objects.create(user=self.local_user) - request = self.factory.post("", {"password": "hi", "confirm-password": "hihi"}) + request = self.factory.post( + "", {"password": "longwordsecure", "confirm_password": "hihi"} + ) + resp = view(request, code.code) + validate_html(resp.render()) + self.assertTrue(models.PasswordReset.objects.exists()) + + def test_password_reset_invalid(self): + """reset from code""" + view = views.PasswordReset.as_view() + code = models.PasswordReset.objects.create(user=self.local_user) + request = self.factory.post("", {"password": "a", "confirm_password": "a"}) resp = view(request, code.code) validate_html(resp.render()) self.assertTrue(models.PasswordReset.objects.exists()) From 65117fe3c6bc3e8567a9576c7b66e52258fa8a9b Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 15 Jul 2022 11:41:39 -0700 Subject: [PATCH 28/28] Use manual password field to customize id --- bookwyrm/templates/landing/password_reset.html | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/bookwyrm/templates/landing/password_reset.html b/bookwyrm/templates/landing/password_reset.html index d56cba625..786eaa0ab 100644 --- a/bookwyrm/templates/landing/password_reset.html +++ b/bookwyrm/templates/landing/password_reset.html @@ -26,8 +26,16 @@ {% trans "Password:" %}
- {{ form.password }} - {% include 'snippets/form_errors.html' with errors_list=form.password.errors id="desc_current_password" %} + + {% include 'snippets/form_errors.html' with errors_list=form.password.errors id="desc_password" %}