From af3c84cd8741334e723d09a895bf6576143deac1 Mon Sep 17 00:00:00 2001 From: Joel Bradshaw Date: Mon, 10 Jan 2022 06:43:43 +0000 Subject: [PATCH 001/289] Add basic logging config --- bookwyrm/settings.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py index fe2f7467a..d56b569de 100644 --- a/bookwyrm/settings.py +++ b/bookwyrm/settings.py @@ -106,6 +106,27 @@ TEMPLATES = [ }, ] +LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'handlers': { + 'console': { + 'class': 'logging.StreamHandler', + }, + }, + 'root': { + 'handlers': ['console'], + 'level': 'WARNING', + }, + 'loggers': { + 'django': { + 'handlers': ['console'], + 'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'), + 'propagate': False, + }, + }, +} + WSGI_APPLICATION = "bookwyrm.wsgi.application" From 83851c29338ac269fefa7bc8971116e70b583e88 Mon Sep 17 00:00:00 2001 From: Joel Bradshaw Date: Mon, 10 Jan 2022 06:45:14 +0000 Subject: [PATCH 002/289] Add bookwyrm-specific logging --- bookwyrm/settings.py | 4 ++++ bookwyrm/views/inbox.py | 15 ++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py index d56b569de..31ad75d8f 100644 --- a/bookwyrm/settings.py +++ b/bookwyrm/settings.py @@ -124,6 +124,10 @@ LOGGING = { 'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'), 'propagate': False, }, + 'bookwyrm': { + 'handlers': ['console'], + 'level': os.getenv('LOG_LEVEL', 'DEBUG' if DEBUG else 'INFO').upper(), + } }, } diff --git a/bookwyrm/views/inbox.py b/bookwyrm/views/inbox.py index 239824958..514cb685b 100644 --- a/bookwyrm/views/inbox.py +++ b/bookwyrm/views/inbox.py @@ -10,12 +10,14 @@ from django.utils.decorators import method_decorator from django.views import View from django.views.decorators.csrf import csrf_exempt import requests +import logging from bookwyrm import activitypub, models from bookwyrm.tasks import app from bookwyrm.signatures import Signature from bookwyrm.utils import regex +logger = logging.getLogger(__name__) @method_decorator(csrf_exempt, name="dispatch") # pylint: disable=no-self-use @@ -71,6 +73,7 @@ def raise_is_blocked_user_agent(request): return url = url.group() if models.FederatedServer.is_blocked(url): + logger.debug(f"{url} is blocked, denying request based on user agent") raise PermissionDenied() @@ -78,16 +81,18 @@ def raise_is_blocked_activity(activity_json): """get the sender out of activity json and check if it's blocked""" actor = activity_json.get("actor") - # check if the user is banned/deleted - existing = models.User.find_existing_by_remote_id(actor) - if existing and existing.deleted: - raise PermissionDenied() - if not actor: # well I guess it's not even a valid activity so who knows return + # check if the user is banned/deleted + existing = models.User.find_existing_by_remote_id(actor) + if existing and existing.deleted: + logger.debug(f"{actor} is banned/deleted, denying request based on actor") + raise PermissionDenied() + if models.FederatedServer.is_blocked(actor): + logger.debug(f"{actor} is blocked, denying request based on actor") raise PermissionDenied() From 085dd24a62df7f08608fea096dcfe198079f4c72 Mon Sep 17 00:00:00 2001 From: Joel Bradshaw Date: Sun, 9 Jan 2022 23:26:27 -0800 Subject: [PATCH 003/289] Simplify and explain our overrides This should also fix the 500s-in-prod issue, yay --- bookwyrm/settings.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py index 31ad75d8f..a3b0d48d6 100644 --- a/bookwyrm/settings.py +++ b/bookwyrm/settings.py @@ -106,27 +106,30 @@ TEMPLATES = [ }, ] +LOG_LEVEL = env('LOG_LEVEL', 'INFO').upper() +# Override aspects of the default handler to our taste +# See https://docs.djangoproject.com/en/3.2/topics/logging/#default-logging-configuration +# for a reference to the defaults we're overriding LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { + # Overrides the default handler, which does not log in prod 'console': { + 'level': LOG_LEVEL, 'class': 'logging.StreamHandler', }, }, - 'root': { - 'handlers': ['console'], - 'level': 'WARNING', - }, 'loggers': { + # Override the log level for the default logger 'django': { - 'handlers': ['console'], - 'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'), - 'propagate': False, + 'handlers': ['console', 'mail_admins'], + 'level': LOG_LEVEL, }, + # Add a bookwyrm-specific logger 'bookwyrm': { 'handlers': ['console'], - 'level': os.getenv('LOG_LEVEL', 'DEBUG' if DEBUG else 'INFO').upper(), + 'level': LOG_LEVEL, } }, } From 5cf1d8a30a50b67a15f1110538238b63eb114283 Mon Sep 17 00:00:00 2001 From: Joel Bradshaw Date: Sun, 9 Jan 2022 23:53:23 -0800 Subject: [PATCH 004/289] Make it black --- bookwyrm/settings.py | 30 +++++++++++++++--------------- bookwyrm/views/inbox.py | 1 + 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py index a3b0d48d6..57a49df0b 100644 --- a/bookwyrm/settings.py +++ b/bookwyrm/settings.py @@ -106,31 +106,31 @@ TEMPLATES = [ }, ] -LOG_LEVEL = env('LOG_LEVEL', 'INFO').upper() +LOG_LEVEL = env("LOG_LEVEL", "INFO").upper() # Override aspects of the default handler to our taste # See https://docs.djangoproject.com/en/3.2/topics/logging/#default-logging-configuration # for a reference to the defaults we're overriding LOGGING = { - 'version': 1, - 'disable_existing_loggers': False, - 'handlers': { + "version": 1, + "disable_existing_loggers": False, + "handlers": { # Overrides the default handler, which does not log in prod - 'console': { - 'level': LOG_LEVEL, - 'class': 'logging.StreamHandler', + "console": { + "level": LOG_LEVEL, + "class": "logging.StreamHandler", }, }, - 'loggers': { + "loggers": { # Override the log level for the default logger - 'django': { - 'handlers': ['console', 'mail_admins'], - 'level': LOG_LEVEL, + "django": { + "handlers": ["console", "mail_admins"], + "level": LOG_LEVEL, }, # Add a bookwyrm-specific logger - 'bookwyrm': { - 'handlers': ['console'], - 'level': LOG_LEVEL, - } + "bookwyrm": { + "handlers": ["console"], + "level": LOG_LEVEL, + }, }, } diff --git a/bookwyrm/views/inbox.py b/bookwyrm/views/inbox.py index 514cb685b..1d2c303b4 100644 --- a/bookwyrm/views/inbox.py +++ b/bookwyrm/views/inbox.py @@ -19,6 +19,7 @@ from bookwyrm.utils import regex logger = logging.getLogger(__name__) + @method_decorator(csrf_exempt, name="dispatch") # pylint: disable=no-self-use class Inbox(View): From 29ebfc456d4e584b11cc993e67e9f84410524bc2 Mon Sep 17 00:00:00 2001 From: Joel Bradshaw Date: Sun, 9 Jan 2022 23:57:57 -0800 Subject: [PATCH 005/289] Use run --rm instead of exec for initdb This way we don't depend on the containers already being up and running. --- bw-dev | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bw-dev b/bw-dev index 6bf5a125e..29c2660da 100755 --- a/bw-dev +++ b/bw-dev @@ -30,12 +30,12 @@ function execweb { } function initdb { - execweb python manage.py migrate - execweb python manage.py initdb + runweb python manage.py migrate + runweb python manage.py initdb } function makeitblack { - docker-compose run --rm web black celerywyrm bookwyrm + runweb black celerywyrm bookwyrm } function awscommand { From 7dc7965b7643ad9b7a8a864d5addd71659dd5420 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 16 Jan 2022 19:38:21 -0800 Subject: [PATCH 006/289] Fixes weird display of author page --- bookwyrm/templates/author/author.html | 41 +++++++++++++-------------- 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/bookwyrm/templates/author/author.html b/bookwyrm/templates/author/author.html index 2f3ed6f03..27beeb468 100644 --- a/bookwyrm/templates/author/author.html +++ b/bookwyrm/templates/author/author.html @@ -23,18 +23,13 @@ -
+
- {% if author.bio %} -
- {% include "snippets/trimmed_text.html" with full=author.bio trim_length=200 %} -
- {% endif %} {% firstof author.aliases author.born author.died as details %} {% firstof author.wikipedia_link author.openlibrary_key author.inventaire_id author.isni as links %} {% if details or links %} -
+
{% if details %}

{% trans "Author details" %}

@@ -137,26 +132,28 @@ {% endif %}
{% endif %} -
- +
+ {% if author.bio %} + {% include "snippets/trimmed_text.html" with full=author.bio trim_length=200 %} + {% endif %} -
-

{% blocktrans with name=author.name %}Books by {{ name }}{% endblocktrans %}

-
- {% for book in books %} -
-
- {% include 'landing/small-book.html' with book=book %} +

{% blocktrans with name=author.name %}Books by {{ name }}{% endblocktrans %}

+
+ {% for book in books %} +
+
+ {% include 'landing/small-book.html' with book=book %} +
+ {% include 'snippets/shelve_button/shelve_button.html' with book=book %}
- {% include 'snippets/shelve_button/shelve_button.html' with book=book %} + {% endfor %} +
+ +
+ {% include 'snippets/pagination.html' with page=books %}
- {% endfor %}
-
- {% include 'snippets/pagination.html' with page=books %} -
- {% endblock %} From b060cf47f275ebe8209fabaac43e67b59c6171cd Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 17 Jan 2022 08:01:39 -0800 Subject: [PATCH 007/289] Fixes bad cache on content status reading buttons --- bookwyrm/templates/snippets/status/content_status.html | 3 --- 1 file changed, 3 deletions(-) diff --git a/bookwyrm/templates/snippets/status/content_status.html b/bookwyrm/templates/snippets/status/content_status.html index 034e29e94..01734cc78 100644 --- a/bookwyrm/templates/snippets/status/content_status.html +++ b/bookwyrm/templates/snippets/status/content_status.html @@ -3,7 +3,6 @@ {% load i18n %} {% load static %} {% load humanize %} -{% load cache %} {% with status_type=status.status_type %}
{% if not hide_book %} - {% cache 259200 content_status_book status.id %} {% with book=status.book|default:status.mention_books.first %} {% if book %}
@@ -36,7 +34,6 @@
{% endif %} {% endwith %} - {% endcache %} {% endif %}
From 32a3570b5a772f1d9ebb03cf0dfea47b8532bf47 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 17 Jan 2022 08:08:59 -0800 Subject: [PATCH 008/289] Updates locales --- locale/de_DE/LC_MESSAGES/django.mo | Bin 73501 -> 72911 bytes locale/de_DE/LC_MESSAGES/django.po | 108 ++++---- locale/en_US/LC_MESSAGES/django.po | 361 ++++++++++++++++++++------- locale/es_ES/LC_MESSAGES/django.mo | Bin 79545 -> 79543 bytes locale/es_ES/LC_MESSAGES/django.po | 108 ++++---- locale/fr_FR/LC_MESSAGES/django.mo | Bin 79004 -> 79004 bytes locale/fr_FR/LC_MESSAGES/django.po | 102 ++++---- locale/gl_ES/LC_MESSAGES/django.mo | Bin 77786 -> 77784 bytes locale/gl_ES/LC_MESSAGES/django.po | 108 ++++---- locale/it_IT/LC_MESSAGES/django.mo | Bin 76233 -> 78729 bytes locale/it_IT/LC_MESSAGES/django.po | 134 +++++----- locale/lt_LT/LC_MESSAGES/django.mo | Bin 74891 -> 75364 bytes locale/lt_LT/LC_MESSAGES/django.po | 108 ++++---- locale/no_NO/LC_MESSAGES/django.mo | Bin 75705 -> 75072 bytes locale/no_NO/LC_MESSAGES/django.po | 108 ++++---- locale/pt_BR/LC_MESSAGES/django.mo | Bin 78148 -> 78146 bytes locale/pt_BR/LC_MESSAGES/django.po | 108 ++++---- locale/pt_PT/LC_MESSAGES/django.mo | Bin 73743 -> 73743 bytes locale/pt_PT/LC_MESSAGES/django.po | 102 ++++---- locale/zh_Hans/LC_MESSAGES/django.mo | Bin 67101 -> 67101 bytes locale/zh_Hans/LC_MESSAGES/django.po | 102 ++++---- locale/zh_Hant/LC_MESSAGES/django.mo | Bin 36669 -> 36669 bytes locale/zh_Hant/LC_MESSAGES/django.po | 102 ++++---- 23 files changed, 888 insertions(+), 663 deletions(-) diff --git a/locale/de_DE/LC_MESSAGES/django.mo b/locale/de_DE/LC_MESSAGES/django.mo index 881c71b46c35dd243df3d8605f1169d14eaef23b..45e2a74bdcc17cfd79ec7313fd60a77c38978afb 100644 GIT binary patch delta 17094 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 SEVHr2>X&sl4tTJk)c*mq8x9o! delta 17402 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 diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po index 8343ef5b8..336eed79d 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-01-12 18:37+0000\n" -"PO-Revision-Date: 2022-01-13 07:16\n" +"POT-Creation-Date: 2022-01-13 16:54+0000\n" +"PO-Revision-Date: 2022-01-13 17:50\n" "Last-Translator: Mouse Reeve \n" "Language-Team: German\n" "Language: de\n" @@ -157,6 +157,38 @@ msgstr "Benutzer*inname" msgid "A user with that username already exists." msgstr "Dieser Benutzer*inname ist bereits vergeben." +#: bookwyrm/models/fields.py:207 +#: bookwyrm/templates/snippets/privacy-icons.html:3 +#: bookwyrm/templates/snippets/privacy-icons.html:4 +#: bookwyrm/templates/snippets/privacy_select.html:11 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 +msgid "Public" +msgstr "Öffentlich" + +#: bookwyrm/models/fields.py:208 +#: bookwyrm/templates/snippets/privacy-icons.html:7 +#: bookwyrm/templates/snippets/privacy-icons.html:8 +#: bookwyrm/templates/snippets/privacy_select.html:14 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 +msgid "Unlisted" +msgstr "Ungelistet" + +#: bookwyrm/models/fields.py:209 +#: bookwyrm/templates/snippets/privacy_select.html:17 +#: bookwyrm/templates/user/relationships/followers.html:6 +#: bookwyrm/templates/user/relationships/layout.html:11 +msgid "Followers" +msgstr "Follower*innen" + +#: bookwyrm/models/fields.py:210 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/privacy-icons.html:15 +#: bookwyrm/templates/snippets/privacy-icons.html:16 +#: bookwyrm/templates/snippets/privacy_select.html:20 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 +msgid "Private" +msgstr "Privat" + #: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 msgid "Reviews" msgstr "Besprechungen" @@ -173,69 +205,69 @@ msgstr "Zitate" msgid "Everything else" msgstr "Alles Andere" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home Timeline" msgstr "Start-Zeitleiste" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home" msgstr "Startseite" -#: bookwyrm/settings.py:121 +#: bookwyrm/settings.py:122 msgid "Books Timeline" msgstr "Bücher-Zeitleiste" -#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Bücher" -#: bookwyrm/settings.py:195 +#: bookwyrm/settings.py:196 msgid "English" msgstr "English (Englisch)" -#: bookwyrm/settings.py:196 +#: bookwyrm/settings.py:197 msgid "Deutsch (German)" msgstr "Deutsch" -#: bookwyrm/settings.py:197 +#: bookwyrm/settings.py:198 msgid "Español (Spanish)" msgstr "Español (Spanisch)" -#: bookwyrm/settings.py:198 +#: bookwyrm/settings.py:199 msgid "Galego (Galician)" msgstr "Galego (Galizisch)" -#: bookwyrm/settings.py:199 +#: bookwyrm/settings.py:200 msgid "Italiano (Italian)" msgstr "" -#: bookwyrm/settings.py:200 +#: bookwyrm/settings.py:201 msgid "Français (French)" msgstr "Français (Französisch)" -#: bookwyrm/settings.py:201 +#: bookwyrm/settings.py:202 msgid "Lietuvių (Lithuanian)" msgstr "Litauisch (Lithuanian)" -#: bookwyrm/settings.py:202 +#: bookwyrm/settings.py:203 msgid "Norsk (Norwegian)" msgstr "" -#: bookwyrm/settings.py:203 +#: bookwyrm/settings.py:204 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Portugiesisch (Brasilien)" -#: bookwyrm/settings.py:204 +#: bookwyrm/settings.py:205 msgid "Português Europeu (European Portuguese)" msgstr "Portugiesisch (Portugal)" -#: bookwyrm/settings.py:205 +#: bookwyrm/settings.py:206 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (vereinfachtes Chinesisch)" -#: bookwyrm/settings.py:206 +#: bookwyrm/settings.py:207 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chinesisch, traditionell)" @@ -3793,14 +3825,6 @@ msgstr "Spoileralarm aktivieren" msgid "Comment:" msgstr "Kommentar:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 -#: bookwyrm/templates/snippets/privacy-icons.html:15 -#: bookwyrm/templates/snippets/privacy-icons.html:16 -#: bookwyrm/templates/snippets/privacy_select.html:20 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 -msgid "Private" -msgstr "Privat" - #: bookwyrm/templates/snippets/create_status/post_options_block.html:21 msgid "Post" msgstr "Veröffentlichen" @@ -3925,15 +3949,15 @@ msgstr[1] "hat %(title)s mit %(display_rating) #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4 #, python-format -msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" -msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" -msgstr[0] "Rezension von \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" -msgstr[1] "Rezension von \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" +msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" +msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" +msgstr[0] "" +msgstr[1] "" #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12 #, python-format -msgid "Review of \"%(book_title)s\": {{ review_title }" -msgstr "Rezension von \"%(book_title)s\": {{ review_title }" +msgid "Review of \"%(book_title)s\": %(review_title)s" +msgstr "" #: bookwyrm/templates/snippets/goal_form.html:4 #, python-format @@ -3994,20 +4018,6 @@ msgstr "Zurück" msgid "Next" msgstr "Weiter" -#: bookwyrm/templates/snippets/privacy-icons.html:3 -#: bookwyrm/templates/snippets/privacy-icons.html:4 -#: bookwyrm/templates/snippets/privacy_select.html:11 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 -msgid "Public" -msgstr "Öffentlich" - -#: bookwyrm/templates/snippets/privacy-icons.html:7 -#: bookwyrm/templates/snippets/privacy-icons.html:8 -#: bookwyrm/templates/snippets/privacy_select.html:14 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 -msgid "Unlisted" -msgstr "Ungelistet" - #: bookwyrm/templates/snippets/privacy-icons.html:12 msgid "Followers-only" msgstr "Nur für Follower*innen" @@ -4017,12 +4027,6 @@ msgstr "Nur für Follower*innen" msgid "Post privacy" msgstr "Beitragssichtbarkeit" -#: bookwyrm/templates/snippets/privacy_select.html:17 -#: bookwyrm/templates/user/relationships/followers.html:6 -#: bookwyrm/templates/user/relationships/layout.html:11 -msgid "Followers" -msgstr "Follower*innen" - #: bookwyrm/templates/snippets/rate_action.html:4 msgid "Leave a rating" msgstr "Bewerten" diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po index 0752ba9ed..9b22e27c2 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-01-13 16:54+0000\n" +"POT-Creation-Date: 2022-01-17 16:05+0000\n" "PO-Revision-Date: 2021-02-28 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -18,62 +18,62 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: bookwyrm/forms.py:351 +#: bookwyrm/forms.py:365 msgid "A user with this email already exists." msgstr "" -#: bookwyrm/forms.py:365 +#: bookwyrm/forms.py:379 msgid "One Day" msgstr "" -#: bookwyrm/forms.py:366 +#: bookwyrm/forms.py:380 msgid "One Week" msgstr "" -#: bookwyrm/forms.py:367 +#: bookwyrm/forms.py:381 msgid "One Month" msgstr "" -#: bookwyrm/forms.py:368 +#: bookwyrm/forms.py:382 msgid "Does Not Expire" msgstr "" -#: bookwyrm/forms.py:372 +#: bookwyrm/forms.py:386 #, python-brace-format msgid "{i} uses" msgstr "" -#: bookwyrm/forms.py:373 +#: bookwyrm/forms.py:387 msgid "Unlimited" msgstr "" -#: bookwyrm/forms.py:469 +#: bookwyrm/forms.py:483 msgid "List Order" msgstr "" -#: bookwyrm/forms.py:470 +#: bookwyrm/forms.py:484 msgid "Book Title" msgstr "" -#: bookwyrm/forms.py:471 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms.py:485 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:33 msgid "Rating" msgstr "" -#: bookwyrm/forms.py:473 bookwyrm/templates/lists/list.html:134 +#: bookwyrm/forms.py:487 bookwyrm/templates/lists/list.html:134 msgid "Sort By" msgstr "" -#: bookwyrm/forms.py:477 +#: bookwyrm/forms.py:491 msgid "Ascending" msgstr "" -#: bookwyrm/forms.py:478 +#: bookwyrm/forms.py:492 msgid "Descending" msgstr "" -#: bookwyrm/forms.py:491 +#: bookwyrm/forms.py:505 msgid "Reading finish date cannot be before start date." msgstr "" @@ -85,8 +85,9 @@ msgstr "" msgid "Could not find a match for book" msgstr "" -#: bookwyrm/models/base_model.py:17 +#: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:62 #: bookwyrm/templates/import/import_status.html:200 +#: bookwyrm/templates/settings/link_domains/link_domains.html:19 msgid "Pending" msgstr "" @@ -106,23 +107,23 @@ msgstr "" msgid "Domain block" msgstr "" -#: bookwyrm/models/book.py:250 +#: bookwyrm/models/book.py:253 msgid "Audiobook" msgstr "" -#: bookwyrm/models/book.py:251 +#: bookwyrm/models/book.py:254 msgid "eBook" msgstr "" -#: bookwyrm/models/book.py:252 +#: bookwyrm/models/book.py:255 msgid "Graphic novel" msgstr "" -#: bookwyrm/models/book.py:253 +#: bookwyrm/models/book.py:256 msgid "Hardcover" msgstr "" -#: bookwyrm/models/book.py:254 +#: bookwyrm/models/book.py:257 msgid "Paperback" msgstr "" @@ -132,10 +133,11 @@ msgstr "" msgid "Federated" msgstr "" -#: bookwyrm/models/federated_server.py:12 +#: bookwyrm/models/federated_server.py:12 bookwyrm/models/link.py:61 #: bookwyrm/templates/settings/federation/edit_instance.html:44 #: bookwyrm/templates/settings/federation/instance.html:10 #: bookwyrm/templates/settings/federation/instance_list.html:23 +#: bookwyrm/templates/settings/link_domains/link_domains.html:27 msgid "Blocked" msgstr "" @@ -190,6 +192,11 @@ msgstr "" msgid "Private" msgstr "" +#: bookwyrm/models/link.py:60 +#: bookwyrm/templates/settings/link_domains/link_domains.html:23 +msgid "Approved" +msgstr "" + #: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 msgid "Reviews" msgstr "" @@ -348,7 +355,7 @@ msgid "Admin" msgstr "" #: bookwyrm/templates/about/about.html:130 -#: bookwyrm/templates/settings/users/user_moderation_actions.html:13 +#: bookwyrm/templates/settings/users/user_moderation_actions.html:14 #: bookwyrm/templates/snippets/status/status_options.html:35 #: bookwyrm/templates/snippets/user_options.html:13 msgid "Send direct message" @@ -530,61 +537,61 @@ msgstr "" msgid "Edit Author" msgstr "" -#: bookwyrm/templates/author/author.html:40 +#: bookwyrm/templates/author/author.html:35 msgid "Author details" msgstr "" -#: bookwyrm/templates/author/author.html:44 +#: bookwyrm/templates/author/author.html:39 #: bookwyrm/templates/author/edit_author.html:42 msgid "Aliases:" msgstr "" -#: bookwyrm/templates/author/author.html:53 +#: bookwyrm/templates/author/author.html:48 msgid "Born:" msgstr "" -#: bookwyrm/templates/author/author.html:60 +#: bookwyrm/templates/author/author.html:55 msgid "Died:" msgstr "" -#: bookwyrm/templates/author/author.html:70 +#: bookwyrm/templates/author/author.html:65 msgid "External links" msgstr "" -#: bookwyrm/templates/author/author.html:75 +#: bookwyrm/templates/author/author.html:70 msgid "Wikipedia" msgstr "" -#: bookwyrm/templates/author/author.html:83 +#: bookwyrm/templates/author/author.html:78 msgid "View ISNI record" msgstr "" -#: bookwyrm/templates/author/author.html:88 +#: bookwyrm/templates/author/author.html:83 #: bookwyrm/templates/author/sync_modal.html:5 #: bookwyrm/templates/book/book.html:122 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "" -#: bookwyrm/templates/author/author.html:92 +#: bookwyrm/templates/author/author.html:87 #: bookwyrm/templates/book/book.html:126 msgid "View on OpenLibrary" msgstr "" -#: bookwyrm/templates/author/author.html:107 +#: bookwyrm/templates/author/author.html:102 #: bookwyrm/templates/book/book.html:140 msgid "View on Inventaire" msgstr "" -#: bookwyrm/templates/author/author.html:123 +#: bookwyrm/templates/author/author.html:118 msgid "View on LibraryThing" msgstr "" -#: bookwyrm/templates/author/author.html:131 +#: bookwyrm/templates/author/author.html:126 msgid "View on Goodreads" msgstr "" -#: bookwyrm/templates/author/author.html:145 +#: bookwyrm/templates/author/author.html:141 #, python-format msgid "Books by %(name)s" msgstr "" @@ -614,7 +621,9 @@ msgid "Metadata" msgstr "" #: bookwyrm/templates/author/edit_author.html:35 -#: bookwyrm/templates/lists/form.html:9 bookwyrm/templates/shelf/form.html:9 +#: bookwyrm/templates/lists/form.html:9 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:14 +#: bookwyrm/templates/shelf/form.html:9 msgid "Name:" msgstr "" @@ -668,6 +677,7 @@ msgstr "" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 #: bookwyrm/templates/book/edit/edit_book.html:121 +#: bookwyrm/templates/book/file_links/add_link_modal.html:50 #: bookwyrm/templates/groups/form.html:30 #: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/form.html:130 @@ -677,7 +687,7 @@ msgstr "" #: bookwyrm/templates/settings/federation/edit_instance.html:82 #: bookwyrm/templates/settings/federation/instance.html:87 #: bookwyrm/templates/settings/site.html:133 -#: bookwyrm/templates/settings/users/user_moderation_actions.html:68 +#: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 msgid "Save" @@ -689,13 +699,16 @@ msgstr "" #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/book/edit/edit_book.html:123 #: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/file_links/add_link_modal.html:52 +#: bookwyrm/templates/book/file_links/verification_modal.html:21 #: bookwyrm/templates/book/sync_modal.html:23 #: bookwyrm/templates/groups/delete_group_modal.html:17 #: bookwyrm/templates/lists/delete_list_modal.html:18 #: bookwyrm/templates/readthrough/delete_readthrough_modal.html:23 #: bookwyrm/templates/readthrough/readthrough_modal.html:74 #: bookwyrm/templates/settings/federation/instance.html:88 -#: bookwyrm/templates/snippets/report_modal.html:38 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:22 +#: bookwyrm/templates/snippets/report_modal.html:54 msgid "Cancel" msgstr "" @@ -1040,6 +1053,102 @@ msgstr "" msgid "Search editions" msgstr "" +#: bookwyrm/templates/book/file_links/add_link_modal.html:6 +msgid "Add file link" +msgstr "" + +#: bookwyrm/templates/book/file_links/add_link_modal.html:19 +msgid "Links from unknown domains will need to be approved by a moderator before they are added." +msgstr "" + +#: bookwyrm/templates/book/file_links/add_link_modal.html:24 +msgid "URL:" +msgstr "" + +#: bookwyrm/templates/book/file_links/add_link_modal.html:29 +msgid "File type:" +msgstr "" + +#: bookwyrm/templates/book/file_links/edit_links.html:5 +#: bookwyrm/templates/book/file_links/edit_links.html:22 +#: bookwyrm/templates/book/file_links/links.html:47 +msgid "Edit links" +msgstr "" + +#: bookwyrm/templates/book/file_links/edit_links.html:11 +#, python-format +msgid "" +"\n" +" Links for \"%(title)s\"\n" +" " +msgstr "" + +#: bookwyrm/templates/book/file_links/edit_links.html:32 +#: bookwyrm/templates/settings/link_domains/link_table.html:6 +msgid "URL" +msgstr "" + +#: bookwyrm/templates/book/file_links/edit_links.html:33 +#: bookwyrm/templates/settings/link_domains/link_table.html:7 +msgid "Added by" +msgstr "" + +#: bookwyrm/templates/book/file_links/edit_links.html:34 +#: bookwyrm/templates/settings/link_domains/link_table.html:8 +msgid "Filetype" +msgstr "" + +#: bookwyrm/templates/book/file_links/edit_links.html:35 +#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25 +#: bookwyrm/templates/settings/reports/report_links_table.html:5 +msgid "Domain" +msgstr "" + +#: bookwyrm/templates/book/file_links/edit_links.html:36 +#: bookwyrm/templates/settings/federation/instance.html:94 +#: bookwyrm/templates/settings/reports/report_links_table.html:6 +msgid "Actions" +msgstr "" + +#: bookwyrm/templates/book/file_links/edit_links.html:52 +#: bookwyrm/templates/book/file_links/verification_modal.html:25 +msgid "Report spam" +msgstr "" + +#: bookwyrm/templates/book/file_links/edit_links.html:65 +msgid "No links available for this book." +msgstr "" + +#: bookwyrm/templates/book/file_links/edit_links.html:76 +#: bookwyrm/templates/book/file_links/links.html:18 +msgid "Add link to file" +msgstr "" + +#: bookwyrm/templates/book/file_links/file_link_page.html:6 +msgid "File Links" +msgstr "" + +#: bookwyrm/templates/book/file_links/links.html:9 +msgid "Get a copy" +msgstr "" + +#: bookwyrm/templates/book/file_links/links.html:41 +msgid "No links available" +msgstr "" + +#: bookwyrm/templates/book/file_links/verification_modal.html:5 +msgid "Leaving BookWyrm" +msgstr "" + +#: bookwyrm/templates/book/file_links/verification_modal.html:11 +#, python-format +msgid "This link is taking you to: %(link_url)s.
Is that where you'd like to go?" +msgstr "" + +#: bookwyrm/templates/book/file_links/verification_modal.html:20 +msgid "Continue" +msgstr "" + #: bookwyrm/templates/book/publisher_info.html:23 #, python-format msgid "%(format)s, %(pages)s pages" @@ -1110,8 +1219,8 @@ msgstr "" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 -#: bookwyrm/templates/settings/dashboard/dashboard.html:93 -#: bookwyrm/templates/snippets/report_modal.html:37 +#: bookwyrm/templates/settings/dashboard/dashboard.html:104 +#: bookwyrm/templates/snippets/report_modal.html:52 msgid "Submit" msgstr "" @@ -1858,6 +1967,7 @@ msgid "Review" msgstr "" #: bookwyrm/templates/import/import_status.html:124 +#: bookwyrm/templates/settings/link_domains/link_table.html:9 msgid "Book" msgstr "" @@ -1910,6 +2020,7 @@ msgstr "" #: bookwyrm/templates/import/manual_review.html:58 #: bookwyrm/templates/lists/curate.html:59 +#: bookwyrm/templates/settings/link_domains/link_domains.html:76 msgid "Approve" msgstr "" @@ -2257,6 +2368,7 @@ msgid "List position" msgstr "" #: bookwyrm/templates/lists/list.html:101 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:21 msgid "Set" msgstr "" @@ -2788,6 +2900,11 @@ msgstr "" msgid "Add read dates for \"%(title)s\"" msgstr "" +#: bookwyrm/templates/report.html:5 +#: bookwyrm/templates/snippets/report_button.html:13 +msgid "Report" +msgstr "" + #: bookwyrm/templates/search/book.html:44 msgid "Results from" msgstr "" @@ -2860,13 +2977,13 @@ msgstr "" #: bookwyrm/templates/settings/announcements/announcement.html:46 #: bookwyrm/templates/settings/announcements/announcement_form.html:44 -#: bookwyrm/templates/settings/dashboard/dashboard.html:71 +#: bookwyrm/templates/settings/dashboard/dashboard.html:82 msgid "Start date:" msgstr "" #: bookwyrm/templates/settings/announcements/announcement.html:51 #: bookwyrm/templates/settings/announcements/announcement_form.html:54 -#: bookwyrm/templates/settings/dashboard/dashboard.html:77 +#: bookwyrm/templates/settings/dashboard/dashboard.html:88 msgid "End date:" msgstr "" @@ -2894,7 +3011,7 @@ msgstr "" #: bookwyrm/templates/settings/announcements/announcements.html:3 #: bookwyrm/templates/settings/announcements/announcements.html:5 -#: bookwyrm/templates/settings/layout.html:72 +#: bookwyrm/templates/settings/layout.html:76 msgid "Announcements" msgstr "" @@ -2934,7 +3051,7 @@ msgid "Dashboard" msgstr "" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:100 +#: bookwyrm/templates/settings/dashboard/dashboard.html:111 msgid "Total users" msgstr "" @@ -2961,36 +3078,43 @@ msgstr[1] "" #: bookwyrm/templates/settings/dashboard/dashboard.html:54 #, 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:65 +#, python-format msgid "%(display_count)s invite request" msgid_plural "%(display_count)s invite requests" msgstr[0] "" msgstr[1] "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:65 +#: bookwyrm/templates/settings/dashboard/dashboard.html:76 msgid "Instance Activity" msgstr "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:83 +#: bookwyrm/templates/settings/dashboard/dashboard.html:94 msgid "Interval:" msgstr "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:87 +#: bookwyrm/templates/settings/dashboard/dashboard.html:98 msgid "Days" msgstr "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:88 +#: bookwyrm/templates/settings/dashboard/dashboard.html:99 msgid "Weeks" msgstr "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:106 +#: bookwyrm/templates/settings/dashboard/dashboard.html:117 msgid "User signup activity" msgstr "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:112 +#: bookwyrm/templates/settings/dashboard/dashboard.html:123 msgid "Status activity" msgstr "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:118 +#: bookwyrm/templates/settings/dashboard/dashboard.html:129 msgid "Works created" msgstr "" @@ -3025,10 +3149,6 @@ msgstr "" msgid "When someone tries to register with an email from this domain, no account will be created. The registration process will appear to have worked." msgstr "" -#: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:25 -msgid "Domain" -msgstr "" - #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:29 #: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:27 msgid "Options" @@ -3140,12 +3260,8 @@ msgstr "" msgid "No notes" msgstr "" -#: bookwyrm/templates/settings/federation/instance.html:94 -#: bookwyrm/templates/settings/users/user_moderation_actions.html:8 -msgid "Actions" -msgstr "" - #: bookwyrm/templates/settings/federation/instance.html:98 +#: bookwyrm/templates/settings/link_domains/link_domains.html:87 #: bookwyrm/templates/snippets/block_button.html:5 msgid "Block" msgstr "" @@ -3358,62 +3474,113 @@ msgstr "" msgid "Reports" msgstr "" -#: bookwyrm/templates/settings/layout.html:68 +#: bookwyrm/templates/settings/layout.html:67 +#: bookwyrm/templates/settings/link_domains/link_domains.html:5 +#: bookwyrm/templates/settings/link_domains/link_domains.html:7 +msgid "Link Domains" +msgstr "" + +#: bookwyrm/templates/settings/layout.html:72 msgid "Instance Settings" msgstr "" -#: bookwyrm/templates/settings/layout.html:76 +#: bookwyrm/templates/settings/layout.html:80 #: bookwyrm/templates/settings/site.html:4 #: bookwyrm/templates/settings/site.html:6 msgid "Site Settings" msgstr "" -#: bookwyrm/templates/settings/reports/report.html:5 -#: bookwyrm/templates/settings/reports/report.html:8 -#: bookwyrm/templates/settings/reports/report_preview.html:6 +#: bookwyrm/templates/settings/link_domains/edit_domain_modal.html:5 #, python-format -msgid "Report #%(report_id)s: %(username)s" +msgid "Set display name for %(url)s" msgstr "" -#: bookwyrm/templates/settings/reports/report.html:9 +#: bookwyrm/templates/settings/link_domains/link_domains.html:11 +msgid "Link domains must be approved before they are shown on book pages. Please make sure that the domains are not hosting spam, malicious code, or deceptive links before approving." +msgstr "" + +#: bookwyrm/templates/settings/link_domains/link_domains.html:45 +msgid "Set display name" +msgstr "" + +#: bookwyrm/templates/settings/link_domains/link_domains.html:53 +msgid "View links" +msgstr "" + +#: bookwyrm/templates/settings/link_domains/link_domains.html:96 +msgid "No domains currently approved" +msgstr "" + +#: bookwyrm/templates/settings/link_domains/link_domains.html:98 +msgid "No domains currently pending" +msgstr "" + +#: bookwyrm/templates/settings/link_domains/link_domains.html:100 +msgid "No domains currently blocked" +msgstr "" + +#: bookwyrm/templates/settings/link_domains/link_table.html:39 +msgid "No links available for this domain." +msgstr "" + +#: bookwyrm/templates/settings/reports/report.html:11 msgid "Back to reports" msgstr "" -#: bookwyrm/templates/settings/reports/report.html:23 +#: bookwyrm/templates/settings/reports/report.html:22 +msgid "Reported statuses" +msgstr "" + +#: bookwyrm/templates/settings/reports/report.html:27 +msgid "Status has been deleted" +msgstr "" + +#: bookwyrm/templates/settings/reports/report.html:39 +msgid "Reported links" +msgstr "" + +#: bookwyrm/templates/settings/reports/report.html:55 msgid "Moderator Comments" msgstr "" -#: bookwyrm/templates/settings/reports/report.html:41 +#: bookwyrm/templates/settings/reports/report.html:73 #: bookwyrm/templates/snippets/create_status.html:28 msgid "Comment" msgstr "" -#: bookwyrm/templates/settings/reports/report.html:46 -msgid "Reported statuses" +#: bookwyrm/templates/settings/reports/report_header.html:6 +#, python-format +msgid "Report #%(report_id)s: Status posted by @%(username)s" msgstr "" -#: bookwyrm/templates/settings/reports/report.html:48 -msgid "No statuses reported" +#: bookwyrm/templates/settings/reports/report_header.html:12 +#, python-format +msgid "Report #%(report_id)s: Link added by @%(username)s" msgstr "" -#: bookwyrm/templates/settings/reports/report.html:54 -msgid "Status has been deleted" +#: bookwyrm/templates/settings/reports/report_header.html:18 +#, python-format +msgid "Report #%(report_id)s: User @%(username)s" msgstr "" -#: bookwyrm/templates/settings/reports/report_preview.html:13 +#: bookwyrm/templates/settings/reports/report_links_table.html:17 +msgid "Block domain" +msgstr "" + +#: bookwyrm/templates/settings/reports/report_preview.html:17 msgid "No notes provided" msgstr "" -#: bookwyrm/templates/settings/reports/report_preview.html:20 +#: bookwyrm/templates/settings/reports/report_preview.html:24 #, python-format -msgid "Reported by %(username)s" +msgid "Reported by @%(username)s" msgstr "" -#: bookwyrm/templates/settings/reports/report_preview.html:30 +#: bookwyrm/templates/settings/reports/report_preview.html:34 msgid "Re-open" msgstr "" -#: bookwyrm/templates/settings/reports/report_preview.html:32 +#: bookwyrm/templates/settings/reports/report_preview.html:36 msgid "Resolve" msgstr "" @@ -3541,7 +3708,7 @@ msgid "Invite request text:" msgstr "" #: bookwyrm/templates/settings/users/delete_user_form.html:5 -#: bookwyrm/templates/settings/users/user_moderation_actions.html:31 +#: bookwyrm/templates/settings/users/user_moderation_actions.html:32 msgid "Permanently delete user" msgstr "" @@ -3651,15 +3818,19 @@ msgstr "" msgid "Permanently deleted" msgstr "" -#: bookwyrm/templates/settings/users/user_moderation_actions.html:20 +#: bookwyrm/templates/settings/users/user_moderation_actions.html:8 +msgid "User Actions" +msgstr "" + +#: bookwyrm/templates/settings/users/user_moderation_actions.html:21 msgid "Suspend user" msgstr "" -#: bookwyrm/templates/settings/users/user_moderation_actions.html:25 +#: bookwyrm/templates/settings/users/user_moderation_actions.html:26 msgid "Un-suspend user" msgstr "" -#: bookwyrm/templates/settings/users/user_moderation_actions.html:47 +#: bookwyrm/templates/settings/users/user_moderation_actions.html:48 msgid "Access level:" msgstr "" @@ -4063,21 +4234,31 @@ msgstr "" msgid "Sign Up" msgstr "" -#: bookwyrm/templates/snippets/report_button.html:13 -msgid "Report" +#: bookwyrm/templates/snippets/report_modal.html:8 +#, python-format +msgid "Report @%(username)s's status" msgstr "" -#: bookwyrm/templates/snippets/report_modal.html:6 +#: bookwyrm/templates/snippets/report_modal.html:10 +#, python-format +msgid "Report %(domain)s link" +msgstr "" + +#: bookwyrm/templates/snippets/report_modal.html:12 #, python-format msgid "Report @%(username)s" msgstr "" -#: bookwyrm/templates/snippets/report_modal.html:23 +#: bookwyrm/templates/snippets/report_modal.html:34 #, python-format msgid "This report will be sent to %(site_name)s's moderators for review." msgstr "" -#: bookwyrm/templates/snippets/report_modal.html:26 +#: bookwyrm/templates/snippets/report_modal.html:36 +msgid "Links from this domain will be removed until your report has been reviewed." +msgstr "" + +#: bookwyrm/templates/snippets/report_modal.html:41 msgid "More info about this report:" msgstr "" diff --git a/locale/es_ES/LC_MESSAGES/django.mo b/locale/es_ES/LC_MESSAGES/django.mo index c5333e390d50034e67532984dc4e70af7de1c8cf..04887d7d0bacc6bf07b591418d4172337c78fa0c 100644 GIT binary patch delta 10270 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 delta 10214 zcmZwNd0bb;{>Sn2MHU5AWJ?hQQ9uw}KuHZ3C^b=0)4VF~ByD&?vXzu#ZanK^T2KJ%HG^TkK)yypGMHSevr zL)=b|<2?S3$_Nq`U=dz)##1iV+dYEAH0VFSdP9}Wv=5?#~`eMF&KlXw%!v1 zsSm?Y96i@@D+ZWOLmCYWZHLdW8ub%c6)&PDzJ;35XPybD2F6hjNA=G@Eu=GQqMoRQ z48{@o3|7Wt)-&^56Y)~-CtTQo&dI2iH9jFx^ z!1{O+73iO+@#-!x3rln9k#)ct*bOzo5UhnSVir!t1T4XZcoSnWa-kWxE$Y3F zs6cz5#v6*&aSVpz6pTi983lg|yHSxJMy321D$)z67cZms_`a?GjgL^TUf?+Kn1Je^ zgIY*$)O&-lB4f7w4b(VqBZ0ckJo{iN*5$z(48vlKz%!_U@1g>Gh+1LbyJmuL)LzG< zCQie?n1SlQ2$kWrsD6d03>0By=66m}NTT5areeS%GjJPhNj(S4aE7h-TkJTA)C({L z_n|Uz)wX*tF=wF>X4Bryx)d8x{~4n&^k2Nk{7x!`ZJ3RrSdPIMywvP%97a-q5_JZK zq55q=ZQWkfbu2-pwiK1IZ*2QH)Ye|aaURFHf!dn<<>X)YdK`tP@l{j`%dDrZ7f~s{ ziWOU7eTW*!cZIp0;i&hMFdWltJsb6YPg@^=+M4_oSm`*qxC%AUpQyd9vdS2awW-&$^|q*tbwLF(1QqCut6Y=fG4{b?R4P}aQn?-z za5L(Klc>{t-qvrTuGa(9Aq#lVj2D5bx5hB+f(l?LD&X;`_oliOwAYJK9X4VJ?nmv} zaqD^13s+Eqlw%b7t~S@NJ}Lv9Q5oukT1Xx$lh0!<9EA#K7S2U?H3bf~)AW54SqUmd zCsA8-0X5J~`}{7ZQ}F=v9JR+kpx(QQ3gjTS^%3sB=O!!FG4RQu4REEj#KPeVVPja{(-bMQx7Z~Bq>P`T(u`!;NfJ8®29-* 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 diff --git a/locale/es_ES/LC_MESSAGES/django.po b/locale/es_ES/LC_MESSAGES/django.po index 8262bd0ad..50336a34e 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-01-12 18:37+0000\n" -"PO-Revision-Date: 2022-01-12 21:26\n" +"POT-Creation-Date: 2022-01-13 16:54+0000\n" +"PO-Revision-Date: 2022-01-13 18:45\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Spanish\n" "Language: es\n" @@ -157,6 +157,38 @@ msgstr "nombre de usuario" msgid "A user with that username already exists." msgstr "Ya existe un usuario con ese nombre." +#: bookwyrm/models/fields.py:207 +#: bookwyrm/templates/snippets/privacy-icons.html:3 +#: bookwyrm/templates/snippets/privacy-icons.html:4 +#: bookwyrm/templates/snippets/privacy_select.html:11 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 +msgid "Public" +msgstr "Público" + +#: bookwyrm/models/fields.py:208 +#: bookwyrm/templates/snippets/privacy-icons.html:7 +#: bookwyrm/templates/snippets/privacy-icons.html:8 +#: bookwyrm/templates/snippets/privacy_select.html:14 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 +msgid "Unlisted" +msgstr "No listado" + +#: bookwyrm/models/fields.py:209 +#: bookwyrm/templates/snippets/privacy_select.html:17 +#: bookwyrm/templates/user/relationships/followers.html:6 +#: bookwyrm/templates/user/relationships/layout.html:11 +msgid "Followers" +msgstr "Seguidores" + +#: bookwyrm/models/fields.py:210 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/privacy-icons.html:15 +#: bookwyrm/templates/snippets/privacy-icons.html:16 +#: bookwyrm/templates/snippets/privacy_select.html:20 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 +msgid "Private" +msgstr "Privado" + #: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 msgid "Reviews" msgstr "Reseñas" @@ -173,69 +205,69 @@ msgstr "Citas" msgid "Everything else" msgstr "Todo lo demás" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home Timeline" msgstr "Línea de tiempo principal" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home" msgstr "Inicio" -#: bookwyrm/settings.py:121 +#: bookwyrm/settings.py:122 msgid "Books Timeline" msgstr "Línea temporal de libros" -#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Libros" -#: bookwyrm/settings.py:195 +#: bookwyrm/settings.py:196 msgid "English" msgstr "English (Inglés)" -#: bookwyrm/settings.py:196 +#: bookwyrm/settings.py:197 msgid "Deutsch (German)" msgstr "Deutsch (Alemán)" -#: bookwyrm/settings.py:197 +#: bookwyrm/settings.py:198 msgid "Español (Spanish)" msgstr "Español" -#: bookwyrm/settings.py:198 +#: bookwyrm/settings.py:199 msgid "Galego (Galician)" msgstr "Galego (Gallego)" -#: bookwyrm/settings.py:199 +#: bookwyrm/settings.py:200 msgid "Italiano (Italian)" msgstr "Italiano" -#: bookwyrm/settings.py:200 +#: bookwyrm/settings.py:201 msgid "Français (French)" msgstr "Français (Francés)" -#: bookwyrm/settings.py:201 +#: bookwyrm/settings.py:202 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lituano)" -#: bookwyrm/settings.py:202 +#: bookwyrm/settings.py:203 msgid "Norsk (Norwegian)" msgstr "Norsk (Noruego)" -#: bookwyrm/settings.py:203 +#: bookwyrm/settings.py:204 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Portugués brasileño)" -#: bookwyrm/settings.py:204 +#: bookwyrm/settings.py:205 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portugués europeo)" -#: bookwyrm/settings.py:205 +#: bookwyrm/settings.py:206 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Chino simplificado)" -#: bookwyrm/settings.py:206 +#: bookwyrm/settings.py:207 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chino tradicional)" @@ -3793,14 +3825,6 @@ msgstr "Incluir alerta de spoiler" msgid "Comment:" msgstr "Comentario:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 -#: bookwyrm/templates/snippets/privacy-icons.html:15 -#: bookwyrm/templates/snippets/privacy-icons.html:16 -#: bookwyrm/templates/snippets/privacy_select.html:20 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 -msgid "Private" -msgstr "Privado" - #: bookwyrm/templates/snippets/create_status/post_options_block.html:21 msgid "Post" msgstr "Compartir" @@ -3925,15 +3949,15 @@ msgstr[1] "valoró %(title)s: %(display_rating #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4 #, python-format -msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" -msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" -msgstr[0] "Reseña de «%(book_title)s» (%(display_rating)s estrella): %(review_title)s" -msgstr[1] "Reseña de «%(book_title)s» (%(display_rating)s estrellas): %(review_title)s" +msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" +msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" +msgstr[0] "Reseña de «%(book_title)s» (%(display_rating)s estrella): %(review_title)s" +msgstr[1] "Reseña de «%(book_title)s» (%(display_rating)s estrellas): %(review_title)s" #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12 #, python-format -msgid "Review of \"%(book_title)s\": {{ review_title }" -msgstr "Reseña de «%(book_title)s»: {{ review_title }" +msgid "Review of \"%(book_title)s\": %(review_title)s" +msgstr "Reseña de «%(book_title)s»: %(review_title)s" #: bookwyrm/templates/snippets/goal_form.html:4 #, python-format @@ -3994,20 +4018,6 @@ msgstr "Anterior" msgid "Next" msgstr "Siguiente" -#: bookwyrm/templates/snippets/privacy-icons.html:3 -#: bookwyrm/templates/snippets/privacy-icons.html:4 -#: bookwyrm/templates/snippets/privacy_select.html:11 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 -msgid "Public" -msgstr "Público" - -#: bookwyrm/templates/snippets/privacy-icons.html:7 -#: bookwyrm/templates/snippets/privacy-icons.html:8 -#: bookwyrm/templates/snippets/privacy_select.html:14 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 -msgid "Unlisted" -msgstr "No listado" - #: bookwyrm/templates/snippets/privacy-icons.html:12 msgid "Followers-only" msgstr "Solo seguidores" @@ -4017,12 +4027,6 @@ msgstr "Solo seguidores" msgid "Post privacy" msgstr "Privacidad de publicación" -#: bookwyrm/templates/snippets/privacy_select.html:17 -#: bookwyrm/templates/user/relationships/followers.html:6 -#: bookwyrm/templates/user/relationships/layout.html:11 -msgid "Followers" -msgstr "Seguidores" - #: bookwyrm/templates/snippets/rate_action.html:4 msgid "Leave a rating" msgstr "Da una valoración" diff --git a/locale/fr_FR/LC_MESSAGES/django.mo b/locale/fr_FR/LC_MESSAGES/django.mo index 4a2eb71156218b4902da0b2aeeca989bd051bb62..32c8441e0e1569bcebadc6e7316a7da87ef4cc5c 100644 GIT binary patch delta 19 bcmbR9l4Z_ImJKDFS\n" "Language-Team: French\n" "Language: fr\n" @@ -157,6 +157,38 @@ msgstr "nom du compte :" msgid "A user with that username already exists." msgstr "Ce nom est déjà associé à un compte." +#: bookwyrm/models/fields.py:207 +#: bookwyrm/templates/snippets/privacy-icons.html:3 +#: bookwyrm/templates/snippets/privacy-icons.html:4 +#: bookwyrm/templates/snippets/privacy_select.html:11 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 +msgid "Public" +msgstr "Public" + +#: bookwyrm/models/fields.py:208 +#: bookwyrm/templates/snippets/privacy-icons.html:7 +#: bookwyrm/templates/snippets/privacy-icons.html:8 +#: bookwyrm/templates/snippets/privacy_select.html:14 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 +msgid "Unlisted" +msgstr "Non listé" + +#: bookwyrm/models/fields.py:209 +#: bookwyrm/templates/snippets/privacy_select.html:17 +#: bookwyrm/templates/user/relationships/followers.html:6 +#: bookwyrm/templates/user/relationships/layout.html:11 +msgid "Followers" +msgstr "Abonné(e)s" + +#: bookwyrm/models/fields.py:210 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/privacy-icons.html:15 +#: bookwyrm/templates/snippets/privacy-icons.html:16 +#: bookwyrm/templates/snippets/privacy_select.html:20 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 +msgid "Private" +msgstr "Privé" + #: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 msgid "Reviews" msgstr "Critiques" @@ -173,69 +205,69 @@ msgstr "Citations" msgid "Everything else" msgstr "Tout le reste" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home Timeline" msgstr "Mon fil d’actualité" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home" msgstr "Accueil" -#: bookwyrm/settings.py:121 +#: bookwyrm/settings.py:122 msgid "Books Timeline" msgstr "Actualité de mes livres" -#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Livres" -#: bookwyrm/settings.py:195 +#: bookwyrm/settings.py:196 msgid "English" msgstr "English" -#: bookwyrm/settings.py:196 +#: bookwyrm/settings.py:197 msgid "Deutsch (German)" msgstr "Deutsch" -#: bookwyrm/settings.py:197 +#: bookwyrm/settings.py:198 msgid "Español (Spanish)" msgstr "Español" -#: bookwyrm/settings.py:198 +#: bookwyrm/settings.py:199 msgid "Galego (Galician)" msgstr "Galego (Galicien)" -#: bookwyrm/settings.py:199 +#: bookwyrm/settings.py:200 msgid "Italiano (Italian)" msgstr "Italiano (italien)" -#: bookwyrm/settings.py:200 +#: bookwyrm/settings.py:201 msgid "Français (French)" msgstr "Français" -#: bookwyrm/settings.py:201 +#: bookwyrm/settings.py:202 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lituanien)" -#: bookwyrm/settings.py:202 +#: bookwyrm/settings.py:203 msgid "Norsk (Norwegian)" msgstr "Norsk (norvégien)" -#: bookwyrm/settings.py:203 +#: bookwyrm/settings.py:204 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Portugais brésilien)" -#: bookwyrm/settings.py:204 +#: bookwyrm/settings.py:205 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portugais européen)" -#: bookwyrm/settings.py:205 +#: bookwyrm/settings.py:206 msgid "简体中文 (Simplified Chinese)" msgstr "简化字" -#: bookwyrm/settings.py:206 +#: bookwyrm/settings.py:207 msgid "繁體中文 (Traditional Chinese)" msgstr "Infos supplémentaires :" @@ -3793,14 +3825,6 @@ msgstr "Afficher une alerte spoiler" msgid "Comment:" msgstr "Commentaire :" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 -#: bookwyrm/templates/snippets/privacy-icons.html:15 -#: bookwyrm/templates/snippets/privacy-icons.html:16 -#: bookwyrm/templates/snippets/privacy_select.html:20 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 -msgid "Private" -msgstr "Privé" - #: bookwyrm/templates/snippets/create_status/post_options_block.html:21 msgid "Post" msgstr "Publier" @@ -3925,14 +3949,14 @@ msgstr[1] "a noté %(title)s : %(display_ratin #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4 #, python-format -msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" -msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" +msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" +msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" msgstr[0] "" msgstr[1] "" #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12 #, python-format -msgid "Review of \"%(book_title)s\": {{ review_title }" +msgid "Review of \"%(book_title)s\": %(review_title)s" msgstr "" #: bookwyrm/templates/snippets/goal_form.html:4 @@ -3994,20 +4018,6 @@ msgstr "Précédente" msgid "Next" msgstr "Suivante" -#: bookwyrm/templates/snippets/privacy-icons.html:3 -#: bookwyrm/templates/snippets/privacy-icons.html:4 -#: bookwyrm/templates/snippets/privacy_select.html:11 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 -msgid "Public" -msgstr "Public" - -#: bookwyrm/templates/snippets/privacy-icons.html:7 -#: bookwyrm/templates/snippets/privacy-icons.html:8 -#: bookwyrm/templates/snippets/privacy_select.html:14 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 -msgid "Unlisted" -msgstr "Non listé" - #: bookwyrm/templates/snippets/privacy-icons.html:12 msgid "Followers-only" msgstr "Abonnemé(e)s uniquement" @@ -4017,12 +4027,6 @@ msgstr "Abonnemé(e)s uniquement" msgid "Post privacy" msgstr "Confidentialité du statut" -#: bookwyrm/templates/snippets/privacy_select.html:17 -#: bookwyrm/templates/user/relationships/followers.html:6 -#: bookwyrm/templates/user/relationships/layout.html:11 -msgid "Followers" -msgstr "Abonné(e)s" - #: bookwyrm/templates/snippets/rate_action.html:4 msgid "Leave a rating" msgstr "Laisser une note" diff --git a/locale/gl_ES/LC_MESSAGES/django.mo b/locale/gl_ES/LC_MESSAGES/django.mo index 89d3d0d89905359ce49836389ebe2f7d11c1368c..918936d8da40485f56760dfd813b4d14a93e499d 100644 GIT binary patch delta 10268 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 diff --git a/locale/gl_ES/LC_MESSAGES/django.po b/locale/gl_ES/LC_MESSAGES/django.po index 7b2fc3475..798be463c 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-01-12 18:37+0000\n" -"PO-Revision-Date: 2022-01-13 04:45\n" +"POT-Creation-Date: 2022-01-13 16:54+0000\n" +"PO-Revision-Date: 2022-01-14 07:13\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Galician\n" "Language: gl\n" @@ -157,6 +157,38 @@ msgstr "nome de usuaria" msgid "A user with that username already exists." msgstr "Xa existe unha usuaria con ese nome." +#: bookwyrm/models/fields.py:207 +#: bookwyrm/templates/snippets/privacy-icons.html:3 +#: bookwyrm/templates/snippets/privacy-icons.html:4 +#: bookwyrm/templates/snippets/privacy_select.html:11 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 +msgid "Public" +msgstr "Público" + +#: bookwyrm/models/fields.py:208 +#: bookwyrm/templates/snippets/privacy-icons.html:7 +#: bookwyrm/templates/snippets/privacy-icons.html:8 +#: bookwyrm/templates/snippets/privacy_select.html:14 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 +msgid "Unlisted" +msgstr "Non listado" + +#: bookwyrm/models/fields.py:209 +#: bookwyrm/templates/snippets/privacy_select.html:17 +#: bookwyrm/templates/user/relationships/followers.html:6 +#: bookwyrm/templates/user/relationships/layout.html:11 +msgid "Followers" +msgstr "Seguidoras" + +#: bookwyrm/models/fields.py:210 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/privacy-icons.html:15 +#: bookwyrm/templates/snippets/privacy-icons.html:16 +#: bookwyrm/templates/snippets/privacy_select.html:20 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 +msgid "Private" +msgstr "Privado" + #: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 msgid "Reviews" msgstr "Recensións" @@ -173,69 +205,69 @@ msgstr "Citas" msgid "Everything else" msgstr "As outras cousas" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home Timeline" msgstr "Cronoloxía de Inicio" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home" msgstr "Inicio" -#: bookwyrm/settings.py:121 +#: bookwyrm/settings.py:122 msgid "Books Timeline" msgstr "Cronoloxía de libros" -#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Libros" -#: bookwyrm/settings.py:195 +#: bookwyrm/settings.py:196 msgid "English" msgstr "English (Inglés)" -#: bookwyrm/settings.py:196 +#: bookwyrm/settings.py:197 msgid "Deutsch (German)" msgstr "Alemán (Alemaña)" -#: bookwyrm/settings.py:197 +#: bookwyrm/settings.py:198 msgid "Español (Spanish)" msgstr "Español (España)" -#: bookwyrm/settings.py:198 +#: bookwyrm/settings.py:199 msgid "Galego (Galician)" msgstr "Galego (Galician)" -#: bookwyrm/settings.py:199 +#: bookwyrm/settings.py:200 msgid "Italiano (Italian)" msgstr "Italiano (Italian)" -#: bookwyrm/settings.py:200 +#: bookwyrm/settings.py:201 msgid "Français (French)" msgstr "Francés (Francia)" -#: bookwyrm/settings.py:201 +#: bookwyrm/settings.py:202 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lithuanian)" -#: bookwyrm/settings.py:202 +#: bookwyrm/settings.py:203 msgid "Norsk (Norwegian)" msgstr "Noruegués (Norwegian)" -#: bookwyrm/settings.py:203 +#: bookwyrm/settings.py:204 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Portugués brasileiro)" -#: bookwyrm/settings.py:204 +#: bookwyrm/settings.py:205 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portugués europeo)" -#: bookwyrm/settings.py:205 +#: bookwyrm/settings.py:206 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Chinés simplificado)" -#: bookwyrm/settings.py:206 +#: bookwyrm/settings.py:207 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chinés tradicional)" @@ -3793,14 +3825,6 @@ msgstr "Incluír alerta de spoiler" msgid "Comment:" msgstr "Comentario:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 -#: bookwyrm/templates/snippets/privacy-icons.html:15 -#: bookwyrm/templates/snippets/privacy-icons.html:16 -#: bookwyrm/templates/snippets/privacy_select.html:20 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 -msgid "Private" -msgstr "Privado" - #: bookwyrm/templates/snippets/create_status/post_options_block.html:21 msgid "Post" msgstr "Publicación" @@ -3925,15 +3949,15 @@ msgstr[1] "valorado %(title)s: %(display_ratin #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4 #, python-format -msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" -msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" -msgstr[0] "Recensión de \"%(book_title)s\" (%(display_rating)s estrela): %(review_title)s" -msgstr[1] "Recensión de \"%(book_title)s\" (%(display_rating)s estrelas): %(review_title)s" +msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" +msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" +msgstr[0] "Recensión de \"%(book_title)s\" (%(display_rating)s estrela): %(review_title)s" +msgstr[1] "Recensión de \"%(book_title)s\" (%(display_rating)s estrelas): %(review_title)s" #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12 #, python-format -msgid "Review of \"%(book_title)s\": {{ review_title }" -msgstr "Recensión de \"%(book_title)s\": { review_title }" +msgid "Review of \"%(book_title)s\": %(review_title)s" +msgstr "Recensión de \"%(book_title)s\" %(review_title)s" #: bookwyrm/templates/snippets/goal_form.html:4 #, python-format @@ -3994,20 +4018,6 @@ msgstr "Anterior" msgid "Next" msgstr "Seguinte" -#: bookwyrm/templates/snippets/privacy-icons.html:3 -#: bookwyrm/templates/snippets/privacy-icons.html:4 -#: bookwyrm/templates/snippets/privacy_select.html:11 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 -msgid "Public" -msgstr "Público" - -#: bookwyrm/templates/snippets/privacy-icons.html:7 -#: bookwyrm/templates/snippets/privacy-icons.html:8 -#: bookwyrm/templates/snippets/privacy_select.html:14 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 -msgid "Unlisted" -msgstr "Non listado" - #: bookwyrm/templates/snippets/privacy-icons.html:12 msgid "Followers-only" msgstr "Só seguidoras" @@ -4017,12 +4027,6 @@ msgstr "Só seguidoras" msgid "Post privacy" msgstr "Privacidade da publicación" -#: bookwyrm/templates/snippets/privacy_select.html:17 -#: bookwyrm/templates/user/relationships/followers.html:6 -#: bookwyrm/templates/user/relationships/layout.html:11 -msgid "Followers" -msgstr "Seguidoras" - #: bookwyrm/templates/snippets/rate_action.html:4 msgid "Leave a rating" msgstr "Fai unha valoración" diff --git a/locale/it_IT/LC_MESSAGES/django.mo b/locale/it_IT/LC_MESSAGES/django.mo index ee748f049ab34560c72025df31c54c92189944ed..ddc3628ee7dc47622c5a7936d7242efe54847125 100644 GIT binary patch delta 21914 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\n" "Language-Team: Italian\n" "Language: it\n" @@ -74,7 +74,7 @@ msgstr "Decrescente" #: bookwyrm/forms.py:491 msgid "Reading finish date cannot be before start date." -msgstr "" +msgstr "La data di fine lettura non può essere precedente alla data di inizio." #: bookwyrm/importers/importer.py:145 bookwyrm/importers/importer.py:167 msgid "Error loading book" @@ -157,6 +157,38 @@ msgstr "nome utente" msgid "A user with that username already exists." msgstr "Un utente con questo nome utente esiste già." +#: bookwyrm/models/fields.py:207 +#: bookwyrm/templates/snippets/privacy-icons.html:3 +#: bookwyrm/templates/snippets/privacy-icons.html:4 +#: bookwyrm/templates/snippets/privacy_select.html:11 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 +msgid "Public" +msgstr "Pubblico" + +#: bookwyrm/models/fields.py:208 +#: bookwyrm/templates/snippets/privacy-icons.html:7 +#: bookwyrm/templates/snippets/privacy-icons.html:8 +#: bookwyrm/templates/snippets/privacy_select.html:14 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 +msgid "Unlisted" +msgstr "Non in lista" + +#: bookwyrm/models/fields.py:209 +#: bookwyrm/templates/snippets/privacy_select.html:17 +#: bookwyrm/templates/user/relationships/followers.html:6 +#: bookwyrm/templates/user/relationships/layout.html:11 +msgid "Followers" +msgstr "Followers" + +#: bookwyrm/models/fields.py:210 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/privacy-icons.html:15 +#: bookwyrm/templates/snippets/privacy-icons.html:16 +#: bookwyrm/templates/snippets/privacy_select.html:20 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 +msgid "Private" +msgstr "Privata" + #: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 msgid "Reviews" msgstr "Recensioni" @@ -173,69 +205,69 @@ msgstr "Citazioni" msgid "Everything else" msgstr "Tutto il resto" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home Timeline" msgstr "La tua timeline" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home" msgstr "Home" -#: bookwyrm/settings.py:121 +#: bookwyrm/settings.py:122 msgid "Books Timeline" msgstr "Timeline dei libri" -#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Libri" -#: bookwyrm/settings.py:195 +#: bookwyrm/settings.py:196 msgid "English" msgstr "English (Inglese)" -#: bookwyrm/settings.py:196 +#: bookwyrm/settings.py:197 msgid "Deutsch (German)" msgstr "Deutsch (Tedesco)" -#: bookwyrm/settings.py:197 +#: bookwyrm/settings.py:198 msgid "Español (Spanish)" msgstr "Español (Spagnolo)" -#: bookwyrm/settings.py:198 +#: bookwyrm/settings.py:199 msgid "Galego (Galician)" msgstr "Galego (Galiziano)" -#: bookwyrm/settings.py:199 +#: bookwyrm/settings.py:200 msgid "Italiano (Italian)" msgstr "Italiano (Italiano)" -#: bookwyrm/settings.py:200 +#: bookwyrm/settings.py:201 msgid "Français (French)" msgstr "Français (Francese)" -#: bookwyrm/settings.py:201 +#: bookwyrm/settings.py:202 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lituano)" -#: bookwyrm/settings.py:202 +#: bookwyrm/settings.py:203 msgid "Norsk (Norwegian)" msgstr "Norsk (Norvegese)" -#: bookwyrm/settings.py:203 +#: bookwyrm/settings.py:204 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Portoghese Brasiliano)" -#: bookwyrm/settings.py:204 +#: bookwyrm/settings.py:205 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portoghese europeo)" -#: bookwyrm/settings.py:205 +#: bookwyrm/settings.py:206 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Cinese Semplificato)" -#: bookwyrm/settings.py:206 +#: bookwyrm/settings.py:207 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Cinese Tradizionale)" @@ -1476,7 +1508,7 @@ msgstr "Letture correnti" #: bookwyrm/templates/snippets/translated_shelf_name.html:9 #: bookwyrm/templates/user/user.html:35 msgid "Read" -msgstr "Leggi" +msgstr "Letti" #: bookwyrm/templates/get_started/books.html:6 msgid "What are you reading?" @@ -2703,7 +2735,7 @@ msgstr "Stai eliminando questa lettura e i suoi %(count)s aggiornamenti di avanz #: bookwyrm/templates/readthrough/readthrough_modal.html:8 #, python-format msgid "Update read dates for \"%(title)s\"" -msgstr "" +msgstr "Aggiorna date di lettura per \"%(title)s\"" #: bookwyrm/templates/readthrough/readthrough_form.html:10 #: bookwyrm/templates/readthrough/readthrough_modal.html:31 @@ -2754,7 +2786,7 @@ msgstr "Elimina queste date di lettura" #: bookwyrm/templates/readthrough/readthrough_modal.html:12 #, python-format msgid "Add read dates for \"%(title)s\"" -msgstr "" +msgstr "Aggiungi date di lettura per \"%(title)s\"" #: bookwyrm/templates/search/book.html:44 msgid "Results from" @@ -3641,7 +3673,7 @@ msgstr "Modifica Scaffale" #: bookwyrm/templates/shelf/shelf.html:24 msgid "User profile" -msgstr "" +msgstr "Profilo utente" #: bookwyrm/templates/shelf/shelf.html:39 #: bookwyrm/templates/snippets/translated_shelf_name.html:3 @@ -3793,14 +3825,6 @@ msgstr "Includi avviso spoiler" msgid "Comment:" msgstr "Commenta:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 -#: bookwyrm/templates/snippets/privacy-icons.html:15 -#: bookwyrm/templates/snippets/privacy-icons.html:16 -#: bookwyrm/templates/snippets/privacy_select.html:20 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 -msgid "Private" -msgstr "Privata" - #: bookwyrm/templates/snippets/create_status/post_options_block.html:21 msgid "Post" msgstr "Pubblica" @@ -3925,15 +3949,15 @@ msgstr[1] "valutato %(title)s: %(display_ratin #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4 #, python-format -msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" -msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" -msgstr[0] "" -msgstr[1] "" +msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" +msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" +msgstr[0] "Recensione di \"%(book_title)s\" (%(display_rating)s stella): %(review_title)s" +msgstr[1] "Recensione di \"%(book_title)s\" (%(display_rating)s stelle): %(review_title)s" #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12 #, python-format -msgid "Review of \"%(book_title)s\": {{ review_title }" -msgstr "" +msgid "Review of \"%(book_title)s\": %(review_title)s" +msgstr "Recensione di \"%(book_title)s\": %(review_title)s" #: bookwyrm/templates/snippets/goal_form.html:4 #, python-format @@ -3994,20 +4018,6 @@ msgstr "Precedente" msgid "Next" msgstr "Successivo" -#: bookwyrm/templates/snippets/privacy-icons.html:3 -#: bookwyrm/templates/snippets/privacy-icons.html:4 -#: bookwyrm/templates/snippets/privacy_select.html:11 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 -msgid "Public" -msgstr "Pubblico" - -#: bookwyrm/templates/snippets/privacy-icons.html:7 -#: bookwyrm/templates/snippets/privacy-icons.html:8 -#: bookwyrm/templates/snippets/privacy_select.html:14 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 -msgid "Unlisted" -msgstr "Non in lista" - #: bookwyrm/templates/snippets/privacy-icons.html:12 msgid "Followers-only" msgstr "Solo Followers" @@ -4017,12 +4027,6 @@ msgstr "Solo Followers" msgid "Post privacy" msgstr "Privacy dei post" -#: bookwyrm/templates/snippets/privacy_select.html:17 -#: bookwyrm/templates/user/relationships/followers.html:6 -#: bookwyrm/templates/user/relationships/layout.html:11 -msgid "Followers" -msgstr "Followers" - #: bookwyrm/templates/snippets/rate_action.html:4 msgid "Leave a rating" msgstr "Lascia una recensione" @@ -4145,7 +4149,7 @@ msgstr "modificato il %(date)s" #: bookwyrm/templates/snippets/status/headers/comment.html:8 #, python-format msgid "commented on %(book)s by %(author_name)s" -msgstr "" +msgstr "commento su %(book)s di %(author_name)s" #: bookwyrm/templates/snippets/status/headers/comment.html:15 #, python-format @@ -4160,7 +4164,7 @@ msgstr "ha risposto allo statodi %(book)s by %(author_name)s" -msgstr "" +msgstr "citazione da %(book)s di %(author_name)s" #: bookwyrm/templates/snippets/status/headers/quotation.html:15 #, python-format @@ -4175,7 +4179,7 @@ msgstr "valutato %(book)s:" #: bookwyrm/templates/snippets/status/headers/read.html:10 #, python-format msgid "finished reading %(book)s by %(author_name)s" -msgstr "" +msgstr "lettura del libro %(book)s di %(author_name)s completata" #: bookwyrm/templates/snippets/status/headers/read.html:17 #, python-format @@ -4185,7 +4189,7 @@ msgstr "lettura di %(book)s completata" #: bookwyrm/templates/snippets/status/headers/reading.html:10 #, python-format msgid "started reading %(book)s by %(author_name)s" -msgstr "" +msgstr "lettura del libro %(book)s di %(author_name)s iniziata" #: bookwyrm/templates/snippets/status/headers/reading.html:17 #, python-format @@ -4195,7 +4199,7 @@ msgstr "hai iniziato a leggere %(book)s" #: bookwyrm/templates/snippets/status/headers/review.html:8 #, python-format msgid "reviewed %(book)s by %(author_name)s" -msgstr "" +msgstr "recensito %(book)s di %(author_name)s" #: bookwyrm/templates/snippets/status/headers/review.html:15 #, python-format @@ -4205,12 +4209,12 @@ msgstr "recensito %(book)s" #: bookwyrm/templates/snippets/status/headers/to_read.html:10 #, python-format msgid "wants to read %(book)s by %(author_name)s" -msgstr "" +msgstr "da leggere %(book)s da %(author_name)s" #: bookwyrm/templates/snippets/status/headers/to_read.html:17 #, python-format msgid "wants to read %(book)s" -msgstr "" +msgstr "da leggere %(book)s" #: bookwyrm/templates/snippets/status/layout.html:24 #: bookwyrm/templates/snippets/status/status_options.html:17 @@ -4375,7 +4379,7 @@ msgstr "Ancora nessuna attività!" #: bookwyrm/templates/user/user_preview.html:22 #, python-format msgid "Joined %(date)s" -msgstr "Unisciti a %(date)s" +msgstr "Registrato %(date)s" #: bookwyrm/templates/user/user_preview.html:26 #, python-format diff --git a/locale/lt_LT/LC_MESSAGES/django.mo b/locale/lt_LT/LC_MESSAGES/django.mo index 62c51ca05fdb4bc113ec5272d5c18acd067a56d1..c5862461b423110c5de9d4138296ae4979430eb3 100644 GIT binary patch delta 15353 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 diff --git a/locale/lt_LT/LC_MESSAGES/django.po b/locale/lt_LT/LC_MESSAGES/django.po index 27db16f7b..a057889e5 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-01-12 18:37+0000\n" -"PO-Revision-Date: 2022-01-12 19:52\n" +"POT-Creation-Date: 2022-01-13 16:54+0000\n" +"PO-Revision-Date: 2022-01-14 00:49\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Lithuanian\n" "Language: lt\n" @@ -157,6 +157,38 @@ msgstr "naudotojo vardas" msgid "A user with that username already exists." msgstr "Toks naudotojo vardas jau egzistuoja." +#: bookwyrm/models/fields.py:207 +#: bookwyrm/templates/snippets/privacy-icons.html:3 +#: bookwyrm/templates/snippets/privacy-icons.html:4 +#: bookwyrm/templates/snippets/privacy_select.html:11 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 +msgid "Public" +msgstr "Viešas" + +#: bookwyrm/models/fields.py:208 +#: bookwyrm/templates/snippets/privacy-icons.html:7 +#: bookwyrm/templates/snippets/privacy-icons.html:8 +#: bookwyrm/templates/snippets/privacy_select.html:14 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 +msgid "Unlisted" +msgstr "Slaptas" + +#: bookwyrm/models/fields.py:209 +#: bookwyrm/templates/snippets/privacy_select.html:17 +#: bookwyrm/templates/user/relationships/followers.html:6 +#: bookwyrm/templates/user/relationships/layout.html:11 +msgid "Followers" +msgstr "Sekėjai" + +#: bookwyrm/models/fields.py:210 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/privacy-icons.html:15 +#: bookwyrm/templates/snippets/privacy-icons.html:16 +#: bookwyrm/templates/snippets/privacy_select.html:20 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 +msgid "Private" +msgstr "Privatu" + #: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 msgid "Reviews" msgstr "Apžvalgos" @@ -173,69 +205,69 @@ msgstr "Citatos" msgid "Everything else" msgstr "Visa kita" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home Timeline" msgstr "Pagrindinė siena" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home" msgstr "Pagrindinis" -#: bookwyrm/settings.py:121 +#: bookwyrm/settings.py:122 msgid "Books Timeline" msgstr "Knygų siena" -#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Knygos" -#: bookwyrm/settings.py:195 +#: bookwyrm/settings.py:196 msgid "English" msgstr "English (Anglų)" -#: bookwyrm/settings.py:196 +#: bookwyrm/settings.py:197 msgid "Deutsch (German)" msgstr "Deutsch (Vokiečių)" -#: bookwyrm/settings.py:197 +#: bookwyrm/settings.py:198 msgid "Español (Spanish)" msgstr "Español (Ispanų)" -#: bookwyrm/settings.py:198 +#: bookwyrm/settings.py:199 msgid "Galego (Galician)" msgstr "Galego (galisų)" -#: bookwyrm/settings.py:199 +#: bookwyrm/settings.py:200 msgid "Italiano (Italian)" msgstr "" -#: bookwyrm/settings.py:200 +#: bookwyrm/settings.py:201 msgid "Français (French)" msgstr "Français (Prancūzų)" -#: bookwyrm/settings.py:201 +#: bookwyrm/settings.py:202 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių" -#: bookwyrm/settings.py:202 +#: bookwyrm/settings.py:203 msgid "Norsk (Norwegian)" msgstr "" -#: bookwyrm/settings.py:203 +#: bookwyrm/settings.py:204 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português brasileiro (Brazilijos portugalų)" -#: bookwyrm/settings.py:204 +#: bookwyrm/settings.py:205 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Europos portugalų)" -#: bookwyrm/settings.py:205 +#: bookwyrm/settings.py:206 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Supaprastinta kinų)" -#: bookwyrm/settings.py:206 +#: bookwyrm/settings.py:207 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Tradicinė kinų)" @@ -2730,7 +2762,7 @@ msgstr "" #: bookwyrm/templates/snippets/reading_modals/finish_reading_modal.html:24 #: bookwyrm/templates/snippets/reading_modals/start_reading_modal.html:21 msgid "Started reading" -msgstr "Pradėta skaityti" +msgstr "Pradėjo skaityti" #: bookwyrm/templates/readthrough/readthrough_form.html:18 #: bookwyrm/templates/readthrough/readthrough_modal.html:49 @@ -3823,14 +3855,6 @@ msgstr "Įdėti įspėjimą apie turinio atskleidimą" msgid "Comment:" msgstr "Komentuoti:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 -#: bookwyrm/templates/snippets/privacy-icons.html:15 -#: bookwyrm/templates/snippets/privacy-icons.html:16 -#: bookwyrm/templates/snippets/privacy_select.html:20 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 -msgid "Private" -msgstr "Privatu" - #: bookwyrm/templates/snippets/create_status/post_options_block.html:21 msgid "Post" msgstr "Publikuoti" @@ -3963,8 +3987,8 @@ msgstr[3] "įvertinta %(title)s: %(display_rat #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4 #, python-format -msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" -msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" +msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" +msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -3972,7 +3996,7 @@ msgstr[3] "" #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12 #, python-format -msgid "Review of \"%(book_title)s\": {{ review_title }" +msgid "Review of \"%(book_title)s\": %(review_title)s" msgstr "" #: bookwyrm/templates/snippets/goal_form.html:4 @@ -4034,20 +4058,6 @@ msgstr "Ankstesnis" msgid "Next" msgstr "Kitas" -#: bookwyrm/templates/snippets/privacy-icons.html:3 -#: bookwyrm/templates/snippets/privacy-icons.html:4 -#: bookwyrm/templates/snippets/privacy_select.html:11 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 -msgid "Public" -msgstr "Viešas" - -#: bookwyrm/templates/snippets/privacy-icons.html:7 -#: bookwyrm/templates/snippets/privacy-icons.html:8 -#: bookwyrm/templates/snippets/privacy_select.html:14 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 -msgid "Unlisted" -msgstr "Slaptas" - #: bookwyrm/templates/snippets/privacy-icons.html:12 msgid "Followers-only" msgstr "Tik sekėjai" @@ -4057,12 +4067,6 @@ msgstr "Tik sekėjai" msgid "Post privacy" msgstr "Įrašo privatumas" -#: bookwyrm/templates/snippets/privacy_select.html:17 -#: bookwyrm/templates/user/relationships/followers.html:6 -#: bookwyrm/templates/user/relationships/layout.html:11 -msgid "Followers" -msgstr "Sekėjai" - #: bookwyrm/templates/snippets/rate_action.html:4 msgid "Leave a rating" msgstr "Palikti įvertinimą" @@ -4215,7 +4219,7 @@ msgstr "įvertino %(book)s:" #: bookwyrm/templates/snippets/status/headers/read.html:10 #, python-format msgid "finished reading %(book)s by %(author_name)s" -msgstr "" +msgstr "pabaigė skaityti %(author_name)s autoriaus knygą %(book)s" #: bookwyrm/templates/snippets/status/headers/read.html:17 #, python-format @@ -4225,7 +4229,7 @@ msgstr "baigė skaityti %(book)s" #: bookwyrm/templates/snippets/status/headers/reading.html:10 #, python-format msgid "started reading %(book)s by %(author_name)s" -msgstr "" +msgstr "pradėjo skaityti %(author_name)s autoriaus knygą %(book)s" #: bookwyrm/templates/snippets/status/headers/reading.html:17 #, python-format diff --git a/locale/no_NO/LC_MESSAGES/django.mo b/locale/no_NO/LC_MESSAGES/django.mo index 8ca7f9a7e2fefafd38f71e23fcca57398d7ded51..329cba8732ef431d3e7055ae3e57de4e152b68ab 100644 GIT binary patch delta 20187 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 diff --git a/locale/no_NO/LC_MESSAGES/django.po b/locale/no_NO/LC_MESSAGES/django.po index e0393097a..dba610b31 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-01-12 18:37+0000\n" -"PO-Revision-Date: 2022-01-12 23:57\n" +"POT-Creation-Date: 2022-01-13 16:54+0000\n" +"PO-Revision-Date: 2022-01-13 17:50\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Norwegian\n" "Language: no\n" @@ -157,6 +157,38 @@ msgstr "brukernavn" msgid "A user with that username already exists." msgstr "En bruker med det brukernavnet eksisterer allerede." +#: bookwyrm/models/fields.py:207 +#: bookwyrm/templates/snippets/privacy-icons.html:3 +#: bookwyrm/templates/snippets/privacy-icons.html:4 +#: bookwyrm/templates/snippets/privacy_select.html:11 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 +msgid "Public" +msgstr "Offentlig" + +#: bookwyrm/models/fields.py:208 +#: bookwyrm/templates/snippets/privacy-icons.html:7 +#: bookwyrm/templates/snippets/privacy-icons.html:8 +#: bookwyrm/templates/snippets/privacy_select.html:14 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 +msgid "Unlisted" +msgstr "Uoppført" + +#: bookwyrm/models/fields.py:209 +#: bookwyrm/templates/snippets/privacy_select.html:17 +#: bookwyrm/templates/user/relationships/followers.html:6 +#: bookwyrm/templates/user/relationships/layout.html:11 +msgid "Followers" +msgstr "Følgere" + +#: bookwyrm/models/fields.py:210 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/privacy-icons.html:15 +#: bookwyrm/templates/snippets/privacy-icons.html:16 +#: bookwyrm/templates/snippets/privacy_select.html:20 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 +msgid "Private" +msgstr "Privat" + #: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 msgid "Reviews" msgstr "Anmeldelser" @@ -173,69 +205,69 @@ msgstr "Sitater" msgid "Everything else" msgstr "Andre ting" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home Timeline" msgstr "Lokal tidslinje" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home" msgstr "Hjem" -#: bookwyrm/settings.py:121 +#: bookwyrm/settings.py:122 msgid "Books Timeline" msgstr "Boktidslinja" -#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Bøker" -#: bookwyrm/settings.py:195 +#: bookwyrm/settings.py:196 msgid "English" msgstr "English (Engelsk)" -#: bookwyrm/settings.py:196 +#: bookwyrm/settings.py:197 msgid "Deutsch (German)" msgstr "Deutsch (Tysk)" -#: bookwyrm/settings.py:197 +#: bookwyrm/settings.py:198 msgid "Español (Spanish)" msgstr "Español (Spansk)" -#: bookwyrm/settings.py:198 +#: bookwyrm/settings.py:199 msgid "Galego (Galician)" msgstr "Galego (Gallisk)" -#: bookwyrm/settings.py:199 +#: bookwyrm/settings.py:200 msgid "Italiano (Italian)" msgstr "Italiano (Italiensk)" -#: bookwyrm/settings.py:200 +#: bookwyrm/settings.py:201 msgid "Français (French)" msgstr "Français (Fransk)" -#: bookwyrm/settings.py:201 +#: bookwyrm/settings.py:202 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Litauisk)" -#: bookwyrm/settings.py:202 +#: bookwyrm/settings.py:203 msgid "Norsk (Norwegian)" msgstr "Norsk (Norsk)" -#: bookwyrm/settings.py:203 +#: bookwyrm/settings.py:204 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português - Brasil (Brasiliansk portugisisk)" -#: bookwyrm/settings.py:204 +#: bookwyrm/settings.py:205 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Europeisk Portugisisk)" -#: bookwyrm/settings.py:205 +#: bookwyrm/settings.py:206 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Forenklet kinesisk)" -#: bookwyrm/settings.py:206 +#: bookwyrm/settings.py:207 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Tradisjonelt kinesisk)" @@ -3793,14 +3825,6 @@ msgstr "Inkluder spoiler-varsel" msgid "Comment:" msgstr "Kommentar:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 -#: bookwyrm/templates/snippets/privacy-icons.html:15 -#: bookwyrm/templates/snippets/privacy-icons.html:16 -#: bookwyrm/templates/snippets/privacy_select.html:20 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 -msgid "Private" -msgstr "Privat" - #: bookwyrm/templates/snippets/create_status/post_options_block.html:21 msgid "Post" msgstr "Innlegg" @@ -3925,15 +3949,15 @@ msgstr[1] "vurderte %(title)s til: %(display_r #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4 #, python-format -msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" -msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" -msgstr[0] "Vurdering av \"%(book_title)s\" (%(display_rating)s stjerne): %(review_title)s" -msgstr[1] "Vurdering av \"%(book_title)s\" (%(display_rating)s stjerner): %(review_title)s" +msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" +msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" +msgstr[0] "" +msgstr[1] "" #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12 #, python-format -msgid "Review of \"%(book_title)s\": {{ review_title }" -msgstr "Vurdering av \"%(book_title)s\": {{ review_title }" +msgid "Review of \"%(book_title)s\": %(review_title)s" +msgstr "" #: bookwyrm/templates/snippets/goal_form.html:4 #, python-format @@ -3994,20 +4018,6 @@ msgstr "Forrige" msgid "Next" msgstr "Neste" -#: bookwyrm/templates/snippets/privacy-icons.html:3 -#: bookwyrm/templates/snippets/privacy-icons.html:4 -#: bookwyrm/templates/snippets/privacy_select.html:11 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 -msgid "Public" -msgstr "Offentlig" - -#: bookwyrm/templates/snippets/privacy-icons.html:7 -#: bookwyrm/templates/snippets/privacy-icons.html:8 -#: bookwyrm/templates/snippets/privacy_select.html:14 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 -msgid "Unlisted" -msgstr "Uoppført" - #: bookwyrm/templates/snippets/privacy-icons.html:12 msgid "Followers-only" msgstr "Kun følgere" @@ -4017,12 +4027,6 @@ msgstr "Kun følgere" msgid "Post privacy" msgstr "Delingsinstilling for post" -#: bookwyrm/templates/snippets/privacy_select.html:17 -#: bookwyrm/templates/user/relationships/followers.html:6 -#: bookwyrm/templates/user/relationships/layout.html:11 -msgid "Followers" -msgstr "Følgere" - #: bookwyrm/templates/snippets/rate_action.html:4 msgid "Leave a rating" msgstr "Legg inn en vurdering" diff --git a/locale/pt_BR/LC_MESSAGES/django.mo b/locale/pt_BR/LC_MESSAGES/django.mo index 42c7060e157eed3c8d6ad2d7aaf46b38c6091a7c..f856b3b602246b9d377d41da2889babd8dea710d 100644 GIT binary patch delta 10272 zcmZ|Ud0c((TaEp4shwI{t!iz-eSdy4fA;z7H8W?<%y+&sa}x6HMZa$@`sLq^aN9bL z(`vTk1mJtt_tBU7Qq06W^ux0lffvyq|H5D_#u6Af$8pMF84SZ%jKefr?~EbT2Vo?> zKF4vr15Bl%E)DZ-hrL*u`cW)}7f}=chMLfCt_dg<6R1a_`Zq=`q#bIa&ZvdFh_B&5 z48+6M({o)D@g*9PdGH6;!AkSY3Ok?%?1JIg3qx@@2BB-6fpOGxQ2}m3t?+BChR0EX zK17WdH{UEQ*`=V!8=xX<4|mg?_d({!y0%SCWu1qbpmSQbnJTk>jLL&&5>Sj>^PM z+wS{;ISZ-Sj`keuVys2|GR9!UV%}qZCyl~J%)&@4#&8TF;nkEPHJC!kVTWIbiQh)VfQ^lpXq zF=`?WKSB-k5Vf~~%Z*W3k$SwXH$`PE8x=@DRG>qbyC%h>?SqA=ROX>lxeAkT9qNVS zsMGwDt=~pnuluM&Rx;0w7mccCViabh0_cwl_zl#1@3<7S*9%b{KEnvyf!ebp)}K%> z+&~3Vj4|l{vAKR#Q5k55%20RILI$8R`7%c1NK`=o!a3;XQQ%-Zbyk?j_MuXA9JMv) zPy^kz&;P^*)O}a-als5!hGt@YEJSVPbZsz;z!l!prV3rxVhr~q$aJ8ZJXWOh2%q`nkG zbpH=fP|8lAQhveKf5B1I@1qXeu+L1teW*P=g4*NrsP}H80(pcAJnVnXmZV`<>P@i( z=Ay=3g6)~#DfPKY*$e1T{ap;enb-kyF$XW$dY!fALp2$FXfMDt+=K)0Du!d$Ix}8x zRAvTXAdW(9)tl%Jp-?~}1k0~CKLry|6Xsw$T!yXiXY7DAH<1M~;dc7qJ=8UHuhOc>{dbx@$-uJI zhoL5zf*NoQYH!bBFRbykX`hDGsP8~6ju?s)P@mYDr~y91*%-6eajN24tcyiB4*m9-dp!|HQooHlOa1nn zL$?(NQZIkN{DLwOdojOrf`U$E`ayGl=b-9$P%G^Coe6LfPN6;*lQH6Z$7zn4s6C#9 z3hXv&t0I0N-S{HvES$%t*yxZsL*vnHOv5Y+nRozuVu>Hk-uFYDjj8C5Tdlj0y>s?q z0R9I{;3W*h8>s%pw%w=5^b10@hhZp|DTm`eHY=}y<*3&_O#ZdUZD>fx!KjWOpa%LJpTRvCjE`-5 z&=C`8Rn&@7u>#gbO`Lp+9vhfqtR&+XH zI`+bn)Q6$^zk!u-GHOdcL}jP|bse{(`kz4sehn4i1N+=L=^fW~Vkzj<)mXF7UPonSBF5oV)I_UM8Q5&yZ=at+H<||zDOAMB zGv*A`K@IdHDu7d{0B)fsa?YASf>8rUVjL!5HGB^Ja2P5>BdrrrnVD|u3(t~&HLS1= z`POaL{nlfse&RWxL~W(} z2LvN%z+6-yD^TyRM=fYGYTWNJ4o{#0x`*ZP z337;Cr|cy&P*qe)(ov_oC2HV~w%*J7GAgxWQ31Sd+vnT%<){GH+2{LFfuBSj@|&nk z1YA}?EtsDHPB?#Az6kBpb-6WE9%8v)`O^iM^O`9N2UBR>M#aeHSgC# z1=;`=NL$pk?}4sf7-btKVm$SQsE%Kvo*%IFqo@EcVF~oPW+o28&eUU2&qty%IR~{B zpP(|c6BXzQ48R-L$iEKP9U2s&|Ia4H}xNcG!g4&XJ)L}_Ot#}wJfKeEP(@?3LhkE~W zYXNF&HlqUg0X5!P)c4~SDgb}?hWW6R#XuS=TC1T3Otsd<*3=uJ0?~U_a4IU5Yf$g! zqf-7QYT{$4)L+I#d}N=;-!uWaO(>-EpgpRii$S;$m6<%;kLytrjJstfd<(UL>8K1W zM&0W|)HVAKwMEx31|OjUi~hyTQxDk^*U6?3%!9sI5{IHvH5N7DJE#d}p|0U-+rAG| zsTW}le1e*=`mZKKO;HPJjcV_R+LD2&h5iGBb^qs5P^y-qQn?m2@g~$E+>VO;N7PDg zU=9Y}HUV`<4LlA@;Vjf1e~6lRlXX98>(1EvCG^w%zh@hYQ7?x6W=?Ag>V-_yp=*Uo zZ4cB6#$W=@#64JmyKvm^=Ik`OW45RnmZAN5)Oh_+@4tj@GKI+${BX7HuoktFLewGL zg2GYNaDE9p6S}@(Wb|9jNcZY19@zKpo!byX0SyHNI<7oQ*B0 z4?*qS8tX>X8QEstj~e(GY9+s+4qw2ZTv3e0NSujUU><5g2dpPi<6Zfa{A-23)1VdI zvk$`lGLgoh&O#H6z~@i{zku4R5vYl$Tk}v8Zn0iKyZ%o07s6)C6bsKhJIR1hf&v{_BAQY8}+Ng!Q zO(^J4w8GNZ&UWaDO3_R9`DoOhPC#ALDX3J>!s_?{b%v@vGy|ugwx~8LfNa!l>V*pI zH6$~x^A?2+8fIV{{1!EF$Rl$G%3I@6f!0K&v@V8XCMrW6Fb;=dG`@$La1|ZNkJ`WpEUxJ$GFzRgFM4gSNsP`ftn}x(+ zdFm;s{w=W~_QsOT?<}C8mF1yM{c6-e1?qr%Q3D>v5Il`q(KSrQ$5;sypP2SmsQx`s z?+-xj^=r01+CHC*u2M3Mf>J&QRsRr`+LhQEH=*|SA!;w5VoNOZ)b#6&Y9EMYaWra= z|Aku6GE_jTF%k1^`^l%|Uk@(Oph$0^GVv#B?}||Ym3BPdfXbp)o`mY(1eN->sEK-8 zhoB}JiREw+>cg}FwFMVZ?-x6+$Gh?XkH>o`BCsY8(og~PMRgpBIwNmlWn786M&F=T zUSvIw)u{i5T3D2idA~BMe+nwI&!EmkTbF`5_O~5|;vwqeF$>%Hn&~k0Y8iSRnP58K`R|+oq_r`e~5~7JJ!WRw(jF^28uwf zC=oSrJ=FIj8?|LGptfoNYU1&>eI{z$TvKfG=Wmd=~v6RbpKq!2am*Vcom zYkds0psT1Y35qlssDK*BZA3vYwnh!q5fwmh)TebcrsFi!3tyr3dM~Q~alDBaQMcw$ zl)27VQTIQ)tXW`x)S(-LYM)`+U1vE3tz;uA!f&icQJ>Pwr~re?86!~lJ_c)GGAgxQ zQ7i6)>OTTC(LYcNnS;9KD^UwLgq3vv&w2~|bh8i2l{bMTq6T~hH9!_>tNNg>(MVLl zlTjI)gPM31R=|9$ir?Ax+o-@Fpl*#{G#S+W522t_8IAhlHN^SY2|vKgsMJrYUN~L^ zUc(L;SJ|X|IO>!yL8WvPPQi1ivoavo+@=Mn-<%Gh&dL?kuX=Y-pZwG~?td1A`Elm( zoWTav@1jy!ql#I1eQOJA2YiF)J@G{>vh8)^&6Z`NQk{c3TRl;keFbB23MykO;$4sT zZ#4NdD3!rg&A?&Umilz8g@;jJMyHxtNdW4;M`BkTj-7EgW@6a{kM~crT`-mU|6pHy z2Q|(m>kXHJ4$<$Z75gNbFI@;~4_lzxS7Ti)z-+vN`f#NsdA$E_7=!Jp=cE1w^%%9+ z&63Swb5Q|KLmleV*ah8N6mlpuPcZ|`L2bbq?1T~3J>I|f4aV-&cVRb-u3;t^fx2cJ zFb?;i7IYPL`tPAmd&Qb2!&Om-IR)7Q*QrlIho}|y!r`ct9mJ)0AH#7$s>l21vo)ya zA+=0OGf){?jQYT=#Fudk>bp>-w#i&|)S>H(lW{kODyJ>$m;t+>_UNCe7tfm zN9g_8PSn2jfgA+*$5F|OGILAQfq=*ir7oJ)~Y2+(Ho>xRgbn>Ri(BzrD$_Y zEw{ErZnf7|wIr$twX}-bDwZm@s+K11>;0X%kKbRvzn(L5=FEKNGczX%yD#|fx!}L) zPPm)qI8OU{j#CEbTHnV~)R$u_W}`oz#c;fcrSVS;!D0-+p!Xc7JXXMp=tVCk*?J!= zOFbPUaN>K8>lb`k>G>w0iWo;d3e`UqwUDl;iTa=x z@+^+Wkr;?at*7U^CgMvp)aAh)Y>d?wm=*Rw4fr&M;b5$Qf5#x4VSNX^)EA=y%tNj4 zYpjhYP=P)~jaOr#Sy+NgL6J8@Mb;53Vo%fr!!R1hVmo{j<1ruW;VrC*F^kN=ZBXxZ zLIwI1YP{iC9y2itXJU19KcWy!;oqpp_n}gL6cy>us27V+dwkEL6eDpjR>9M#f$yRMD?zQW?E7YdDAZop zK~0>D127fU{{vKpSEBmmqB5`x1DW4BNgjSeKCxQB6 zY=ApZnYdxw{XaBkp&@pmy{C04Hl%(Tt6{_v-eZ0zi9!x`!3ZqIFbrF2_BIYAHK?uIj=GNdsMH=pW$d_ZKZDxZi#XZiIKQE`X4EqBuX{b2LSLMQN@1b(N9#pY z%5R`=E374`fdZDB>luZ5KM|ua+19(D-tS}ULr_~YYB~AW0GTvs3uf958&MN&wHW^B;2vjD=U^GrZ1vCfWLpPfO2itkdV(*wfR(MpjMQP3iu0*!~LiLf5k4?dX35K zY^+axIhNJ^KR`h#JBdp91zW#~6RF=v9ky|6O}~899v(yO@p;sHw@`ung$g`uo!OEk ze42V248X;xaX-Rt%Dg6=2^ITXrb^ak@&unua%p4bIfV0*lZ-Lb(&Q=f*~x}B(j zJ#2Va48{=bhuv_vb)$X$7dEE7^Jenjfx^_yCPh1};W>OPXdjKuaT{tyf1nowbIlec zpz6&~nd^@Vm|A5e<2NtTg;2waUk`5*Z^zfnN!;nwRam( z*C-F4#lxtH8vo029>?aGj^lAU9zzB6)E8#U2I2_nb5ZTLT?$&+1Jo%mx7B<=8lfMX z+Z(Ua-uElBf;Rs)--)rPQ$7Pb<7e0jf5WEOY#Z6Y7jOdZ#~s*WyW`x%d#G#ZUZGWy z2kbO^l7dmx$Dt;812y1U)ZYG#gRuTC)BZNrroI!kkV_bje_|aB`P!VNB=k~$4Z}Q+ z^ADt->*Vb=KRydk9nNDf^!vut`(RD#nW(_BPy=s3ZP9VmN=of9U&NZ|rTzp);xL?q zQ&6|yI%+`=Fr~%gDJdEAP4;EaH$ykU}u=IX&ucu=M z^;@X3G%Vj7x@|audUS#L1!X!8Vt(f&1)a*|1LpqDN7a8vt+3a(Ccszmb?OVSE=C+= zmDmck$FHISyM@}Si0?Qb_$=xyoX6JK@{l=0Q_)SKVIGB4Jb(kR%wexb%> zf!fp8u{?f=6>yDh{}R>zFzWeL48{AX!x>m;R$dh=QEyyG{D0a05Z}V)n1|};-lU*CEWs5RaGX`+ zD%4i=K4Cfz#$f8>Q2nQ147#W-S%%6`4(dAYK=nU^3cLsv-~;>IbJ91i>v$>X)HX&9 z^fX4`^QZw_499mc5LciATaD_s8MVjzZ2dSYBiFDp-ogqPbjtirSOwFlH^sra|1&6P z;xo7we@8{S{0DOeR-(3O2bRS`+kO_c;(NC4|Dy>o7Pa^B*a@3pXPl0{KvAhbjzR4GBm+D9hI5cww`r{ z{Hx(p+pyWX-CAHhj_P+FwW8lJ1s|bKb;?=u_xK9iSMD_cYZd8T4PY-C8FMY z!lj_S?}f3LjxjhBH9Ij8_{ zpzn6wp`g8fgc=~|g8AVRhEdd0P-mbwDv)%nf>TieE=C3NDeC==s0D3Bjr$#X@gyps zdsqn{A&1y?DqS=K)kdWx8FjkbqXzC}>w~RhP^q1a3Sg#fUu4@qK?S(MJ}*E8ehPKS zZ=f;}cu4`d{IH>*l&7I0AB9@^G*qeUYfE}JtIjhZ+S zwXoKxh4nyXY7mAnzcZ48R+51l$VDBJ6{rBVU}@ZjdU3b)TU5XAQ4?K5rMv`n7z2MX z?>9mP+6)y)8tU2)KvyqJvJKO*CiN^-$FES&57_$mr~ofv0G7I9CJx5l)MHW4C!jJp zAGH;$P?_0<3iKqF!RuGZzYf>$G$_J=B9r3EsCq5bikqNP-WoM<7t}yQZG933Qh(dl z7oYoDD?p){7cYEoJbwI#Jshb0NM;&G?|CSef1jY{Q0 z)cc=Xb5L8e6&1iC)Ocr6-;ZBW0R*_$%!j2C2GS5?jYAFC(E2z&Nxda1kQrD5XQ5KL z7WMvSRLZ|XO?(`c`pZ}c|FX|(T{i)_ttlk&pgXGL3=G07RA#aRg+N@zKNP(9_kvd zvF-WTfO;X;!$+tI>)kXNYJ*xxM^t++)Rv4yE%ap!(fwaQL8)4fO67Xg#CfPgxC0gW z5!6bqV-F1a%>>jRHSkMV4(Flvco}NqJZk}J>(1EvCG^+*zh@hYQ7=}!Wln1%>V;OQ zL)QV7+5xB)yoho5F7Cw~{2E`nZO%^1|ClX$0?X6>6l%O-sP{*sTbF`M!5`Py4(m}X z*@8NRyHP98M+NW;YD@fnH-DzbpjMiJNjMXg$uCg-ccQ)vr%_w@0Cjk)+#&ypEcK2_ zaW`yB{W;X$t+nQ&&d7Fa0czmmsFmDC9lpRnI6vsc2z(c{z--il4p>j2#{1X5ER-G<#5hBr~;dG4DnsEEo$ zW7NXk))aIoI$$VvwH*ecQZ(8=&qVF%G}JYH1C{D|n1~NhXDIH088{KOMU7DbbVJ>y z!KlDqKr-VxuTf}8!#mgs_o5~)_t2byXlpH0pbbzdeH<%bD^!MhpcltsG|oj$xEhtY zFHs9PjOu?9E9?IMK_Q-o(7#OTnxa-X95vB+tcsIueIYib{t;@Tqo}iS19di>V)I@k zY9X;$852?c+hcPag2Bx1d_X}f%SN60HK>7d)B*RS0y&Ch@ib~hMOYV0Fb3mGOnV1Z z|ADCYN1*ol1zXRw&s}ttlD8=+()puR#|A?r7>emO=J`$ra z6Sc>4Pzzdt3TO@1!Ogb))Fbk*2N!5iq}NfIxQp7mVpKro9glCKN~o3BMfGouN_`q? zq9NAjP!mnSO86n_!?X#t1s7587dx)UxAH)b$9E_qus#oxPyq}@b)0}YBd=gAu0&m< zZ%`{Qw4TS>)Ni8}7UgH&ua4@Uh{{-V)R{#{NX5zQjI{^fwb$MP()dwI#`@fIFgo)pPq%&`PIT=b*mL%TbZ;#AG~T>;9$9 zK#`~w)kRI*6!rb+j@q)psI3}_n)qegJ{L9a`=;(XpHUb|!v@sp4i7L9dQmBAj14di zo8T1G1nW^-lZTpM7wQ%qLj`sVHC_qox`veT_-<7@tWN!Jn4tSVg+d|?*{D<-zF zsDW>yw#XA`1_(y=tB#s50b5~5)Zv$7!0uuKh6kIBwL(3A67_xQgRTY~O+f=r zK^>+UsPDln+r9|vQD27I>wMHLIEUJb64W>WA!eLNRKT&Qz#5^xAE`JT+uG+VLp-kU z{^rr33>2U;@DnP4yQmfTmG$`kA+kPdz+w0VzJS|tBeuu!CYcJSyPeP*bmg z3cL$Gfn!3s|LrKOqd}+qSFDLO%6oi2PCMWM>O)ZjB~~yiYm558^hUK$#Q``UwSa4= zt@E#FG8BQza183~#G$TnBbS0!-UJVLxbLU|!^6$#PQ?CtZtL?rGDNYuTrj`c7R zmD+yj`(&f~Pe4sH4YiO3sB69owSXfSqx*l(SKu!c`yjfq38XG+z!s2U_AA& zu{mDF?pQO{q&x$4%9o*1`Y(JP&!f)D$m-@cWubm^`WAIouAqL^yMy}VH}Z1-(#SRi^-UaUGWO)!<8KG@%`N}8M{%>LHz~w z2({O3>zc#%8Y;lqs6+h|_Cfb1g&q{zC71ygptj&FK82Bq9^e1>J%@jz{tfoUs`bnS z6HwP|GkS49YC%P)(|;dz+N;$!8ID68=6c8$xK1+)Iz&(6Ak09e>>w_~2N;G~4LrX8 zK3j)+9@@~PG!>Phk5C_&RX7^ILVXu%H8Pp2k2-YE;;Xn9D=4QO8k+(8qW0(w)QcBT zsk)9@Niq6npqqCJW-4G&#m`=mBe}VRf(wC(mQRMcVhbFG3ir=W{$}mm+qaO tJ7->GVwogw(qk=?n&z(FdO7WX?>+gyLba@\n" "Language-Team: Portuguese, Brazilian\n" "Language: pt\n" @@ -157,6 +157,38 @@ msgstr "nome de usuário" msgid "A user with that username already exists." msgstr "Já existe um usuário com este nome." +#: bookwyrm/models/fields.py:207 +#: bookwyrm/templates/snippets/privacy-icons.html:3 +#: bookwyrm/templates/snippets/privacy-icons.html:4 +#: bookwyrm/templates/snippets/privacy_select.html:11 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 +msgid "Public" +msgstr "Público" + +#: bookwyrm/models/fields.py:208 +#: bookwyrm/templates/snippets/privacy-icons.html:7 +#: bookwyrm/templates/snippets/privacy-icons.html:8 +#: bookwyrm/templates/snippets/privacy_select.html:14 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 +msgid "Unlisted" +msgstr "Não listado" + +#: bookwyrm/models/fields.py:209 +#: bookwyrm/templates/snippets/privacy_select.html:17 +#: bookwyrm/templates/user/relationships/followers.html:6 +#: bookwyrm/templates/user/relationships/layout.html:11 +msgid "Followers" +msgstr "Seguidores" + +#: bookwyrm/models/fields.py:210 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/privacy-icons.html:15 +#: bookwyrm/templates/snippets/privacy-icons.html:16 +#: bookwyrm/templates/snippets/privacy_select.html:20 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 +msgid "Private" +msgstr "Particular" + #: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 msgid "Reviews" msgstr "Resenhas" @@ -173,69 +205,69 @@ msgstr "Citações" msgid "Everything else" msgstr "Todo o resto" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home Timeline" msgstr "Linha do tempo" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home" msgstr "Página inicial" -#: bookwyrm/settings.py:121 +#: bookwyrm/settings.py:122 msgid "Books Timeline" msgstr "Linha do tempo dos livros" -#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Livros" -#: bookwyrm/settings.py:195 +#: bookwyrm/settings.py:196 msgid "English" msgstr "English (Inglês)" -#: bookwyrm/settings.py:196 +#: bookwyrm/settings.py:197 msgid "Deutsch (German)" msgstr "Deutsch (Alemão)" -#: bookwyrm/settings.py:197 +#: bookwyrm/settings.py:198 msgid "Español (Spanish)" msgstr "Español (Espanhol)" -#: bookwyrm/settings.py:198 +#: bookwyrm/settings.py:199 msgid "Galego (Galician)" msgstr "Galego (Galego)" -#: bookwyrm/settings.py:199 +#: bookwyrm/settings.py:200 msgid "Italiano (Italian)" msgstr "Italiano (Italiano)" -#: bookwyrm/settings.py:200 +#: bookwyrm/settings.py:201 msgid "Français (French)" msgstr "Français (Francês)" -#: bookwyrm/settings.py:201 +#: bookwyrm/settings.py:202 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lituano)" -#: bookwyrm/settings.py:202 +#: bookwyrm/settings.py:203 msgid "Norsk (Norwegian)" msgstr "Norsk (Norueguês)" -#: bookwyrm/settings.py:203 +#: bookwyrm/settings.py:204 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Português do Brasil)" -#: bookwyrm/settings.py:204 +#: bookwyrm/settings.py:205 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Português Europeu)" -#: bookwyrm/settings.py:205 +#: bookwyrm/settings.py:206 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Chinês simplificado)" -#: bookwyrm/settings.py:206 +#: bookwyrm/settings.py:207 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chinês tradicional)" @@ -3792,14 +3824,6 @@ msgstr "Incluir alerta de spoiler" msgid "Comment:" msgstr "Comentário:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 -#: bookwyrm/templates/snippets/privacy-icons.html:15 -#: bookwyrm/templates/snippets/privacy-icons.html:16 -#: bookwyrm/templates/snippets/privacy_select.html:20 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 -msgid "Private" -msgstr "Particular" - #: bookwyrm/templates/snippets/create_status/post_options_block.html:21 msgid "Post" msgstr "Publicar" @@ -3924,15 +3948,15 @@ msgstr[1] "avaliou %(title)s: %(display_rating #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4 #, python-format -msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" -msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" -msgstr[0] "Resenha de \"%(book_title)s\" (%(display_rating)s estrela): %(review_title)s" -msgstr[1] "Resenha de \"%(book_title)s\" (%(display_rating)s estrelas): %(review_title)s" +msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" +msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" +msgstr[0] "Resenha de \"%(book_title)s\" (%(display_rating)s estrela): %(review_title)s" +msgstr[1] "Resenha de \"%(book_title)s\" (%(display_rating)s estrelas): %(review_title)s" #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12 #, python-format -msgid "Review of \"%(book_title)s\": {{ review_title }" -msgstr "Resenha de \"%(book_title)s\": {{ review_title }" +msgid "Review of \"%(book_title)s\": %(review_title)s" +msgstr "Resenha de \"%(book_title)s\": %(review_title)s" #: bookwyrm/templates/snippets/goal_form.html:4 #, python-format @@ -3993,20 +4017,6 @@ msgstr "Anterior" msgid "Next" msgstr "Próxima" -#: bookwyrm/templates/snippets/privacy-icons.html:3 -#: bookwyrm/templates/snippets/privacy-icons.html:4 -#: bookwyrm/templates/snippets/privacy_select.html:11 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 -msgid "Public" -msgstr "Público" - -#: bookwyrm/templates/snippets/privacy-icons.html:7 -#: bookwyrm/templates/snippets/privacy-icons.html:8 -#: bookwyrm/templates/snippets/privacy_select.html:14 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 -msgid "Unlisted" -msgstr "Não listado" - #: bookwyrm/templates/snippets/privacy-icons.html:12 msgid "Followers-only" msgstr "Apenas seguidores" @@ -4016,12 +4026,6 @@ msgstr "Apenas seguidores" msgid "Post privacy" msgstr "Privacidade da publicação" -#: bookwyrm/templates/snippets/privacy_select.html:17 -#: bookwyrm/templates/user/relationships/followers.html:6 -#: bookwyrm/templates/user/relationships/layout.html:11 -msgid "Followers" -msgstr "Seguidores" - #: bookwyrm/templates/snippets/rate_action.html:4 msgid "Leave a rating" msgstr "Deixe uma avaliação" diff --git a/locale/pt_PT/LC_MESSAGES/django.mo b/locale/pt_PT/LC_MESSAGES/django.mo index 101aafaa1dc2330bebbe02366672499dd2660c5b..f0c8c4c7a41bf0e93cc4dfa8c3ee74b28f4d268f 100644 GIT binary patch delta 22 dcmeA_z|wz!Wdq|nc4GxYb1PGW%^d64ivU~b2T1?` delta 22 dcmeA_z|wz!Wdq|nb|VEtODj{O%^d64ivU~t2TT9} diff --git a/locale/pt_PT/LC_MESSAGES/django.po b/locale/pt_PT/LC_MESSAGES/django.po index 82a2353aa..597b7da2d 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-01-12 18:37+0000\n" -"PO-Revision-Date: 2022-01-12 19:52\n" +"POT-Creation-Date: 2022-01-13 16:54+0000\n" +"PO-Revision-Date: 2022-01-13 17:50\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Portuguese\n" "Language: pt\n" @@ -157,6 +157,38 @@ msgstr "nome de utilizador" msgid "A user with that username already exists." msgstr "Um utilizador com o mesmo nome de utilizador já existe." +#: bookwyrm/models/fields.py:207 +#: bookwyrm/templates/snippets/privacy-icons.html:3 +#: bookwyrm/templates/snippets/privacy-icons.html:4 +#: bookwyrm/templates/snippets/privacy_select.html:11 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 +msgid "Public" +msgstr "Público" + +#: bookwyrm/models/fields.py:208 +#: bookwyrm/templates/snippets/privacy-icons.html:7 +#: bookwyrm/templates/snippets/privacy-icons.html:8 +#: bookwyrm/templates/snippets/privacy_select.html:14 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 +msgid "Unlisted" +msgstr "Não listado" + +#: bookwyrm/models/fields.py:209 +#: bookwyrm/templates/snippets/privacy_select.html:17 +#: bookwyrm/templates/user/relationships/followers.html:6 +#: bookwyrm/templates/user/relationships/layout.html:11 +msgid "Followers" +msgstr "Seguidores" + +#: bookwyrm/models/fields.py:210 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/privacy-icons.html:15 +#: bookwyrm/templates/snippets/privacy-icons.html:16 +#: bookwyrm/templates/snippets/privacy_select.html:20 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 +msgid "Private" +msgstr "Privado" + #: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 msgid "Reviews" msgstr "Criticas" @@ -173,69 +205,69 @@ msgstr "Citações" msgid "Everything else" msgstr "Tudo o resto" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home Timeline" msgstr "Cronograma Inicial" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home" msgstr "Início" -#: bookwyrm/settings.py:121 +#: bookwyrm/settings.py:122 msgid "Books Timeline" msgstr "Cronograma de Livros" -#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Livros" -#: bookwyrm/settings.py:195 +#: bookwyrm/settings.py:196 msgid "English" msgstr "Inglês" -#: bookwyrm/settings.py:196 +#: bookwyrm/settings.py:197 msgid "Deutsch (German)" msgstr "Deutsch (Alemão)" -#: bookwyrm/settings.py:197 +#: bookwyrm/settings.py:198 msgid "Español (Spanish)" msgstr "Español (Espanhol)" -#: bookwyrm/settings.py:198 +#: bookwyrm/settings.py:199 msgid "Galego (Galician)" msgstr "Galego (Galician)" -#: bookwyrm/settings.py:199 +#: bookwyrm/settings.py:200 msgid "Italiano (Italian)" msgstr "Italiano (Italiano)" -#: bookwyrm/settings.py:200 +#: bookwyrm/settings.py:201 msgid "Français (French)" msgstr "Français (Francês)" -#: bookwyrm/settings.py:201 +#: bookwyrm/settings.py:202 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (lituano)" -#: bookwyrm/settings.py:202 +#: bookwyrm/settings.py:203 msgid "Norsk (Norwegian)" msgstr "Norsk (Norueguês)" -#: bookwyrm/settings.py:203 +#: bookwyrm/settings.py:204 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Português brasileiro)" -#: bookwyrm/settings.py:204 +#: bookwyrm/settings.py:205 msgid "Português Europeu (European Portuguese)" msgstr "Português (Português Europeu)" -#: bookwyrm/settings.py:205 +#: bookwyrm/settings.py:206 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Chinês simplificado)" -#: bookwyrm/settings.py:206 +#: bookwyrm/settings.py:207 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chinês tradicional)" @@ -3791,14 +3823,6 @@ msgstr "Incluir aviso de spoiler" msgid "Comment:" msgstr "Comentar:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 -#: bookwyrm/templates/snippets/privacy-icons.html:15 -#: bookwyrm/templates/snippets/privacy-icons.html:16 -#: bookwyrm/templates/snippets/privacy_select.html:20 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 -msgid "Private" -msgstr "Privado" - #: bookwyrm/templates/snippets/create_status/post_options_block.html:21 msgid "Post" msgstr "Publicação" @@ -3923,14 +3947,14 @@ msgstr[1] "avaliado %(title)s: %(display_ratin #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4 #, python-format -msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" -msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" +msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" +msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" msgstr[0] "" msgstr[1] "" #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12 #, python-format -msgid "Review of \"%(book_title)s\": {{ review_title }" +msgid "Review of \"%(book_title)s\": %(review_title)s" msgstr "" #: bookwyrm/templates/snippets/goal_form.html:4 @@ -3992,20 +4016,6 @@ msgstr "Anterior" msgid "Next" msgstr "Seguinte" -#: bookwyrm/templates/snippets/privacy-icons.html:3 -#: bookwyrm/templates/snippets/privacy-icons.html:4 -#: bookwyrm/templates/snippets/privacy_select.html:11 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 -msgid "Public" -msgstr "Público" - -#: bookwyrm/templates/snippets/privacy-icons.html:7 -#: bookwyrm/templates/snippets/privacy-icons.html:8 -#: bookwyrm/templates/snippets/privacy_select.html:14 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 -msgid "Unlisted" -msgstr "Não listado" - #: bookwyrm/templates/snippets/privacy-icons.html:12 msgid "Followers-only" msgstr "Apenas seguidores" @@ -4015,12 +4025,6 @@ msgstr "Apenas seguidores" msgid "Post privacy" msgstr "Privacidade de publicação" -#: bookwyrm/templates/snippets/privacy_select.html:17 -#: bookwyrm/templates/user/relationships/followers.html:6 -#: bookwyrm/templates/user/relationships/layout.html:11 -msgid "Followers" -msgstr "Seguidores" - #: bookwyrm/templates/snippets/rate_action.html:4 msgid "Leave a rating" msgstr "Deixar uma avaliação" diff --git a/locale/zh_Hans/LC_MESSAGES/django.mo b/locale/zh_Hans/LC_MESSAGES/django.mo index 5eda33d5d4f857069338f4bb195aaab7363cb4a3..0d956c43337f8d676c92ffb2e33a4ce0c1e0989d 100644 GIT binary patch delta 22 ecmbQ+!!oyrWy7PD?8XX)=2oT#n_sRpi2(p++z8A7 delta 22 ecmbQ+!!oyrWy7PD>_!TPmR6=ln_sRpi2(p+?g-BS diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/locale/zh_Hans/LC_MESSAGES/django.po index f4771e154..c18f876a3 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-01-12 18:37+0000\n" -"PO-Revision-Date: 2022-01-12 19:52\n" +"POT-Creation-Date: 2022-01-13 16:54+0000\n" +"PO-Revision-Date: 2022-01-13 17:50\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Chinese Simplified\n" "Language: zh\n" @@ -157,6 +157,38 @@ msgstr "用户名" msgid "A user with that username already exists." msgstr "已经存在使用该用户名的用户。" +#: bookwyrm/models/fields.py:207 +#: bookwyrm/templates/snippets/privacy-icons.html:3 +#: bookwyrm/templates/snippets/privacy-icons.html:4 +#: bookwyrm/templates/snippets/privacy_select.html:11 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 +msgid "Public" +msgstr "公开" + +#: bookwyrm/models/fields.py:208 +#: bookwyrm/templates/snippets/privacy-icons.html:7 +#: bookwyrm/templates/snippets/privacy-icons.html:8 +#: bookwyrm/templates/snippets/privacy_select.html:14 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 +msgid "Unlisted" +msgstr "不公开" + +#: bookwyrm/models/fields.py:209 +#: bookwyrm/templates/snippets/privacy_select.html:17 +#: bookwyrm/templates/user/relationships/followers.html:6 +#: bookwyrm/templates/user/relationships/layout.html:11 +msgid "Followers" +msgstr "关注者" + +#: bookwyrm/models/fields.py:210 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/privacy-icons.html:15 +#: bookwyrm/templates/snippets/privacy-icons.html:16 +#: bookwyrm/templates/snippets/privacy_select.html:20 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 +msgid "Private" +msgstr "私密" + #: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 msgid "Reviews" msgstr "书评" @@ -173,69 +205,69 @@ msgstr "引用" msgid "Everything else" msgstr "所有其它内容" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home Timeline" msgstr "主页时间线" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home" msgstr "主页" -#: bookwyrm/settings.py:121 +#: bookwyrm/settings.py:122 msgid "Books Timeline" msgstr "书目时间线" -#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "书目" -#: bookwyrm/settings.py:195 +#: bookwyrm/settings.py:196 msgid "English" msgstr "English(英语)" -#: bookwyrm/settings.py:196 +#: bookwyrm/settings.py:197 msgid "Deutsch (German)" msgstr "Deutsch(德语)" -#: bookwyrm/settings.py:197 +#: bookwyrm/settings.py:198 msgid "Español (Spanish)" msgstr "Español(西班牙语)" -#: bookwyrm/settings.py:198 +#: bookwyrm/settings.py:199 msgid "Galego (Galician)" msgstr "Galego(加利西亚语)" -#: bookwyrm/settings.py:199 +#: bookwyrm/settings.py:200 msgid "Italiano (Italian)" msgstr "" -#: bookwyrm/settings.py:200 +#: bookwyrm/settings.py:201 msgid "Français (French)" msgstr "Français(法语)" -#: bookwyrm/settings.py:201 +#: bookwyrm/settings.py:202 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių(立陶宛语)" -#: bookwyrm/settings.py:202 +#: bookwyrm/settings.py:203 msgid "Norsk (Norwegian)" msgstr "" -#: bookwyrm/settings.py:203 +#: bookwyrm/settings.py:204 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "" -#: bookwyrm/settings.py:204 +#: bookwyrm/settings.py:205 msgid "Português Europeu (European Portuguese)" msgstr "" -#: bookwyrm/settings.py:205 +#: bookwyrm/settings.py:206 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文" -#: bookwyrm/settings.py:206 +#: bookwyrm/settings.py:207 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文(繁体中文)" @@ -3775,14 +3807,6 @@ msgstr "加入剧透警告" msgid "Comment:" msgstr "评论:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 -#: bookwyrm/templates/snippets/privacy-icons.html:15 -#: bookwyrm/templates/snippets/privacy-icons.html:16 -#: bookwyrm/templates/snippets/privacy_select.html:20 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 -msgid "Private" -msgstr "私密" - #: bookwyrm/templates/snippets/create_status/post_options_block.html:21 msgid "Post" msgstr "发布" @@ -3903,13 +3927,13 @@ msgstr[0] "为 %(title)s 打了分: %(display_ #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4 #, python-format -msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" -msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" +msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" +msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" msgstr[0] "" #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12 #, python-format -msgid "Review of \"%(book_title)s\": {{ review_title }" +msgid "Review of \"%(book_title)s\": %(review_title)s" msgstr "" #: bookwyrm/templates/snippets/goal_form.html:4 @@ -3971,20 +3995,6 @@ msgstr "往前" msgid "Next" msgstr "往后" -#: bookwyrm/templates/snippets/privacy-icons.html:3 -#: bookwyrm/templates/snippets/privacy-icons.html:4 -#: bookwyrm/templates/snippets/privacy_select.html:11 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 -msgid "Public" -msgstr "公开" - -#: bookwyrm/templates/snippets/privacy-icons.html:7 -#: bookwyrm/templates/snippets/privacy-icons.html:8 -#: bookwyrm/templates/snippets/privacy_select.html:14 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 -msgid "Unlisted" -msgstr "不公开" - #: bookwyrm/templates/snippets/privacy-icons.html:12 msgid "Followers-only" msgstr "仅关注者" @@ -3994,12 +4004,6 @@ msgstr "仅关注者" msgid "Post privacy" msgstr "发文隐私" -#: bookwyrm/templates/snippets/privacy_select.html:17 -#: bookwyrm/templates/user/relationships/followers.html:6 -#: bookwyrm/templates/user/relationships/layout.html:11 -msgid "Followers" -msgstr "关注者" - #: bookwyrm/templates/snippets/rate_action.html:4 msgid "Leave a rating" msgstr "留下评价" diff --git a/locale/zh_Hant/LC_MESSAGES/django.mo b/locale/zh_Hant/LC_MESSAGES/django.mo index 9e0c867c8f52f7f921c7f8eae3c5895fc4fb517d..9ae22f1eba7bf2d371126aa38f9c6df169160c27 100644 GIT binary patch delta 22 ecmdlxk7@5brVY2_*o_qo&8\n" "Language-Team: Chinese Traditional\n" "Language: zh\n" @@ -157,6 +157,38 @@ msgstr "使用者名稱" msgid "A user with that username already exists." msgstr "已經存在使用該名稱的使用者。" +#: bookwyrm/models/fields.py:207 +#: bookwyrm/templates/snippets/privacy-icons.html:3 +#: bookwyrm/templates/snippets/privacy-icons.html:4 +#: bookwyrm/templates/snippets/privacy_select.html:11 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 +msgid "Public" +msgstr "公開" + +#: bookwyrm/models/fields.py:208 +#: bookwyrm/templates/snippets/privacy-icons.html:7 +#: bookwyrm/templates/snippets/privacy-icons.html:8 +#: bookwyrm/templates/snippets/privacy_select.html:14 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 +msgid "Unlisted" +msgstr "不公開" + +#: bookwyrm/models/fields.py:209 +#: bookwyrm/templates/snippets/privacy_select.html:17 +#: bookwyrm/templates/user/relationships/followers.html:6 +#: bookwyrm/templates/user/relationships/layout.html:11 +msgid "Followers" +msgstr "關注者" + +#: bookwyrm/models/fields.py:210 +#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 +#: bookwyrm/templates/snippets/privacy-icons.html:15 +#: bookwyrm/templates/snippets/privacy-icons.html:16 +#: bookwyrm/templates/snippets/privacy_select.html:20 +#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 +msgid "Private" +msgstr "私密" + #: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:272 msgid "Reviews" msgstr "書評" @@ -173,69 +205,69 @@ msgstr "" msgid "Everything else" msgstr "" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home Timeline" msgstr "主頁時間線" -#: bookwyrm/settings.py:120 +#: bookwyrm/settings.py:121 msgid "Home" msgstr "主頁" -#: bookwyrm/settings.py:121 +#: bookwyrm/settings.py:122 msgid "Books Timeline" msgstr "" -#: bookwyrm/settings.py:121 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:122 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "書目" -#: bookwyrm/settings.py:195 +#: bookwyrm/settings.py:196 msgid "English" msgstr "English(英語)" -#: bookwyrm/settings.py:196 +#: bookwyrm/settings.py:197 msgid "Deutsch (German)" msgstr "Deutsch(德語)" -#: bookwyrm/settings.py:197 +#: bookwyrm/settings.py:198 msgid "Español (Spanish)" msgstr "Español(西班牙語)" -#: bookwyrm/settings.py:198 +#: bookwyrm/settings.py:199 msgid "Galego (Galician)" msgstr "" -#: bookwyrm/settings.py:199 +#: bookwyrm/settings.py:200 msgid "Italiano (Italian)" msgstr "" -#: bookwyrm/settings.py:200 +#: bookwyrm/settings.py:201 msgid "Français (French)" msgstr "Français(法語)" -#: bookwyrm/settings.py:201 +#: bookwyrm/settings.py:202 msgid "Lietuvių (Lithuanian)" msgstr "" -#: bookwyrm/settings.py:202 +#: bookwyrm/settings.py:203 msgid "Norsk (Norwegian)" msgstr "" -#: bookwyrm/settings.py:203 +#: bookwyrm/settings.py:204 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "" -#: bookwyrm/settings.py:204 +#: bookwyrm/settings.py:205 msgid "Português Europeu (European Portuguese)" msgstr "" -#: bookwyrm/settings.py:205 +#: bookwyrm/settings.py:206 msgid "简体中文 (Simplified Chinese)" msgstr "簡體中文" -#: bookwyrm/settings.py:206 +#: bookwyrm/settings.py:207 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文" @@ -3775,14 +3807,6 @@ msgstr "加入劇透警告" msgid "Comment:" msgstr "評論:" -#: bookwyrm/templates/snippets/create_status/post_options_block.html:8 -#: bookwyrm/templates/snippets/privacy-icons.html:15 -#: bookwyrm/templates/snippets/privacy-icons.html:16 -#: bookwyrm/templates/snippets/privacy_select.html:20 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:17 -msgid "Private" -msgstr "私密" - #: bookwyrm/templates/snippets/create_status/post_options_block.html:21 msgid "Post" msgstr "釋出" @@ -3903,13 +3927,13 @@ msgstr[0] "" #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:4 #, python-format -msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" -msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" +msgid "Review of \"%(book_title)s\" (%(display_rating)s star): %(review_title)s" +msgid_plural "Review of \"%(book_title)s\" (%(display_rating)s stars): %(review_title)s" msgstr[0] "" #: bookwyrm/templates/snippets/generated_status/review_pure_name.html:12 #, python-format -msgid "Review of \"%(book_title)s\": {{ review_title }" +msgid "Review of \"%(book_title)s\": %(review_title)s" msgstr "" #: bookwyrm/templates/snippets/goal_form.html:4 @@ -3971,20 +3995,6 @@ msgstr "往前" msgid "Next" msgstr "往後" -#: bookwyrm/templates/snippets/privacy-icons.html:3 -#: bookwyrm/templates/snippets/privacy-icons.html:4 -#: bookwyrm/templates/snippets/privacy_select.html:11 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:11 -msgid "Public" -msgstr "公開" - -#: bookwyrm/templates/snippets/privacy-icons.html:7 -#: bookwyrm/templates/snippets/privacy-icons.html:8 -#: bookwyrm/templates/snippets/privacy_select.html:14 -#: bookwyrm/templates/snippets/privacy_select_no_followers.html:14 -msgid "Unlisted" -msgstr "不公開" - #: bookwyrm/templates/snippets/privacy-icons.html:12 msgid "Followers-only" msgstr "僅關注者" @@ -3994,12 +4004,6 @@ msgstr "僅關注者" msgid "Post privacy" msgstr "發文隱私" -#: bookwyrm/templates/snippets/privacy_select.html:17 -#: bookwyrm/templates/user/relationships/followers.html:6 -#: bookwyrm/templates/user/relationships/layout.html:11 -msgid "Followers" -msgstr "關注者" - #: bookwyrm/templates/snippets/rate_action.html:4 msgid "Leave a rating" msgstr "留下評價" From b9fde85b499d8eccafe45b767abdfe63e714188f Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 17 Jan 2022 08:14:13 -0800 Subject: [PATCH 009/289] Sort domains in admin view --- bookwyrm/views/admin/link_domains.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bookwyrm/views/admin/link_domains.py b/bookwyrm/views/admin/link_domains.py index 564ea8966..5f9ec6c06 100644 --- a/bookwyrm/views/admin/link_domains.py +++ b/bookwyrm/views/admin/link_domains.py @@ -20,9 +20,9 @@ class LinkDomain(View): def get(self, request, status="pending"): """view pending domains""" data = { - "domains": models.LinkDomain.objects.filter(status=status).prefetch_related( - "links" - ), + "domains": models.LinkDomain.objects.filter(status=status) + .prefetch_related("links") + .order_by("-created_date"), "counts": { "pending": models.LinkDomain.objects.filter(status="pending").count(), "approved": models.LinkDomain.objects.filter(status="approved").count(), From e12372250a3e1489fde6968771ebdb386e5eb4a6 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 17 Jan 2022 08:17:36 -0800 Subject: [PATCH 010/289] Mobile-friendly edit button on link domains --- bookwyrm/templates/settings/link_domains/link_domains.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/templates/settings/link_domains/link_domains.html b/bookwyrm/templates/settings/link_domains/link_domains.html index 3f2d60976..81235b336 100644 --- a/bookwyrm/templates/settings/link_domains/link_domains.html +++ b/bookwyrm/templates/settings/link_domains/link_domains.html @@ -42,7 +42,7 @@
From da6e43a7eb0382ef29e253798cdf69d177b20c33 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 17 Jan 2022 08:22:55 -0800 Subject: [PATCH 011/289] Avoid two character wide urls on mobile --- bookwyrm/static/css/bookwyrm.css | 1 + 1 file changed, 1 insertion(+) diff --git a/bookwyrm/static/css/bookwyrm.css b/bookwyrm/static/css/bookwyrm.css index 18c136713..f05ea3c91 100644 --- a/bookwyrm/static/css/bookwyrm.css +++ b/bookwyrm/static/css/bookwyrm.css @@ -722,6 +722,7 @@ ol.ordered-list li::before { .overflow-wrap-anywhere { overflow-wrap: anywhere; + min-width: 10em; } /* Threads From d4cfe5b8f012c5949cf7dbb53e43de88938cf1d7 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 17 Jan 2022 08:44:30 -0800 Subject: [PATCH 012/289] Fixes embedded links modal --- bookwyrm/templates/book/file_links/links.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/templates/book/file_links/links.html b/bookwyrm/templates/book/file_links/links.html index 10a6da2f2..7c6760990 100644 --- a/bookwyrm/templates/book/file_links/links.html +++ b/bookwyrm/templates/book/file_links/links.html @@ -46,7 +46,7 @@ {% trans "Edit links" %} -{% include 'book/file_links/add_link_modal.html' with book=book id="add-links" %} {% endif %} +{% include 'book/file_links/add_link_modal.html' with book=book id="add-links" %} {% endif %} From 942092d6b142218776c1c75b426ee4fa76d174ae Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 17 Jan 2022 08:54:52 -0800 Subject: [PATCH 013/289] Show link status more prominently on edit page --- .../templates/book/file_links/edit_links.html | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/bookwyrm/templates/book/file_links/edit_links.html b/bookwyrm/templates/book/file_links/edit_links.html index c56f97a62..5ba457005 100644 --- a/bookwyrm/templates/book/file_links/edit_links.html +++ b/bookwyrm/templates/book/file_links/edit_links.html @@ -33,6 +33,7 @@ {% trans "Added by" %} {% trans "Filetype" %} {% trans "Domain" %} + {% trans "Status" %} {% trans "Actions" %} {% for link in book.file_links.all %} @@ -47,11 +48,23 @@ {{ link.filelink.filetype }} - {{ link.domain.name }} ({{ link.domain.get_status_display }}) + {{ link.domain.name }}

{% trans "Report spam" %}

+ + {% with status=link.domain.status %} + + + + {{ link.domain.get_status_display }} + + + {% endwith %} +
{% csrf_token %} From 7b1693a4359c605713f7c0c33968fc508d151b6f Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 17 Jan 2022 09:03:53 -0800 Subject: [PATCH 014/289] Larger file type field --- .../migrations/0129_auto_20220117_1703.py | 24 +++++++++++++++++++ bookwyrm/models/link.py | 3 ++- bookwyrm/static/js/autocomplete.js | 17 +++++++++++++ 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 bookwyrm/migrations/0129_auto_20220117_1703.py diff --git a/bookwyrm/migrations/0129_auto_20220117_1703.py b/bookwyrm/migrations/0129_auto_20220117_1703.py new file mode 100644 index 000000000..f193ca95c --- /dev/null +++ b/bookwyrm/migrations/0129_auto_20220117_1703.py @@ -0,0 +1,24 @@ +# Generated by Django 3.2.10 on 2022-01-17 17:03 + +import bookwyrm.models.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('bookwyrm', '0128_merge_0126_auto_20220112_2315_0127_auto_20220110_2211'), + ] + + operations = [ + migrations.AddField( + model_name='filelink', + name='is_purchase', + field=bookwyrm.models.fields.BooleanField(blank=True, null=True), + ), + migrations.AlterField( + model_name='filelink', + name='filetype', + field=bookwyrm.models.fields.CharField(max_length=50), + ), + ] diff --git a/bookwyrm/models/link.py b/bookwyrm/models/link.py index be7c104f0..c4ec1e5ec 100644 --- a/bookwyrm/models/link.py +++ b/bookwyrm/models/link.py @@ -53,7 +53,8 @@ class FileLink(Link): book = models.ForeignKey( "Book", on_delete=models.CASCADE, related_name="file_links", null=True ) - filetype = fields.CharField(max_length=5, activitypub_field="mediaType") + filetype = fields.CharField(max_length=50, activitypub_field="mediaType") + is_purchase = fields.BooleanField(null=True, blank=True) StatusChoices = [ diff --git a/bookwyrm/static/js/autocomplete.js b/bookwyrm/static/js/autocomplete.js index 896100832..1ae8c71a0 100644 --- a/bookwyrm/static/js/autocomplete.js +++ b/bookwyrm/static/js/autocomplete.js @@ -160,6 +160,23 @@ const tries = { }, }, }, + r: { + i: { + n: { + t: { + " ": { + b: { + o: { + o: { + k: "Print book", + }, + }, + }, + }, + }, + }, + }, + }, }, }, }; From 39814a21f2418a0cd96adced9ebb755a5487e94e Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 17 Jan 2022 09:21:58 -0800 Subject: [PATCH 015/289] Set book availability --- bookwyrm/forms.py | 2 +- .../migrations/0129_auto_20220117_1703.py | 24 -------------- .../migrations/0129_auto_20220117_1716.py | 32 +++++++++++++++++++ bookwyrm/models/link.py | 11 ++++++- .../book/file_links/add_link_modal.html | 8 +++++ 5 files changed, 51 insertions(+), 26 deletions(-) delete mode 100644 bookwyrm/migrations/0129_auto_20220117_1703.py create mode 100644 bookwyrm/migrations/0129_auto_20220117_1716.py diff --git a/bookwyrm/forms.py b/bookwyrm/forms.py index 5af7c4553..5ab908955 100644 --- a/bookwyrm/forms.py +++ b/bookwyrm/forms.py @@ -225,7 +225,7 @@ class LinkDomainForm(CustomForm): class FileLinkForm(CustomForm): class Meta: model = models.FileLink - fields = ["url", "filetype", "book", "added_by"] + fields = ["url", "filetype", "availability", "book", "added_by"] class EditionForm(CustomForm): diff --git a/bookwyrm/migrations/0129_auto_20220117_1703.py b/bookwyrm/migrations/0129_auto_20220117_1703.py deleted file mode 100644 index f193ca95c..000000000 --- a/bookwyrm/migrations/0129_auto_20220117_1703.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 3.2.10 on 2022-01-17 17:03 - -import bookwyrm.models.fields -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('bookwyrm', '0128_merge_0126_auto_20220112_2315_0127_auto_20220110_2211'), - ] - - operations = [ - migrations.AddField( - model_name='filelink', - name='is_purchase', - field=bookwyrm.models.fields.BooleanField(blank=True, null=True), - ), - migrations.AlterField( - model_name='filelink', - name='filetype', - field=bookwyrm.models.fields.CharField(max_length=50), - ), - ] diff --git a/bookwyrm/migrations/0129_auto_20220117_1716.py b/bookwyrm/migrations/0129_auto_20220117_1716.py new file mode 100644 index 000000000..6b05fd272 --- /dev/null +++ b/bookwyrm/migrations/0129_auto_20220117_1716.py @@ -0,0 +1,32 @@ +# Generated by Django 3.2.10 on 2022-01-17 17:16 + +import bookwyrm.models.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("bookwyrm", "0128_merge_0126_auto_20220112_2315_0127_auto_20220110_2211"), + ] + + operations = [ + migrations.AddField( + model_name="filelink", + name="availability", + field=bookwyrm.models.fields.CharField( + choices=[ + ("free", "Free"), + ("purchase", "Purchasable"), + ("loan", "Available for loan"), + ], + default="free", + max_length=100, + ), + ), + migrations.AlterField( + model_name="filelink", + name="filetype", + field=bookwyrm.models.fields.CharField(max_length=50), + ), + ] diff --git a/bookwyrm/models/link.py b/bookwyrm/models/link.py index c4ec1e5ec..0e4148ddd 100644 --- a/bookwyrm/models/link.py +++ b/bookwyrm/models/link.py @@ -47,6 +47,13 @@ class Link(ActivitypubMixin, BookWyrmModel): return super().save(*args, **kwargs) +AvailabilityChoices = [ + ("free", _("Free")), + ("purchase", _("Purchasable")), + ("loan", _("Available for loan")), +] + + class FileLink(Link): """a link to a file""" @@ -54,7 +61,9 @@ class FileLink(Link): "Book", on_delete=models.CASCADE, related_name="file_links", null=True ) filetype = fields.CharField(max_length=50, activitypub_field="mediaType") - is_purchase = fields.BooleanField(null=True, blank=True) + availability = fields.CharField( + max_length=100, choices=AvailabilityChoices, default="free" + ) StatusChoices = [ diff --git a/bookwyrm/templates/book/file_links/add_link_modal.html b/bookwyrm/templates/book/file_links/add_link_modal.html index dfc222ee9..114293a46 100644 --- a/bookwyrm/templates/book/file_links/add_link_modal.html +++ b/bookwyrm/templates/book/file_links/add_link_modal.html @@ -43,6 +43,14 @@ {% include 'snippets/form_errors.html' with errors_list=file_link_form.filetype.errors id="desc_filetype" %}
+
+ +
+ {{ file_link_form.availability }} +
+
{% endblock %} From 1595bac9b58259a41896fe629efdfd2e0000668c Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 17 Jan 2022 09:26:00 -0800 Subject: [PATCH 016/289] Show availability in links panel --- bookwyrm/templates/book/file_links/links.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bookwyrm/templates/book/file_links/links.html b/bookwyrm/templates/book/file_links/links.html index 7c6760990..25e0ba89a 100644 --- a/bookwyrm/templates/book/file_links/links.html +++ b/bookwyrm/templates/book/file_links/links.html @@ -30,6 +30,12 @@
  • {{ link.name }} ({{ link.filetype }}) + + {% if link.availability != "free" %} +

    + {{ link.get_availability_display }} +

    + {% endif %}
  • {% endfor %} From cfcacb4797978961f7cc46547b5b3b93ef9d7ef7 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 17 Jan 2022 09:57:47 -0800 Subject: [PATCH 017/289] Edit book availability --- .../templates/book/file_links/edit_links.html | 25 +++++++++++++-- bookwyrm/urls.py | 7 ++++- bookwyrm/views/__init__.py | 2 +- bookwyrm/views/books/links.py | 31 ++++++++++++++++--- 4 files changed, 55 insertions(+), 10 deletions(-) diff --git a/bookwyrm/templates/book/file_links/edit_links.html b/bookwyrm/templates/book/file_links/edit_links.html index 5ba457005..8dad6c40a 100644 --- a/bookwyrm/templates/book/file_links/edit_links.html +++ b/bookwyrm/templates/book/file_links/edit_links.html @@ -34,9 +34,9 @@ {% trans "Filetype" %} {% trans "Domain" %} {% trans "Status" %} - {% trans "Actions" %} + {% trans "Actions" %} - {% for link in book.file_links.all %} + {% for link in links %} {{ link.url }} @@ -66,7 +66,26 @@ {% endwith %} - + + {% csrf_token %} + + + + +
    +
    +
    + {{ link.form.availability }} +
    +
    +
    + +
    +
    + + + +
    {% csrf_token %}
    diff --git a/bookwyrm/urls.py b/bookwyrm/urls.py index 990601490..7cdfd92a0 100644 --- a/bookwyrm/urls.py +++ b/bookwyrm/urls.py @@ -473,10 +473,15 @@ urlpatterns = [ rf"{BOOK_PATH}/filelink/?$", views.BookFileLinks.as_view(), name="file-link" ), re_path( - rf"{BOOK_PATH}/filelink/(?P\d+)/delete/?$", + rf"{BOOK_PATH}/filelink/(?P\d+)/?$", views.BookFileLinks.as_view(), name="file-link", ), + re_path( + rf"{BOOK_PATH}/filelink/(?P\d+)/delete/?$", + views.delete_link, + name="file-link-delete", + ), re_path( rf"{BOOK_PATH}/filelink/add/?$", views.AddFileLink.as_view(), diff --git a/bookwyrm/views/__init__.py b/bookwyrm/views/__init__.py index 2ec501dea..3f57c274a 100644 --- a/bookwyrm/views/__init__.py +++ b/bookwyrm/views/__init__.py @@ -37,7 +37,7 @@ from .books.books import ( from .books.books import update_book_from_remote from .books.edit_book import EditBook, ConfirmEditBook from .books.editions import Editions, switch_edition -from .books.links import BookFileLinks, AddFileLink +from .books.links import BookFileLinks, AddFileLink, delete_link # landing from .landing.about import about, privacy, conduct diff --git a/bookwyrm/views/books/links.py b/bookwyrm/views/books/links.py index 989ca9c49..516210230 100644 --- a/bookwyrm/views/books/links.py +++ b/bookwyrm/views/books/links.py @@ -5,28 +5,49 @@ from django.shortcuts import get_object_or_404, redirect 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_POST from bookwyrm import forms, models # pylint: disable=no-self-use +@method_decorator(login_required, name="dispatch") +@method_decorator( + permission_required("bookwyrm.edit_book", raise_exception=True), name="dispatch" +) class BookFileLinks(View): """View all links""" def get(self, request, book_id): """view links""" book = get_object_or_404(models.Edition, id=book_id) - return TemplateResponse( - request, "book/file_links/edit_links.html", {"book": book} - ) + links = book.file_links.order_by("domain__status", "created_date") + annotated_links = [] + for link in links.all(): + link.form = forms.FileLinkForm(instance=link) + annotated_links.append(link) + + data = {"book": book, "links": annotated_links} + return TemplateResponse(request, "book/file_links/edit_links.html", data) def post(self, request, book_id, link_id): - """delete link""" + """Edit a link""" link = get_object_or_404(models.FileLink, id=link_id, book=book_id) - link.delete() + form = forms.FileLinkForm(request.POST, instance=link) + form.save() return self.get(request, book_id) +@require_POST +@login_required +# pylint: disable=unused-argument +def delete_link(request, book_id, link_id): + """delete link""" + link = get_object_or_404(models.FileLink, id=link_id, book=book_id) + link.delete() + return redirect("file-link", book_id) + + @method_decorator(login_required, name="dispatch") @method_decorator( permission_required("bookwyrm.edit_book", raise_exception=True), name="dispatch" From 2f924faa051ad6857632f5e4c8eace2cd00d780e Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 17 Jan 2022 10:29:48 -0800 Subject: [PATCH 018/289] Adds tests --- bookwyrm/tests/views/books/test_links.py | 57 ++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/bookwyrm/tests/views/books/test_links.py b/bookwyrm/tests/views/books/test_links.py index 9e051926e..2aee5aed9 100644 --- a/bookwyrm/tests/views/books/test_links.py +++ b/bookwyrm/tests/views/books/test_links.py @@ -67,6 +67,7 @@ class LinkViews(TestCase): form.data["filetype"] = "HTML" form.data["book"] = self.book.id form.data["added_by"] = self.local_user.id + form.data["availability"] = "loan" request = self.factory.post("", form.data) request.user = self.local_user @@ -87,3 +88,59 @@ class LinkViews(TestCase): self.book.refresh_from_db() self.assertEqual(self.book.file_links.first(), link) + + def test_book_links(self): + """there are so many views, this just makes sure it LOADS""" + view = views.BookFileLinks.as_view() + models.FileLink.objects.create( + book=self.book, + added_by=self.local_user, + url="https://www.hello.com", + ) + request = self.factory.get("") + request.user = self.local_user + result = view(request, self.book.id) + self.assertEqual(result.status_code, 200) + validate_html(result.render()) + + def test_book_links_post(self): + """there are so many views, this just makes sure it LOADS""" + link = models.FileLink.objects.create( + book=self.book, + added_by=self.local_user, + url="https://www.hello.com", + ) + view = views.BookFileLinks.as_view() + form = forms.FileLinkForm() + form.data["url"] = link.url + form.data["filetype"] = "HTML" + form.data["book"] = self.book.id + form.data["added_by"] = self.local_user.id + form.data["availability"] = "loan" + + request = self.factory.post("", form.data) + request.user = self.local_user + view(request, self.book.id, link.id) + + link.refresh_from_db() + self.assertEqual(link.filetype, "HTML") + self.assertEqual(link.availability, "loan") + + def test_delete_link(self): + """remove a link""" + link = models.FileLink.objects.create( + book=self.book, + added_by=self.local_user, + url="https://www.hello.com", + ) + form = forms.FileLinkForm() + form.data["url"] = "https://www.example.com" + form.data["filetype"] = "HTML" + form.data["book"] = self.book.id + form.data["added_by"] = self.local_user.id + form.data["availability"] = "loan" + + request = self.factory.post("", form.data) + request.user = self.local_user + views.delete_link(request, self.book.id, link.id) + self.assertFalse(models.FileLink.objects.exists()) From a23e49c9f3ec841cacb1b06e5ef8fc589e8526ac Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 17 Jan 2022 10:48:42 -0800 Subject: [PATCH 019/289] Fixes filetype field length --- bookwyrm/templates/book/file_links/add_link_modal.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/templates/book/file_links/add_link_modal.html b/bookwyrm/templates/book/file_links/add_link_modal.html index 114293a46..0002b82b3 100644 --- a/bookwyrm/templates/book/file_links/add_link_modal.html +++ b/bookwyrm/templates/book/file_links/add_link_modal.html @@ -30,7 +30,7 @@ Date: Mon, 17 Jan 2022 10:52:16 -0800 Subject: [PATCH 020/289] Case insensitive suggestions --- bookwyrm/settings.py | 2 +- bookwyrm/static/js/autocomplete.js | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py index 06fc6a371..1d1ea154d 100644 --- a/bookwyrm/settings.py +++ b/bookwyrm/settings.py @@ -14,7 +14,7 @@ VERSION = "0.2.0" PAGE_LENGTH = env("PAGE_LENGTH", 15) DEFAULT_LANGUAGE = env("DEFAULT_LANGUAGE", "English") -JS_CACHE = "a47cc2ca" +JS_CACHE = "76c5ff1f" # email EMAIL_BACKEND = env("EMAIL_BACKEND", "django.core.mail.backends.smtp.EmailBackend") diff --git a/bookwyrm/static/js/autocomplete.js b/bookwyrm/static/js/autocomplete.js index 1ae8c71a0..84474e43c 100644 --- a/bookwyrm/static/js/autocomplete.js +++ b/bookwyrm/static/js/autocomplete.js @@ -42,6 +42,8 @@ function getSuggestions(input, trie) { // Follow the trie through the provided input + input = input.toLowerCase(); + input.split("").forEach((letter) => { if (!trie) { return; From 32acccc350f0d9d32e260935b9163e0abdaae125 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 17 Jan 2022 11:25:41 -0800 Subject: [PATCH 021/289] Use both noopener and noreferrer --- bookwyrm/templates/author/author.html | 12 +- bookwyrm/templates/book/book.html | 4 +- .../templates/book/file_links/edit_links.html | 2 +- bookwyrm/templates/book/file_links/links.html | 2 +- .../book/file_links/verification_modal.html | 2 +- bookwyrm/templates/import/tooltip.html | 2 +- bookwyrm/templates/search/book.html | 2 +- .../federation/instance_blocklist.html | 2 +- .../settings/link_domains/link_domains.html | 2 +- .../settings/link_domains/link_table.html | 2 +- locale/de_DE/LC_MESSAGES/django.mo | Bin 72911 -> 72617 bytes locale/de_DE/LC_MESSAGES/django.po | 374 +++++++++++----- locale/en_US/LC_MESSAGES/django.po | 72 ++-- locale/es_ES/LC_MESSAGES/django.mo | Bin 79543 -> 79237 bytes locale/es_ES/LC_MESSAGES/django.po | 374 +++++++++++----- locale/fr_FR/LC_MESSAGES/django.mo | Bin 79004 -> 81212 bytes locale/fr_FR/LC_MESSAGES/django.po | 400 +++++++++++++----- locale/gl_ES/LC_MESSAGES/django.mo | Bin 77784 -> 77474 bytes locale/gl_ES/LC_MESSAGES/django.po | 374 +++++++++++----- locale/it_IT/LC_MESSAGES/django.mo | Bin 78729 -> 78427 bytes locale/it_IT/LC_MESSAGES/django.po | 374 +++++++++++----- locale/lt_LT/LC_MESSAGES/django.mo | Bin 75364 -> 75079 bytes locale/lt_LT/LC_MESSAGES/django.po | 376 +++++++++++----- locale/no_NO/LC_MESSAGES/django.mo | Bin 75072 -> 74806 bytes locale/no_NO/LC_MESSAGES/django.po | 374 +++++++++++----- locale/pt_BR/LC_MESSAGES/django.mo | Bin 78146 -> 81381 bytes locale/pt_BR/LC_MESSAGES/django.po | 376 +++++++++++----- locale/pt_PT/LC_MESSAGES/django.mo | Bin 73743 -> 73450 bytes locale/pt_PT/LC_MESSAGES/django.po | 374 +++++++++++----- locale/zh_Hans/LC_MESSAGES/django.mo | Bin 67101 -> 66840 bytes locale/zh_Hans/LC_MESSAGES/django.po | 373 +++++++++++----- locale/zh_Hant/LC_MESSAGES/django.mo | Bin 36669 -> 36376 bytes locale/zh_Hant/LC_MESSAGES/django.po | 373 +++++++++++----- 33 files changed, 3123 insertions(+), 1123 deletions(-) diff --git a/bookwyrm/templates/author/author.html b/bookwyrm/templates/author/author.html index 27beeb468..8061d580c 100644 --- a/bookwyrm/templates/author/author.html +++ b/bookwyrm/templates/author/author.html @@ -66,7 +66,7 @@
    {% if author.wikipedia_link %} @@ -74,7 +74,7 @@ {% if author.isni %} @@ -83,7 +83,7 @@ {% trans "Load data" as button_text %} {% if author.openlibrary_key %}
    - + {% trans "View on OpenLibrary" %} {% if request.user.is_authenticated and perms.bookwyrm.edit_book %} @@ -98,7 +98,7 @@ {% if author.inventaire_id %}
    - + {% trans "View on Inventaire" %} @@ -114,7 +114,7 @@ {% if author.librarything_key %} @@ -122,7 +122,7 @@ {% if author.goodreads_key %} diff --git a/bookwyrm/templates/book/book.html b/bookwyrm/templates/book/book.html index f6d9929dd..d2ab99b4b 100644 --- a/bookwyrm/templates/book/book.html +++ b/bookwyrm/templates/book/book.html @@ -122,7 +122,7 @@ {% trans "Load data" as button_text %} {% if book.openlibrary_key %}

    - + {% trans "View on OpenLibrary" %} {% if request.user.is_authenticated and perms.bookwyrm.edit_book %} @@ -136,7 +136,7 @@ {% endif %} {% if book.inventaire_id %}

    - + {% trans "View on Inventaire" %} diff --git a/bookwyrm/templates/book/file_links/edit_links.html b/bookwyrm/templates/book/file_links/edit_links.html index 8dad6c40a..39d3b998b 100644 --- a/bookwyrm/templates/book/file_links/edit_links.html +++ b/bookwyrm/templates/book/file_links/edit_links.html @@ -39,7 +39,7 @@ {% for link in links %} - {{ link.url }} + {{ link.url }} {{ link.added_by.display_name }} diff --git a/bookwyrm/templates/book/file_links/links.html b/bookwyrm/templates/book/file_links/links.html index 25e0ba89a..fbc95b566 100644 --- a/bookwyrm/templates/book/file_links/links.html +++ b/bookwyrm/templates/book/file_links/links.html @@ -28,7 +28,7 @@ {% for link in links.all %} {% join "verify" link.id as verify_modal %}

  • - {{ link.name }} + {{ link.name }} ({{ link.filetype }}) {% if link.availability != "free" %} diff --git a/bookwyrm/templates/book/file_links/verification_modal.html b/bookwyrm/templates/book/file_links/verification_modal.html index 1d53c1ef2..81685da0f 100644 --- a/bookwyrm/templates/book/file_links/verification_modal.html +++ b/bookwyrm/templates/book/file_links/verification_modal.html @@ -17,7 +17,7 @@ Is that where you'd like to go? {% block modal-footer %} -{% trans "Continue" %} +{% trans "Continue" %} {% if request.user.is_authenticated %} diff --git a/bookwyrm/templates/import/tooltip.html b/bookwyrm/templates/import/tooltip.html index 311cce82c..f2712b7e9 100644 --- a/bookwyrm/templates/import/tooltip.html +++ b/bookwyrm/templates/import/tooltip.html @@ -3,6 +3,6 @@ {% block tooltip_content %} -{% trans 'You can download your Goodreads data from the Import/Export page of your Goodreads account.' %} +{% trans 'You can download your Goodreads data from the Import/Export page of your Goodreads account.' %} {% endblock %} diff --git a/bookwyrm/templates/search/book.html b/bookwyrm/templates/search/book.html index ab62d4734..cc615d508 100644 --- a/bookwyrm/templates/search/book.html +++ b/bookwyrm/templates/search/book.html @@ -63,7 +63,7 @@ {{ result.title }} diff --git a/bookwyrm/templates/settings/federation/instance_blocklist.html b/bookwyrm/templates/settings/federation/instance_blocklist.html index 926ab5f4a..abd580918 100644 --- a/bookwyrm/templates/settings/federation/instance_blocklist.html +++ b/bookwyrm/templates/settings/federation/instance_blocklist.html @@ -47,7 +47,7 @@
  • diff --git a/bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html b/bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html index 75dad0c80..2b87e21f3 100644 --- a/bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html +++ b/bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html @@ -63,7 +63,7 @@ diff --git a/bookwyrm/templatetags/shelf_tags.py b/bookwyrm/templatetags/shelf_tags.py index a2788826b..4c15786a1 100644 --- a/bookwyrm/templatetags/shelf_tags.py +++ b/bookwyrm/templatetags/shelf_tags.py @@ -38,7 +38,8 @@ def get_translated_shelf_name(shelf): """produced translated shelf nidentifierame""" if not shelf: return "" - identifier = shelf.identifier + # support obj or dict + identifier = shelf["identifier"] if isinstance(shelf, dict) else shelf.identifier if identifier == "all": return _("All books") if identifier == "to-read": @@ -47,7 +48,7 @@ def get_translated_shelf_name(shelf): return _("Currently Reading") if identifier == "read": return _("Read") - return shelf.name + return shelf["name"] if isinstance(shelf, dict) else shelf.name @register.simple_tag(takes_context=True) From e90cb52f2339f3d6f70c1d323349573bcc49d130 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 11:48:49 -0800 Subject: [PATCH 279/289] Add option to hide follows --- bookwyrm/activitypub/person.py | 1 + bookwyrm/forms.py | 1 + bookwyrm/migrations/0142_user_hide_follows.py | 19 +++++++++++++++++++ bookwyrm/models/user.py | 1 + bookwyrm/templates/preferences/edit_user.html | 6 ++++++ 5 files changed, 28 insertions(+) create mode 100644 bookwyrm/migrations/0142_user_hide_follows.py diff --git a/bookwyrm/activitypub/person.py b/bookwyrm/activitypub/person.py index 576e7f9a6..61c15a579 100644 --- a/bookwyrm/activitypub/person.py +++ b/bookwyrm/activitypub/person.py @@ -39,4 +39,5 @@ class Person(ActivityObject): bookwyrmUser: bool = False manuallyApprovesFollowers: str = False discoverable: str = False + hideFollows: str = False type: str = "Person" diff --git a/bookwyrm/forms.py b/bookwyrm/forms.py index 7ae4e446f..33d453e60 100644 --- a/bookwyrm/forms.py +++ b/bookwyrm/forms.py @@ -153,6 +153,7 @@ class EditUserForm(CustomForm): "manually_approves_followers", "default_post_privacy", "discoverable", + "hide_follows", "preferred_timezone", "preferred_language", ] diff --git a/bookwyrm/migrations/0142_user_hide_follows.py b/bookwyrm/migrations/0142_user_hide_follows.py new file mode 100644 index 000000000..f052d7ef5 --- /dev/null +++ b/bookwyrm/migrations/0142_user_hide_follows.py @@ -0,0 +1,19 @@ +# Generated by Django 3.2.12 on 2022-02-28 19:44 + +import bookwyrm.models.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("bookwyrm", "0141_alter_report_status"), + ] + + operations = [ + migrations.AddField( + model_name="user", + name="hide_follows", + field=bookwyrm.models.fields.BooleanField(default=False), + ), + ] diff --git a/bookwyrm/models/user.py b/bookwyrm/models/user.py index 6367dcaef..7ebe9b964 100644 --- a/bookwyrm/models/user.py +++ b/bookwyrm/models/user.py @@ -136,6 +136,7 @@ class User(OrderedCollectionPageMixin, AbstractUser): updated_date = models.DateTimeField(auto_now=True) last_active_date = models.DateTimeField(default=timezone.now) manually_approves_followers = fields.BooleanField(default=False) + hide_follows = fields.BooleanField(default=False) # options to turn features on and off show_goal = models.BooleanField(default=True) diff --git a/bookwyrm/templates/preferences/edit_user.html b/bookwyrm/templates/preferences/edit_user.html index 642d177cb..13cbd1392 100644 --- a/bookwyrm/templates/preferences/edit_user.html +++ b/bookwyrm/templates/preferences/edit_user.html @@ -111,6 +111,12 @@ {% trans "Manually approve followers" %}
    +
    + +