From 8ca2b55e7ef17c8ca9bf152e701cebebba53961a Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 25 Feb 2022 12:04:21 -0800 Subject: [PATCH 01/56] Sort author books by rating --- bookwyrm/views/author.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bookwyrm/views/author.py b/bookwyrm/views/author.py index b4eb7ef56..a2f5d03ba 100644 --- a/bookwyrm/views/author.py +++ b/bookwyrm/views/author.py @@ -1,7 +1,7 @@ """ the good people stuff! the authors! """ from django.contrib.auth.decorators import login_required, permission_required from django.core.paginator import Paginator -from django.db.models import Q +from django.db.models import Avg, Q from django.shortcuts import get_object_or_404, redirect from django.template.response import TemplateResponse from django.utils.decorators import method_decorator @@ -28,7 +28,8 @@ class Author(View): books = ( models.Work.objects.filter(Q(authors=author) | Q(editions__authors=author)) - .order_by("-published_date") + .annotate(Avg("editions__review__rating")) + .order_by("editions__review__rating__avg") .distinct() ) From ee8c1659abb394ab0b0ee1da741a4f412985fdc9 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 25 Feb 2022 12:13:20 -0800 Subject: [PATCH 02/56] Updates locales --- locale/de_DE/LC_MESSAGES/django.mo | Bin 84130 -> 30883 bytes locale/de_DE/LC_MESSAGES/django.po | 375 +++++++++++++++------- locale/en_US/LC_MESSAGES/django.po | 136 +++++--- locale/es_ES/LC_MESSAGES/django.mo | Bin 83977 -> 83977 bytes locale/es_ES/LC_MESSAGES/django.po | 375 +++++++++++++++------- locale/fr_FR/LC_MESSAGES/django.mo | Bin 85996 -> 44850 bytes locale/fr_FR/LC_MESSAGES/django.po | 393 +++++++++++++++-------- locale/gl_ES/LC_MESSAGES/django.mo | Bin 82074 -> 86630 bytes locale/gl_ES/LC_MESSAGES/django.po | 411 ++++++++++++++++-------- locale/it_IT/LC_MESSAGES/django.mo | Bin 83701 -> 87959 bytes locale/it_IT/LC_MESSAGES/django.po | 375 +++++++++++++++------- locale/lt_LT/LC_MESSAGES/django.mo | Bin 85112 -> 85112 bytes locale/lt_LT/LC_MESSAGES/django.po | 375 +++++++++++++++------- locale/no_NO/LC_MESSAGES/django.mo | Bin 80093 -> 80093 bytes locale/no_NO/LC_MESSAGES/django.po | 375 +++++++++++++++------- locale/pt_BR/LC_MESSAGES/django.mo | Bin 83047 -> 87238 bytes locale/pt_BR/LC_MESSAGES/django.po | 375 +++++++++++++++------- locale/pt_PT/LC_MESSAGES/django.mo | Bin 72802 -> 72802 bytes locale/pt_PT/LC_MESSAGES/django.po | 375 +++++++++++++++------- locale/sv_SE/LC_MESSAGES/django.mo | Bin 82953 -> 87594 bytes locale/sv_SE/LC_MESSAGES/django.po | 393 +++++++++++++++-------- locale/zh_Hans/LC_MESSAGES/django.mo | Bin 77673 -> 44096 bytes locale/zh_Hans/LC_MESSAGES/django.po | 463 +++++++++++++++++---------- locale/zh_Hant/LC_MESSAGES/django.mo | Bin 36376 -> 38839 bytes locale/zh_Hant/LC_MESSAGES/django.po | 375 +++++++++++++++------- 25 files changed, 3274 insertions(+), 1522 deletions(-) diff --git a/locale/de_DE/LC_MESSAGES/django.mo b/locale/de_DE/LC_MESSAGES/django.mo index 08b0badf299ab5c5b0cb5a80147f667f3e3b2837..4ce83f72b3f3850c58528f13afcd23442a75a515 100644 GIT binary patch literal 30883 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\n" "Language-Team: German\n" "Language: de\n" @@ -17,70 +17,74 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:245 +#: bookwyrm/forms.py:62 +msgid "User with this username already exists" +msgstr "" + +#: bookwyrm/forms.py:252 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "" -#: bookwyrm/forms.py:255 +#: bookwyrm/forms.py:262 msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." msgstr "" -#: bookwyrm/forms.py:394 +#: bookwyrm/forms.py:401 msgid "A user with this email already exists." msgstr "Es existiert bereits ein Benutzer*inkonto mit dieser E-Mail-Adresse." -#: bookwyrm/forms.py:408 +#: bookwyrm/forms.py:415 msgid "One Day" msgstr "Ein Tag" -#: bookwyrm/forms.py:409 +#: bookwyrm/forms.py:416 msgid "One Week" msgstr "Eine Woche" -#: bookwyrm/forms.py:410 +#: bookwyrm/forms.py:417 msgid "One Month" msgstr "Ein Monat" -#: bookwyrm/forms.py:411 +#: bookwyrm/forms.py:418 msgid "Does Not Expire" msgstr "Läuft nicht ab" -#: bookwyrm/forms.py:415 +#: bookwyrm/forms.py:422 #, python-brace-format msgid "{i} uses" msgstr "{i}-mal verwendbar" -#: bookwyrm/forms.py:416 +#: bookwyrm/forms.py:423 msgid "Unlimited" msgstr "Unbegrenzt" -#: bookwyrm/forms.py:518 +#: bookwyrm/forms.py:525 msgid "List Order" msgstr "Reihenfolge der Liste" -#: bookwyrm/forms.py:519 +#: bookwyrm/forms.py:526 msgid "Book Title" msgstr "Buchtitel" -#: bookwyrm/forms.py:520 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms.py:527 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Bewertung" -#: bookwyrm/forms.py:522 bookwyrm/templates/lists/list.html:175 +#: bookwyrm/forms.py:529 bookwyrm/templates/lists/list.html:175 msgid "Sort By" msgstr "Sortieren nach" -#: bookwyrm/forms.py:526 +#: bookwyrm/forms.py:533 msgid "Ascending" msgstr "Aufsteigend" -#: bookwyrm/forms.py:527 +#: bookwyrm/forms.py:534 msgid "Descending" msgstr "Absteigend" -#: bookwyrm/forms.py:540 +#: bookwyrm/forms.py:547 msgid "Reading finish date cannot be before start date." msgstr "Enddatum darf nicht vor dem Startdatum liegen." @@ -139,23 +143,23 @@ msgstr "Moderator*in löschen" msgid "Domain block" msgstr "Domainsperrung" -#: bookwyrm/models/book.py:253 +#: bookwyrm/models/book.py:262 msgid "Audiobook" msgstr "Hörbuch" -#: bookwyrm/models/book.py:254 +#: bookwyrm/models/book.py:263 msgid "eBook" msgstr "E-Book" -#: bookwyrm/models/book.py:255 +#: bookwyrm/models/book.py:264 msgid "Graphic novel" msgstr "Graphic Novel" -#: bookwyrm/models/book.py:256 +#: bookwyrm/models/book.py:265 msgid "Hardcover" msgstr "Hardcover" -#: bookwyrm/models/book.py:257 +#: bookwyrm/models/book.py:266 msgid "Paperback" msgstr "Taschenbuch" @@ -183,7 +187,7 @@ msgstr "%(value)s ist keine gültige remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s ist kein gültiger Benutzer*inname" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "Benutzer*inname" @@ -257,73 +261,73 @@ msgstr "Zitate" msgid "Everything else" msgstr "Alles andere" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home Timeline" msgstr "Start-Zeitleiste" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home" msgstr "Startseite" -#: bookwyrm/settings.py:191 +#: bookwyrm/settings.py:196 msgid "Books Timeline" msgstr "Bücher-Zeitleiste" -#: bookwyrm/settings.py:191 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:196 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:265 +#: bookwyrm/settings.py:270 msgid "English" msgstr "English (Englisch)" -#: bookwyrm/settings.py:266 +#: bookwyrm/settings.py:271 msgid "Deutsch (German)" msgstr "Deutsch" -#: bookwyrm/settings.py:267 +#: bookwyrm/settings.py:272 msgid "Español (Spanish)" msgstr "Español (Spanisch)" -#: bookwyrm/settings.py:268 +#: bookwyrm/settings.py:273 msgid "Galego (Galician)" msgstr "Galego (Galizisch)" -#: bookwyrm/settings.py:269 +#: bookwyrm/settings.py:274 msgid "Italiano (Italian)" msgstr "Italiano (Italienisch)" -#: bookwyrm/settings.py:270 +#: bookwyrm/settings.py:275 msgid "Français (French)" msgstr "Français (Französisch)" -#: bookwyrm/settings.py:271 +#: bookwyrm/settings.py:276 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Litauisch)" -#: bookwyrm/settings.py:272 +#: bookwyrm/settings.py:277 msgid "Norsk (Norwegian)" msgstr "Norsk (Norwegisch)" -#: bookwyrm/settings.py:273 +#: bookwyrm/settings.py:278 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (brasilianisches Portugiesisch)" -#: bookwyrm/settings.py:274 +#: bookwyrm/settings.py:279 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portugiesisch)" -#: bookwyrm/settings.py:275 +#: bookwyrm/settings.py:280 msgid "Svenska (Swedish)" msgstr "Svenska (Schwedisch)" -#: bookwyrm/settings.py:276 +#: bookwyrm/settings.py:281 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (vereinfachtes Chinesisch)" -#: bookwyrm/settings.py:277 +#: bookwyrm/settings.py:282 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chinesisch, traditionell)" @@ -395,7 +399,7 @@ msgstr "Die Moderator*innen und Administrator*innen von %(site_name)s halten die msgid "Moderator" msgstr "Moderator*in" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131 +#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "Administration" @@ -421,11 +425,12 @@ msgid "Statuses posted:" msgstr "Veröffentlichte Statusmeldungen:" #: bookwyrm/templates/about/layout.html:19 +#: bookwyrm/templates/setup/config.html:74 msgid "Software version:" msgstr "Softwareversion:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:229 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 #, python-format msgid "About %(site_name)s" msgstr "Über %(site_name)s" @@ -733,7 +738,7 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:82 #: bookwyrm/templates/settings/federation/instance.html:87 -#: bookwyrm/templates/settings/site.html:133 +#: bookwyrm/templates/settings/site.html:151 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -854,7 +859,7 @@ msgid "Places" msgstr "Orte" #: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -913,7 +918,7 @@ msgstr "Vorschau des Titelbilds" #: bookwyrm/templates/components/modal.html:13 #: bookwyrm/templates/components/modal.html:30 #: bookwyrm/templates/components/tooltip.html:7 -#: bookwyrm/templates/feed/suggested_books.html:62 +#: bookwyrm/templates/feed/suggested_books.html:55 #: bookwyrm/templates/get_started/layout.html:25 #: bookwyrm/templates/get_started/layout.html:58 msgid "Close" @@ -1211,6 +1216,7 @@ msgid "This link is taking you to: %(link_url)s.
Is that where msgstr "Dieser Link führt zu: %(link_url)s.
Möchtest du dorthin wechseln?" #: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Weiter" @@ -1284,7 +1290,7 @@ msgstr "Bestätigungscode:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 -#: bookwyrm/templates/settings/dashboard/dashboard.html:104 +#: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:52 msgid "Submit" msgstr "Absenden" @@ -1301,7 +1307,7 @@ msgstr "Bestätigungslink erneut senden" #: bookwyrm/templates/landing/layout.html:68 #: bookwyrm/templates/landing/password_reset_request.html:18 #: bookwyrm/templates/preferences/edit_user.html:53 -#: bookwyrm/templates/snippets/register_form.html:12 +#: bookwyrm/templates/snippets/register_form.html:27 msgid "Email address:" msgstr "E-Mail-Adresse:" @@ -1323,7 +1329,7 @@ msgstr "Föderierte Gemeinschaft" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:100 +#: bookwyrm/templates/layout.html:101 msgid "Directory" msgstr "Verzeichnis" @@ -1443,7 +1449,7 @@ msgstr "%(username)s hat %(username)s" msgstr "Direktnachrichten mit %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:110 +#: bookwyrm/templates/layout.html:111 msgid "Direct Messages" msgstr "Direktnachrichten" @@ -1616,7 +1623,7 @@ msgid "Updates" msgstr "Updates" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:105 +#: bookwyrm/templates/layout.html:106 msgid "Your Books" msgstr "Deine Bücher" @@ -1684,7 +1691,7 @@ msgid "What are you reading?" msgstr "Was liest du gerade?" #: bookwyrm/templates/get_started/books.html:9 -#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:203 +#: bookwyrm/templates/layout.html:48 bookwyrm/templates/lists/list.html:203 msgid "Search for a book" msgstr "Nach einem Buch suchen" @@ -1703,8 +1710,8 @@ msgstr "Du kannst Bücher hinzufügen, wenn du %(site_name)s benutzt." #: bookwyrm/templates/get_started/users.html:18 #: bookwyrm/templates/get_started/users.html:19 #: bookwyrm/templates/groups/members.html:15 -#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53 -#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:207 +#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:54 +#: bookwyrm/templates/layout.html:55 bookwyrm/templates/lists/list.html:207 #: bookwyrm/templates/search/layout.html:4 #: bookwyrm/templates/search/layout.html:9 msgid "Search" @@ -2024,7 +2031,7 @@ msgstr "Regal" #: bookwyrm/templates/import/import_status.html:120 #: bookwyrm/templates/import/manual_review.html:13 -#: bookwyrm/templates/snippets/create_status.html:17 +#: bookwyrm/templates/snippets/create_status.html:16 msgid "Review" msgstr "Besprechen" @@ -2169,7 +2176,7 @@ msgid "Login" msgstr "Anmeldung" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:178 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Anmelden" @@ -2178,7 +2185,7 @@ msgstr "Anmelden" msgid "Success! Email address confirmed." msgstr "Alles klar! E-Mail-Adresse bestätigt." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:169 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2186,12 +2193,12 @@ msgstr "Benutzer*inname:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:173 bookwyrm/templates/ostatus/error.html:32 -#: bookwyrm/templates/snippets/register_form.html:20 +#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Passwort:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:175 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Passwort vergessen?" @@ -2219,23 +2226,23 @@ msgstr "Passwort zurücksetzen" msgid "%(site_name)s search" msgstr "%(site_name)s-Suche" -#: bookwyrm/templates/layout.html:45 +#: bookwyrm/templates/layout.html:46 msgid "Search for a book, user, or list" msgstr "Nach einem Buch, einem*r Benutzer*in oder einer Liste suchen" -#: bookwyrm/templates/layout.html:63 +#: bookwyrm/templates/layout.html:64 msgid "Main navigation menu" msgstr "Navigations-Hauptmenü" -#: bookwyrm/templates/layout.html:71 +#: bookwyrm/templates/layout.html:72 msgid "Feed" msgstr "Feed" -#: bookwyrm/templates/layout.html:115 +#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Einstellungen" -#: bookwyrm/templates/layout.html:124 +#: bookwyrm/templates/layout.html:125 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2243,42 +2250,42 @@ msgstr "Einstellungen" msgid "Invites" msgstr "Einladungen" -#: bookwyrm/templates/layout.html:138 +#: bookwyrm/templates/layout.html:139 msgid "Log out" msgstr "Abmelden" -#: bookwyrm/templates/layout.html:146 bookwyrm/templates/layout.html:147 +#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Benachrichtigungen" -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "Passwort" -#: bookwyrm/templates/layout.html:186 +#: bookwyrm/templates/layout.html:187 msgid "Join" msgstr "Beitreten" -#: bookwyrm/templates/layout.html:220 +#: bookwyrm/templates/layout.html:221 msgid "Successfully posted status" msgstr "Status veröffentlicht" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:222 msgid "Error posting status" msgstr "Fehler beim veröffentlichen des Status" -#: bookwyrm/templates/layout.html:237 +#: bookwyrm/templates/layout.html:238 msgid "Documentation" msgstr "Handbuch" -#: bookwyrm/templates/layout.html:244 +#: bookwyrm/templates/layout.html:245 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "%(site_name)s auf %(support_title)s unterstützen" -#: bookwyrm/templates/layout.html:248 +#: bookwyrm/templates/layout.html:249 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm ist open source Software. Du kannst dich auf GitHub beteiligen oder etwas melden." @@ -2915,6 +2922,11 @@ msgstr "„%(book_title)s“ abschließen" msgid "Start \"%(book_title)s\"" msgstr "„%(book_title)s“ beginnen" +#: bookwyrm/templates/reading_progress/stop.html:5 +#, python-format +msgid "Stop \"%(book_title)s\"" +msgstr "" + #: bookwyrm/templates/reading_progress/want.html:5 #, python-format msgid "Want to Read \"%(book_title)s\"" @@ -3067,13 +3079,13 @@ msgstr "Nein" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:82 +#: bookwyrm/templates/settings/dashboard/dashboard.html:94 msgid "Start date:" msgstr "Startdatum:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:88 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "End date:" msgstr "Enddatum:" @@ -3147,7 +3159,7 @@ msgid "Dashboard" msgstr "Übersicht" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:123 msgid "Total users" msgstr "Benutzer*innen insgesamt" @@ -3172,45 +3184,50 @@ msgid_plural "%(display_count)s open reports" msgstr[0] "%(display_count)s offene Meldung" msgstr[1] "%(display_count)s offene Meldungen" -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 +#: bookwyrm/templates/settings/dashboard/dashboard.html:55 #, python-format msgid "%(display_count)s domain needs review" msgid_plural "%(display_count)s domains need review" msgstr[0] "%(display_count)s Domain muss überprüft werden" msgstr[1] "%(display_count)s Domains müssen überprüft werden" -#: bookwyrm/templates/settings/dashboard/dashboard.html:65 +#: bookwyrm/templates/settings/dashboard/dashboard.html:67 #, python-format msgid "%(display_count)s invite request" msgid_plural "%(display_count)s invite requests" msgstr[0] "%(display_count)s Einladungsanfrage" msgstr[1] "%(display_count)s Einladungsanfragen" -#: bookwyrm/templates/settings/dashboard/dashboard.html:76 +#: bookwyrm/templates/settings/dashboard/dashboard.html:79 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:88 msgid "Instance Activity" msgstr "Instanzaktivität" -#: bookwyrm/templates/settings/dashboard/dashboard.html:94 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 msgid "Interval:" msgstr "Intervall:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:98 +#: bookwyrm/templates/settings/dashboard/dashboard.html:110 msgid "Days" msgstr "Tage" -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 +#: bookwyrm/templates/settings/dashboard/dashboard.html:111 msgid "Weeks" msgstr "Wochen" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:129 msgid "User signup activity" msgstr "Neuanmeldungen" -#: bookwyrm/templates/settings/dashboard/dashboard.html:123 +#: bookwyrm/templates/settings/dashboard/dashboard.html:135 msgid "Status activity" msgstr "Statusaktivitäten" -#: bookwyrm/templates/settings/dashboard/dashboard.html:129 +#: bookwyrm/templates/settings/dashboard/dashboard.html:141 msgid "Works created" msgstr "Erstellte Werke" @@ -3639,7 +3656,7 @@ msgid "Moderator Comments" msgstr "Moderator*innenkommentare" #: bookwyrm/templates/settings/reports/report.html:89 -#: bookwyrm/templates/snippets/create_status.html:28 +#: bookwyrm/templates/snippets/create_status.html:26 msgid "Comment" msgstr "Kommentieren" @@ -3702,102 +3719,110 @@ msgid "No reports found." msgstr "Keine Meldungen gefunden." #: bookwyrm/templates/settings/site.html:10 -#: bookwyrm/templates/settings/site.html:21 +#: bookwyrm/templates/settings/site.html:39 msgid "Instance Info" msgstr "Instanzinformationen" #: bookwyrm/templates/settings/site.html:11 -#: bookwyrm/templates/settings/site.html:54 +#: bookwyrm/templates/settings/site.html:72 msgid "Images" msgstr "Bilder" #: bookwyrm/templates/settings/site.html:12 -#: bookwyrm/templates/settings/site.html:74 +#: bookwyrm/templates/settings/site.html:92 msgid "Footer Content" msgstr "Inhalt der Fußzeile" #: bookwyrm/templates/settings/site.html:13 -#: bookwyrm/templates/settings/site.html:98 +#: bookwyrm/templates/settings/site.html:116 msgid "Registration" msgstr "Registrierung" -#: bookwyrm/templates/settings/site.html:24 +#: bookwyrm/templates/settings/site.html:22 +msgid "Settings saved" +msgstr "" + +#: bookwyrm/templates/settings/site.html:31 +msgid "Unable to save settings" +msgstr "" + +#: bookwyrm/templates/settings/site.html:42 msgid "Instance Name:" msgstr "Instanzname:" -#: bookwyrm/templates/settings/site.html:28 +#: bookwyrm/templates/settings/site.html:46 msgid "Tagline:" msgstr "Motto:" -#: bookwyrm/templates/settings/site.html:32 +#: bookwyrm/templates/settings/site.html:50 msgid "Instance description:" msgstr "Instanzbeschreibung:" -#: bookwyrm/templates/settings/site.html:36 +#: bookwyrm/templates/settings/site.html:54 msgid "Short description:" msgstr "Kurzbeschreibung:" -#: bookwyrm/templates/settings/site.html:37 +#: bookwyrm/templates/settings/site.html:55 msgid "Used when the instance is previewed on joinbookwyrm.com. Does not support HTML or Markdown." msgstr "Wird verwendet, wenn die Instanz auf joinbookwyrm.com in der Vorschau angezeigt wird. Unterstützt weder HTML noch Markdown." -#: bookwyrm/templates/settings/site.html:41 +#: bookwyrm/templates/settings/site.html:59 msgid "Code of conduct:" msgstr "Verhaltenskodex:" -#: bookwyrm/templates/settings/site.html:45 +#: bookwyrm/templates/settings/site.html:63 msgid "Privacy Policy:" msgstr "Datenschutzerklärung:" -#: bookwyrm/templates/settings/site.html:57 +#: bookwyrm/templates/settings/site.html:75 msgid "Logo:" msgstr "Logo:" -#: bookwyrm/templates/settings/site.html:61 +#: bookwyrm/templates/settings/site.html:79 msgid "Logo small:" msgstr "Kleines Logo:" -#: bookwyrm/templates/settings/site.html:65 +#: bookwyrm/templates/settings/site.html:83 msgid "Favicon:" msgstr "Favicon:" -#: bookwyrm/templates/settings/site.html:77 +#: bookwyrm/templates/settings/site.html:95 msgid "Support link:" msgstr "Support-Link:" -#: bookwyrm/templates/settings/site.html:81 +#: bookwyrm/templates/settings/site.html:99 msgid "Support title:" msgstr "Support-Titel:" -#: bookwyrm/templates/settings/site.html:85 +#: bookwyrm/templates/settings/site.html:103 msgid "Admin email:" msgstr "E-Mail-Adresse des*r Administrator*in:" -#: bookwyrm/templates/settings/site.html:89 +#: bookwyrm/templates/settings/site.html:107 msgid "Additional info:" msgstr "Zusätzliche Angaben:" -#: bookwyrm/templates/settings/site.html:103 +#: bookwyrm/templates/settings/site.html:121 msgid "Allow registration" msgstr "Selbstregistrierung zulassen" -#: bookwyrm/templates/settings/site.html:109 +#: bookwyrm/templates/settings/site.html:127 msgid "Allow invite requests" msgstr "Einladungsanfragen zulassen" -#: bookwyrm/templates/settings/site.html:115 +#: bookwyrm/templates/settings/site.html:133 msgid "Require users to confirm email address" msgstr "Benutzer*innen müssen ihre E-Mail-Adresse bestätigen" -#: bookwyrm/templates/settings/site.html:117 +#: bookwyrm/templates/settings/site.html:135 msgid "(Recommended if registration is open)" msgstr "(empfohlen, falls Selbstregistrierung zulässig ist)" -#: bookwyrm/templates/settings/site.html:120 +#: bookwyrm/templates/settings/site.html:138 msgid "Registration closed text:" msgstr "Hinweis, wenn Selbtregistrierung nicht erlaubt ist:" -#: bookwyrm/templates/settings/site.html:124 +#: bookwyrm/templates/settings/site.html:142 msgid "Invite request text:" msgstr "Hinweis für Einladungsanfragen:" @@ -3928,6 +3953,118 @@ msgstr "Vorläufige Sperre für Benutzer*in aufheben" msgid "Access level:" msgstr "Zugriffsstufe:" +#: bookwyrm/templates/setup/admin.html:5 +msgid "Set up BookWyrm" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:7 +msgid "Your account as a user and an admin" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:13 +msgid "Create your account" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:20 +msgid "Admin key:" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:32 +msgid "An admin key was created when you installed BookWyrm. You can get your admin key by running ./bw-dev admin_code from the command line on your server." +msgstr "" + +#: bookwyrm/templates/setup/admin.html:45 +msgid "As an admin, you'll be able to configure the instance name and information, and moderate your instance. This means you will have access to private information about your users, and are responsible for responding to reports of bad behavior or spam." +msgstr "" + +#: bookwyrm/templates/setup/admin.html:51 +msgid "Once the instance is set up, you can promote other users to moderator or admin roles from the admin panel." +msgstr "" + +#: bookwyrm/templates/setup/admin.html:55 +msgid "Learn more about moderation" +msgstr "" + +#: bookwyrm/templates/setup/config.html:5 +msgid "Instance Configuration" +msgstr "" + +#: bookwyrm/templates/setup/config.html:7 +msgid "Make sure everything looks right before proceeding" +msgstr "" + +#: bookwyrm/templates/setup/config.html:18 +msgid "You are running BookWyrm in debug mode. This should never be used in a production environment." +msgstr "" + +#: bookwyrm/templates/setup/config.html:30 +msgid "Your domain appears to be misconfigured. It should not include protocol or slashes." +msgstr "" + +#: bookwyrm/templates/setup/config.html:42 +msgid "You are running BookWyrm in production mode without https. USE_HTTPS should be enabled in production." +msgstr "" + +#: bookwyrm/templates/setup/config.html:56 +msgid "Instance domain:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:63 +msgid "Protocol:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:81 +msgid "Using S3:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:91 +msgid "Display" +msgstr "" + +#: bookwyrm/templates/setup/config.html:95 +msgid "Default interface language:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:102 +msgid "Email sender:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:109 +msgid "Enable preview images:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:116 +msgid "Enable image thumbnails:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:128 +msgid "Does everything look right?" +msgstr "" + +#: bookwyrm/templates/setup/config.html:130 +msgid "This is your last chance to set your domain and protocol." +msgstr "" + +#: bookwyrm/templates/setup/config.html:144 +msgid "You can change your instance settings in the .env file on your server." +msgstr "" + +#: bookwyrm/templates/setup/config.html:148 +msgid "View installation instructions" +msgstr "" + +#: bookwyrm/templates/setup/layout.html:5 +msgid "Instance Setup" +msgstr "" + +#: bookwyrm/templates/setup/layout.html:15 +msgid "Installing BookWyrm" +msgstr "" + +#: bookwyrm/templates/setup/layout.html:18 +msgid "Need help?" +msgstr "" + #: bookwyrm/templates/shelf/create_shelf_form.html:5 msgid "Create Shelf" msgstr "Regal erstellen" @@ -4019,7 +4156,7 @@ msgstr[1] "und %(remainder_count_display)s Andere" msgid "No cover" msgstr "Kein Titelbild" -#: bookwyrm/templates/snippets/book_titleby.html:10 +#: bookwyrm/templates/snippets/book_titleby.html:11 #, python-format msgid "%(title)s by" msgstr "%(title)s von" @@ -4034,7 +4171,7 @@ msgstr "Teilen" msgid "Un-boost" msgstr "Teilen zurücknehmen" -#: bookwyrm/templates/snippets/create_status.html:39 +#: bookwyrm/templates/snippets/create_status.html:36 msgid "Quote" msgstr "Zitieren" @@ -4324,7 +4461,11 @@ msgstr "„%(book_title)s“ beginnen" msgid "Want to Read \"%(book_title)s\"" msgstr "„%(book_title)s“ auf Leseliste setzen" -#: bookwyrm/templates/snippets/register_form.html:30 +#: bookwyrm/templates/snippets/register_form.html:18 +msgid "Choose wisely! Your username cannot be changed." +msgstr "" + +#: bookwyrm/templates/snippets/register_form.html:64 msgid "Sign Up" msgstr "Registrieren" diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po index 7997af3ea..ff6cef87f 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-02-18 03:55+0000\n" +"POT-Creation-Date: 2022-02-25 20:12+0000\n" "PO-Revision-Date: 2021-02-28 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -122,6 +122,10 @@ msgstr "" msgid "Danger" msgstr "" +#: bookwyrm/models/antispam.py:106 bookwyrm/models/antispam.py:140 +msgid "Automatically generated report" +msgstr "" + #: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72 #: bookwyrm/templates/import/import_status.html:200 #: bookwyrm/templates/settings/link_domains/link_domains.html:19 @@ -262,73 +266,73 @@ msgstr "" msgid "Everything else" msgstr "" -#: bookwyrm/settings.py:195 +#: bookwyrm/settings.py:211 msgid "Home Timeline" msgstr "" -#: bookwyrm/settings.py:195 +#: bookwyrm/settings.py:211 msgid "Home" msgstr "" -#: bookwyrm/settings.py:196 +#: bookwyrm/settings.py:212 msgid "Books Timeline" msgstr "" -#: bookwyrm/settings.py:196 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:212 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "" -#: bookwyrm/settings.py:270 +#: bookwyrm/settings.py:284 msgid "English" msgstr "" -#: bookwyrm/settings.py:271 +#: bookwyrm/settings.py:285 msgid "Deutsch (German)" msgstr "" -#: bookwyrm/settings.py:272 +#: bookwyrm/settings.py:286 msgid "Español (Spanish)" msgstr "" -#: bookwyrm/settings.py:273 +#: bookwyrm/settings.py:287 msgid "Galego (Galician)" msgstr "" -#: bookwyrm/settings.py:274 +#: bookwyrm/settings.py:288 msgid "Italiano (Italian)" msgstr "" -#: bookwyrm/settings.py:275 +#: bookwyrm/settings.py:289 msgid "Français (French)" msgstr "" -#: bookwyrm/settings.py:276 +#: bookwyrm/settings.py:290 msgid "Lietuvių (Lithuanian)" msgstr "" -#: bookwyrm/settings.py:277 +#: bookwyrm/settings.py:291 msgid "Norsk (Norwegian)" msgstr "" -#: bookwyrm/settings.py:278 +#: bookwyrm/settings.py:292 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "" -#: bookwyrm/settings.py:279 +#: bookwyrm/settings.py:293 msgid "Português Europeu (European Portuguese)" msgstr "" -#: bookwyrm/settings.py:280 +#: bookwyrm/settings.py:294 msgid "Svenska (Swedish)" msgstr "" -#: bookwyrm/settings.py:281 +#: bookwyrm/settings.py:295 msgid "简体中文 (Simplified Chinese)" msgstr "" -#: bookwyrm/settings.py:282 +#: bookwyrm/settings.py:296 msgid "繁體中文 (Traditional Chinese)" msgstr "" @@ -2922,11 +2926,6 @@ msgstr "" msgid "Start \"%(book_title)s\"" msgstr "" -#: bookwyrm/templates/reading_progress/stop.html:5 -#, python-format -msgid "Stop \"%(book_title)s\"" -msgstr "" - #: bookwyrm/templates/reading_progress/want.html:5 #, python-format msgid "Want to Read \"%(book_title)s\"" @@ -3061,7 +3060,7 @@ msgstr "" #: bookwyrm/templates/settings/announcements/announcements.html:3 #: bookwyrm/templates/settings/announcements/announcements.html:5 #: bookwyrm/templates/settings/announcements/edit_announcement.html:15 -#: bookwyrm/templates/settings/layout.html:78 +#: bookwyrm/templates/settings/layout.html:82 msgid "Announcements" msgstr "" @@ -3152,6 +3151,67 @@ msgstr "" msgid "Color:" msgstr "" +#: bookwyrm/templates/settings/automod/rules.html:6 +#: bookwyrm/templates/settings/automod/rules.html:10 +#: bookwyrm/templates/settings/layout.html:61 +msgid "Auto-moderation rules" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:17 +msgid "Auto-moderation rules will create reports for any local user or status with fields matching the provided string." +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:18 +msgid "Users or statuses that have already been reported (regardless of whether the report was resolved) will not be flagged." +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:19 +msgid "At this time, reports are not being generated automatically, and you must manually trigger a scan." +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:23 +msgid "Run scan" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:31 +msgid "Successfully added rule" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:37 +msgid "Add Rule" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:46 +#: bookwyrm/templates/settings/automod/rules.html:90 +msgid "String match" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:56 +#: bookwyrm/templates/settings/automod/rules.html:93 +msgid "Flag users" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:63 +#: bookwyrm/templates/settings/automod/rules.html:96 +msgid "Flag statuses" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:70 +msgid "Add rule" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:77 +msgid "Current Rules" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:81 +msgid "Show rules" +msgstr "" + +#: bookwyrm/templates/settings/automod/rules.html:118 +msgid "Remove rule" +msgstr "" + #: bookwyrm/templates/settings/dashboard/dashboard.html:6 #: bookwyrm/templates/settings/dashboard/dashboard.html:8 #: bookwyrm/templates/settings/layout.html:28 @@ -3254,7 +3314,7 @@ msgstr "" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:5 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:7 -#: bookwyrm/templates/settings/layout.html:61 +#: bookwyrm/templates/settings/layout.html:65 msgid "Email Blocklist" msgstr "" @@ -3540,7 +3600,7 @@ msgstr "" #: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:5 #: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:7 -#: bookwyrm/templates/settings/layout.html:65 +#: bookwyrm/templates/settings/layout.html:69 msgid "IP Address Blocklist" msgstr "" @@ -3578,17 +3638,17 @@ msgstr "" msgid "Reports" msgstr "" -#: bookwyrm/templates/settings/layout.html:69 +#: bookwyrm/templates/settings/layout.html:73 #: 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:74 +#: bookwyrm/templates/settings/layout.html:78 msgid "Instance Settings" msgstr "" -#: bookwyrm/templates/settings/layout.html:82 +#: bookwyrm/templates/settings/layout.html:86 #: bookwyrm/templates/settings/site.html:4 #: bookwyrm/templates/settings/site.html:6 msgid "Site Settings" @@ -3627,35 +3687,35 @@ msgstr "" msgid "No links available for this domain." msgstr "" -#: bookwyrm/templates/settings/reports/report.html:11 +#: bookwyrm/templates/settings/reports/report.html:12 msgid "Back to reports" msgstr "" -#: bookwyrm/templates/settings/reports/report.html:23 +#: bookwyrm/templates/settings/reports/report.html:24 msgid "Message reporter" msgstr "" -#: bookwyrm/templates/settings/reports/report.html:27 +#: bookwyrm/templates/settings/reports/report.html:28 msgid "Update on your report:" msgstr "" -#: bookwyrm/templates/settings/reports/report.html:35 -msgid "Reported statuses" +#: bookwyrm/templates/settings/reports/report.html:36 +msgid "Reported status" msgstr "" -#: bookwyrm/templates/settings/reports/report.html:40 +#: bookwyrm/templates/settings/reports/report.html:38 msgid "Status has been deleted" msgstr "" -#: bookwyrm/templates/settings/reports/report.html:52 +#: bookwyrm/templates/settings/reports/report.html:47 msgid "Reported links" msgstr "" -#: bookwyrm/templates/settings/reports/report.html:68 +#: bookwyrm/templates/settings/reports/report.html:63 msgid "Moderator Comments" msgstr "" -#: bookwyrm/templates/settings/reports/report.html:89 +#: bookwyrm/templates/settings/reports/report.html:84 #: bookwyrm/templates/snippets/create_status.html:26 msgid "Comment" msgstr "" diff --git a/locale/es_ES/LC_MESSAGES/django.mo b/locale/es_ES/LC_MESSAGES/django.mo index 41cd76156416160ccf923fab551a153add56fe07..23dbbc0fa596bd8dab2816d702703c73b8ab37a5 100644 GIT binary patch delta 22 ecmeC2z}h*1b;F!P>=p_JrdGyAn-?ESYXtydiwLm* delta 22 ecmeC2z}h*1b;F!P?B)uFmR81=n-?ESYXtyd*9g1- diff --git a/locale/es_ES/LC_MESSAGES/django.po b/locale/es_ES/LC_MESSAGES/django.po index 3826ea65c..e5cac9b90 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-02-17 16:58+0000\n" -"PO-Revision-Date: 2022-02-17 19:39\n" +"POT-Creation-Date: 2022-02-18 03:55+0000\n" +"PO-Revision-Date: 2022-02-18 05:32\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Spanish\n" "Language: es\n" @@ -17,70 +17,74 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:245 +#: bookwyrm/forms.py:62 +msgid "User with this username already exists" +msgstr "" + +#: bookwyrm/forms.py:252 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "Este dominio está bloqueado. Póngase en contacto con su administrador si cree que esto es un error." -#: bookwyrm/forms.py:255 +#: bookwyrm/forms.py:262 msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." msgstr "Este enlace con ese tipo de archivo ya ha sido añadido a este libro. Si no es visible es porque el dominio todavía está pendiente." -#: bookwyrm/forms.py:394 +#: bookwyrm/forms.py:401 msgid "A user with this email already exists." msgstr "Ya existe un usuario con ese correo electrónico." -#: bookwyrm/forms.py:408 +#: bookwyrm/forms.py:415 msgid "One Day" msgstr "Un día" -#: bookwyrm/forms.py:409 +#: bookwyrm/forms.py:416 msgid "One Week" msgstr "Una semana" -#: bookwyrm/forms.py:410 +#: bookwyrm/forms.py:417 msgid "One Month" msgstr "Un mes" -#: bookwyrm/forms.py:411 +#: bookwyrm/forms.py:418 msgid "Does Not Expire" msgstr "No expira" -#: bookwyrm/forms.py:415 +#: bookwyrm/forms.py:422 #, python-brace-format msgid "{i} uses" msgstr "{i} usos" -#: bookwyrm/forms.py:416 +#: bookwyrm/forms.py:423 msgid "Unlimited" msgstr "Sin límite" -#: bookwyrm/forms.py:518 +#: bookwyrm/forms.py:525 msgid "List Order" msgstr "Orden de la lista" -#: bookwyrm/forms.py:519 +#: bookwyrm/forms.py:526 msgid "Book Title" msgstr "Título" -#: bookwyrm/forms.py:520 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms.py:527 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Valoración" -#: bookwyrm/forms.py:522 bookwyrm/templates/lists/list.html:175 +#: bookwyrm/forms.py:529 bookwyrm/templates/lists/list.html:175 msgid "Sort By" msgstr "Ordenar por" -#: bookwyrm/forms.py:526 +#: bookwyrm/forms.py:533 msgid "Ascending" msgstr "Ascendente" -#: bookwyrm/forms.py:527 +#: bookwyrm/forms.py:534 msgid "Descending" msgstr "Descendente" -#: bookwyrm/forms.py:540 +#: bookwyrm/forms.py:547 msgid "Reading finish date cannot be before start date." msgstr "La fecha final de lectura no puede ser anterior a la fecha de inicio." @@ -139,23 +143,23 @@ msgstr "Eliminación de moderador" msgid "Domain block" msgstr "Bloqueo de dominio" -#: bookwyrm/models/book.py:253 +#: bookwyrm/models/book.py:262 msgid "Audiobook" msgstr "Audio libro" -#: bookwyrm/models/book.py:254 +#: bookwyrm/models/book.py:263 msgid "eBook" msgstr "Libro electrónico" -#: bookwyrm/models/book.py:255 +#: bookwyrm/models/book.py:264 msgid "Graphic novel" msgstr "Novela gráfica" -#: bookwyrm/models/book.py:256 +#: bookwyrm/models/book.py:265 msgid "Hardcover" msgstr "Tapa dura" -#: bookwyrm/models/book.py:257 +#: bookwyrm/models/book.py:266 msgid "Paperback" msgstr "Tapa blanda" @@ -183,7 +187,7 @@ msgstr "%(value)s no es un remote_id válido" msgid "%(value)s is not a valid username" msgstr "%(value)s no es un usuario válido" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nombre de usuario" @@ -257,73 +261,73 @@ msgstr "Citas" msgid "Everything else" msgstr "Todo lo demás" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home Timeline" msgstr "Línea de tiempo principal" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home" msgstr "Inicio" -#: bookwyrm/settings.py:191 +#: bookwyrm/settings.py:196 msgid "Books Timeline" msgstr "Línea temporal de libros" -#: bookwyrm/settings.py:191 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:196 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:265 +#: bookwyrm/settings.py:270 msgid "English" msgstr "English (Inglés)" -#: bookwyrm/settings.py:266 +#: bookwyrm/settings.py:271 msgid "Deutsch (German)" msgstr "Deutsch (Alemán)" -#: bookwyrm/settings.py:267 +#: bookwyrm/settings.py:272 msgid "Español (Spanish)" msgstr "Español" -#: bookwyrm/settings.py:268 +#: bookwyrm/settings.py:273 msgid "Galego (Galician)" msgstr "Galego (Gallego)" -#: bookwyrm/settings.py:269 +#: bookwyrm/settings.py:274 msgid "Italiano (Italian)" msgstr "Italiano" -#: bookwyrm/settings.py:270 +#: bookwyrm/settings.py:275 msgid "Français (French)" msgstr "Français (Francés)" -#: bookwyrm/settings.py:271 +#: bookwyrm/settings.py:276 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lituano)" -#: bookwyrm/settings.py:272 +#: bookwyrm/settings.py:277 msgid "Norsk (Norwegian)" msgstr "Norsk (Noruego)" -#: bookwyrm/settings.py:273 +#: bookwyrm/settings.py:278 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Portugués brasileño)" -#: bookwyrm/settings.py:274 +#: bookwyrm/settings.py:279 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portugués europeo)" -#: bookwyrm/settings.py:275 +#: bookwyrm/settings.py:280 msgid "Svenska (Swedish)" msgstr "Svenska (Sueco)" -#: bookwyrm/settings.py:276 +#: bookwyrm/settings.py:281 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Chino simplificado)" -#: bookwyrm/settings.py:277 +#: bookwyrm/settings.py:282 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chino tradicional)" @@ -395,7 +399,7 @@ msgstr "Los moderadores y administradores de %(site_name)s mantienen el sitio en msgid "Moderator" msgstr "Moderador" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131 +#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "Administrador" @@ -421,11 +425,12 @@ msgid "Statuses posted:" msgstr "Estados publicados:" #: bookwyrm/templates/about/layout.html:19 +#: bookwyrm/templates/setup/config.html:74 msgid "Software version:" msgstr "Versión del software:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:229 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 #, python-format msgid "About %(site_name)s" msgstr "Sobre %(site_name)s" @@ -733,7 +738,7 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:82 #: bookwyrm/templates/settings/federation/instance.html:87 -#: bookwyrm/templates/settings/site.html:133 +#: bookwyrm/templates/settings/site.html:151 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -854,7 +859,7 @@ msgid "Places" msgstr "Lugares" #: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -913,7 +918,7 @@ msgstr "Vista previa de la portada del libro" #: bookwyrm/templates/components/modal.html:13 #: bookwyrm/templates/components/modal.html:30 #: bookwyrm/templates/components/tooltip.html:7 -#: bookwyrm/templates/feed/suggested_books.html:62 +#: bookwyrm/templates/feed/suggested_books.html:55 #: bookwyrm/templates/get_started/layout.html:25 #: bookwyrm/templates/get_started/layout.html:58 msgid "Close" @@ -1211,6 +1216,7 @@ msgid "This link is taking you to: %(link_url)s.
Is that where msgstr "Este enlace te lleva a: %(link_url)s.
¿Es ahí adonde quieres ir?" #: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Continuar" @@ -1284,7 +1290,7 @@ msgstr "Código de confirmación:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 -#: bookwyrm/templates/settings/dashboard/dashboard.html:104 +#: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:52 msgid "Submit" msgstr "Enviar" @@ -1301,7 +1307,7 @@ msgstr "Reenviar enlace de confirmación" #: bookwyrm/templates/landing/layout.html:68 #: bookwyrm/templates/landing/password_reset_request.html:18 #: bookwyrm/templates/preferences/edit_user.html:53 -#: bookwyrm/templates/snippets/register_form.html:12 +#: bookwyrm/templates/snippets/register_form.html:27 msgid "Email address:" msgstr "Dirección de correo electrónico:" @@ -1323,7 +1329,7 @@ msgstr "Comunidad federalizada" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:100 +#: bookwyrm/templates/layout.html:101 msgid "Directory" msgstr "Directorio" @@ -1443,7 +1449,7 @@ msgstr "%(username)s citó %(username)s" msgstr "Mensajes directos con %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:110 +#: bookwyrm/templates/layout.html:111 msgid "Direct Messages" msgstr "Mensajes directos" @@ -1616,7 +1623,7 @@ msgid "Updates" msgstr "Actualizaciones" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:105 +#: bookwyrm/templates/layout.html:106 msgid "Your Books" msgstr "Tus libros" @@ -1684,7 +1691,7 @@ msgid "What are you reading?" msgstr "¿Qué estás leyendo?" #: bookwyrm/templates/get_started/books.html:9 -#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:203 +#: bookwyrm/templates/layout.html:48 bookwyrm/templates/lists/list.html:203 msgid "Search for a book" msgstr "Buscar libros" @@ -1703,8 +1710,8 @@ msgstr "Puedes agregar libros cuando comiences a usar %(site_name)s." #: bookwyrm/templates/get_started/users.html:18 #: bookwyrm/templates/get_started/users.html:19 #: bookwyrm/templates/groups/members.html:15 -#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53 -#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:207 +#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:54 +#: bookwyrm/templates/layout.html:55 bookwyrm/templates/lists/list.html:207 #: bookwyrm/templates/search/layout.html:4 #: bookwyrm/templates/search/layout.html:9 msgid "Search" @@ -2024,7 +2031,7 @@ msgstr "Estantería" #: bookwyrm/templates/import/import_status.html:120 #: bookwyrm/templates/import/manual_review.html:13 -#: bookwyrm/templates/snippets/create_status.html:17 +#: bookwyrm/templates/snippets/create_status.html:16 msgid "Review" msgstr "Reseña" @@ -2169,7 +2176,7 @@ msgid "Login" msgstr "Iniciar sesión" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:178 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Iniciar sesión" @@ -2178,7 +2185,7 @@ msgstr "Iniciar sesión" msgid "Success! Email address confirmed." msgstr "¡Éxito! Dirección de correo electrónico confirmada." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:169 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2186,12 +2193,12 @@ msgstr "Nombre de usuario:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:173 bookwyrm/templates/ostatus/error.html:32 -#: bookwyrm/templates/snippets/register_form.html:20 +#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Contraseña:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:175 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "¿Olvidaste tu contraseña?" @@ -2219,23 +2226,23 @@ msgstr "Restablecer contraseña" msgid "%(site_name)s search" msgstr "Busqueda en %(site_name)s" -#: bookwyrm/templates/layout.html:45 +#: bookwyrm/templates/layout.html:46 msgid "Search for a book, user, or list" msgstr "Buscar un libro o un usuario o una lista" -#: bookwyrm/templates/layout.html:63 +#: bookwyrm/templates/layout.html:64 msgid "Main navigation menu" msgstr "Menú de navigación central" -#: bookwyrm/templates/layout.html:71 +#: bookwyrm/templates/layout.html:72 msgid "Feed" msgstr "Actividad" -#: bookwyrm/templates/layout.html:115 +#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Configuración" -#: bookwyrm/templates/layout.html:124 +#: bookwyrm/templates/layout.html:125 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2243,42 +2250,42 @@ msgstr "Configuración" msgid "Invites" msgstr "Invitaciones" -#: bookwyrm/templates/layout.html:138 +#: bookwyrm/templates/layout.html:139 msgid "Log out" msgstr "Cerrar sesión" -#: bookwyrm/templates/layout.html:146 bookwyrm/templates/layout.html:147 +#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Notificaciones" -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "contraseña" -#: bookwyrm/templates/layout.html:186 +#: bookwyrm/templates/layout.html:187 msgid "Join" msgstr "Unirse" -#: bookwyrm/templates/layout.html:220 +#: bookwyrm/templates/layout.html:221 msgid "Successfully posted status" msgstr "Estado publicado con éxito" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:222 msgid "Error posting status" msgstr "Error al publicar el estado" -#: bookwyrm/templates/layout.html:237 +#: bookwyrm/templates/layout.html:238 msgid "Documentation" msgstr "Documentación de Django" -#: bookwyrm/templates/layout.html:244 +#: bookwyrm/templates/layout.html:245 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Apoyar %(site_name)s en %(support_title)s" -#: bookwyrm/templates/layout.html:248 +#: bookwyrm/templates/layout.html:249 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm es software de código abierto. Puedes contribuir o reportar problemas en GitHub." @@ -2915,6 +2922,11 @@ msgstr "Terminar \"%(book_title)s\"" msgid "Start \"%(book_title)s\"" msgstr "Empezar \"%(book_title)s\"" +#: bookwyrm/templates/reading_progress/stop.html:5 +#, python-format +msgid "Stop \"%(book_title)s\"" +msgstr "" + #: bookwyrm/templates/reading_progress/want.html:5 #, python-format msgid "Want to Read \"%(book_title)s\"" @@ -3067,13 +3079,13 @@ msgstr "Falso" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:82 +#: bookwyrm/templates/settings/dashboard/dashboard.html:94 msgid "Start date:" msgstr "Fecha de inicio:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:88 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "End date:" msgstr "Fecha final:" @@ -3147,7 +3159,7 @@ msgid "Dashboard" msgstr "Tablero" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:123 msgid "Total users" msgstr "Número de usuarios" @@ -3172,45 +3184,50 @@ msgid_plural "%(display_count)s open reports" msgstr[0] "%(display_count)s informe abierto" msgstr[1] "%(display_count)s informes abiertos" -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 +#: bookwyrm/templates/settings/dashboard/dashboard.html:55 #, python-format msgid "%(display_count)s domain needs review" msgid_plural "%(display_count)s domains need review" msgstr[0] "%(display_count)s dominio necesita revisión" msgstr[1] "%(display_count)s dominios necesitan revisión" -#: bookwyrm/templates/settings/dashboard/dashboard.html:65 +#: bookwyrm/templates/settings/dashboard/dashboard.html:67 #, python-format msgid "%(display_count)s invite request" msgid_plural "%(display_count)s invite requests" msgstr[0] "%(display_count)s solicitación de invitado" msgstr[1] "%(display_count)s solicitaciones de invitado" -#: bookwyrm/templates/settings/dashboard/dashboard.html:76 +#: bookwyrm/templates/settings/dashboard/dashboard.html:79 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:88 msgid "Instance Activity" msgstr "Actividad de instancia" -#: bookwyrm/templates/settings/dashboard/dashboard.html:94 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 msgid "Interval:" msgstr "Intervalo:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:98 +#: bookwyrm/templates/settings/dashboard/dashboard.html:110 msgid "Days" msgstr "Dias" -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 +#: bookwyrm/templates/settings/dashboard/dashboard.html:111 msgid "Weeks" msgstr "Semanas" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:129 msgid "User signup activity" msgstr "Actividad de inscripciones de usuarios" -#: bookwyrm/templates/settings/dashboard/dashboard.html:123 +#: bookwyrm/templates/settings/dashboard/dashboard.html:135 msgid "Status activity" msgstr "Actividad de estado" -#: bookwyrm/templates/settings/dashboard/dashboard.html:129 +#: bookwyrm/templates/settings/dashboard/dashboard.html:141 msgid "Works created" msgstr "Obras creadas" @@ -3639,7 +3656,7 @@ msgid "Moderator Comments" msgstr "Comentarios de moderador" #: bookwyrm/templates/settings/reports/report.html:89 -#: bookwyrm/templates/snippets/create_status.html:28 +#: bookwyrm/templates/snippets/create_status.html:26 msgid "Comment" msgstr "Comentario" @@ -3702,102 +3719,110 @@ msgid "No reports found." msgstr "No se encontró ningún informe." #: bookwyrm/templates/settings/site.html:10 -#: bookwyrm/templates/settings/site.html:21 +#: bookwyrm/templates/settings/site.html:39 msgid "Instance Info" msgstr "Información de instancia" #: bookwyrm/templates/settings/site.html:11 -#: bookwyrm/templates/settings/site.html:54 +#: bookwyrm/templates/settings/site.html:72 msgid "Images" msgstr "Imagenes" #: bookwyrm/templates/settings/site.html:12 -#: bookwyrm/templates/settings/site.html:74 +#: bookwyrm/templates/settings/site.html:92 msgid "Footer Content" msgstr "Contenido del pie de página" #: bookwyrm/templates/settings/site.html:13 -#: bookwyrm/templates/settings/site.html:98 +#: bookwyrm/templates/settings/site.html:116 msgid "Registration" msgstr "Registración" -#: bookwyrm/templates/settings/site.html:24 +#: bookwyrm/templates/settings/site.html:22 +msgid "Settings saved" +msgstr "" + +#: bookwyrm/templates/settings/site.html:31 +msgid "Unable to save settings" +msgstr "" + +#: bookwyrm/templates/settings/site.html:42 msgid "Instance Name:" msgstr "Nombre de instancia:" -#: bookwyrm/templates/settings/site.html:28 +#: bookwyrm/templates/settings/site.html:46 msgid "Tagline:" msgstr "Lema:" -#: bookwyrm/templates/settings/site.html:32 +#: bookwyrm/templates/settings/site.html:50 msgid "Instance description:" msgstr "Descripción de instancia:" -#: bookwyrm/templates/settings/site.html:36 +#: bookwyrm/templates/settings/site.html:54 msgid "Short description:" msgstr "Descripción corta:" -#: bookwyrm/templates/settings/site.html:37 +#: bookwyrm/templates/settings/site.html:55 msgid "Used when the instance is previewed on joinbookwyrm.com. Does not support HTML or Markdown." msgstr "Se utiliza cuando se obtiene una vista previa de la instancia en joinbookwyrm.com. No es compatible con HTML ni Markdown." -#: bookwyrm/templates/settings/site.html:41 +#: bookwyrm/templates/settings/site.html:59 msgid "Code of conduct:" msgstr "Código de conducta:" -#: bookwyrm/templates/settings/site.html:45 +#: bookwyrm/templates/settings/site.html:63 msgid "Privacy Policy:" msgstr "Política de privacidad:" -#: bookwyrm/templates/settings/site.html:57 +#: bookwyrm/templates/settings/site.html:75 msgid "Logo:" msgstr "Logo:" -#: bookwyrm/templates/settings/site.html:61 +#: bookwyrm/templates/settings/site.html:79 msgid "Logo small:" msgstr "Logo pequeño:" -#: bookwyrm/templates/settings/site.html:65 +#: bookwyrm/templates/settings/site.html:83 msgid "Favicon:" msgstr "Favicon:" -#: bookwyrm/templates/settings/site.html:77 +#: bookwyrm/templates/settings/site.html:95 msgid "Support link:" msgstr "Enlace de apoyo:" -#: bookwyrm/templates/settings/site.html:81 +#: bookwyrm/templates/settings/site.html:99 msgid "Support title:" msgstr "Título de apoyo:" -#: bookwyrm/templates/settings/site.html:85 +#: bookwyrm/templates/settings/site.html:103 msgid "Admin email:" msgstr "Correo electrónico de administradorx:" -#: bookwyrm/templates/settings/site.html:89 +#: bookwyrm/templates/settings/site.html:107 msgid "Additional info:" msgstr "Más informacion:" -#: bookwyrm/templates/settings/site.html:103 +#: bookwyrm/templates/settings/site.html:121 msgid "Allow registration" msgstr "Permitir registración" -#: bookwyrm/templates/settings/site.html:109 +#: bookwyrm/templates/settings/site.html:127 msgid "Allow invite requests" msgstr "Permitir solicitudes de invitación" -#: bookwyrm/templates/settings/site.html:115 +#: bookwyrm/templates/settings/site.html:133 msgid "Require users to confirm email address" msgstr "Requerir a usuarios a confirmar dirección de correo electrónico" -#: bookwyrm/templates/settings/site.html:117 +#: bookwyrm/templates/settings/site.html:135 msgid "(Recommended if registration is open)" msgstr "(Recomendado si la registración es abierta)" -#: bookwyrm/templates/settings/site.html:120 +#: bookwyrm/templates/settings/site.html:138 msgid "Registration closed text:" msgstr "Texto de registración cerrada:" -#: bookwyrm/templates/settings/site.html:124 +#: bookwyrm/templates/settings/site.html:142 msgid "Invite request text:" msgstr "Texto de solicitud de invitación:" @@ -3928,6 +3953,118 @@ msgstr "Des-suspender usuario" msgid "Access level:" msgstr "Nivel de acceso:" +#: bookwyrm/templates/setup/admin.html:5 +msgid "Set up BookWyrm" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:7 +msgid "Your account as a user and an admin" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:13 +msgid "Create your account" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:20 +msgid "Admin key:" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:32 +msgid "An admin key was created when you installed BookWyrm. You can get your admin key by running ./bw-dev admin_code from the command line on your server." +msgstr "" + +#: bookwyrm/templates/setup/admin.html:45 +msgid "As an admin, you'll be able to configure the instance name and information, and moderate your instance. This means you will have access to private information about your users, and are responsible for responding to reports of bad behavior or spam." +msgstr "" + +#: bookwyrm/templates/setup/admin.html:51 +msgid "Once the instance is set up, you can promote other users to moderator or admin roles from the admin panel." +msgstr "" + +#: bookwyrm/templates/setup/admin.html:55 +msgid "Learn more about moderation" +msgstr "" + +#: bookwyrm/templates/setup/config.html:5 +msgid "Instance Configuration" +msgstr "" + +#: bookwyrm/templates/setup/config.html:7 +msgid "Make sure everything looks right before proceeding" +msgstr "" + +#: bookwyrm/templates/setup/config.html:18 +msgid "You are running BookWyrm in debug mode. This should never be used in a production environment." +msgstr "" + +#: bookwyrm/templates/setup/config.html:30 +msgid "Your domain appears to be misconfigured. It should not include protocol or slashes." +msgstr "" + +#: bookwyrm/templates/setup/config.html:42 +msgid "You are running BookWyrm in production mode without https. USE_HTTPS should be enabled in production." +msgstr "" + +#: bookwyrm/templates/setup/config.html:56 +msgid "Instance domain:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:63 +msgid "Protocol:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:81 +msgid "Using S3:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:91 +msgid "Display" +msgstr "" + +#: bookwyrm/templates/setup/config.html:95 +msgid "Default interface language:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:102 +msgid "Email sender:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:109 +msgid "Enable preview images:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:116 +msgid "Enable image thumbnails:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:128 +msgid "Does everything look right?" +msgstr "" + +#: bookwyrm/templates/setup/config.html:130 +msgid "This is your last chance to set your domain and protocol." +msgstr "" + +#: bookwyrm/templates/setup/config.html:144 +msgid "You can change your instance settings in the .env file on your server." +msgstr "" + +#: bookwyrm/templates/setup/config.html:148 +msgid "View installation instructions" +msgstr "" + +#: bookwyrm/templates/setup/layout.html:5 +msgid "Instance Setup" +msgstr "" + +#: bookwyrm/templates/setup/layout.html:15 +msgid "Installing BookWyrm" +msgstr "" + +#: bookwyrm/templates/setup/layout.html:18 +msgid "Need help?" +msgstr "" + #: bookwyrm/templates/shelf/create_shelf_form.html:5 msgid "Create Shelf" msgstr "Crear Estantería" @@ -4019,7 +4156,7 @@ msgstr[1] "y %(remainder_count_display)s otros" msgid "No cover" msgstr "Sin portada" -#: bookwyrm/templates/snippets/book_titleby.html:10 +#: bookwyrm/templates/snippets/book_titleby.html:11 #, python-format msgid "%(title)s by" msgstr "%(title)s por" @@ -4034,7 +4171,7 @@ msgstr "Difundir" msgid "Un-boost" msgstr "Deshacer difusión" -#: bookwyrm/templates/snippets/create_status.html:39 +#: bookwyrm/templates/snippets/create_status.html:36 msgid "Quote" msgstr "Cita" @@ -4324,7 +4461,11 @@ msgstr "Empezar \"%(book_title)s\"" msgid "Want to Read \"%(book_title)s\"" msgstr "Quiero leer \"%(book_title)s\"" -#: bookwyrm/templates/snippets/register_form.html:30 +#: bookwyrm/templates/snippets/register_form.html:18 +msgid "Choose wisely! Your username cannot be changed." +msgstr "" + +#: bookwyrm/templates/snippets/register_form.html:64 msgid "Sign Up" msgstr "Inscribirse" diff --git a/locale/fr_FR/LC_MESSAGES/django.mo b/locale/fr_FR/LC_MESSAGES/django.mo index e3a6d8e8147ce082250d9e75f3969622823c20a1..4cdcbf8ea2a3ffdeed740317a055f435e5954b7c 100644 GIT binary patch delta 17775 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 diff --git a/locale/fr_FR/LC_MESSAGES/django.po b/locale/fr_FR/LC_MESSAGES/django.po index 7c001f755..32e83e983 100644 --- a/locale/fr_FR/LC_MESSAGES/django.po +++ b/locale/fr_FR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-02-17 16:58+0000\n" -"PO-Revision-Date: 2022-02-17 19:39\n" +"POT-Creation-Date: 2022-02-18 03:55+0000\n" +"PO-Revision-Date: 2022-02-18 11:36\n" "Last-Translator: Mouse Reeve \n" "Language-Team: French\n" "Language: fr\n" @@ -17,70 +17,74 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:245 +#: bookwyrm/forms.py:62 +msgid "User with this username already exists" +msgstr "Un compte du même nom existe déjà" + +#: bookwyrm/forms.py:252 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "Ce domaine est bloqué. Contactez l’admin de votre instance si vous pensez que c’est une erreur." -#: bookwyrm/forms.py:255 +#: bookwyrm/forms.py:262 msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." msgstr "Le lien avec ce type de fichier a déjà été ajouté pour ce livre. S’il n’est pas visible, le domaine est encore en attente." -#: bookwyrm/forms.py:394 +#: bookwyrm/forms.py:401 msgid "A user with this email already exists." msgstr "Cet email est déjà associé à un compte." -#: bookwyrm/forms.py:408 +#: bookwyrm/forms.py:415 msgid "One Day" msgstr "Un jour" -#: bookwyrm/forms.py:409 +#: bookwyrm/forms.py:416 msgid "One Week" msgstr "Une semaine" -#: bookwyrm/forms.py:410 +#: bookwyrm/forms.py:417 msgid "One Month" msgstr "Un mois" -#: bookwyrm/forms.py:411 +#: bookwyrm/forms.py:418 msgid "Does Not Expire" msgstr "Sans expiration" -#: bookwyrm/forms.py:415 +#: bookwyrm/forms.py:422 #, python-brace-format msgid "{i} uses" msgstr "{i} utilisations" -#: bookwyrm/forms.py:416 +#: bookwyrm/forms.py:423 msgid "Unlimited" msgstr "Sans limite" -#: bookwyrm/forms.py:518 +#: bookwyrm/forms.py:525 msgid "List Order" msgstr "Ordre de la liste" -#: bookwyrm/forms.py:519 +#: bookwyrm/forms.py:526 msgid "Book Title" msgstr "Titre du livre" -#: bookwyrm/forms.py:520 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms.py:527 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Note" -#: bookwyrm/forms.py:522 bookwyrm/templates/lists/list.html:175 +#: bookwyrm/forms.py:529 bookwyrm/templates/lists/list.html:175 msgid "Sort By" msgstr "Trier par" -#: bookwyrm/forms.py:526 +#: bookwyrm/forms.py:533 msgid "Ascending" msgstr "Ordre croissant" -#: bookwyrm/forms.py:527 +#: bookwyrm/forms.py:534 msgid "Descending" msgstr "Ordre décroissant" -#: bookwyrm/forms.py:540 +#: bookwyrm/forms.py:547 msgid "Reading finish date cannot be before start date." msgstr "La date de fin de lecture ne peut pas être antérieure à la date de début." @@ -94,15 +98,15 @@ msgstr "Impossible de trouver une correspondance pour le livre" #: bookwyrm/models/announcement.py:11 msgid "None" -msgstr "" +msgstr "Aucun" #: bookwyrm/models/announcement.py:12 msgid "Primary" -msgstr "" +msgstr "Primaire" #: bookwyrm/models/announcement.py:13 msgid "Success" -msgstr "" +msgstr "Succès" #: bookwyrm/models/announcement.py:14 #: bookwyrm/templates/settings/invites/manage_invites.html:47 @@ -111,11 +115,11 @@ msgstr "Lien" #: bookwyrm/models/announcement.py:15 msgid "Warning" -msgstr "" +msgstr "Avertissement" #: bookwyrm/models/announcement.py:16 msgid "Danger" -msgstr "" +msgstr "Danger" #: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72 #: bookwyrm/templates/import/import_status.html:200 @@ -139,23 +143,23 @@ msgstr "Suppression du modérateur" msgid "Domain block" msgstr "Blocage de domaine" -#: bookwyrm/models/book.py:253 +#: bookwyrm/models/book.py:262 msgid "Audiobook" msgstr "Livre audio" -#: bookwyrm/models/book.py:254 +#: bookwyrm/models/book.py:263 msgid "eBook" msgstr "eBook" -#: bookwyrm/models/book.py:255 +#: bookwyrm/models/book.py:264 msgid "Graphic novel" msgstr "Roman Graphique" -#: bookwyrm/models/book.py:256 +#: bookwyrm/models/book.py:265 msgid "Hardcover" msgstr "Couverture rigide" -#: bookwyrm/models/book.py:257 +#: bookwyrm/models/book.py:266 msgid "Paperback" msgstr "Couverture souple" @@ -183,7 +187,7 @@ msgstr "%(value)s n’est pas une remote_id valide." msgid "%(value)s is not a valid username" msgstr "%(value)s n’est pas un nom de compte valide." -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nom du compte :" @@ -257,73 +261,73 @@ msgstr "Citations" msgid "Everything else" msgstr "Tout le reste" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home Timeline" msgstr "Mon fil d’actualité" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home" msgstr "Accueil" -#: bookwyrm/settings.py:191 +#: bookwyrm/settings.py:196 msgid "Books Timeline" msgstr "Actualité de mes livres" -#: bookwyrm/settings.py:191 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:196 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:265 +#: bookwyrm/settings.py:270 msgid "English" msgstr "English" -#: bookwyrm/settings.py:266 +#: bookwyrm/settings.py:271 msgid "Deutsch (German)" msgstr "Deutsch" -#: bookwyrm/settings.py:267 +#: bookwyrm/settings.py:272 msgid "Español (Spanish)" msgstr "Español" -#: bookwyrm/settings.py:268 +#: bookwyrm/settings.py:273 msgid "Galego (Galician)" msgstr "Galego (Galicien)" -#: bookwyrm/settings.py:269 +#: bookwyrm/settings.py:274 msgid "Italiano (Italian)" msgstr "Italiano (italien)" -#: bookwyrm/settings.py:270 +#: bookwyrm/settings.py:275 msgid "Français (French)" msgstr "Français" -#: bookwyrm/settings.py:271 +#: bookwyrm/settings.py:276 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lituanien)" -#: bookwyrm/settings.py:272 +#: bookwyrm/settings.py:277 msgid "Norsk (Norwegian)" msgstr "Norsk (norvégien)" -#: bookwyrm/settings.py:273 +#: bookwyrm/settings.py:278 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Portugais brésilien)" -#: bookwyrm/settings.py:274 +#: bookwyrm/settings.py:279 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portugais européen)" -#: bookwyrm/settings.py:275 +#: bookwyrm/settings.py:280 msgid "Svenska (Swedish)" msgstr "Svenska (Suédois)" -#: bookwyrm/settings.py:276 +#: bookwyrm/settings.py:281 msgid "简体中文 (Simplified Chinese)" msgstr "简化字" -#: bookwyrm/settings.py:277 +#: bookwyrm/settings.py:282 msgid "繁體中文 (Traditional Chinese)" msgstr "Infos supplémentaires :" @@ -395,7 +399,7 @@ msgstr "L’administration et la modération de %(site_name)s maintiennent le si msgid "Moderator" msgstr "Modérateur/modératrice" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131 +#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "Admin" @@ -421,11 +425,12 @@ msgid "Statuses posted:" msgstr "Statuts publiés :" #: bookwyrm/templates/about/layout.html:19 +#: bookwyrm/templates/setup/config.html:74 msgid "Software version:" msgstr "Version logicielle :" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:229 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 #, python-format msgid "About %(site_name)s" msgstr "À propos de %(site_name)s" @@ -733,7 +738,7 @@ msgstr "ISNI :" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:82 #: bookwyrm/templates/settings/federation/instance.html:87 -#: bookwyrm/templates/settings/site.html:133 +#: bookwyrm/templates/settings/site.html:151 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -854,7 +859,7 @@ msgid "Places" msgstr "Lieux" #: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -913,7 +918,7 @@ msgstr "Aperçu de la couverture" #: bookwyrm/templates/components/modal.html:13 #: bookwyrm/templates/components/modal.html:30 #: bookwyrm/templates/components/tooltip.html:7 -#: bookwyrm/templates/feed/suggested_books.html:62 +#: bookwyrm/templates/feed/suggested_books.html:55 #: bookwyrm/templates/get_started/layout.html:25 #: bookwyrm/templates/get_started/layout.html:58 msgid "Close" @@ -1211,6 +1216,7 @@ msgid "This link is taking you to: %(link_url)s.
Is that where msgstr "Ce lien vous amène à %(link_url)s.
Est-ce là que vous souhaitez aller ?" #: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Continuer" @@ -1284,7 +1290,7 @@ msgstr "Code de confirmation :" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 -#: bookwyrm/templates/settings/dashboard/dashboard.html:104 +#: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:52 msgid "Submit" msgstr "Valider" @@ -1301,7 +1307,7 @@ msgstr "Envoyer le lien de confirmation de nouveau" #: bookwyrm/templates/landing/layout.html:68 #: bookwyrm/templates/landing/password_reset_request.html:18 #: bookwyrm/templates/preferences/edit_user.html:53 -#: bookwyrm/templates/snippets/register_form.html:12 +#: bookwyrm/templates/snippets/register_form.html:27 msgid "Email address:" msgstr "Adresse email :" @@ -1323,7 +1329,7 @@ msgstr "Communauté fédérée" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:100 +#: bookwyrm/templates/layout.html:101 msgid "Directory" msgstr "Répertoire" @@ -1443,7 +1449,7 @@ msgstr "%(username)s a cité un passage de %(username)s" msgstr "Messages directs avec %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:110 +#: bookwyrm/templates/layout.html:111 msgid "Direct Messages" msgstr "Messages directs" @@ -1616,7 +1623,7 @@ msgid "Updates" msgstr "Mises à jour" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:105 +#: bookwyrm/templates/layout.html:106 msgid "Your Books" msgstr "Vos Livres" @@ -1684,7 +1691,7 @@ msgid "What are you reading?" msgstr "Que lisez‑vous ?" #: bookwyrm/templates/get_started/books.html:9 -#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:203 +#: bookwyrm/templates/layout.html:48 bookwyrm/templates/lists/list.html:203 msgid "Search for a book" msgstr "Chercher un livre" @@ -1703,8 +1710,8 @@ msgstr "Vous pourrez ajouter des livres lorsque vous commencerez à utiliser %(s #: bookwyrm/templates/get_started/users.html:18 #: bookwyrm/templates/get_started/users.html:19 #: bookwyrm/templates/groups/members.html:15 -#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53 -#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:207 +#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:54 +#: bookwyrm/templates/layout.html:55 bookwyrm/templates/lists/list.html:207 #: bookwyrm/templates/search/layout.html:4 #: bookwyrm/templates/search/layout.html:9 msgid "Search" @@ -2024,7 +2031,7 @@ msgstr "Étagère" #: bookwyrm/templates/import/import_status.html:120 #: bookwyrm/templates/import/manual_review.html:13 -#: bookwyrm/templates/snippets/create_status.html:17 +#: bookwyrm/templates/snippets/create_status.html:16 msgid "Review" msgstr "Critique" @@ -2169,7 +2176,7 @@ msgid "Login" msgstr "Connexion" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:178 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Se connecter" @@ -2178,7 +2185,7 @@ msgstr "Se connecter" msgid "Success! Email address confirmed." msgstr "Bravo ! L’adresse email a été confirmée." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:169 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2186,12 +2193,12 @@ msgstr "Nom du compte :" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:173 bookwyrm/templates/ostatus/error.html:32 -#: bookwyrm/templates/snippets/register_form.html:20 +#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Mot de passe :" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:175 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Mot de passe oublié ?" @@ -2219,23 +2226,23 @@ msgstr "Changer de mot de passe" msgid "%(site_name)s search" msgstr "Recherche %(site_name)s" -#: bookwyrm/templates/layout.html:45 +#: bookwyrm/templates/layout.html:46 msgid "Search for a book, user, or list" msgstr "Rechercher un livre, un utilisateur ou une liste" -#: bookwyrm/templates/layout.html:63 +#: bookwyrm/templates/layout.html:64 msgid "Main navigation menu" msgstr "Menu de navigation principal " -#: bookwyrm/templates/layout.html:71 +#: bookwyrm/templates/layout.html:72 msgid "Feed" msgstr "Fil d’actualité" -#: bookwyrm/templates/layout.html:115 +#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Paramètres" -#: bookwyrm/templates/layout.html:124 +#: bookwyrm/templates/layout.html:125 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2243,42 +2250,42 @@ msgstr "Paramètres" msgid "Invites" msgstr "Invitations" -#: bookwyrm/templates/layout.html:138 +#: bookwyrm/templates/layout.html:139 msgid "Log out" msgstr "Se déconnecter" -#: bookwyrm/templates/layout.html:146 bookwyrm/templates/layout.html:147 +#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Notifications" -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "Mot de passe" -#: bookwyrm/templates/layout.html:186 +#: bookwyrm/templates/layout.html:187 msgid "Join" msgstr "Rejoindre" -#: bookwyrm/templates/layout.html:220 +#: bookwyrm/templates/layout.html:221 msgid "Successfully posted status" msgstr "Publié !" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:222 msgid "Error posting status" msgstr "Erreur lors de la publication" -#: bookwyrm/templates/layout.html:237 +#: bookwyrm/templates/layout.html:238 msgid "Documentation" msgstr "Documentation" -#: bookwyrm/templates/layout.html:244 +#: bookwyrm/templates/layout.html:245 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Soutenez %(site_name)s avec %(support_title)s" -#: bookwyrm/templates/layout.html:248 +#: bookwyrm/templates/layout.html:249 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm est un logiciel libre. Vous pouvez contribuer ou faire des rapports de bogues via GitHub." @@ -2915,6 +2922,11 @@ msgstr "Terminer \"%(book_title)s\"" msgid "Start \"%(book_title)s\"" msgstr "Commencer \"%(book_title)s\"" +#: bookwyrm/templates/reading_progress/stop.html:5 +#, python-format +msgid "Stop \"%(book_title)s\"" +msgstr "Arrêter \"%(book_title)s\"" + #: bookwyrm/templates/reading_progress/want.html:5 #, python-format msgid "Want to Read \"%(book_title)s\"" @@ -3067,13 +3079,13 @@ msgstr "Faux" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:82 +#: bookwyrm/templates/settings/dashboard/dashboard.html:94 msgid "Start date:" msgstr "Date de début :" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:88 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "End date:" msgstr "Date de fin :" @@ -3122,11 +3134,11 @@ msgstr "Modifier l’annonce" #: bookwyrm/templates/settings/announcements/edit_announcement.html:45 msgid "Announcement content" -msgstr "" +msgstr "Contenu de l’annonce" #: bookwyrm/templates/settings/announcements/edit_announcement.html:57 msgid "Details:" -msgstr "" +msgstr "Détails :" #: bookwyrm/templates/settings/announcements/edit_announcement.html:65 msgid "Event date:" @@ -3134,11 +3146,11 @@ msgstr "Date de l'événement :" #: bookwyrm/templates/settings/announcements/edit_announcement.html:73 msgid "Display settings" -msgstr "" +msgstr "Paramètres d’affichage" #: bookwyrm/templates/settings/announcements/edit_announcement.html:98 msgid "Color:" -msgstr "" +msgstr "Couleur :" #: bookwyrm/templates/settings/dashboard/dashboard.html:6 #: bookwyrm/templates/settings/dashboard/dashboard.html:8 @@ -3147,7 +3159,7 @@ msgid "Dashboard" msgstr "Tableau de bord" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:123 msgid "Total users" msgstr "Nombre total d'utilisateurs·rices" @@ -3172,45 +3184,50 @@ msgid_plural "%(display_count)s open reports" msgstr[0] "%(display_count)s signalement ouvert" msgstr[1] "%(display_count)s signalements ouverts" -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 +#: bookwyrm/templates/settings/dashboard/dashboard.html:55 #, python-format msgid "%(display_count)s domain needs review" msgid_plural "%(display_count)s domains need review" msgstr[0] "%(display_count)s domaine doit être vérifié" msgstr[1] "%(display_count)s domaines doivent être vérifiés" -#: bookwyrm/templates/settings/dashboard/dashboard.html:65 +#: bookwyrm/templates/settings/dashboard/dashboard.html:67 #, python-format msgid "%(display_count)s invite request" msgid_plural "%(display_count)s invite requests" msgstr[0] "%(display_count)s demande d'invitation" msgstr[1] "%(display_count)s demandes d'invitation" -#: bookwyrm/templates/settings/dashboard/dashboard.html:76 +#: bookwyrm/templates/settings/dashboard/dashboard.html:79 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "Une mise à jour est disponible ! Vous utilisez la version%(current)s et la dernière version est %(available)s." + +#: bookwyrm/templates/settings/dashboard/dashboard.html:88 msgid "Instance Activity" msgstr "Activité de l'instance" -#: bookwyrm/templates/settings/dashboard/dashboard.html:94 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 msgid "Interval:" msgstr "Intervalle :" -#: bookwyrm/templates/settings/dashboard/dashboard.html:98 +#: bookwyrm/templates/settings/dashboard/dashboard.html:110 msgid "Days" msgstr "Jours" -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 +#: bookwyrm/templates/settings/dashboard/dashboard.html:111 msgid "Weeks" msgstr "Semaines" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:129 msgid "User signup activity" msgstr "Nouvelles inscriptions" -#: bookwyrm/templates/settings/dashboard/dashboard.html:123 +#: bookwyrm/templates/settings/dashboard/dashboard.html:135 msgid "Status activity" msgstr "Nouveaux statuts" -#: bookwyrm/templates/settings/dashboard/dashboard.html:129 +#: bookwyrm/templates/settings/dashboard/dashboard.html:141 msgid "Works created" msgstr "Œuvres créées" @@ -3639,7 +3656,7 @@ msgid "Moderator Comments" msgstr "Commentaires de l’équipe de modération" #: bookwyrm/templates/settings/reports/report.html:89 -#: bookwyrm/templates/snippets/create_status.html:28 +#: bookwyrm/templates/snippets/create_status.html:26 msgid "Comment" msgstr "Commentaire" @@ -3702,102 +3719,110 @@ msgid "No reports found." msgstr "Aucun signalement trouvé." #: bookwyrm/templates/settings/site.html:10 -#: bookwyrm/templates/settings/site.html:21 +#: bookwyrm/templates/settings/site.html:39 msgid "Instance Info" msgstr "Information sur l’instance" #: bookwyrm/templates/settings/site.html:11 -#: bookwyrm/templates/settings/site.html:54 +#: bookwyrm/templates/settings/site.html:72 msgid "Images" msgstr "Images" #: bookwyrm/templates/settings/site.html:12 -#: bookwyrm/templates/settings/site.html:74 +#: bookwyrm/templates/settings/site.html:92 msgid "Footer Content" msgstr "Contenu du pied de page" #: bookwyrm/templates/settings/site.html:13 -#: bookwyrm/templates/settings/site.html:98 +#: bookwyrm/templates/settings/site.html:116 msgid "Registration" msgstr "Inscription" -#: bookwyrm/templates/settings/site.html:24 +#: bookwyrm/templates/settings/site.html:22 +msgid "Settings saved" +msgstr "Paramètres enregistrés" + +#: bookwyrm/templates/settings/site.html:31 +msgid "Unable to save settings" +msgstr "Impossible d’enregistrer les paramètres" + +#: bookwyrm/templates/settings/site.html:42 msgid "Instance Name:" msgstr "Nom de l’instance :" -#: bookwyrm/templates/settings/site.html:28 +#: bookwyrm/templates/settings/site.html:46 msgid "Tagline:" msgstr "Slogan :" -#: bookwyrm/templates/settings/site.html:32 +#: bookwyrm/templates/settings/site.html:50 msgid "Instance description:" msgstr "Description de l’instance :" -#: bookwyrm/templates/settings/site.html:36 +#: bookwyrm/templates/settings/site.html:54 msgid "Short description:" msgstr "Description courte :" -#: bookwyrm/templates/settings/site.html:37 +#: bookwyrm/templates/settings/site.html:55 msgid "Used when the instance is previewed on joinbookwyrm.com. Does not support HTML or Markdown." msgstr "Utilisé dans l'aperçu de l'instance sur joinbookwyrm.com. Ne prend pas en charge l'HTML ou le Markdown." -#: bookwyrm/templates/settings/site.html:41 +#: bookwyrm/templates/settings/site.html:59 msgid "Code of conduct:" msgstr "Code de conduite :" -#: bookwyrm/templates/settings/site.html:45 +#: bookwyrm/templates/settings/site.html:63 msgid "Privacy Policy:" msgstr "Politique de vie privée :" -#: bookwyrm/templates/settings/site.html:57 +#: bookwyrm/templates/settings/site.html:75 msgid "Logo:" msgstr "Logo :" -#: bookwyrm/templates/settings/site.html:61 +#: bookwyrm/templates/settings/site.html:79 msgid "Logo small:" msgstr "Logo réduit :" -#: bookwyrm/templates/settings/site.html:65 +#: bookwyrm/templates/settings/site.html:83 msgid "Favicon:" msgstr "Favicon :" -#: bookwyrm/templates/settings/site.html:77 +#: bookwyrm/templates/settings/site.html:95 msgid "Support link:" msgstr "URL pour soutenir l’instance :" -#: bookwyrm/templates/settings/site.html:81 +#: bookwyrm/templates/settings/site.html:99 msgid "Support title:" msgstr "Titre pour soutenir l’instance :" -#: bookwyrm/templates/settings/site.html:85 +#: bookwyrm/templates/settings/site.html:103 msgid "Admin email:" msgstr "Email de l’administrateur :" -#: bookwyrm/templates/settings/site.html:89 +#: bookwyrm/templates/settings/site.html:107 msgid "Additional info:" msgstr "Infos supplémentaires :" -#: bookwyrm/templates/settings/site.html:103 +#: bookwyrm/templates/settings/site.html:121 msgid "Allow registration" msgstr "Autoriser les inscriptions" -#: bookwyrm/templates/settings/site.html:109 +#: bookwyrm/templates/settings/site.html:127 msgid "Allow invite requests" msgstr "Autoriser les demandes d’invitation" -#: bookwyrm/templates/settings/site.html:115 +#: bookwyrm/templates/settings/site.html:133 msgid "Require users to confirm email address" msgstr "Demander aux utilisateurs et utilisatrices de confirmer leur adresse email" -#: bookwyrm/templates/settings/site.html:117 +#: bookwyrm/templates/settings/site.html:135 msgid "(Recommended if registration is open)" msgstr "(Recommandé si les inscriptions sont ouvertes)" -#: bookwyrm/templates/settings/site.html:120 +#: bookwyrm/templates/settings/site.html:138 msgid "Registration closed text:" msgstr "Texte affiché lorsque les inscriptions sont closes :" -#: bookwyrm/templates/settings/site.html:124 +#: bookwyrm/templates/settings/site.html:142 msgid "Invite request text:" msgstr "Texte de la demande d'invitation :" @@ -3928,6 +3953,118 @@ msgstr "Rétablir le compte" msgid "Access level:" msgstr "Niveau d’accès :" +#: bookwyrm/templates/setup/admin.html:5 +msgid "Set up BookWyrm" +msgstr "Configurer BookWyrm" + +#: bookwyrm/templates/setup/admin.html:7 +msgid "Your account as a user and an admin" +msgstr "Votre compte en tant qu’utilisateur et admin" + +#: bookwyrm/templates/setup/admin.html:13 +msgid "Create your account" +msgstr "Créer votre compte" + +#: bookwyrm/templates/setup/admin.html:20 +msgid "Admin key:" +msgstr "Clé admin :" + +#: bookwyrm/templates/setup/admin.html:32 +msgid "An admin key was created when you installed BookWyrm. You can get your admin key by running ./bw-dev admin_code from the command line on your server." +msgstr "Une clé admin a été créée lorsque vous avez installé BookWyrm. Vous pouvez obtenir votre clé admin en exécutant ./bw-dev admin_code depuis la ligne de commande sur votre serveur." + +#: bookwyrm/templates/setup/admin.html:45 +msgid "As an admin, you'll be able to configure the instance name and information, and moderate your instance. This means you will have access to private information about your users, and are responsible for responding to reports of bad behavior or spam." +msgstr "En tant qu’admin, vous serez en mesure de configurer le nom et les informations de l’instance et de modérer votre instance. Cela signifie que vous aurez accès à des informations privées sur les comptes de votre instance et que vous serez responsable de répondre aux signalements de mauvais comportements ou de spam." + +#: bookwyrm/templates/setup/admin.html:51 +msgid "Once the instance is set up, you can promote other users to moderator or admin roles from the admin panel." +msgstr "Une fois l'instance configurée, vous pouvez promouvoir d'autres comptes en tant que mod ou admin depuis le panneau d'administration." + +#: bookwyrm/templates/setup/admin.html:55 +msgid "Learn more about moderation" +msgstr "En savoir plus sur la modération" + +#: bookwyrm/templates/setup/config.html:5 +msgid "Instance Configuration" +msgstr "Configuration de l’instance" + +#: bookwyrm/templates/setup/config.html:7 +msgid "Make sure everything looks right before proceeding" +msgstr "Assurez-vous que tout semble juste avant de continuer" + +#: bookwyrm/templates/setup/config.html:18 +msgid "You are running BookWyrm in debug mode. This should never be used in a production environment." +msgstr "Vous faites fonctionner BookWyrm en mode debug. Ce mode ne doit jamais être utilisé dans un environnement de production." + +#: bookwyrm/templates/setup/config.html:30 +msgid "Your domain appears to be misconfigured. It should not include protocol or slashes." +msgstr "Votre domaine semble être mal configuré. Il ne doit pas inclure de protocole ou de slashs." + +#: bookwyrm/templates/setup/config.html:42 +msgid "You are running BookWyrm in production mode without https. USE_HTTPS should be enabled in production." +msgstr "Vous utilisez BookWyrm en mode production sans https. USE_HTTPS doit être activé en production." + +#: bookwyrm/templates/setup/config.html:56 +msgid "Instance domain:" +msgstr "Domaine de l'instance :" + +#: bookwyrm/templates/setup/config.html:63 +msgid "Protocol:" +msgstr "Protocole :" + +#: bookwyrm/templates/setup/config.html:81 +msgid "Using S3:" +msgstr "Utilisation de S3 :" + +#: bookwyrm/templates/setup/config.html:91 +msgid "Display" +msgstr "Affichage" + +#: bookwyrm/templates/setup/config.html:95 +msgid "Default interface language:" +msgstr "Langue par défaut de l'interface :" + +#: bookwyrm/templates/setup/config.html:102 +msgid "Email sender:" +msgstr "Expéditeur de l'e-mail :" + +#: bookwyrm/templates/setup/config.html:109 +msgid "Enable preview images:" +msgstr "Activation des images d’aperçu :" + +#: bookwyrm/templates/setup/config.html:116 +msgid "Enable image thumbnails:" +msgstr "Activation de la réduction de taille des images :" + +#: bookwyrm/templates/setup/config.html:128 +msgid "Does everything look right?" +msgstr "Est-ce que tout a l’air correct ?" + +#: bookwyrm/templates/setup/config.html:130 +msgid "This is your last chance to set your domain and protocol." +msgstr "C'est votre dernière chance de configurer votre domaine et votre protocole." + +#: bookwyrm/templates/setup/config.html:144 +msgid "You can change your instance settings in the .env file on your server." +msgstr "Vous pouvez modifier les paramètres de votre instance dans le fichier .env sur votre serveur." + +#: bookwyrm/templates/setup/config.html:148 +msgid "View installation instructions" +msgstr "Voir les instructions d'installation" + +#: bookwyrm/templates/setup/layout.html:5 +msgid "Instance Setup" +msgstr "Configuration de l’instance" + +#: bookwyrm/templates/setup/layout.html:15 +msgid "Installing BookWyrm" +msgstr "Installation de BookWyrm" + +#: bookwyrm/templates/setup/layout.html:18 +msgid "Need help?" +msgstr "Besoin d’aide ?" + #: bookwyrm/templates/shelf/create_shelf_form.html:5 msgid "Create Shelf" msgstr "Créer une étagère" @@ -4019,7 +4156,7 @@ msgstr[1] "et %(remainder_count_display)s autres" msgid "No cover" msgstr "Pas de couverture" -#: bookwyrm/templates/snippets/book_titleby.html:10 +#: bookwyrm/templates/snippets/book_titleby.html:11 #, python-format msgid "%(title)s by" msgstr "%(title)s de" @@ -4034,7 +4171,7 @@ msgstr "Partager" msgid "Un-boost" msgstr "Annuler le partage" -#: bookwyrm/templates/snippets/create_status.html:39 +#: bookwyrm/templates/snippets/create_status.html:36 msgid "Quote" msgstr "Citation" @@ -4324,7 +4461,11 @@ msgstr "Commencer « %(book_title)s »" msgid "Want to Read \"%(book_title)s\"" msgstr "Ajouter « %(book_title)s » aux envies de lecture" -#: bookwyrm/templates/snippets/register_form.html:30 +#: bookwyrm/templates/snippets/register_form.html:18 +msgid "Choose wisely! Your username cannot be changed." +msgstr "Choisissez bien ! Votre nom d’utilisateur ne peut pas être changé." + +#: bookwyrm/templates/snippets/register_form.html:64 msgid "Sign Up" msgstr "S’enregistrer" diff --git a/locale/gl_ES/LC_MESSAGES/django.mo b/locale/gl_ES/LC_MESSAGES/django.mo index e0feb3c82ddbf8276d49bf94469376dd47c0a8aa..2e70e150f45f91dcc68c61e87b1a1f6f7cea1be3 100644 GIT binary patch delta 26269 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 delta 21909 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 K+v>PBhyD-fJ@1hK diff --git a/locale/gl_ES/LC_MESSAGES/django.po b/locale/gl_ES/LC_MESSAGES/django.po index f186499bc..0e29c152e 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-02-17 16:58+0000\n" -"PO-Revision-Date: 2022-02-17 19:39\n" +"POT-Creation-Date: 2022-02-18 03:55+0000\n" +"PO-Revision-Date: 2022-02-22 05:34\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Galician\n" "Language: gl\n" @@ -17,70 +17,74 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:245 +#: bookwyrm/forms.py:62 +msgid "User with this username already exists" +msgstr "Xa existe unha usuaria con este identificador" + +#: bookwyrm/forms.py:252 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "Este dominio está bloqueado. Contacta coa administración se cres que é un erro." -#: bookwyrm/forms.py:255 +#: bookwyrm/forms.py:262 msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." msgstr "Esta ligazón co tipo de ficheiro xa foi engadida para este libro. Se non é visible, o dominio aínda está pendente." -#: bookwyrm/forms.py:394 +#: bookwyrm/forms.py:401 msgid "A user with this email already exists." msgstr "Xa existe unha usuaria con este email." -#: bookwyrm/forms.py:408 +#: bookwyrm/forms.py:415 msgid "One Day" msgstr "Un día" -#: bookwyrm/forms.py:409 +#: bookwyrm/forms.py:416 msgid "One Week" msgstr "Unha semana" -#: bookwyrm/forms.py:410 +#: bookwyrm/forms.py:417 msgid "One Month" msgstr "Un mes" -#: bookwyrm/forms.py:411 +#: bookwyrm/forms.py:418 msgid "Does Not Expire" msgstr "Non caduca" -#: bookwyrm/forms.py:415 +#: bookwyrm/forms.py:422 #, python-brace-format msgid "{i} uses" msgstr "{i} usos" -#: bookwyrm/forms.py:416 +#: bookwyrm/forms.py:423 msgid "Unlimited" msgstr "Sen límite" -#: bookwyrm/forms.py:518 +#: bookwyrm/forms.py:525 msgid "List Order" msgstr "Orde da listaxe" -#: bookwyrm/forms.py:519 +#: bookwyrm/forms.py:526 msgid "Book Title" msgstr "Título do libro" -#: bookwyrm/forms.py:520 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms.py:527 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Puntuación" -#: bookwyrm/forms.py:522 bookwyrm/templates/lists/list.html:175 +#: bookwyrm/forms.py:529 bookwyrm/templates/lists/list.html:175 msgid "Sort By" msgstr "Ordenar por" -#: bookwyrm/forms.py:526 +#: bookwyrm/forms.py:533 msgid "Ascending" msgstr "Ascendente" -#: bookwyrm/forms.py:527 +#: bookwyrm/forms.py:534 msgid "Descending" msgstr "Descendente" -#: bookwyrm/forms.py:540 +#: bookwyrm/forms.py:547 msgid "Reading finish date cannot be before start date." msgstr "A data final da lectura non pode ser anterior á de inicio." @@ -94,15 +98,15 @@ msgstr "Non se atopan coincidencias para o libro" #: bookwyrm/models/announcement.py:11 msgid "None" -msgstr "" +msgstr "Ningún" #: bookwyrm/models/announcement.py:12 msgid "Primary" -msgstr "" +msgstr "Principal" #: bookwyrm/models/announcement.py:13 msgid "Success" -msgstr "" +msgstr "Feito" #: bookwyrm/models/announcement.py:14 #: bookwyrm/templates/settings/invites/manage_invites.html:47 @@ -111,11 +115,11 @@ msgstr "Ligazón" #: bookwyrm/models/announcement.py:15 msgid "Warning" -msgstr "" +msgstr "Advertencia" #: bookwyrm/models/announcement.py:16 msgid "Danger" -msgstr "" +msgstr "Perigo" #: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72 #: bookwyrm/templates/import/import_status.html:200 @@ -139,23 +143,23 @@ msgstr "Eliminado pola moderación" msgid "Domain block" msgstr "Bloqueo de dominio" -#: bookwyrm/models/book.py:253 +#: bookwyrm/models/book.py:262 msgid "Audiobook" msgstr "Audiolibro" -#: bookwyrm/models/book.py:254 +#: bookwyrm/models/book.py:263 msgid "eBook" msgstr "eBook" -#: bookwyrm/models/book.py:255 +#: bookwyrm/models/book.py:264 msgid "Graphic novel" msgstr "Novela gráfica" -#: bookwyrm/models/book.py:256 +#: bookwyrm/models/book.py:265 msgid "Hardcover" msgstr "Portada dura" -#: bookwyrm/models/book.py:257 +#: bookwyrm/models/book.py:266 msgid "Paperback" msgstr "En rústica" @@ -183,7 +187,7 @@ msgstr "%(value)s non é un remote_id válido" msgid "%(value)s is not a valid username" msgstr "%(value)s non é un nome de usuaria válido" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nome de usuaria" @@ -257,73 +261,73 @@ msgstr "Citas" msgid "Everything else" msgstr "As outras cousas" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home Timeline" msgstr "Cronoloxía de Inicio" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home" msgstr "Inicio" -#: bookwyrm/settings.py:191 +#: bookwyrm/settings.py:196 msgid "Books Timeline" msgstr "Cronoloxía de libros" -#: bookwyrm/settings.py:191 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:196 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:265 +#: bookwyrm/settings.py:270 msgid "English" msgstr "English (Inglés)" -#: bookwyrm/settings.py:266 +#: bookwyrm/settings.py:271 msgid "Deutsch (German)" msgstr "Alemán (Alemaña)" -#: bookwyrm/settings.py:267 +#: bookwyrm/settings.py:272 msgid "Español (Spanish)" msgstr "Español (España)" -#: bookwyrm/settings.py:268 +#: bookwyrm/settings.py:273 msgid "Galego (Galician)" msgstr "Galego (Galician)" -#: bookwyrm/settings.py:269 +#: bookwyrm/settings.py:274 msgid "Italiano (Italian)" msgstr "Italiano (Italian)" -#: bookwyrm/settings.py:270 +#: bookwyrm/settings.py:275 msgid "Français (French)" msgstr "Francés (Francia)" -#: bookwyrm/settings.py:271 +#: bookwyrm/settings.py:276 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lithuanian)" -#: bookwyrm/settings.py:272 +#: bookwyrm/settings.py:277 msgid "Norsk (Norwegian)" msgstr "Noruegués (Norwegian)" -#: bookwyrm/settings.py:273 +#: bookwyrm/settings.py:278 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Portugués brasileiro)" -#: bookwyrm/settings.py:274 +#: bookwyrm/settings.py:279 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portugués europeo)" -#: bookwyrm/settings.py:275 +#: bookwyrm/settings.py:280 msgid "Svenska (Swedish)" msgstr "Sueco (Swedish)" -#: bookwyrm/settings.py:276 +#: bookwyrm/settings.py:281 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Chinés simplificado)" -#: bookwyrm/settings.py:277 +#: bookwyrm/settings.py:282 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chinés tradicional)" @@ -395,7 +399,7 @@ msgstr "A moderación e administración de %(site_name)s coidan e xestionan o si msgid "Moderator" msgstr "Moderación" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131 +#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "Admin" @@ -421,11 +425,12 @@ msgid "Statuses posted:" msgstr "Estados publicados:" #: bookwyrm/templates/about/layout.html:19 +#: bookwyrm/templates/setup/config.html:74 msgid "Software version:" msgstr "Versión do software:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:229 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 #, python-format msgid "About %(site_name)s" msgstr "Acerca de %(site_name)s" @@ -733,7 +738,7 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:82 #: bookwyrm/templates/settings/federation/instance.html:87 -#: bookwyrm/templates/settings/site.html:133 +#: bookwyrm/templates/settings/site.html:151 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -854,7 +859,7 @@ msgid "Places" msgstr "Lugares" #: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -913,7 +918,7 @@ msgstr "Vista previa da portada" #: bookwyrm/templates/components/modal.html:13 #: bookwyrm/templates/components/modal.html:30 #: bookwyrm/templates/components/tooltip.html:7 -#: bookwyrm/templates/feed/suggested_books.html:62 +#: bookwyrm/templates/feed/suggested_books.html:55 #: bookwyrm/templates/get_started/layout.html:25 #: bookwyrm/templates/get_started/layout.html:58 msgid "Close" @@ -1211,6 +1216,7 @@ msgid "This link is taking you to: %(link_url)s.
Is that where msgstr "Esta ligazón vaite levar a: %(link_url)s.
É ahí a onde queres ir?" #: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Continuar" @@ -1284,7 +1290,7 @@ msgstr "Código de confirmación:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 -#: bookwyrm/templates/settings/dashboard/dashboard.html:104 +#: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:52 msgid "Submit" msgstr "Enviar" @@ -1301,7 +1307,7 @@ msgstr "Reenviar ligazón de confirmación" #: bookwyrm/templates/landing/layout.html:68 #: bookwyrm/templates/landing/password_reset_request.html:18 #: bookwyrm/templates/preferences/edit_user.html:53 -#: bookwyrm/templates/snippets/register_form.html:12 +#: bookwyrm/templates/snippets/register_form.html:27 msgid "Email address:" msgstr "Enderezo de email:" @@ -1323,7 +1329,7 @@ msgstr "Comunidade federada" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:100 +#: bookwyrm/templates/layout.html:101 msgid "Directory" msgstr "Directorio" @@ -1443,7 +1449,7 @@ msgstr "%(username)s citou %(confirmation_code)s\" at login." -msgstr "Ou escribe o código \"%(confirmation_code)s\" na páxina de conexión." +msgstr "Ou escribe o código \"%(confirmation_code)s\" na páxina de acceso." #: bookwyrm/templates/email/confirm/subject.html:2 msgid "Please confirm your email" @@ -1479,7 +1485,7 @@ msgstr "Por favor confirma o teu email" #: bookwyrm/templates/email/confirm/text_content.html:10 #, python-format msgid "Or enter the code \"%(confirmation_code)s\" at login." -msgstr "Ou escribe o código \"%(confirmation_code)s\" na páxina de conexión." +msgstr "Ou escribe o código \"%(confirmation_code)s\" na páxina de acceso." #: bookwyrm/templates/email/html_layout.html:15 #: bookwyrm/templates/email/text_layout.html:2 @@ -1540,7 +1546,7 @@ msgstr "Nova denuncia en %(site_name)s" #: bookwyrm/templates/email/password_reset/text_content.html:4 #, python-format msgid "You requested to reset your %(site_name)s password. Click the link below to set a new password and log in to your account." -msgstr "Solicitaches restablecer o contrasinal en %(site_name)s. Preme na ligazón para establecer un novo contrasinal e conectarte á túa conta." +msgstr "Solicitaches restablecer o contrasinal en %(site_name)s. Preme na ligazón para establecer un novo contrasinal e acceder á túa conta." #: bookwyrm/templates/email/password_reset/html_content.html:9 #: bookwyrm/templates/landing/password_reset.html:4 @@ -1560,12 +1566,13 @@ msgstr "Se non solicitaches cambiar o contrasinal podes ignorar este email." msgid "Reset your %(site_name)s password" msgstr "Restablece o contrasinal en %(site_name)s" -#: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:39 +#: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:40 +#: bookwyrm/templates/setup/layout.html:12 #, python-format msgid "%(site_name)s home page" msgstr "Páxina de inicio de %(site_name)s" -#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:233 +#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:234 msgid "Contact site admin" msgstr "Contacta coa administración" @@ -1579,7 +1586,7 @@ msgid "Direct Messages with %(username)s" msgstr "Mensaxes Directas con %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:110 +#: bookwyrm/templates/layout.html:111 msgid "Direct Messages" msgstr "Mensaxes Directas" @@ -1616,7 +1623,7 @@ msgid "Updates" msgstr "Actualizacións" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:105 +#: bookwyrm/templates/layout.html:106 msgid "Your Books" msgstr "Os teus libros" @@ -1684,7 +1691,7 @@ msgid "What are you reading?" msgstr "Que estás a ler?" #: bookwyrm/templates/get_started/books.html:9 -#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:203 +#: bookwyrm/templates/layout.html:48 bookwyrm/templates/lists/list.html:203 msgid "Search for a book" msgstr "Buscar un libro" @@ -1703,8 +1710,8 @@ msgstr "Podes engadir libros cando comeces a usar %(site_name)s." #: bookwyrm/templates/get_started/users.html:18 #: bookwyrm/templates/get_started/users.html:19 #: bookwyrm/templates/groups/members.html:15 -#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53 -#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:207 +#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:54 +#: bookwyrm/templates/layout.html:55 bookwyrm/templates/lists/list.html:207 #: bookwyrm/templates/search/layout.html:4 #: bookwyrm/templates/search/layout.html:9 msgid "Search" @@ -2024,7 +2031,7 @@ msgstr "Estante" #: bookwyrm/templates/import/import_status.html:120 #: bookwyrm/templates/import/manual_review.html:13 -#: bookwyrm/templates/snippets/create_status.html:17 +#: bookwyrm/templates/snippets/create_status.html:16 msgid "Review" msgstr "Revisar" @@ -2166,19 +2173,19 @@ msgstr "A túa Conta" #: bookwyrm/templates/landing/login.html:4 msgid "Login" -msgstr "Conectar" +msgstr "Acceder" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:178 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" -msgstr "Conecta" +msgstr "Accede" #: bookwyrm/templates/landing/login.html:15 msgid "Success! Email address confirmed." msgstr "Correcto! Enderezo de email confirmado." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:169 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2186,12 +2193,12 @@ msgstr "Nome de usuaria:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:173 bookwyrm/templates/ostatus/error.html:32 -#: bookwyrm/templates/snippets/register_form.html:20 +#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Contrasinal:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:175 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Esqueceches o contrasinal?" @@ -2219,23 +2226,23 @@ msgstr "Restablecer contrasinal" msgid "%(site_name)s search" msgstr "Busca en %(site_name)s" -#: bookwyrm/templates/layout.html:45 +#: bookwyrm/templates/layout.html:46 msgid "Search for a book, user, or list" msgstr "Busca un libro, usuaria ou lista" -#: bookwyrm/templates/layout.html:63 +#: bookwyrm/templates/layout.html:64 msgid "Main navigation menu" msgstr "Menú principal de navegación" -#: bookwyrm/templates/layout.html:71 +#: bookwyrm/templates/layout.html:72 msgid "Feed" msgstr "Fonte" -#: bookwyrm/templates/layout.html:115 +#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Axustes" -#: bookwyrm/templates/layout.html:124 +#: bookwyrm/templates/layout.html:125 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2243,42 +2250,42 @@ msgstr "Axustes" msgid "Invites" msgstr "Convites" -#: bookwyrm/templates/layout.html:138 +#: bookwyrm/templates/layout.html:139 msgid "Log out" msgstr "Desconectar" -#: bookwyrm/templates/layout.html:146 bookwyrm/templates/layout.html:147 +#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Notificacións" -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "contrasinal" -#: bookwyrm/templates/layout.html:186 +#: bookwyrm/templates/layout.html:187 msgid "Join" msgstr "Únete" -#: bookwyrm/templates/layout.html:220 +#: bookwyrm/templates/layout.html:221 msgid "Successfully posted status" msgstr "Publicación correcta" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:222 msgid "Error posting status" msgstr "Erro ao publicar" -#: bookwyrm/templates/layout.html:237 +#: bookwyrm/templates/layout.html:238 msgid "Documentation" msgstr "Documentación" -#: bookwyrm/templates/layout.html:244 +#: bookwyrm/templates/layout.html:245 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Axuda a %(site_name)s en %(support_title)s" -#: bookwyrm/templates/layout.html:248 +#: bookwyrm/templates/layout.html:249 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "O código fonte de BookWyrm é público. Podes colaborar ou informar de problemas en GitHub." @@ -2778,7 +2785,7 @@ msgstr "Esta ligazón abre unha ventá emerxente" #: bookwyrm/templates/ostatus/subscribe.html:8 #, python-format msgid "Log in to %(sitename)s" -msgstr "Conectar con %(sitename)s" +msgstr "Entrar en %(sitename)s" #: bookwyrm/templates/ostatus/subscribe.html:10 #, python-format @@ -2797,7 +2804,7 @@ msgstr "Oioioi..." #: bookwyrm/templates/ostatus/subscribe.html:20 msgid "Let's log in first..." -msgstr "Primeiro hai que conectar..." +msgstr "Primeiro hai que acceder..." #: bookwyrm/templates/ostatus/subscribe.html:51 #, python-format @@ -2915,6 +2922,11 @@ msgstr "Acabei \"%(book_title)s\"" msgid "Start \"%(book_title)s\"" msgstr "Comecei \"%(book_title)s\"" +#: bookwyrm/templates/reading_progress/stop.html:5 +#, python-format +msgid "Stop \"%(book_title)s\"" +msgstr "Deixar \"%(book_title)s\"" + #: bookwyrm/templates/reading_progress/want.html:5 #, python-format msgid "Want to Read \"%(book_title)s\"" @@ -3009,7 +3021,7 @@ msgstr "Engadir un libro manualmente" #: bookwyrm/templates/search/book.html:115 msgid "Log in to import or add books." -msgstr "Conéctate para importar ou engadir libros." +msgstr "Accede para importar ou engadir libros." #: bookwyrm/templates/search/layout.html:16 msgid "Search query" @@ -3067,13 +3079,13 @@ msgstr "Falso" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:82 +#: bookwyrm/templates/settings/dashboard/dashboard.html:94 msgid "Start date:" msgstr "Data de inicio:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:88 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "End date:" msgstr "Data de fin:" @@ -3122,11 +3134,11 @@ msgstr "Editar anuncio" #: bookwyrm/templates/settings/announcements/edit_announcement.html:45 msgid "Announcement content" -msgstr "" +msgstr "Contido do anuncio" #: bookwyrm/templates/settings/announcements/edit_announcement.html:57 msgid "Details:" -msgstr "" +msgstr "Detalles:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:65 msgid "Event date:" @@ -3134,11 +3146,11 @@ msgstr "Data do evento:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:73 msgid "Display settings" -msgstr "" +msgstr "Axustes da pantalla" #: bookwyrm/templates/settings/announcements/edit_announcement.html:98 msgid "Color:" -msgstr "" +msgstr "Cor:" #: bookwyrm/templates/settings/dashboard/dashboard.html:6 #: bookwyrm/templates/settings/dashboard/dashboard.html:8 @@ -3147,7 +3159,7 @@ msgid "Dashboard" msgstr "Taboleiro" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:123 msgid "Total users" msgstr "Total de usuarias" @@ -3172,45 +3184,50 @@ msgid_plural "%(display_count)s open reports" msgstr[0] "%(display_count)s denuncia aberta" msgstr[1] "%(display_count)s denuncias abertas" -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 +#: bookwyrm/templates/settings/dashboard/dashboard.html:55 #, python-format msgid "%(display_count)s domain needs review" msgid_plural "%(display_count)s domains need review" msgstr[0] "hai que revisar %(display_count)s dominio" msgstr[1] "hai que revisar %(display_count)s dominios" -#: bookwyrm/templates/settings/dashboard/dashboard.html:65 +#: bookwyrm/templates/settings/dashboard/dashboard.html:67 #, python-format msgid "%(display_count)s invite request" msgid_plural "%(display_count)s invite requests" msgstr[0] "%(display_count)s solicitude de convite" msgstr[1] "%(display_count)s solicitudes de convite" -#: bookwyrm/templates/settings/dashboard/dashboard.html:76 +#: bookwyrm/templates/settings/dashboard/dashboard.html:79 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "Hai unha actualización dispoñible! Estás a executar v%(current)s e a última versión é %(available)s." + +#: bookwyrm/templates/settings/dashboard/dashboard.html:88 msgid "Instance Activity" msgstr "Actividade na instancia" -#: bookwyrm/templates/settings/dashboard/dashboard.html:94 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 msgid "Interval:" msgstr "Intervalo:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:98 +#: bookwyrm/templates/settings/dashboard/dashboard.html:110 msgid "Days" msgstr "Días" -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 +#: bookwyrm/templates/settings/dashboard/dashboard.html:111 msgid "Weeks" msgstr "Semanas" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:129 msgid "User signup activity" msgstr "Rexistros de usuarias" -#: bookwyrm/templates/settings/dashboard/dashboard.html:123 +#: bookwyrm/templates/settings/dashboard/dashboard.html:135 msgid "Status activity" msgstr "Actividade do estado" -#: bookwyrm/templates/settings/dashboard/dashboard.html:129 +#: bookwyrm/templates/settings/dashboard/dashboard.html:141 msgid "Works created" msgstr "Traballos creados" @@ -3639,7 +3656,7 @@ msgid "Moderator Comments" msgstr "Comentarios da moderación" #: bookwyrm/templates/settings/reports/report.html:89 -#: bookwyrm/templates/snippets/create_status.html:28 +#: bookwyrm/templates/snippets/create_status.html:26 msgid "Comment" msgstr "Comentario" @@ -3702,102 +3719,110 @@ msgid "No reports found." msgstr "Non hai denuncias." #: bookwyrm/templates/settings/site.html:10 -#: bookwyrm/templates/settings/site.html:21 +#: bookwyrm/templates/settings/site.html:39 msgid "Instance Info" msgstr "Info da instancia" #: bookwyrm/templates/settings/site.html:11 -#: bookwyrm/templates/settings/site.html:54 +#: bookwyrm/templates/settings/site.html:72 msgid "Images" msgstr "Imaxes" #: bookwyrm/templates/settings/site.html:12 -#: bookwyrm/templates/settings/site.html:74 +#: bookwyrm/templates/settings/site.html:92 msgid "Footer Content" msgstr "Contido web do pé" #: bookwyrm/templates/settings/site.html:13 -#: bookwyrm/templates/settings/site.html:98 +#: bookwyrm/templates/settings/site.html:116 msgid "Registration" msgstr "Rexistro" -#: bookwyrm/templates/settings/site.html:24 +#: bookwyrm/templates/settings/site.html:22 +msgid "Settings saved" +msgstr "Axustes gardados" + +#: bookwyrm/templates/settings/site.html:31 +msgid "Unable to save settings" +msgstr "Non se gardaron os axustes" + +#: bookwyrm/templates/settings/site.html:42 msgid "Instance Name:" msgstr "Nome da instancia:" -#: bookwyrm/templates/settings/site.html:28 +#: bookwyrm/templates/settings/site.html:46 msgid "Tagline:" msgstr "Lema:" -#: bookwyrm/templates/settings/site.html:32 +#: bookwyrm/templates/settings/site.html:50 msgid "Instance description:" msgstr "Descrición da instancia:" -#: bookwyrm/templates/settings/site.html:36 +#: bookwyrm/templates/settings/site.html:54 msgid "Short description:" msgstr "Descrición curta:" -#: bookwyrm/templates/settings/site.html:37 +#: bookwyrm/templates/settings/site.html:55 msgid "Used when the instance is previewed on joinbookwyrm.com. Does not support HTML or Markdown." msgstr "Utilizado na vista previa da instancia en joinbookwyrm.com. Non admite HTML ou Markdown." -#: bookwyrm/templates/settings/site.html:41 +#: bookwyrm/templates/settings/site.html:59 msgid "Code of conduct:" msgstr "Código de conduta:" -#: bookwyrm/templates/settings/site.html:45 +#: bookwyrm/templates/settings/site.html:63 msgid "Privacy Policy:" msgstr "Política de privacidade:" -#: bookwyrm/templates/settings/site.html:57 +#: bookwyrm/templates/settings/site.html:75 msgid "Logo:" msgstr "Logo:" -#: bookwyrm/templates/settings/site.html:61 +#: bookwyrm/templates/settings/site.html:79 msgid "Logo small:" msgstr "Logo pequeno:" -#: bookwyrm/templates/settings/site.html:65 +#: bookwyrm/templates/settings/site.html:83 msgid "Favicon:" msgstr "Favicon:" -#: bookwyrm/templates/settings/site.html:77 +#: bookwyrm/templates/settings/site.html:95 msgid "Support link:" msgstr "Ligazón de axuda:" -#: bookwyrm/templates/settings/site.html:81 +#: bookwyrm/templates/settings/site.html:99 msgid "Support title:" msgstr "Título de axuda:" -#: bookwyrm/templates/settings/site.html:85 +#: bookwyrm/templates/settings/site.html:103 msgid "Admin email:" msgstr "Email de Admin:" -#: bookwyrm/templates/settings/site.html:89 +#: bookwyrm/templates/settings/site.html:107 msgid "Additional info:" msgstr "Info adicional:" -#: bookwyrm/templates/settings/site.html:103 +#: bookwyrm/templates/settings/site.html:121 msgid "Allow registration" msgstr "Abrir rexistro" -#: bookwyrm/templates/settings/site.html:109 +#: bookwyrm/templates/settings/site.html:127 msgid "Allow invite requests" msgstr "Permitir solicitudes de convite" -#: bookwyrm/templates/settings/site.html:115 +#: bookwyrm/templates/settings/site.html:133 msgid "Require users to confirm email address" msgstr "Requerir que a usuaria confirme o enderezo de email" -#: bookwyrm/templates/settings/site.html:117 +#: bookwyrm/templates/settings/site.html:135 msgid "(Recommended if registration is open)" msgstr "(Recomendable se o rexistro está aberto)" -#: bookwyrm/templates/settings/site.html:120 +#: bookwyrm/templates/settings/site.html:138 msgid "Registration closed text:" msgstr "Texto se o rexistro está pechado:" -#: bookwyrm/templates/settings/site.html:124 +#: bookwyrm/templates/settings/site.html:142 msgid "Invite request text:" msgstr "Texto para a solicitude do convite:" @@ -3928,6 +3953,118 @@ msgstr "Usuaria reactivada" msgid "Access level:" msgstr "Nivel de acceso:" +#: bookwyrm/templates/setup/admin.html:5 +msgid "Set up BookWyrm" +msgstr "Configurar BookWyrm" + +#: bookwyrm/templates/setup/admin.html:7 +msgid "Your account as a user and an admin" +msgstr "A túa conta como admin e usuaria" + +#: bookwyrm/templates/setup/admin.html:13 +msgid "Create your account" +msgstr "Crea a túa conta" + +#: bookwyrm/templates/setup/admin.html:20 +msgid "Admin key:" +msgstr "Chave de admin:" + +#: bookwyrm/templates/setup/admin.html:32 +msgid "An admin key was created when you installed BookWyrm. You can get your admin key by running ./bw-dev admin_code from the command line on your server." +msgstr "Creouse unha chave de Admin ao instalar BookWyrm. Podes obter a túa chave executando ./bw-dev admin_code desde a liña de comandos do teu servidor." + +#: bookwyrm/templates/setup/admin.html:45 +msgid "As an admin, you'll be able to configure the instance name and information, and moderate your instance. This means you will have access to private information about your users, and are responsible for responding to reports of bad behavior or spam." +msgstr "Como Admin, poderás configurar o nome da instancia e a descrición, así como moderar a instancia. Esto significa que terás acceso a información privada das usuarias e terás a responsabilidade de xestionar as denuncias e loitar contra malos comportamentos e spam." + +#: bookwyrm/templates/setup/admin.html:51 +msgid "Once the instance is set up, you can promote other users to moderator or admin roles from the admin panel." +msgstr "Unha vez configurada a instancia, poderás conceder a outras usuarias o rol de administración ou moderación desde o panel de administración." + +#: bookwyrm/templates/setup/admin.html:55 +msgid "Learn more about moderation" +msgstr "Aprende máis acerca da moderación" + +#: bookwyrm/templates/setup/config.html:5 +msgid "Instance Configuration" +msgstr "Configuración da Instancia" + +#: bookwyrm/templates/setup/config.html:7 +msgid "Make sure everything looks right before proceeding" +msgstr "Comproba que todo é correcto antes de continuar" + +#: bookwyrm/templates/setup/config.html:18 +msgid "You are running BookWyrm in debug mode. This should never be used in a production environment." +msgstr "Estás executando BookWyrm en modo depuración. Esto non debería acontecer nunca nun entorno de produción." + +#: bookwyrm/templates/setup/config.html:30 +msgid "Your domain appears to be misconfigured. It should not include protocol or slashes." +msgstr "Semella non está ben configurado o dominio. Non debería incluír o protocolo nin barras." + +#: bookwyrm/templates/setup/config.html:42 +msgid "You are running BookWyrm in production mode without https. USE_HTTPS should be enabled in production." +msgstr "Estás executando BookWyrm en modo produción sen https. En produción, USE_HTTPS debería estar activado." + +#: bookwyrm/templates/setup/config.html:56 +msgid "Instance domain:" +msgstr "Dominio da instancia:" + +#: bookwyrm/templates/setup/config.html:63 +msgid "Protocol:" +msgstr "Protocolo:" + +#: bookwyrm/templates/setup/config.html:81 +msgid "Using S3:" +msgstr "Usando S3:" + +#: bookwyrm/templates/setup/config.html:91 +msgid "Display" +msgstr "" + +#: bookwyrm/templates/setup/config.html:95 +msgid "Default interface language:" +msgstr "Idioma por defecto da interface:" + +#: bookwyrm/templates/setup/config.html:102 +msgid "Email sender:" +msgstr "Remitente do email:" + +#: bookwyrm/templates/setup/config.html:109 +msgid "Enable preview images:" +msgstr "Activar vista previa de imaxes:" + +#: bookwyrm/templates/setup/config.html:116 +msgid "Enable image thumbnails:" +msgstr "Activar miniaturas das imaxes:" + +#: bookwyrm/templates/setup/config.html:128 +msgid "Does everything look right?" +msgstr "Está todo ben?" + +#: bookwyrm/templates/setup/config.html:130 +msgid "This is your last chance to set your domain and protocol." +msgstr "Esta é a última oportunidade para establecer o dominio e protocolo." + +#: bookwyrm/templates/setup/config.html:144 +msgid "You can change your instance settings in the .env file on your server." +msgstr "Podes cambiar os axustes da instancia no ficheiro .env no teu servidor." + +#: bookwyrm/templates/setup/config.html:148 +msgid "View installation instructions" +msgstr "Ver instruccións de instalación" + +#: bookwyrm/templates/setup/layout.html:5 +msgid "Instance Setup" +msgstr "Axustes da Instancia" + +#: bookwyrm/templates/setup/layout.html:15 +msgid "Installing BookWyrm" +msgstr "Instalando BookWyrm" + +#: bookwyrm/templates/setup/layout.html:18 +msgid "Need help?" +msgstr "Precisas axuda?" + #: bookwyrm/templates/shelf/create_shelf_form.html:5 msgid "Create Shelf" msgstr "Crear Estante" @@ -4019,7 +4156,7 @@ msgstr[1] "e %(remainder_count_display)s outros" msgid "No cover" msgstr "Sen portada" -#: bookwyrm/templates/snippets/book_titleby.html:10 +#: bookwyrm/templates/snippets/book_titleby.html:11 #, python-format msgid "%(title)s by" msgstr "%(title)s por" @@ -4034,7 +4171,7 @@ msgstr "Promover" msgid "Un-boost" msgstr "Retirar promoción" -#: bookwyrm/templates/snippets/create_status.html:39 +#: bookwyrm/templates/snippets/create_status.html:36 msgid "Quote" msgstr "Cita" @@ -4324,7 +4461,11 @@ msgstr "Comecei a ler \"%(book_title)s\"" msgid "Want to Read \"%(book_title)s\"" msgstr "Quero ler \"%(book_title)s\"" -#: bookwyrm/templates/snippets/register_form.html:30 +#: bookwyrm/templates/snippets/register_form.html:18 +msgid "Choose wisely! Your username cannot be changed." +msgstr "Elixe ben! Non poderás cambiar o identificador de usuaria." + +#: bookwyrm/templates/snippets/register_form.html:64 msgid "Sign Up" msgstr "Inscribirse" @@ -4694,7 +4835,7 @@ msgstr "Non é un ficheiro csv válido" #: bookwyrm/views/landing/login.py:70 msgid "Username or password are incorrect" -msgstr "O nome de usuaria ou contrasinal non son correctos" +msgstr "As credenciais non son correctas" #: bookwyrm/views/landing/password.py:32 msgid "No user with that email address was found." diff --git a/locale/it_IT/LC_MESSAGES/django.mo b/locale/it_IT/LC_MESSAGES/django.mo index 8cd0eb41eb2ef8b15702440005605ad51b8475ec..49d2321d5a6630f87c20e0871f26bcc5b0707c1a 100644 GIT binary patch delta 25999 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\n" "Language-Team: Italian\n" "Language: it\n" @@ -17,70 +17,74 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:245 +#: bookwyrm/forms.py:62 +msgid "User with this username already exists" +msgstr "Esiste già un utente con questo nome utente" + +#: bookwyrm/forms.py:252 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "Questo dominio è bloccato. Per favore contatta l'amministratore se pensi che si tratti di un errore." -#: bookwyrm/forms.py:255 +#: bookwyrm/forms.py:262 msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." msgstr "Questo collegamento è già stato aggiunto per questo libro. Se non è visibile, il dominio è ancora in sospeso." -#: bookwyrm/forms.py:394 +#: bookwyrm/forms.py:401 msgid "A user with this email already exists." msgstr "Esiste già un'utenza con questo indirizzo email." -#: bookwyrm/forms.py:408 +#: bookwyrm/forms.py:415 msgid "One Day" msgstr "Un giorno" -#: bookwyrm/forms.py:409 +#: bookwyrm/forms.py:416 msgid "One Week" msgstr "Una settimana" -#: bookwyrm/forms.py:410 +#: bookwyrm/forms.py:417 msgid "One Month" msgstr "Un mese" -#: bookwyrm/forms.py:411 +#: bookwyrm/forms.py:418 msgid "Does Not Expire" msgstr "Non scade" -#: bookwyrm/forms.py:415 +#: bookwyrm/forms.py:422 #, python-brace-format msgid "{i} uses" msgstr "{i} usi" -#: bookwyrm/forms.py:416 +#: bookwyrm/forms.py:423 msgid "Unlimited" msgstr "Illimitato" -#: bookwyrm/forms.py:518 +#: bookwyrm/forms.py:525 msgid "List Order" msgstr "Ordina Lista" -#: bookwyrm/forms.py:519 +#: bookwyrm/forms.py:526 msgid "Book Title" msgstr "Titolo del libro" -#: bookwyrm/forms.py:520 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms.py:527 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Valutazione" -#: bookwyrm/forms.py:522 bookwyrm/templates/lists/list.html:175 +#: bookwyrm/forms.py:529 bookwyrm/templates/lists/list.html:175 msgid "Sort By" msgstr "Ordina per" -#: bookwyrm/forms.py:526 +#: bookwyrm/forms.py:533 msgid "Ascending" msgstr "Crescente" -#: bookwyrm/forms.py:527 +#: bookwyrm/forms.py:534 msgid "Descending" msgstr "Decrescente" -#: bookwyrm/forms.py:540 +#: bookwyrm/forms.py:547 msgid "Reading finish date cannot be before start date." msgstr "La data di fine lettura non può essere precedente alla data di inizio." @@ -139,23 +143,23 @@ msgstr "Cancellazione del moderatore" msgid "Domain block" msgstr "Blocco del dominio" -#: bookwyrm/models/book.py:253 +#: bookwyrm/models/book.py:262 msgid "Audiobook" msgstr "Audiolibro" -#: bookwyrm/models/book.py:254 +#: bookwyrm/models/book.py:263 msgid "eBook" msgstr "eBook" -#: bookwyrm/models/book.py:255 +#: bookwyrm/models/book.py:264 msgid "Graphic novel" msgstr "Graphic novel" -#: bookwyrm/models/book.py:256 +#: bookwyrm/models/book.py:265 msgid "Hardcover" msgstr "Copertina rigida" -#: bookwyrm/models/book.py:257 +#: bookwyrm/models/book.py:266 msgid "Paperback" msgstr "Brossura" @@ -183,7 +187,7 @@ msgstr "%(value)s non è un Id remoto valido" msgid "%(value)s is not a valid username" msgstr "%(value)s non è un nome utente valido" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nome utente" @@ -257,73 +261,73 @@ msgstr "Citazioni" msgid "Everything else" msgstr "Tutto il resto" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home Timeline" msgstr "La tua timeline" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home" msgstr "Home" -#: bookwyrm/settings.py:191 +#: bookwyrm/settings.py:196 msgid "Books Timeline" msgstr "Timeline dei libri" -#: bookwyrm/settings.py:191 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:196 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:265 +#: bookwyrm/settings.py:270 msgid "English" msgstr "English (Inglese)" -#: bookwyrm/settings.py:266 +#: bookwyrm/settings.py:271 msgid "Deutsch (German)" msgstr "Deutsch (Tedesco)" -#: bookwyrm/settings.py:267 +#: bookwyrm/settings.py:272 msgid "Español (Spanish)" msgstr "Español (Spagnolo)" -#: bookwyrm/settings.py:268 +#: bookwyrm/settings.py:273 msgid "Galego (Galician)" msgstr "Galego (Galiziano)" -#: bookwyrm/settings.py:269 +#: bookwyrm/settings.py:274 msgid "Italiano (Italian)" msgstr "Italiano (Italiano)" -#: bookwyrm/settings.py:270 +#: bookwyrm/settings.py:275 msgid "Français (French)" msgstr "Français (Francese)" -#: bookwyrm/settings.py:271 +#: bookwyrm/settings.py:276 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lituano)" -#: bookwyrm/settings.py:272 +#: bookwyrm/settings.py:277 msgid "Norsk (Norwegian)" msgstr "Norsk (Norvegese)" -#: bookwyrm/settings.py:273 +#: bookwyrm/settings.py:278 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Portoghese Brasiliano)" -#: bookwyrm/settings.py:274 +#: bookwyrm/settings.py:279 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Portoghese europeo)" -#: bookwyrm/settings.py:275 +#: bookwyrm/settings.py:280 msgid "Svenska (Swedish)" msgstr "Svenska (Svedese)" -#: bookwyrm/settings.py:276 +#: bookwyrm/settings.py:281 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Cinese Semplificato)" -#: bookwyrm/settings.py:277 +#: bookwyrm/settings.py:282 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Cinese Tradizionale)" @@ -395,7 +399,7 @@ msgstr "I moderatori e gli amministratori di %(site_name)s mantengono il sito at msgid "Moderator" msgstr "Moderatori" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131 +#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "Admin" @@ -421,11 +425,12 @@ msgid "Statuses posted:" msgstr "Stati pubblicati:" #: bookwyrm/templates/about/layout.html:19 +#: bookwyrm/templates/setup/config.html:74 msgid "Software version:" msgstr "Versione del software:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:229 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 #, python-format msgid "About %(site_name)s" msgstr "Informazioni su %(site_name)s" @@ -733,7 +738,7 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:82 #: bookwyrm/templates/settings/federation/instance.html:87 -#: bookwyrm/templates/settings/site.html:133 +#: bookwyrm/templates/settings/site.html:151 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -854,7 +859,7 @@ msgid "Places" msgstr "Luoghi" #: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -913,7 +918,7 @@ msgstr "Anteprima copertina del libro" #: bookwyrm/templates/components/modal.html:13 #: bookwyrm/templates/components/modal.html:30 #: bookwyrm/templates/components/tooltip.html:7 -#: bookwyrm/templates/feed/suggested_books.html:62 +#: bookwyrm/templates/feed/suggested_books.html:55 #: bookwyrm/templates/get_started/layout.html:25 #: bookwyrm/templates/get_started/layout.html:58 msgid "Close" @@ -1211,6 +1216,7 @@ msgid "This link is taking you to: %(link_url)s.
Is that where msgstr "Questo link ti sta portando a: %(link_url)s.
È qui che vuoi andare?" #: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Continua" @@ -1284,7 +1290,7 @@ msgstr "Codice di conferma:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 -#: bookwyrm/templates/settings/dashboard/dashboard.html:104 +#: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:52 msgid "Submit" msgstr "Invia" @@ -1301,7 +1307,7 @@ msgstr "Invia di nuovo email di conferma" #: bookwyrm/templates/landing/layout.html:68 #: bookwyrm/templates/landing/password_reset_request.html:18 #: bookwyrm/templates/preferences/edit_user.html:53 -#: bookwyrm/templates/snippets/register_form.html:12 +#: bookwyrm/templates/snippets/register_form.html:27 msgid "Email address:" msgstr "Indirizzo Email:" @@ -1323,7 +1329,7 @@ msgstr "Comunità federata" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:100 +#: bookwyrm/templates/layout.html:101 msgid "Directory" msgstr "Directory" @@ -1443,7 +1449,7 @@ msgstr "
%(username)s ha citato %(username)s" msgstr "Messaggi diretti con %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:110 +#: bookwyrm/templates/layout.html:111 msgid "Direct Messages" msgstr "Messaggi Diretti" @@ -1616,7 +1623,7 @@ msgid "Updates" msgstr "Aggiornamenti" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:105 +#: bookwyrm/templates/layout.html:106 msgid "Your Books" msgstr "I Tuoi Libri" @@ -1684,7 +1691,7 @@ msgid "What are you reading?" msgstr "Cosa stai leggendo?" #: bookwyrm/templates/get_started/books.html:9 -#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:203 +#: bookwyrm/templates/layout.html:48 bookwyrm/templates/lists/list.html:203 msgid "Search for a book" msgstr "Cerca un libro" @@ -1703,8 +1710,8 @@ msgstr "Puoi aggiungere libri quando inizi a usare %(site_name)s." #: bookwyrm/templates/get_started/users.html:18 #: bookwyrm/templates/get_started/users.html:19 #: bookwyrm/templates/groups/members.html:15 -#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53 -#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:207 +#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:54 +#: bookwyrm/templates/layout.html:55 bookwyrm/templates/lists/list.html:207 #: bookwyrm/templates/search/layout.html:4 #: bookwyrm/templates/search/layout.html:9 msgid "Search" @@ -2024,7 +2031,7 @@ msgstr "Scaffale" #: bookwyrm/templates/import/import_status.html:120 #: bookwyrm/templates/import/manual_review.html:13 -#: bookwyrm/templates/snippets/create_status.html:17 +#: bookwyrm/templates/snippets/create_status.html:16 msgid "Review" msgstr "Recensione" @@ -2169,7 +2176,7 @@ msgid "Login" msgstr "Accedi" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:178 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Accedi" @@ -2178,7 +2185,7 @@ msgstr "Accedi" msgid "Success! Email address confirmed." msgstr "Indirizzo email confermato con successo." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:169 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2186,12 +2193,12 @@ msgstr "Nome utente:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:173 bookwyrm/templates/ostatus/error.html:32 -#: bookwyrm/templates/snippets/register_form.html:20 +#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Password:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:175 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Hai dimenticato la tua password?" @@ -2219,23 +2226,23 @@ msgstr "Reimposta password" msgid "%(site_name)s search" msgstr "Ricerca %(site_name)s" -#: bookwyrm/templates/layout.html:45 +#: bookwyrm/templates/layout.html:46 msgid "Search for a book, user, or list" msgstr "Cerca un libro, un utente o una lista" -#: bookwyrm/templates/layout.html:63 +#: bookwyrm/templates/layout.html:64 msgid "Main navigation menu" msgstr "Barra di navigazione principale" -#: bookwyrm/templates/layout.html:71 +#: bookwyrm/templates/layout.html:72 msgid "Feed" msgstr "Feed" -#: bookwyrm/templates/layout.html:115 +#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Impostazioni" -#: bookwyrm/templates/layout.html:124 +#: bookwyrm/templates/layout.html:125 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2243,42 +2250,42 @@ msgstr "Impostazioni" msgid "Invites" msgstr "Inviti" -#: bookwyrm/templates/layout.html:138 +#: bookwyrm/templates/layout.html:139 msgid "Log out" msgstr "Esci" -#: bookwyrm/templates/layout.html:146 bookwyrm/templates/layout.html:147 +#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Notifiche" -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "password" -#: bookwyrm/templates/layout.html:186 +#: bookwyrm/templates/layout.html:187 msgid "Join" msgstr "Entra" -#: bookwyrm/templates/layout.html:220 +#: bookwyrm/templates/layout.html:221 msgid "Successfully posted status" msgstr "Stato pubblicato correttamente" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:222 msgid "Error posting status" msgstr "Errore nel pubblicare lo stato" -#: bookwyrm/templates/layout.html:237 +#: bookwyrm/templates/layout.html:238 msgid "Documentation" msgstr "Documentazione" -#: bookwyrm/templates/layout.html:244 +#: bookwyrm/templates/layout.html:245 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Supporta %(site_name)s su %(support_title)s" -#: bookwyrm/templates/layout.html:248 +#: bookwyrm/templates/layout.html:249 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "Il codice sorgente di BookWyrm è disponibile liberamente. Puoi contribuire o segnalare problemi su GitHub." @@ -2915,6 +2922,11 @@ msgstr "Termina \"%(book_title)s\"" msgid "Start \"%(book_title)s\"" msgstr "Inizia \"%(book_title)s\"" +#: bookwyrm/templates/reading_progress/stop.html:5 +#, python-format +msgid "Stop \"%(book_title)s\"" +msgstr "Termina \"%(book_title)s\"" + #: bookwyrm/templates/reading_progress/want.html:5 #, python-format msgid "Want to Read \"%(book_title)s\"" @@ -3067,13 +3079,13 @@ msgstr "Falso" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:82 +#: bookwyrm/templates/settings/dashboard/dashboard.html:94 msgid "Start date:" msgstr "Data d'inizio:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:88 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "End date:" msgstr "Data di fine:" @@ -3147,7 +3159,7 @@ msgid "Dashboard" msgstr "Dashboard" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:123 msgid "Total users" msgstr "Totale utenti" @@ -3172,45 +3184,50 @@ msgid_plural "%(display_count)s open reports" msgstr[0] "%(display_count)s report aperto" msgstr[1] "%(display_count)s reports aperti" -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 +#: bookwyrm/templates/settings/dashboard/dashboard.html:55 #, python-format msgid "%(display_count)s domain needs review" msgid_plural "%(display_count)s domains need review" msgstr[0] "%(display_count)s dominio necessita di una revisione" msgstr[1] "%(display_count)s domini necessitano di una revisione" -#: bookwyrm/templates/settings/dashboard/dashboard.html:65 +#: bookwyrm/templates/settings/dashboard/dashboard.html:67 #, python-format msgid "%(display_count)s invite request" msgid_plural "%(display_count)s invite requests" msgstr[0] "%(display_count)s richiesta d'invito" msgstr[1] "%(display_count)s richieste d'invito" -#: bookwyrm/templates/settings/dashboard/dashboard.html:76 +#: bookwyrm/templates/settings/dashboard/dashboard.html:79 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "È disponibile un aggiornamento! Stai eseguendo v%(current)s e l'ultima versione è %(available)s." + +#: bookwyrm/templates/settings/dashboard/dashboard.html:88 msgid "Instance Activity" msgstr "Attività di Istanza" -#: bookwyrm/templates/settings/dashboard/dashboard.html:94 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 msgid "Interval:" msgstr "Intervallo:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:98 +#: bookwyrm/templates/settings/dashboard/dashboard.html:110 msgid "Days" msgstr "Giorni" -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 +#: bookwyrm/templates/settings/dashboard/dashboard.html:111 msgid "Weeks" msgstr "Settimane" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:129 msgid "User signup activity" msgstr "Attività di registrazione dell'utente" -#: bookwyrm/templates/settings/dashboard/dashboard.html:123 +#: bookwyrm/templates/settings/dashboard/dashboard.html:135 msgid "Status activity" msgstr "Attività di stato" -#: bookwyrm/templates/settings/dashboard/dashboard.html:129 +#: bookwyrm/templates/settings/dashboard/dashboard.html:141 msgid "Works created" msgstr "Opere create" @@ -3639,7 +3656,7 @@ msgid "Moderator Comments" msgstr "Commenti del moderatore" #: bookwyrm/templates/settings/reports/report.html:89 -#: bookwyrm/templates/snippets/create_status.html:28 +#: bookwyrm/templates/snippets/create_status.html:26 msgid "Comment" msgstr "Commenta" @@ -3702,102 +3719,110 @@ msgid "No reports found." msgstr "Nessun rapporto trovato." #: bookwyrm/templates/settings/site.html:10 -#: bookwyrm/templates/settings/site.html:21 +#: bookwyrm/templates/settings/site.html:39 msgid "Instance Info" msgstr "Informazioni istanza" #: bookwyrm/templates/settings/site.html:11 -#: bookwyrm/templates/settings/site.html:54 +#: bookwyrm/templates/settings/site.html:72 msgid "Images" msgstr "Immagini" #: bookwyrm/templates/settings/site.html:12 -#: bookwyrm/templates/settings/site.html:74 +#: bookwyrm/templates/settings/site.html:92 msgid "Footer Content" msgstr "Contenuto del footer" #: bookwyrm/templates/settings/site.html:13 -#: bookwyrm/templates/settings/site.html:98 +#: bookwyrm/templates/settings/site.html:116 msgid "Registration" msgstr "Registrazione" -#: bookwyrm/templates/settings/site.html:24 +#: bookwyrm/templates/settings/site.html:22 +msgid "Settings saved" +msgstr "Impostazioni salvate" + +#: bookwyrm/templates/settings/site.html:31 +msgid "Unable to save settings" +msgstr "Impossibile salvare le impostazioni" + +#: bookwyrm/templates/settings/site.html:42 msgid "Instance Name:" msgstr "Nome dell'istanza:" -#: bookwyrm/templates/settings/site.html:28 +#: bookwyrm/templates/settings/site.html:46 msgid "Tagline:" msgstr "Tagline:" -#: bookwyrm/templates/settings/site.html:32 +#: bookwyrm/templates/settings/site.html:50 msgid "Instance description:" msgstr "Descrizione dell'istanza:" -#: bookwyrm/templates/settings/site.html:36 +#: bookwyrm/templates/settings/site.html:54 msgid "Short description:" msgstr "Breve descrizione:" -#: bookwyrm/templates/settings/site.html:37 +#: bookwyrm/templates/settings/site.html:55 msgid "Used when the instance is previewed on joinbookwyrm.com. Does not support HTML or Markdown." msgstr "Usato quando l'istanza è visualizzata in anteprima su joinbookwyrm.com. Non supporta HTML o Markdown." -#: bookwyrm/templates/settings/site.html:41 +#: bookwyrm/templates/settings/site.html:59 msgid "Code of conduct:" msgstr "Codice di comportamento:" -#: bookwyrm/templates/settings/site.html:45 +#: bookwyrm/templates/settings/site.html:63 msgid "Privacy Policy:" msgstr "Informativa sulla privacy:" -#: bookwyrm/templates/settings/site.html:57 +#: bookwyrm/templates/settings/site.html:75 msgid "Logo:" msgstr "Logo:" -#: bookwyrm/templates/settings/site.html:61 +#: bookwyrm/templates/settings/site.html:79 msgid "Logo small:" msgstr "Logo piccolo:" -#: bookwyrm/templates/settings/site.html:65 +#: bookwyrm/templates/settings/site.html:83 msgid "Favicon:" msgstr "Favicon:" -#: bookwyrm/templates/settings/site.html:77 +#: bookwyrm/templates/settings/site.html:95 msgid "Support link:" msgstr "Link supporto:" -#: bookwyrm/templates/settings/site.html:81 +#: bookwyrm/templates/settings/site.html:99 msgid "Support title:" msgstr "Titolo supporto:" -#: bookwyrm/templates/settings/site.html:85 +#: bookwyrm/templates/settings/site.html:103 msgid "Admin email:" msgstr "Email amministratore:" -#: bookwyrm/templates/settings/site.html:89 +#: bookwyrm/templates/settings/site.html:107 msgid "Additional info:" msgstr "Informazioni aggiuntive:" -#: bookwyrm/templates/settings/site.html:103 +#: bookwyrm/templates/settings/site.html:121 msgid "Allow registration" msgstr "Consenti registrazioni" -#: bookwyrm/templates/settings/site.html:109 +#: bookwyrm/templates/settings/site.html:127 msgid "Allow invite requests" msgstr "Consenti richieste di invito" -#: bookwyrm/templates/settings/site.html:115 +#: bookwyrm/templates/settings/site.html:133 msgid "Require users to confirm email address" msgstr "Richiedi agli utenti per confermare l'indirizzo email" -#: bookwyrm/templates/settings/site.html:117 +#: bookwyrm/templates/settings/site.html:135 msgid "(Recommended if registration is open)" msgstr "(Raccomandato se la registrazione è aperta)" -#: bookwyrm/templates/settings/site.html:120 +#: bookwyrm/templates/settings/site.html:138 msgid "Registration closed text:" msgstr "Registrazioni chiuse:" -#: bookwyrm/templates/settings/site.html:124 +#: bookwyrm/templates/settings/site.html:142 msgid "Invite request text:" msgstr "Testo della richiesta di invito:" @@ -3928,6 +3953,118 @@ msgstr "Annulla sospensione utente" msgid "Access level:" msgstr "Livello di accesso:" +#: bookwyrm/templates/setup/admin.html:5 +msgid "Set up BookWyrm" +msgstr "Configura BookWyrm" + +#: bookwyrm/templates/setup/admin.html:7 +msgid "Your account as a user and an admin" +msgstr "Il tuo account come utente e amministratore" + +#: bookwyrm/templates/setup/admin.html:13 +msgid "Create your account" +msgstr "Crea il tuo account" + +#: bookwyrm/templates/setup/admin.html:20 +msgid "Admin key:" +msgstr "Chiave amministratore:" + +#: bookwyrm/templates/setup/admin.html:32 +msgid "An admin key was created when you installed BookWyrm. You can get your admin key by running ./bw-dev admin_code from the command line on your server." +msgstr "Una chiave di amministrazione è stata creata quando hai installato BookWyrm. È possibile ottenere la chiave di amministrazione eseguendo ./bw-dev admin_code dalla riga di comando sul tuo server." + +#: bookwyrm/templates/setup/admin.html:45 +msgid "As an admin, you'll be able to configure the instance name and information, and moderate your instance. This means you will have access to private information about your users, and are responsible for responding to reports of bad behavior or spam." +msgstr "Come amministratore, potrai configurare il nome e le informazioni dell'istanza e moderare l'istanza. Questo significa che avrai accesso a informazioni private sui tuoi utenti e sarai responsabile di rispondere a segnalazioni di comportamento non idoneo o spam." + +#: bookwyrm/templates/setup/admin.html:51 +msgid "Once the instance is set up, you can promote other users to moderator or admin roles from the admin panel." +msgstr "Una volta che l'istanza è configurata, è possibile promuovere altri utenti a moderatore o ruoli di amministratore dal pannello di amministrazione." + +#: bookwyrm/templates/setup/admin.html:55 +msgid "Learn more about moderation" +msgstr "Scopri di più sulla moderazione" + +#: bookwyrm/templates/setup/config.html:5 +msgid "Instance Configuration" +msgstr "Configurazione Istanza" + +#: bookwyrm/templates/setup/config.html:7 +msgid "Make sure everything looks right before proceeding" +msgstr "Assicurati che tutto sia corretto prima di procedere" + +#: bookwyrm/templates/setup/config.html:18 +msgid "You are running BookWyrm in debug mode. This should never be used in a production environment." +msgstr "Stai eseguendo BookWyrm in modalità debug. Questa modalità non dovrebbe mai essere utilizzata in un ambiente di produzione." + +#: bookwyrm/templates/setup/config.html:30 +msgid "Your domain appears to be misconfigured. It should not include protocol or slashes." +msgstr "Il tuo dominio sembra essere mal configurato. Non dovrebbe includere protocollo o slash." + +#: bookwyrm/templates/setup/config.html:42 +msgid "You are running BookWyrm in production mode without https. USE_HTTPS should be enabled in production." +msgstr "Stai eseguendo BookWyrm in modalità di produzione senza https. USE_HTTPS dovrebbe essere abilitato in produzione." + +#: bookwyrm/templates/setup/config.html:56 +msgid "Instance domain:" +msgstr "Dominio dell'istanza:" + +#: bookwyrm/templates/setup/config.html:63 +msgid "Protocol:" +msgstr "Protocollo:" + +#: bookwyrm/templates/setup/config.html:81 +msgid "Using S3:" +msgstr "Utilizzo S3:" + +#: bookwyrm/templates/setup/config.html:91 +msgid "Display" +msgstr "Visualizzazione" + +#: bookwyrm/templates/setup/config.html:95 +msgid "Default interface language:" +msgstr "Lingua predefinita dell'interfaccia:" + +#: bookwyrm/templates/setup/config.html:102 +msgid "Email sender:" +msgstr "Mittente email:" + +#: bookwyrm/templates/setup/config.html:109 +msgid "Enable preview images:" +msgstr "Abilita anteprima immagini:" + +#: bookwyrm/templates/setup/config.html:116 +msgid "Enable image thumbnails:" +msgstr "Abilita miniature immagini:" + +#: bookwyrm/templates/setup/config.html:128 +msgid "Does everything look right?" +msgstr "Sembra tutto corretto?" + +#: bookwyrm/templates/setup/config.html:130 +msgid "This is your last chance to set your domain and protocol." +msgstr "Questa è la tua ultima possibilità d'impostare il tuo dominio e protocollo." + +#: bookwyrm/templates/setup/config.html:144 +msgid "You can change your instance settings in the .env file on your server." +msgstr "Puoi modificare le impostazioni dell'istanza nel file .env sul tuo server." + +#: bookwyrm/templates/setup/config.html:148 +msgid "View installation instructions" +msgstr "Visualizza le istruzioni di installazione" + +#: bookwyrm/templates/setup/layout.html:5 +msgid "Instance Setup" +msgstr "Configurazione Istanza" + +#: bookwyrm/templates/setup/layout.html:15 +msgid "Installing BookWyrm" +msgstr "Installare BookWyrm" + +#: bookwyrm/templates/setup/layout.html:18 +msgid "Need help?" +msgstr "Hai bisogno di aiuto?" + #: bookwyrm/templates/shelf/create_shelf_form.html:5 msgid "Create Shelf" msgstr "Crea Scaffale" @@ -4019,7 +4156,7 @@ msgstr[1] "e %(remainder_count_display)s altri" msgid "No cover" msgstr "Nessuna copertina" -#: bookwyrm/templates/snippets/book_titleby.html:10 +#: bookwyrm/templates/snippets/book_titleby.html:11 #, python-format msgid "%(title)s by" msgstr "%(title)s da" @@ -4034,7 +4171,7 @@ msgstr "Boost" msgid "Un-boost" msgstr "Un-boost" -#: bookwyrm/templates/snippets/create_status.html:39 +#: bookwyrm/templates/snippets/create_status.html:36 msgid "Quote" msgstr "Citazione" @@ -4324,7 +4461,11 @@ msgstr "Inizia \"%(book_title)s \"" msgid "Want to Read \"%(book_title)s\"" msgstr "Vuoi leggere \"%(book_title)s \"" -#: bookwyrm/templates/snippets/register_form.html:30 +#: bookwyrm/templates/snippets/register_form.html:18 +msgid "Choose wisely! Your username cannot be changed." +msgstr "Scegli con saggezza! Il tuo nome utente non può essere cambiato." + +#: bookwyrm/templates/snippets/register_form.html:64 msgid "Sign Up" msgstr "Iscriviti" diff --git a/locale/lt_LT/LC_MESSAGES/django.mo b/locale/lt_LT/LC_MESSAGES/django.mo index a51eac201557dc1ecf38e77eeb7661cf8c739dbd..a58ec0c8dda427b63ebbfedb462e1476a4ee5879 100644 GIT binary patch delta 22 ecmew{gZ0M@)(smEvRfz^m|7VdZr*Y5Ko\n" "Language-Team: Lithuanian\n" "Language: lt\n" @@ -17,70 +17,74 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:245 +#: bookwyrm/forms.py:62 +msgid "User with this username already exists" +msgstr "" + +#: bookwyrm/forms.py:252 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "" -#: bookwyrm/forms.py:255 +#: bookwyrm/forms.py:262 msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." msgstr "" -#: bookwyrm/forms.py:394 +#: bookwyrm/forms.py:401 msgid "A user with this email already exists." msgstr "Vartotojas su šiuo el. pašto adresu jau yra." -#: bookwyrm/forms.py:408 +#: bookwyrm/forms.py:415 msgid "One Day" msgstr "Diena" -#: bookwyrm/forms.py:409 +#: bookwyrm/forms.py:416 msgid "One Week" msgstr "Savaitė" -#: bookwyrm/forms.py:410 +#: bookwyrm/forms.py:417 msgid "One Month" msgstr "Mėnuo" -#: bookwyrm/forms.py:411 +#: bookwyrm/forms.py:418 msgid "Does Not Expire" msgstr "Galiojimas nesibaigia" -#: bookwyrm/forms.py:415 +#: bookwyrm/forms.py:422 #, python-brace-format msgid "{i} uses" msgstr "{i} naudoja" -#: bookwyrm/forms.py:416 +#: bookwyrm/forms.py:423 msgid "Unlimited" msgstr "Neribota" -#: bookwyrm/forms.py:518 +#: bookwyrm/forms.py:525 msgid "List Order" msgstr "Kaip pridėta į sąrašą" -#: bookwyrm/forms.py:519 +#: bookwyrm/forms.py:526 msgid "Book Title" msgstr "Knygos antraštė" -#: bookwyrm/forms.py:520 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms.py:527 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Įvertinimas" -#: bookwyrm/forms.py:522 bookwyrm/templates/lists/list.html:175 +#: bookwyrm/forms.py:529 bookwyrm/templates/lists/list.html:175 msgid "Sort By" msgstr "Rūšiuoti pagal" -#: bookwyrm/forms.py:526 +#: bookwyrm/forms.py:533 msgid "Ascending" msgstr "Didėjančia tvarka" -#: bookwyrm/forms.py:527 +#: bookwyrm/forms.py:534 msgid "Descending" msgstr "Mažėjančia tvarka" -#: bookwyrm/forms.py:540 +#: bookwyrm/forms.py:547 msgid "Reading finish date cannot be before start date." msgstr "Skaitymo pabaigos data negali būti prieš skaitymo pradžios datą." @@ -139,23 +143,23 @@ msgstr "Moderatorius ištrynė" msgid "Domain block" msgstr "Blokuoti pagal domeną" -#: bookwyrm/models/book.py:253 +#: bookwyrm/models/book.py:262 msgid "Audiobook" msgstr "Audioknyga" -#: bookwyrm/models/book.py:254 +#: bookwyrm/models/book.py:263 msgid "eBook" msgstr "Elektroninė knyga" -#: bookwyrm/models/book.py:255 +#: bookwyrm/models/book.py:264 msgid "Graphic novel" msgstr "Grafinė novelė" -#: bookwyrm/models/book.py:256 +#: bookwyrm/models/book.py:265 msgid "Hardcover" msgstr "Knyga kietais viršeliais" -#: bookwyrm/models/book.py:257 +#: bookwyrm/models/book.py:266 msgid "Paperback" msgstr "Knyga minkštais viršeliais" @@ -183,7 +187,7 @@ msgstr "%(value)s yra negaliojantis remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s yra negaliojantis naudotojo vardas" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "naudotojo vardas" @@ -257,73 +261,73 @@ msgstr "Citatos" msgid "Everything else" msgstr "Visa kita" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home Timeline" msgstr "Pagrindinė siena" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home" msgstr "Pagrindinis" -#: bookwyrm/settings.py:191 +#: bookwyrm/settings.py:196 msgid "Books Timeline" msgstr "Knygų siena" -#: bookwyrm/settings.py:191 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:196 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:265 +#: bookwyrm/settings.py:270 msgid "English" msgstr "English (Anglų)" -#: bookwyrm/settings.py:266 +#: bookwyrm/settings.py:271 msgid "Deutsch (German)" msgstr "Deutsch (Vokiečių)" -#: bookwyrm/settings.py:267 +#: bookwyrm/settings.py:272 msgid "Español (Spanish)" msgstr "Español (Ispanų)" -#: bookwyrm/settings.py:268 +#: bookwyrm/settings.py:273 msgid "Galego (Galician)" msgstr "Galego (galisų)" -#: bookwyrm/settings.py:269 +#: bookwyrm/settings.py:274 msgid "Italiano (Italian)" msgstr "Italų (Italian)" -#: bookwyrm/settings.py:270 +#: bookwyrm/settings.py:275 msgid "Français (French)" msgstr "Français (Prancūzų)" -#: bookwyrm/settings.py:271 +#: bookwyrm/settings.py:276 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių" -#: bookwyrm/settings.py:272 +#: bookwyrm/settings.py:277 msgid "Norsk (Norwegian)" msgstr "Norvegų (Norwegian)" -#: bookwyrm/settings.py:273 +#: bookwyrm/settings.py:278 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português brasileiro (Brazilijos portugalų)" -#: bookwyrm/settings.py:274 +#: bookwyrm/settings.py:279 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Europos portugalų)" -#: bookwyrm/settings.py:275 +#: bookwyrm/settings.py:280 msgid "Svenska (Swedish)" msgstr "Svenska (Švedų)" -#: bookwyrm/settings.py:276 +#: bookwyrm/settings.py:281 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Supaprastinta kinų)" -#: bookwyrm/settings.py:277 +#: bookwyrm/settings.py:282 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Tradicinė kinų)" @@ -395,7 +399,7 @@ msgstr "Svetainės %(site_name)s moderatoriai ir administratoriai nuolat atnauji msgid "Moderator" msgstr "Moderatorius" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131 +#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "Administravimas" @@ -421,11 +425,12 @@ msgid "Statuses posted:" msgstr "Publikuotos būsenos:" #: bookwyrm/templates/about/layout.html:19 +#: bookwyrm/templates/setup/config.html:74 msgid "Software version:" msgstr "Serverio programinės įrangos versija:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:229 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 #, python-format msgid "About %(site_name)s" msgstr "Apie %(site_name)s" @@ -741,7 +746,7 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:82 #: bookwyrm/templates/settings/federation/instance.html:87 -#: bookwyrm/templates/settings/site.html:133 +#: bookwyrm/templates/settings/site.html:151 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -864,7 +869,7 @@ msgid "Places" msgstr "Vietos" #: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -923,7 +928,7 @@ msgstr "Peržiūrėti knygos viršelį" #: bookwyrm/templates/components/modal.html:13 #: bookwyrm/templates/components/modal.html:30 #: bookwyrm/templates/components/tooltip.html:7 -#: bookwyrm/templates/feed/suggested_books.html:62 +#: bookwyrm/templates/feed/suggested_books.html:55 #: bookwyrm/templates/get_started/layout.html:25 #: bookwyrm/templates/get_started/layout.html:58 msgid "Close" @@ -1220,6 +1225,7 @@ msgid "This link is taking you to: %(link_url)s.
Is that where msgstr "Nuoroda veda į: %(link_url)s.
Ar tikrai norite ten nueiti?" #: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Tęsti" @@ -1293,7 +1299,7 @@ msgstr "Patvirtinimo kodas:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 -#: bookwyrm/templates/settings/dashboard/dashboard.html:104 +#: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:52 msgid "Submit" msgstr "Siųsti" @@ -1310,7 +1316,7 @@ msgstr "Dar kartą išsiųsti patvirtinimo nuorodą" #: bookwyrm/templates/landing/layout.html:68 #: bookwyrm/templates/landing/password_reset_request.html:18 #: bookwyrm/templates/preferences/edit_user.html:53 -#: bookwyrm/templates/snippets/register_form.html:12 +#: bookwyrm/templates/snippets/register_form.html:27 msgid "Email address:" msgstr "El. pašto adresas:" @@ -1332,7 +1338,7 @@ msgstr "Sujungta bendruomenė" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:100 +#: bookwyrm/templates/layout.html:101 msgid "Directory" msgstr "Bendruomenė" @@ -1456,7 +1462,7 @@ msgstr "%(username)s citavo %(username)s" msgstr "Asmeninis susirašinėjimas su %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:110 +#: bookwyrm/templates/layout.html:111 msgid "Direct Messages" msgstr "Asmeninės žinutės" @@ -1629,7 +1636,7 @@ msgid "Updates" msgstr "Atnaujinimai" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:105 +#: bookwyrm/templates/layout.html:106 msgid "Your Books" msgstr "Jūsų knygos" @@ -1697,7 +1704,7 @@ msgid "What are you reading?" msgstr "Ką skaitome?" #: bookwyrm/templates/get_started/books.html:9 -#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:203 +#: bookwyrm/templates/layout.html:48 bookwyrm/templates/lists/list.html:203 msgid "Search for a book" msgstr "Ieškoti knygos" @@ -1716,8 +1723,8 @@ msgstr "Kai pradedate naudotis %(site_name)s, galite pridėti knygų." #: bookwyrm/templates/get_started/users.html:18 #: bookwyrm/templates/get_started/users.html:19 #: bookwyrm/templates/groups/members.html:15 -#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53 -#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:207 +#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:54 +#: bookwyrm/templates/layout.html:55 bookwyrm/templates/lists/list.html:207 #: bookwyrm/templates/search/layout.html:4 #: bookwyrm/templates/search/layout.html:9 msgid "Search" @@ -2045,7 +2052,7 @@ msgstr "Lentyna" #: bookwyrm/templates/import/import_status.html:120 #: bookwyrm/templates/import/manual_review.html:13 -#: bookwyrm/templates/snippets/create_status.html:17 +#: bookwyrm/templates/snippets/create_status.html:16 msgid "Review" msgstr "Apžvalga" @@ -2190,7 +2197,7 @@ msgid "Login" msgstr "Prisijungti" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:178 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Prisijunkite" @@ -2199,7 +2206,7 @@ msgstr "Prisijunkite" msgid "Success! Email address confirmed." msgstr "Džiugu, el. pašto adresas patvirtintas." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:169 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2207,12 +2214,12 @@ msgstr "Naudotojo vardas:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:173 bookwyrm/templates/ostatus/error.html:32 -#: bookwyrm/templates/snippets/register_form.html:20 +#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Slaptažodis:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:175 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Pamiršote slaptažodį?" @@ -2240,23 +2247,23 @@ msgstr "Atstatyti slaptažodį" msgid "%(site_name)s search" msgstr "%(site_name)s paieška" -#: bookwyrm/templates/layout.html:45 +#: bookwyrm/templates/layout.html:46 msgid "Search for a book, user, or list" msgstr "Ieškoti knygos, naudotojo arba sąrašo" -#: bookwyrm/templates/layout.html:63 +#: bookwyrm/templates/layout.html:64 msgid "Main navigation menu" msgstr "Pagrindinis navigacijos meniu" -#: bookwyrm/templates/layout.html:71 +#: bookwyrm/templates/layout.html:72 msgid "Feed" msgstr "Srautas" -#: bookwyrm/templates/layout.html:115 +#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Nustatymai" -#: bookwyrm/templates/layout.html:124 +#: bookwyrm/templates/layout.html:125 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2264,42 +2271,42 @@ msgstr "Nustatymai" msgid "Invites" msgstr "Pakvietimai" -#: bookwyrm/templates/layout.html:138 +#: bookwyrm/templates/layout.html:139 msgid "Log out" msgstr "Atsijungti" -#: bookwyrm/templates/layout.html:146 bookwyrm/templates/layout.html:147 +#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Pranešimai" -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "slaptažodis" -#: bookwyrm/templates/layout.html:186 +#: bookwyrm/templates/layout.html:187 msgid "Join" msgstr "Prisijungti" -#: bookwyrm/templates/layout.html:220 +#: bookwyrm/templates/layout.html:221 msgid "Successfully posted status" msgstr "Būsena publikuota sėkmingai" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:222 msgid "Error posting status" msgstr "Klaida, publikuojant būseną" -#: bookwyrm/templates/layout.html:237 +#: bookwyrm/templates/layout.html:238 msgid "Documentation" msgstr "Dokumentacija" -#: bookwyrm/templates/layout.html:244 +#: bookwyrm/templates/layout.html:245 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Paremkite %(site_name)s per %(support_title)s" -#: bookwyrm/templates/layout.html:248 +#: bookwyrm/templates/layout.html:249 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "„BookWyrm“ šaltinio kodas yra laisvai prieinamas. Galite prisidėti arba pranešti apie klaidas per GitHub." @@ -2936,6 +2943,11 @@ msgstr "Užbaigti „%(book_title)s“" msgid "Start \"%(book_title)s\"" msgstr "Pradėti „%(book_title)s“" +#: bookwyrm/templates/reading_progress/stop.html:5 +#, python-format +msgid "Stop \"%(book_title)s\"" +msgstr "" + #: bookwyrm/templates/reading_progress/want.html:5 #, python-format msgid "Want to Read \"%(book_title)s\"" @@ -3088,13 +3100,13 @@ msgstr "Netiesa" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:82 +#: bookwyrm/templates/settings/dashboard/dashboard.html:94 msgid "Start date:" msgstr "Pradžios data:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:88 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "End date:" msgstr "Pabaigos data:" @@ -3168,7 +3180,7 @@ msgid "Dashboard" msgstr "Suvestinė" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:123 msgid "Total users" msgstr "Iš viso naudotojų" @@ -3195,7 +3207,7 @@ msgstr[1] "%(display_count)s atviros ataskaitos" msgstr[2] "%(display_count)s atviros ataskaitos" msgstr[3] "%(display_count)s atvirų ataskaitų" -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 +#: bookwyrm/templates/settings/dashboard/dashboard.html:55 #, python-format msgid "%(display_count)s domain needs review" msgid_plural "%(display_count)s domains need review" @@ -3204,7 +3216,7 @@ msgstr[1] "%(display_count)s domenus reikia peržiūrėti" msgstr[2] "%(display_count)s domenus reikia peržiūrėti" msgstr[3] "%(display_count)s domenus reikia peržiūrėti" -#: bookwyrm/templates/settings/dashboard/dashboard.html:65 +#: bookwyrm/templates/settings/dashboard/dashboard.html:67 #, python-format msgid "%(display_count)s invite request" msgid_plural "%(display_count)s invite requests" @@ -3213,31 +3225,36 @@ msgstr[1] "%(display_count)s prašymai pakviesti" msgstr[2] "%(display_count)s prašymų pakviesti" msgstr[3] "%(display_count)s prašymai pakviesti" -#: bookwyrm/templates/settings/dashboard/dashboard.html:76 +#: bookwyrm/templates/settings/dashboard/dashboard.html:79 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:88 msgid "Instance Activity" msgstr "Serverio statistika" -#: bookwyrm/templates/settings/dashboard/dashboard.html:94 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 msgid "Interval:" msgstr "Intervalas:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:98 +#: bookwyrm/templates/settings/dashboard/dashboard.html:110 msgid "Days" msgstr "Dienos" -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 +#: bookwyrm/templates/settings/dashboard/dashboard.html:111 msgid "Weeks" msgstr "Savaitės" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:129 msgid "User signup activity" msgstr "Naudotojo prisijungimo veikla" -#: bookwyrm/templates/settings/dashboard/dashboard.html:123 +#: bookwyrm/templates/settings/dashboard/dashboard.html:135 msgid "Status activity" msgstr "Būsenos" -#: bookwyrm/templates/settings/dashboard/dashboard.html:129 +#: bookwyrm/templates/settings/dashboard/dashboard.html:141 msgid "Works created" msgstr "Darbai sukurti" @@ -3668,7 +3685,7 @@ msgid "Moderator Comments" msgstr "Moderatoriaus komentarai" #: bookwyrm/templates/settings/reports/report.html:89 -#: bookwyrm/templates/snippets/create_status.html:28 +#: bookwyrm/templates/snippets/create_status.html:26 msgid "Comment" msgstr "Komentuoti" @@ -3731,102 +3748,110 @@ msgid "No reports found." msgstr "Pranešimų nerasta." #: bookwyrm/templates/settings/site.html:10 -#: bookwyrm/templates/settings/site.html:21 +#: bookwyrm/templates/settings/site.html:39 msgid "Instance Info" msgstr "Serverio informacija" #: bookwyrm/templates/settings/site.html:11 -#: bookwyrm/templates/settings/site.html:54 +#: bookwyrm/templates/settings/site.html:72 msgid "Images" msgstr "Paveikslėliai" #: bookwyrm/templates/settings/site.html:12 -#: bookwyrm/templates/settings/site.html:74 +#: bookwyrm/templates/settings/site.html:92 msgid "Footer Content" msgstr "Poraštės turinys" #: bookwyrm/templates/settings/site.html:13 -#: bookwyrm/templates/settings/site.html:98 +#: bookwyrm/templates/settings/site.html:116 msgid "Registration" msgstr "Registracija" -#: bookwyrm/templates/settings/site.html:24 +#: bookwyrm/templates/settings/site.html:22 +msgid "Settings saved" +msgstr "" + +#: bookwyrm/templates/settings/site.html:31 +msgid "Unable to save settings" +msgstr "" + +#: bookwyrm/templates/settings/site.html:42 msgid "Instance Name:" msgstr "Serverio pavadinimas:" -#: bookwyrm/templates/settings/site.html:28 +#: bookwyrm/templates/settings/site.html:46 msgid "Tagline:" msgstr "Žymos linija:" -#: bookwyrm/templates/settings/site.html:32 +#: bookwyrm/templates/settings/site.html:50 msgid "Instance description:" msgstr "Serverio aprašymas:" -#: bookwyrm/templates/settings/site.html:36 +#: bookwyrm/templates/settings/site.html:54 msgid "Short description:" msgstr "Trumpas aprašymas:" -#: bookwyrm/templates/settings/site.html:37 +#: bookwyrm/templates/settings/site.html:55 msgid "Used when the instance is previewed on joinbookwyrm.com. Does not support HTML or Markdown." msgstr "Naudota, kai turinys buvo peržiūrimas per joinbookwyrm.com. Nepalaiko HTML arba „Markdown“." -#: bookwyrm/templates/settings/site.html:41 +#: bookwyrm/templates/settings/site.html:59 msgid "Code of conduct:" msgstr "Elgesio kodeksas:" -#: bookwyrm/templates/settings/site.html:45 +#: bookwyrm/templates/settings/site.html:63 msgid "Privacy Policy:" msgstr "Privatumo politika:" -#: bookwyrm/templates/settings/site.html:57 +#: bookwyrm/templates/settings/site.html:75 msgid "Logo:" msgstr "Logotipas:" -#: bookwyrm/templates/settings/site.html:61 +#: bookwyrm/templates/settings/site.html:79 msgid "Logo small:" msgstr "Mažas logotipas:" -#: bookwyrm/templates/settings/site.html:65 +#: bookwyrm/templates/settings/site.html:83 msgid "Favicon:" msgstr "Puslapio ikonėlė:" -#: bookwyrm/templates/settings/site.html:77 +#: bookwyrm/templates/settings/site.html:95 msgid "Support link:" msgstr "Paramos nuoroda:" -#: bookwyrm/templates/settings/site.html:81 +#: bookwyrm/templates/settings/site.html:99 msgid "Support title:" msgstr "Paramos pavadinimas:" -#: bookwyrm/templates/settings/site.html:85 +#: bookwyrm/templates/settings/site.html:103 msgid "Admin email:" msgstr "Administratoriaus el. paštas:" -#: bookwyrm/templates/settings/site.html:89 +#: bookwyrm/templates/settings/site.html:107 msgid "Additional info:" msgstr "Papildoma informacija:" -#: bookwyrm/templates/settings/site.html:103 +#: bookwyrm/templates/settings/site.html:121 msgid "Allow registration" msgstr "Leisti registruotis" -#: bookwyrm/templates/settings/site.html:109 +#: bookwyrm/templates/settings/site.html:127 msgid "Allow invite requests" msgstr "Leisti prašyti kvietimų" -#: bookwyrm/templates/settings/site.html:115 +#: bookwyrm/templates/settings/site.html:133 msgid "Require users to confirm email address" msgstr "Reikalauti el. pašto patvirtinimo" -#: bookwyrm/templates/settings/site.html:117 +#: bookwyrm/templates/settings/site.html:135 msgid "(Recommended if registration is open)" msgstr "(Rekomenduojama, jei leidžiama registruotis)" -#: bookwyrm/templates/settings/site.html:120 +#: bookwyrm/templates/settings/site.html:138 msgid "Registration closed text:" msgstr "Užrakintos registracijos tekstas:" -#: bookwyrm/templates/settings/site.html:124 +#: bookwyrm/templates/settings/site.html:142 msgid "Invite request text:" msgstr "Kvietimo prašymo tekstas:" @@ -3957,6 +3982,118 @@ msgstr "Atblokuoti narį" msgid "Access level:" msgstr "Priėjimo lygis:" +#: bookwyrm/templates/setup/admin.html:5 +msgid "Set up BookWyrm" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:7 +msgid "Your account as a user and an admin" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:13 +msgid "Create your account" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:20 +msgid "Admin key:" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:32 +msgid "An admin key was created when you installed BookWyrm. You can get your admin key by running ./bw-dev admin_code from the command line on your server." +msgstr "" + +#: bookwyrm/templates/setup/admin.html:45 +msgid "As an admin, you'll be able to configure the instance name and information, and moderate your instance. This means you will have access to private information about your users, and are responsible for responding to reports of bad behavior or spam." +msgstr "" + +#: bookwyrm/templates/setup/admin.html:51 +msgid "Once the instance is set up, you can promote other users to moderator or admin roles from the admin panel." +msgstr "" + +#: bookwyrm/templates/setup/admin.html:55 +msgid "Learn more about moderation" +msgstr "" + +#: bookwyrm/templates/setup/config.html:5 +msgid "Instance Configuration" +msgstr "" + +#: bookwyrm/templates/setup/config.html:7 +msgid "Make sure everything looks right before proceeding" +msgstr "" + +#: bookwyrm/templates/setup/config.html:18 +msgid "You are running BookWyrm in debug mode. This should never be used in a production environment." +msgstr "" + +#: bookwyrm/templates/setup/config.html:30 +msgid "Your domain appears to be misconfigured. It should not include protocol or slashes." +msgstr "" + +#: bookwyrm/templates/setup/config.html:42 +msgid "You are running BookWyrm in production mode without https. USE_HTTPS should be enabled in production." +msgstr "" + +#: bookwyrm/templates/setup/config.html:56 +msgid "Instance domain:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:63 +msgid "Protocol:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:81 +msgid "Using S3:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:91 +msgid "Display" +msgstr "" + +#: bookwyrm/templates/setup/config.html:95 +msgid "Default interface language:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:102 +msgid "Email sender:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:109 +msgid "Enable preview images:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:116 +msgid "Enable image thumbnails:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:128 +msgid "Does everything look right?" +msgstr "" + +#: bookwyrm/templates/setup/config.html:130 +msgid "This is your last chance to set your domain and protocol." +msgstr "" + +#: bookwyrm/templates/setup/config.html:144 +msgid "You can change your instance settings in the .env file on your server." +msgstr "" + +#: bookwyrm/templates/setup/config.html:148 +msgid "View installation instructions" +msgstr "" + +#: bookwyrm/templates/setup/layout.html:5 +msgid "Instance Setup" +msgstr "" + +#: bookwyrm/templates/setup/layout.html:15 +msgid "Installing BookWyrm" +msgstr "" + +#: bookwyrm/templates/setup/layout.html:18 +msgid "Need help?" +msgstr "" + #: bookwyrm/templates/shelf/create_shelf_form.html:5 msgid "Create Shelf" msgstr "Sukurti lentyną" @@ -4052,7 +4189,7 @@ msgstr[3] "ir %(remainder_count_display)s kitų" msgid "No cover" msgstr "Nėra viršelio" -#: bookwyrm/templates/snippets/book_titleby.html:10 +#: bookwyrm/templates/snippets/book_titleby.html:11 #, python-format msgid "%(title)s by" msgstr "%(title)s" @@ -4067,7 +4204,7 @@ msgstr "Populiarinti" msgid "Un-boost" msgstr "Nepopuliarinti" -#: bookwyrm/templates/snippets/create_status.html:39 +#: bookwyrm/templates/snippets/create_status.html:36 msgid "Quote" msgstr "Citata" @@ -4367,7 +4504,11 @@ msgstr "Pradėti „%(book_title)s“" msgid "Want to Read \"%(book_title)s\"" msgstr "Noriu perskaityti „%(book_title)s“" -#: bookwyrm/templates/snippets/register_form.html:30 +#: bookwyrm/templates/snippets/register_form.html:18 +msgid "Choose wisely! Your username cannot be changed." +msgstr "" + +#: bookwyrm/templates/snippets/register_form.html:64 msgid "Sign Up" msgstr "Registruotis" diff --git a/locale/no_NO/LC_MESSAGES/django.mo b/locale/no_NO/LC_MESSAGES/django.mo index 294ff6ad47735b6cbf782d6805a8eba343a54fbf..a37ff8fb7f43bbcdd5f1d0a30981940871a8c1d3 100644 GIT binary patch delta 22 ecmccnk>&13mJJ&ZvRfz^m|7VdZr*WFwHyF`i3#xl delta 22 ecmccnk>&13mJJ&ZvYRUyT3Q)fZr*WFwHyF`+X?*u diff --git a/locale/no_NO/LC_MESSAGES/django.po b/locale/no_NO/LC_MESSAGES/django.po index 3cbb7b5fa..913913a00 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-02-17 16:58+0000\n" -"PO-Revision-Date: 2022-02-17 19:39\n" +"POT-Creation-Date: 2022-02-18 03:55+0000\n" +"PO-Revision-Date: 2022-02-18 05:31\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Norwegian\n" "Language: no\n" @@ -17,70 +17,74 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:245 +#: bookwyrm/forms.py:62 +msgid "User with this username already exists" +msgstr "" + +#: bookwyrm/forms.py:252 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "" -#: bookwyrm/forms.py:255 +#: bookwyrm/forms.py:262 msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." msgstr "" -#: bookwyrm/forms.py:394 +#: bookwyrm/forms.py:401 msgid "A user with this email already exists." msgstr "Den e-postadressen er allerede registrert." -#: bookwyrm/forms.py:408 +#: bookwyrm/forms.py:415 msgid "One Day" msgstr "Én dag" -#: bookwyrm/forms.py:409 +#: bookwyrm/forms.py:416 msgid "One Week" msgstr "Én uke" -#: bookwyrm/forms.py:410 +#: bookwyrm/forms.py:417 msgid "One Month" msgstr "Én måned" -#: bookwyrm/forms.py:411 +#: bookwyrm/forms.py:418 msgid "Does Not Expire" msgstr "Uendelig" -#: bookwyrm/forms.py:415 +#: bookwyrm/forms.py:422 #, python-brace-format msgid "{i} uses" msgstr "{i} ganger" -#: bookwyrm/forms.py:416 +#: bookwyrm/forms.py:423 msgid "Unlimited" msgstr "Ubegrenset" -#: bookwyrm/forms.py:518 +#: bookwyrm/forms.py:525 msgid "List Order" msgstr "Liste rekkefølge" -#: bookwyrm/forms.py:519 +#: bookwyrm/forms.py:526 msgid "Book Title" msgstr "Boktittel" -#: bookwyrm/forms.py:520 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms.py:527 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Vurdering" -#: bookwyrm/forms.py:522 bookwyrm/templates/lists/list.html:175 +#: bookwyrm/forms.py:529 bookwyrm/templates/lists/list.html:175 msgid "Sort By" msgstr "Sorter etter" -#: bookwyrm/forms.py:526 +#: bookwyrm/forms.py:533 msgid "Ascending" msgstr "Stigende" -#: bookwyrm/forms.py:527 +#: bookwyrm/forms.py:534 msgid "Descending" msgstr "Synkende" -#: bookwyrm/forms.py:540 +#: bookwyrm/forms.py:547 msgid "Reading finish date cannot be before start date." msgstr "Sluttdato kan ikke være før startdato." @@ -139,23 +143,23 @@ msgstr "Moderatør sletting" msgid "Domain block" msgstr "Domeneblokkering" -#: bookwyrm/models/book.py:253 +#: bookwyrm/models/book.py:262 msgid "Audiobook" msgstr "Lydbok" -#: bookwyrm/models/book.py:254 +#: bookwyrm/models/book.py:263 msgid "eBook" msgstr "e-bok" -#: bookwyrm/models/book.py:255 +#: bookwyrm/models/book.py:264 msgid "Graphic novel" msgstr "Tegneserie" -#: bookwyrm/models/book.py:256 +#: bookwyrm/models/book.py:265 msgid "Hardcover" msgstr "Innbundet" -#: bookwyrm/models/book.py:257 +#: bookwyrm/models/book.py:266 msgid "Paperback" msgstr "Paperback" @@ -183,7 +187,7 @@ msgstr "%(value)s er en ugyldig remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s er et ugyldig brukernavn" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "brukernavn" @@ -257,73 +261,73 @@ msgstr "Sitater" msgid "Everything else" msgstr "Andre ting" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home Timeline" msgstr "Lokal tidslinje" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home" msgstr "Hjem" -#: bookwyrm/settings.py:191 +#: bookwyrm/settings.py:196 msgid "Books Timeline" msgstr "Boktidslinja" -#: bookwyrm/settings.py:191 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:196 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:265 +#: bookwyrm/settings.py:270 msgid "English" msgstr "English (Engelsk)" -#: bookwyrm/settings.py:266 +#: bookwyrm/settings.py:271 msgid "Deutsch (German)" msgstr "Deutsch (Tysk)" -#: bookwyrm/settings.py:267 +#: bookwyrm/settings.py:272 msgid "Español (Spanish)" msgstr "Español (Spansk)" -#: bookwyrm/settings.py:268 +#: bookwyrm/settings.py:273 msgid "Galego (Galician)" msgstr "Galego (Gallisk)" -#: bookwyrm/settings.py:269 +#: bookwyrm/settings.py:274 msgid "Italiano (Italian)" msgstr "Italiano (Italiensk)" -#: bookwyrm/settings.py:270 +#: bookwyrm/settings.py:275 msgid "Français (French)" msgstr "Français (Fransk)" -#: bookwyrm/settings.py:271 +#: bookwyrm/settings.py:276 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Litauisk)" -#: bookwyrm/settings.py:272 +#: bookwyrm/settings.py:277 msgid "Norsk (Norwegian)" msgstr "Norsk (Norsk)" -#: bookwyrm/settings.py:273 +#: bookwyrm/settings.py:278 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português - Brasil (Brasiliansk portugisisk)" -#: bookwyrm/settings.py:274 +#: bookwyrm/settings.py:279 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Europeisk Portugisisk)" -#: bookwyrm/settings.py:275 +#: bookwyrm/settings.py:280 msgid "Svenska (Swedish)" msgstr "Svenska (Svensk)" -#: bookwyrm/settings.py:276 +#: bookwyrm/settings.py:281 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Forenklet kinesisk)" -#: bookwyrm/settings.py:277 +#: bookwyrm/settings.py:282 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Tradisjonelt kinesisk)" @@ -395,7 +399,7 @@ msgstr "%(site_name)s sine moderatorer og administratorer holder nettsida oppe o msgid "Moderator" msgstr "Moderator" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131 +#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "Admin" @@ -421,11 +425,12 @@ msgid "Statuses posted:" msgstr "Statuser lagt ut:" #: bookwyrm/templates/about/layout.html:19 +#: bookwyrm/templates/setup/config.html:74 msgid "Software version:" msgstr "Programvareversjon:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:229 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 #, python-format msgid "About %(site_name)s" msgstr "Om %(site_name)s" @@ -733,7 +738,7 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:82 #: bookwyrm/templates/settings/federation/instance.html:87 -#: bookwyrm/templates/settings/site.html:133 +#: bookwyrm/templates/settings/site.html:151 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -854,7 +859,7 @@ msgid "Places" msgstr "Steder" #: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -913,7 +918,7 @@ msgstr "Bokomslag forhåndsvisning" #: bookwyrm/templates/components/modal.html:13 #: bookwyrm/templates/components/modal.html:30 #: bookwyrm/templates/components/tooltip.html:7 -#: bookwyrm/templates/feed/suggested_books.html:62 +#: bookwyrm/templates/feed/suggested_books.html:55 #: bookwyrm/templates/get_started/layout.html:25 #: bookwyrm/templates/get_started/layout.html:58 msgid "Close" @@ -1211,6 +1216,7 @@ msgid "This link is taking you to: %(link_url)s.
Is that where msgstr "Denne lenka sender deg til: %(link_url)s.
Er det dit du vil dra?" #: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Fortsett" @@ -1284,7 +1290,7 @@ msgstr "Bekreftelseskode:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 -#: bookwyrm/templates/settings/dashboard/dashboard.html:104 +#: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:52 msgid "Submit" msgstr "Send inn" @@ -1301,7 +1307,7 @@ msgstr "Send e-post på nytt" #: bookwyrm/templates/landing/layout.html:68 #: bookwyrm/templates/landing/password_reset_request.html:18 #: bookwyrm/templates/preferences/edit_user.html:53 -#: bookwyrm/templates/snippets/register_form.html:12 +#: bookwyrm/templates/snippets/register_form.html:27 msgid "Email address:" msgstr "E-post adresse:" @@ -1323,7 +1329,7 @@ msgstr "Føderte samfunn" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:100 +#: bookwyrm/templates/layout.html:101 msgid "Directory" msgstr "Katalog" @@ -1443,7 +1449,7 @@ msgstr "%(username)s siterte %(username)s" msgstr "Direktemeldinger med %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:110 +#: bookwyrm/templates/layout.html:111 msgid "Direct Messages" msgstr "Direktemeldinger" @@ -1616,7 +1623,7 @@ msgid "Updates" msgstr "Oppdateringer" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:105 +#: bookwyrm/templates/layout.html:106 msgid "Your Books" msgstr "Bøkene dine" @@ -1684,7 +1691,7 @@ msgid "What are you reading?" msgstr "Hva er det du leser nå?" #: bookwyrm/templates/get_started/books.html:9 -#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:203 +#: bookwyrm/templates/layout.html:48 bookwyrm/templates/lists/list.html:203 msgid "Search for a book" msgstr "Søk etter en bok" @@ -1703,8 +1710,8 @@ msgstr "Du kan legge til bøker når du begynner å bruke %(site_name)s." #: bookwyrm/templates/get_started/users.html:18 #: bookwyrm/templates/get_started/users.html:19 #: bookwyrm/templates/groups/members.html:15 -#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53 -#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:207 +#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:54 +#: bookwyrm/templates/layout.html:55 bookwyrm/templates/lists/list.html:207 #: bookwyrm/templates/search/layout.html:4 #: bookwyrm/templates/search/layout.html:9 msgid "Search" @@ -2024,7 +2031,7 @@ msgstr "Hylle" #: bookwyrm/templates/import/import_status.html:120 #: bookwyrm/templates/import/manual_review.html:13 -#: bookwyrm/templates/snippets/create_status.html:17 +#: bookwyrm/templates/snippets/create_status.html:16 msgid "Review" msgstr "Anmeldelse" @@ -2169,7 +2176,7 @@ msgid "Login" msgstr "Logg inn" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:178 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Logg inn" @@ -2178,7 +2185,7 @@ msgstr "Logg inn" msgid "Success! Email address confirmed." msgstr "Vellykket! E-postadressen din er bekreftet." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:169 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2186,12 +2193,12 @@ msgstr "Brukernavn:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:173 bookwyrm/templates/ostatus/error.html:32 -#: bookwyrm/templates/snippets/register_form.html:20 +#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Passord:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:175 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Glemt passord?" @@ -2219,23 +2226,23 @@ msgstr "Nullstill passordet" msgid "%(site_name)s search" msgstr "%(site_name)s søk" -#: bookwyrm/templates/layout.html:45 +#: bookwyrm/templates/layout.html:46 msgid "Search for a book, user, or list" msgstr "Søk etter bok, medlem eller liste" -#: bookwyrm/templates/layout.html:63 +#: bookwyrm/templates/layout.html:64 msgid "Main navigation menu" msgstr "Hovednavigasjonsmeny" -#: bookwyrm/templates/layout.html:71 +#: bookwyrm/templates/layout.html:72 msgid "Feed" msgstr "Strøm" -#: bookwyrm/templates/layout.html:115 +#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Innstillinger" -#: bookwyrm/templates/layout.html:124 +#: bookwyrm/templates/layout.html:125 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2243,42 +2250,42 @@ msgstr "Innstillinger" msgid "Invites" msgstr "Invitasjoner" -#: bookwyrm/templates/layout.html:138 +#: bookwyrm/templates/layout.html:139 msgid "Log out" msgstr "Logg ut" -#: bookwyrm/templates/layout.html:146 bookwyrm/templates/layout.html:147 +#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Varsler" -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "passord" -#: bookwyrm/templates/layout.html:186 +#: bookwyrm/templates/layout.html:187 msgid "Join" msgstr "Delta" -#: bookwyrm/templates/layout.html:220 +#: bookwyrm/templates/layout.html:221 msgid "Successfully posted status" msgstr "Status ble opprettet" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:222 msgid "Error posting status" msgstr "Feil ved lagring av status" -#: bookwyrm/templates/layout.html:237 +#: bookwyrm/templates/layout.html:238 msgid "Documentation" msgstr "Dokumentasjon" -#: bookwyrm/templates/layout.html:244 +#: bookwyrm/templates/layout.html:245 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Støtt %(site_name)s på %(support_title)s" -#: bookwyrm/templates/layout.html:248 +#: bookwyrm/templates/layout.html:249 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrms kildekode er fritt tilgjengelig. Du kan bidra eller rapportere problemer på GitHub." @@ -2915,6 +2922,11 @@ msgstr "Fullfør \"%(book_title)s\"" msgid "Start \"%(book_title)s\"" msgstr "Start \"%(book_title)s" +#: bookwyrm/templates/reading_progress/stop.html:5 +#, python-format +msgid "Stop \"%(book_title)s\"" +msgstr "" + #: bookwyrm/templates/reading_progress/want.html:5 #, python-format msgid "Want to Read \"%(book_title)s\"" @@ -3067,13 +3079,13 @@ msgstr "Usant" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:82 +#: bookwyrm/templates/settings/dashboard/dashboard.html:94 msgid "Start date:" msgstr "Startdato:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:88 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "End date:" msgstr "Sluttdato:" @@ -3147,7 +3159,7 @@ msgid "Dashboard" msgstr "Kontrollpanel" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:123 msgid "Total users" msgstr "Totalt antall brukere" @@ -3172,45 +3184,50 @@ msgid_plural "%(display_count)s open reports" msgstr[0] "%(display_count)s åpen rapport" msgstr[1] "%(display_count)s åpne rapporter" -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 +#: bookwyrm/templates/settings/dashboard/dashboard.html:55 #, python-format msgid "%(display_count)s domain needs review" msgid_plural "%(display_count)s domains need review" msgstr[0] "%(display_count)s domene må godkjennes" msgstr[1] "%(display_count)s domener må godkjennes" -#: bookwyrm/templates/settings/dashboard/dashboard.html:65 +#: bookwyrm/templates/settings/dashboard/dashboard.html:67 #, python-format msgid "%(display_count)s invite request" msgid_plural "%(display_count)s invite requests" msgstr[0] "%(display_count)s invitasjonsforespørsel" msgstr[1] "%(display_count)s invitasjonsforespørsler" -#: bookwyrm/templates/settings/dashboard/dashboard.html:76 +#: bookwyrm/templates/settings/dashboard/dashboard.html:79 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:88 msgid "Instance Activity" msgstr "Instansaktivitet" -#: bookwyrm/templates/settings/dashboard/dashboard.html:94 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 msgid "Interval:" msgstr "Intervall:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:98 +#: bookwyrm/templates/settings/dashboard/dashboard.html:110 msgid "Days" msgstr "Dager" -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 +#: bookwyrm/templates/settings/dashboard/dashboard.html:111 msgid "Weeks" msgstr "Uker" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:129 msgid "User signup activity" msgstr "Brukerregistreringsaktivitet" -#: bookwyrm/templates/settings/dashboard/dashboard.html:123 +#: bookwyrm/templates/settings/dashboard/dashboard.html:135 msgid "Status activity" msgstr "Statusaktivitet" -#: bookwyrm/templates/settings/dashboard/dashboard.html:129 +#: bookwyrm/templates/settings/dashboard/dashboard.html:141 msgid "Works created" msgstr "Verker laget" @@ -3639,7 +3656,7 @@ msgid "Moderator Comments" msgstr "Moderatorkommentarer" #: bookwyrm/templates/settings/reports/report.html:89 -#: bookwyrm/templates/snippets/create_status.html:28 +#: bookwyrm/templates/snippets/create_status.html:26 msgid "Comment" msgstr "Kommentar" @@ -3702,102 +3719,110 @@ msgid "No reports found." msgstr "Ingen rapporter funnet." #: bookwyrm/templates/settings/site.html:10 -#: bookwyrm/templates/settings/site.html:21 +#: bookwyrm/templates/settings/site.html:39 msgid "Instance Info" msgstr "Instansinformasjon" #: bookwyrm/templates/settings/site.html:11 -#: bookwyrm/templates/settings/site.html:54 +#: bookwyrm/templates/settings/site.html:72 msgid "Images" msgstr "Bilder" #: bookwyrm/templates/settings/site.html:12 -#: bookwyrm/templates/settings/site.html:74 +#: bookwyrm/templates/settings/site.html:92 msgid "Footer Content" msgstr "Bunntekst Innhold" #: bookwyrm/templates/settings/site.html:13 -#: bookwyrm/templates/settings/site.html:98 +#: bookwyrm/templates/settings/site.html:116 msgid "Registration" msgstr "Registrering" -#: bookwyrm/templates/settings/site.html:24 +#: bookwyrm/templates/settings/site.html:22 +msgid "Settings saved" +msgstr "" + +#: bookwyrm/templates/settings/site.html:31 +msgid "Unable to save settings" +msgstr "" + +#: bookwyrm/templates/settings/site.html:42 msgid "Instance Name:" msgstr "Instansnavn:" -#: bookwyrm/templates/settings/site.html:28 +#: bookwyrm/templates/settings/site.html:46 msgid "Tagline:" msgstr "Slagord:" -#: bookwyrm/templates/settings/site.html:32 +#: bookwyrm/templates/settings/site.html:50 msgid "Instance description:" msgstr "Instansbeskrivelse:" -#: bookwyrm/templates/settings/site.html:36 +#: bookwyrm/templates/settings/site.html:54 msgid "Short description:" msgstr "Kort beskrivelse:" -#: bookwyrm/templates/settings/site.html:37 +#: bookwyrm/templates/settings/site.html:55 msgid "Used when the instance is previewed on joinbookwyrm.com. Does not support HTML or Markdown." msgstr "Brukes når instansen blir forhåndsvist på joinbookwyrm.com. Støtter ikke HTML eller Markdown." -#: bookwyrm/templates/settings/site.html:41 +#: bookwyrm/templates/settings/site.html:59 msgid "Code of conduct:" msgstr "Atferdsregler:" -#: bookwyrm/templates/settings/site.html:45 +#: bookwyrm/templates/settings/site.html:63 msgid "Privacy Policy:" msgstr "Personvernregler:" -#: bookwyrm/templates/settings/site.html:57 +#: bookwyrm/templates/settings/site.html:75 msgid "Logo:" msgstr "Logo:" -#: bookwyrm/templates/settings/site.html:61 +#: bookwyrm/templates/settings/site.html:79 msgid "Logo small:" msgstr "Logo liten:" -#: bookwyrm/templates/settings/site.html:65 +#: bookwyrm/templates/settings/site.html:83 msgid "Favicon:" msgstr "Favicon:" -#: bookwyrm/templates/settings/site.html:77 +#: bookwyrm/templates/settings/site.html:95 msgid "Support link:" msgstr "Lenke til brukerstøtte:" -#: bookwyrm/templates/settings/site.html:81 +#: bookwyrm/templates/settings/site.html:99 msgid "Support title:" msgstr "Tittel på brukerstøtte:" -#: bookwyrm/templates/settings/site.html:85 +#: bookwyrm/templates/settings/site.html:103 msgid "Admin email:" msgstr "Admin e-post:" -#: bookwyrm/templates/settings/site.html:89 +#: bookwyrm/templates/settings/site.html:107 msgid "Additional info:" msgstr "Ytterligere info:" -#: bookwyrm/templates/settings/site.html:103 +#: bookwyrm/templates/settings/site.html:121 msgid "Allow registration" msgstr "Tillat registrering" -#: bookwyrm/templates/settings/site.html:109 +#: bookwyrm/templates/settings/site.html:127 msgid "Allow invite requests" msgstr "Tillat invitasjonsforespørsler" -#: bookwyrm/templates/settings/site.html:115 +#: bookwyrm/templates/settings/site.html:133 msgid "Require users to confirm email address" msgstr "Medlemmer må bekrefte e-postadresse" -#: bookwyrm/templates/settings/site.html:117 +#: bookwyrm/templates/settings/site.html:135 msgid "(Recommended if registration is open)" msgstr "(anbefales for åpen registrering)" -#: bookwyrm/templates/settings/site.html:120 +#: bookwyrm/templates/settings/site.html:138 msgid "Registration closed text:" msgstr "Registrering lukket tekst:" -#: bookwyrm/templates/settings/site.html:124 +#: bookwyrm/templates/settings/site.html:142 msgid "Invite request text:" msgstr "Invitasjonsforespørsel tekst:" @@ -3928,6 +3953,118 @@ msgstr "Reaktivér bruker" msgid "Access level:" msgstr "Tilgangsnivå:" +#: bookwyrm/templates/setup/admin.html:5 +msgid "Set up BookWyrm" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:7 +msgid "Your account as a user and an admin" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:13 +msgid "Create your account" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:20 +msgid "Admin key:" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:32 +msgid "An admin key was created when you installed BookWyrm. You can get your admin key by running ./bw-dev admin_code from the command line on your server." +msgstr "" + +#: bookwyrm/templates/setup/admin.html:45 +msgid "As an admin, you'll be able to configure the instance name and information, and moderate your instance. This means you will have access to private information about your users, and are responsible for responding to reports of bad behavior or spam." +msgstr "" + +#: bookwyrm/templates/setup/admin.html:51 +msgid "Once the instance is set up, you can promote other users to moderator or admin roles from the admin panel." +msgstr "" + +#: bookwyrm/templates/setup/admin.html:55 +msgid "Learn more about moderation" +msgstr "" + +#: bookwyrm/templates/setup/config.html:5 +msgid "Instance Configuration" +msgstr "" + +#: bookwyrm/templates/setup/config.html:7 +msgid "Make sure everything looks right before proceeding" +msgstr "" + +#: bookwyrm/templates/setup/config.html:18 +msgid "You are running BookWyrm in debug mode. This should never be used in a production environment." +msgstr "" + +#: bookwyrm/templates/setup/config.html:30 +msgid "Your domain appears to be misconfigured. It should not include protocol or slashes." +msgstr "" + +#: bookwyrm/templates/setup/config.html:42 +msgid "You are running BookWyrm in production mode without https. USE_HTTPS should be enabled in production." +msgstr "" + +#: bookwyrm/templates/setup/config.html:56 +msgid "Instance domain:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:63 +msgid "Protocol:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:81 +msgid "Using S3:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:91 +msgid "Display" +msgstr "" + +#: bookwyrm/templates/setup/config.html:95 +msgid "Default interface language:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:102 +msgid "Email sender:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:109 +msgid "Enable preview images:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:116 +msgid "Enable image thumbnails:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:128 +msgid "Does everything look right?" +msgstr "" + +#: bookwyrm/templates/setup/config.html:130 +msgid "This is your last chance to set your domain and protocol." +msgstr "" + +#: bookwyrm/templates/setup/config.html:144 +msgid "You can change your instance settings in the .env file on your server." +msgstr "" + +#: bookwyrm/templates/setup/config.html:148 +msgid "View installation instructions" +msgstr "" + +#: bookwyrm/templates/setup/layout.html:5 +msgid "Instance Setup" +msgstr "" + +#: bookwyrm/templates/setup/layout.html:15 +msgid "Installing BookWyrm" +msgstr "" + +#: bookwyrm/templates/setup/layout.html:18 +msgid "Need help?" +msgstr "" + #: bookwyrm/templates/shelf/create_shelf_form.html:5 msgid "Create Shelf" msgstr "Lag hylle" @@ -4019,7 +4156,7 @@ msgstr[1] "og %(remainder_count_display)s andre" msgid "No cover" msgstr "Intet omslag" -#: bookwyrm/templates/snippets/book_titleby.html:10 +#: bookwyrm/templates/snippets/book_titleby.html:11 #, python-format msgid "%(title)s by" msgstr "%(title)s av" @@ -4034,7 +4171,7 @@ msgstr "Støtt" msgid "Un-boost" msgstr "Fjern støtte" -#: bookwyrm/templates/snippets/create_status.html:39 +#: bookwyrm/templates/snippets/create_status.html:36 msgid "Quote" msgstr "Sitat" @@ -4324,7 +4461,11 @@ msgstr "Start \"%(book_title)s\"" msgid "Want to Read \"%(book_title)s\"" msgstr "Har lyst til å lese \"%(book_title)s\"" -#: bookwyrm/templates/snippets/register_form.html:30 +#: bookwyrm/templates/snippets/register_form.html:18 +msgid "Choose wisely! Your username cannot be changed." +msgstr "" + +#: bookwyrm/templates/snippets/register_form.html:64 msgid "Sign Up" msgstr "Registrer deg" diff --git a/locale/pt_BR/LC_MESSAGES/django.mo b/locale/pt_BR/LC_MESSAGES/django.mo index be5cb9652d35fe9b5b0b8a347999f58eb1855b75..f3b2856b74be2a1faa670b899c2e53777bf9c560 100644 GIT binary patch delta 25912 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

m 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 diff --git a/locale/pt_BR/LC_MESSAGES/django.po b/locale/pt_BR/LC_MESSAGES/django.po index ea43ca2bf..2334c5a3e 100644 --- a/locale/pt_BR/LC_MESSAGES/django.po +++ b/locale/pt_BR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-02-17 16:58+0000\n" -"PO-Revision-Date: 2022-02-17 20:40\n" +"POT-Creation-Date: 2022-02-18 03:55+0000\n" +"PO-Revision-Date: 2022-02-18 07:52\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt\n" @@ -17,70 +17,74 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:245 +#: bookwyrm/forms.py:62 +msgid "User with this username already exists" +msgstr "Um usuário com este nome já existe" + +#: bookwyrm/forms.py:252 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "Este domínio está bloqueado. Entre em contato com a administração se você acha que isso é um engano." -#: bookwyrm/forms.py:255 +#: bookwyrm/forms.py:262 msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." msgstr "Este link e tipo de arquivo já foram adicionados ao livro. Se não estiverem visíveis, o domínio ainda está em processo de análise." -#: bookwyrm/forms.py:394 +#: bookwyrm/forms.py:401 msgid "A user with this email already exists." msgstr "Já existe um usuário com este endereço de e-mail." -#: bookwyrm/forms.py:408 +#: bookwyrm/forms.py:415 msgid "One Day" msgstr "Um dia" -#: bookwyrm/forms.py:409 +#: bookwyrm/forms.py:416 msgid "One Week" msgstr "Uma semana" -#: bookwyrm/forms.py:410 +#: bookwyrm/forms.py:417 msgid "One Month" msgstr "Um mês" -#: bookwyrm/forms.py:411 +#: bookwyrm/forms.py:418 msgid "Does Not Expire" msgstr "Não expira" -#: bookwyrm/forms.py:415 +#: bookwyrm/forms.py:422 #, python-brace-format msgid "{i} uses" msgstr "{i} usos" -#: bookwyrm/forms.py:416 +#: bookwyrm/forms.py:423 msgid "Unlimited" msgstr "Ilimitado" -#: bookwyrm/forms.py:518 +#: bookwyrm/forms.py:525 msgid "List Order" msgstr "Ordem de inserção" -#: bookwyrm/forms.py:519 +#: bookwyrm/forms.py:526 msgid "Book Title" msgstr "Título do livro" -#: bookwyrm/forms.py:520 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms.py:527 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Avaliação" -#: bookwyrm/forms.py:522 bookwyrm/templates/lists/list.html:175 +#: bookwyrm/forms.py:529 bookwyrm/templates/lists/list.html:175 msgid "Sort By" msgstr "Organizar por" -#: bookwyrm/forms.py:526 +#: bookwyrm/forms.py:533 msgid "Ascending" msgstr "Crescente" -#: bookwyrm/forms.py:527 +#: bookwyrm/forms.py:534 msgid "Descending" msgstr "Decrescente" -#: bookwyrm/forms.py:540 +#: bookwyrm/forms.py:547 msgid "Reading finish date cannot be before start date." msgstr "A data de término da leitura não pode ser anterior a de início." @@ -139,23 +143,23 @@ msgstr "Exclusão de moderador" msgid "Domain block" msgstr "Bloqueio de domínio" -#: bookwyrm/models/book.py:253 +#: bookwyrm/models/book.py:262 msgid "Audiobook" msgstr "Audiolivro" -#: bookwyrm/models/book.py:254 +#: bookwyrm/models/book.py:263 msgid "eBook" msgstr "e-book" -#: bookwyrm/models/book.py:255 +#: bookwyrm/models/book.py:264 msgid "Graphic novel" msgstr "Graphic novel" -#: bookwyrm/models/book.py:256 +#: bookwyrm/models/book.py:265 msgid "Hardcover" msgstr "Capa dura" -#: bookwyrm/models/book.py:257 +#: bookwyrm/models/book.py:266 msgid "Paperback" msgstr "Capa mole" @@ -183,7 +187,7 @@ msgstr "%(value)s não é um remote_id válido" msgid "%(value)s is not a valid username" msgstr "%(value)s não é um nome de usuário válido" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nome de usuário" @@ -257,73 +261,73 @@ msgstr "Citações" msgid "Everything else" msgstr "Todo o resto" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home Timeline" msgstr "Linha do tempo" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home" msgstr "Página inicial" -#: bookwyrm/settings.py:191 +#: bookwyrm/settings.py:196 msgid "Books Timeline" msgstr "Linha do tempo dos livros" -#: bookwyrm/settings.py:191 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:196 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:265 +#: bookwyrm/settings.py:270 msgid "English" msgstr "English (Inglês)" -#: bookwyrm/settings.py:266 +#: bookwyrm/settings.py:271 msgid "Deutsch (German)" msgstr "Deutsch (Alemão)" -#: bookwyrm/settings.py:267 +#: bookwyrm/settings.py:272 msgid "Español (Spanish)" msgstr "Español (Espanhol)" -#: bookwyrm/settings.py:268 +#: bookwyrm/settings.py:273 msgid "Galego (Galician)" msgstr "Galego (Galego)" -#: bookwyrm/settings.py:269 +#: bookwyrm/settings.py:274 msgid "Italiano (Italian)" msgstr "Italiano (Italiano)" -#: bookwyrm/settings.py:270 +#: bookwyrm/settings.py:275 msgid "Français (French)" msgstr "Français (Francês)" -#: bookwyrm/settings.py:271 +#: bookwyrm/settings.py:276 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (Lituano)" -#: bookwyrm/settings.py:272 +#: bookwyrm/settings.py:277 msgid "Norsk (Norwegian)" msgstr "Norsk (Norueguês)" -#: bookwyrm/settings.py:273 +#: bookwyrm/settings.py:278 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Português do Brasil)" -#: bookwyrm/settings.py:274 +#: bookwyrm/settings.py:279 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Português Europeu)" -#: bookwyrm/settings.py:275 +#: bookwyrm/settings.py:280 msgid "Svenska (Swedish)" msgstr "Svenska (Sueco)" -#: bookwyrm/settings.py:276 +#: bookwyrm/settings.py:281 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Chinês simplificado)" -#: bookwyrm/settings.py:277 +#: bookwyrm/settings.py:282 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chinês tradicional)" @@ -395,7 +399,7 @@ msgstr "Moderadores/as e administradores/as de %(site_name)s mantêm o site func msgid "Moderator" msgstr "Moderador/a" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131 +#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "Admin" @@ -421,11 +425,12 @@ msgid "Statuses posted:" msgstr "Publicações:" #: bookwyrm/templates/about/layout.html:19 +#: bookwyrm/templates/setup/config.html:74 msgid "Software version:" msgstr "Versão do software:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:229 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 #, python-format msgid "About %(site_name)s" msgstr "Sobre %(site_name)s" @@ -733,7 +738,7 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:82 #: bookwyrm/templates/settings/federation/instance.html:87 -#: bookwyrm/templates/settings/site.html:133 +#: bookwyrm/templates/settings/site.html:151 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -854,7 +859,7 @@ msgid "Places" msgstr "Lugares" #: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -913,7 +918,7 @@ msgstr "Pré-visualização da capa" #: bookwyrm/templates/components/modal.html:13 #: bookwyrm/templates/components/modal.html:30 #: bookwyrm/templates/components/tooltip.html:7 -#: bookwyrm/templates/feed/suggested_books.html:62 +#: bookwyrm/templates/feed/suggested_books.html:55 #: bookwyrm/templates/get_started/layout.html:25 #: bookwyrm/templates/get_started/layout.html:58 msgid "Close" @@ -1211,6 +1216,7 @@ msgid "This link is taking you to: %(link_url)s.
Is that where msgstr "Este link te levará a: %(link_url)s.
Você quer mesmo ir?" #: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Continuar" @@ -1284,7 +1290,7 @@ msgstr "Código de confirmação:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 -#: bookwyrm/templates/settings/dashboard/dashboard.html:104 +#: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:52 msgid "Submit" msgstr "Enviar" @@ -1301,7 +1307,7 @@ msgstr "Reenviar link de confirmação" #: bookwyrm/templates/landing/layout.html:68 #: bookwyrm/templates/landing/password_reset_request.html:18 #: bookwyrm/templates/preferences/edit_user.html:53 -#: bookwyrm/templates/snippets/register_form.html:12 +#: bookwyrm/templates/snippets/register_form.html:27 msgid "Email address:" msgstr "Endereço de e-mail:" @@ -1323,7 +1329,7 @@ msgstr "Comunidade federada" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:100 +#: bookwyrm/templates/layout.html:101 msgid "Directory" msgstr "Diretório" @@ -1443,7 +1449,7 @@ msgstr "%(username)s citou %(username)s" msgstr "Mensagens diretas com %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:110 +#: bookwyrm/templates/layout.html:111 msgid "Direct Messages" msgstr "Mensagens diretas" @@ -1616,7 +1623,7 @@ msgid "Updates" msgstr "Atualizações" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:105 +#: bookwyrm/templates/layout.html:106 msgid "Your Books" msgstr "Seus livros" @@ -1684,7 +1691,7 @@ msgid "What are you reading?" msgstr "O que você está lendo?" #: bookwyrm/templates/get_started/books.html:9 -#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:203 +#: bookwyrm/templates/layout.html:48 bookwyrm/templates/lists/list.html:203 msgid "Search for a book" msgstr "Pesquisar livro" @@ -1703,8 +1710,8 @@ msgstr "Você pode adicionar livros quando começar a usar o %(site_name)s." #: bookwyrm/templates/get_started/users.html:18 #: bookwyrm/templates/get_started/users.html:19 #: bookwyrm/templates/groups/members.html:15 -#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53 -#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:207 +#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:54 +#: bookwyrm/templates/layout.html:55 bookwyrm/templates/lists/list.html:207 #: bookwyrm/templates/search/layout.html:4 #: bookwyrm/templates/search/layout.html:9 msgid "Search" @@ -2024,7 +2031,7 @@ msgstr "Estante" #: bookwyrm/templates/import/import_status.html:120 #: bookwyrm/templates/import/manual_review.html:13 -#: bookwyrm/templates/snippets/create_status.html:17 +#: bookwyrm/templates/snippets/create_status.html:16 msgid "Review" msgstr "Resenhar" @@ -2169,7 +2176,7 @@ msgid "Login" msgstr "Entrar" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:178 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Entrar" @@ -2178,7 +2185,7 @@ msgstr "Entrar" msgid "Success! Email address confirmed." msgstr "Endereço de e-mail confirmado com sucesso." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:169 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2186,12 +2193,12 @@ msgstr "Usuário:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:173 bookwyrm/templates/ostatus/error.html:32 -#: bookwyrm/templates/snippets/register_form.html:20 +#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Senha:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:175 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Esqueceu sua senha?" @@ -2219,23 +2226,23 @@ msgstr "Redefinir senha" msgid "%(site_name)s search" msgstr "Busca %(site_name)s" -#: bookwyrm/templates/layout.html:45 +#: bookwyrm/templates/layout.html:46 msgid "Search for a book, user, or list" msgstr "Pesquisar livro, usuário ou lista" -#: bookwyrm/templates/layout.html:63 +#: bookwyrm/templates/layout.html:64 msgid "Main navigation menu" msgstr "Menu de navegação principal" -#: bookwyrm/templates/layout.html:71 +#: bookwyrm/templates/layout.html:72 msgid "Feed" msgstr "Novidades" -#: bookwyrm/templates/layout.html:115 +#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Configurações" -#: bookwyrm/templates/layout.html:124 +#: bookwyrm/templates/layout.html:125 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2243,42 +2250,42 @@ msgstr "Configurações" msgid "Invites" msgstr "Convites" -#: bookwyrm/templates/layout.html:138 +#: bookwyrm/templates/layout.html:139 msgid "Log out" msgstr "Sair" -#: bookwyrm/templates/layout.html:146 bookwyrm/templates/layout.html:147 +#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Notificações" -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "senha" -#: bookwyrm/templates/layout.html:186 +#: bookwyrm/templates/layout.html:187 msgid "Join" msgstr "Registrar" -#: bookwyrm/templates/layout.html:220 +#: bookwyrm/templates/layout.html:221 msgid "Successfully posted status" msgstr "Publicação feita com sucesso" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:222 msgid "Error posting status" msgstr "Erro ao publicar" -#: bookwyrm/templates/layout.html:237 +#: bookwyrm/templates/layout.html:238 msgid "Documentation" msgstr "Documentação" -#: bookwyrm/templates/layout.html:244 +#: bookwyrm/templates/layout.html:245 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Apoie a instância %(site_name)s: %(support_title)s" -#: bookwyrm/templates/layout.html:248 +#: bookwyrm/templates/layout.html:249 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "O código-fonte da BookWyrm está disponível gratuitamente. Você pode contribuir ou reportar problemas no GitHub." @@ -2915,6 +2922,11 @@ msgstr "Terminar \"%(book_title)s\"" msgid "Start \"%(book_title)s\"" msgstr "Começar \"%(book_title)s\"" +#: bookwyrm/templates/reading_progress/stop.html:5 +#, python-format +msgid "Stop \"%(book_title)s\"" +msgstr "Parar \"%(book_title)s\"" + #: bookwyrm/templates/reading_progress/want.html:5 #, python-format msgid "Want to Read \"%(book_title)s\"" @@ -3067,13 +3079,13 @@ msgstr "Falso" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:82 +#: bookwyrm/templates/settings/dashboard/dashboard.html:94 msgid "Start date:" msgstr "Data de início:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:88 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "End date:" msgstr "Data final:" @@ -3147,7 +3159,7 @@ msgid "Dashboard" msgstr "Painel" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:123 msgid "Total users" msgstr "Total de usuários" @@ -3172,45 +3184,50 @@ msgid_plural "%(display_count)s open reports" msgstr[0] "%(display_count)s denúncia aberta" msgstr[1] "%(display_count)s denúncias abertas" -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 +#: bookwyrm/templates/settings/dashboard/dashboard.html:55 #, python-format msgid "%(display_count)s domain needs review" msgid_plural "%(display_count)s domains need review" msgstr[0] "%(display_count)s domínio precisa ser analisado" msgstr[1] "%(display_count)s domínios precisam ser analisados" -#: bookwyrm/templates/settings/dashboard/dashboard.html:65 +#: bookwyrm/templates/settings/dashboard/dashboard.html:67 #, python-format msgid "%(display_count)s invite request" msgid_plural "%(display_count)s invite requests" msgstr[0] "%(display_count)s pedido de convite" msgstr[1] "%(display_count)s pedidos de convite" -#: bookwyrm/templates/settings/dashboard/dashboard.html:76 +#: bookwyrm/templates/settings/dashboard/dashboard.html:79 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "Há uma atualização disponível! Você está usando a v%(current)s e o último lançamento é %(available)s." + +#: bookwyrm/templates/settings/dashboard/dashboard.html:88 msgid "Instance Activity" msgstr "Atividade da instância" -#: bookwyrm/templates/settings/dashboard/dashboard.html:94 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 msgid "Interval:" msgstr "Intervalo:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:98 +#: bookwyrm/templates/settings/dashboard/dashboard.html:110 msgid "Days" msgstr "Dias" -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 +#: bookwyrm/templates/settings/dashboard/dashboard.html:111 msgid "Weeks" msgstr "Semanas" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:129 msgid "User signup activity" msgstr "Novos usuários" -#: bookwyrm/templates/settings/dashboard/dashboard.html:123 +#: bookwyrm/templates/settings/dashboard/dashboard.html:135 msgid "Status activity" msgstr "Publicações" -#: bookwyrm/templates/settings/dashboard/dashboard.html:129 +#: bookwyrm/templates/settings/dashboard/dashboard.html:141 msgid "Works created" msgstr "Obras criadas" @@ -3639,7 +3656,7 @@ msgid "Moderator Comments" msgstr "Comentários da moderação" #: bookwyrm/templates/settings/reports/report.html:89 -#: bookwyrm/templates/snippets/create_status.html:28 +#: bookwyrm/templates/snippets/create_status.html:26 msgid "Comment" msgstr "Comentar" @@ -3702,102 +3719,110 @@ msgid "No reports found." msgstr "Nenhuma denúncia encontrada." #: bookwyrm/templates/settings/site.html:10 -#: bookwyrm/templates/settings/site.html:21 +#: bookwyrm/templates/settings/site.html:39 msgid "Instance Info" msgstr "Informações da instância" #: bookwyrm/templates/settings/site.html:11 -#: bookwyrm/templates/settings/site.html:54 +#: bookwyrm/templates/settings/site.html:72 msgid "Images" msgstr "Imagens" #: bookwyrm/templates/settings/site.html:12 -#: bookwyrm/templates/settings/site.html:74 +#: bookwyrm/templates/settings/site.html:92 msgid "Footer Content" msgstr "Conteúdo do rodapé" #: bookwyrm/templates/settings/site.html:13 -#: bookwyrm/templates/settings/site.html:98 +#: bookwyrm/templates/settings/site.html:116 msgid "Registration" msgstr "Cadastro" -#: bookwyrm/templates/settings/site.html:24 +#: bookwyrm/templates/settings/site.html:22 +msgid "Settings saved" +msgstr "Configurações salvas" + +#: bookwyrm/templates/settings/site.html:31 +msgid "Unable to save settings" +msgstr "Configurações não salvas" + +#: bookwyrm/templates/settings/site.html:42 msgid "Instance Name:" msgstr "Nome da instância:" -#: bookwyrm/templates/settings/site.html:28 +#: bookwyrm/templates/settings/site.html:46 msgid "Tagline:" msgstr "Subtítulo:" -#: bookwyrm/templates/settings/site.html:32 +#: bookwyrm/templates/settings/site.html:50 msgid "Instance description:" msgstr "Descrição da instância:" -#: bookwyrm/templates/settings/site.html:36 +#: bookwyrm/templates/settings/site.html:54 msgid "Short description:" msgstr "Descrição curta:" -#: bookwyrm/templates/settings/site.html:37 +#: bookwyrm/templates/settings/site.html:55 msgid "Used when the instance is previewed on joinbookwyrm.com. Does not support HTML or Markdown." msgstr "Mostrado quando a instância é vista em joinbookwyrm.com. Não é compatível com HTML ou Markdown." -#: bookwyrm/templates/settings/site.html:41 +#: bookwyrm/templates/settings/site.html:59 msgid "Code of conduct:" msgstr "Código de conduta:" -#: bookwyrm/templates/settings/site.html:45 +#: bookwyrm/templates/settings/site.html:63 msgid "Privacy Policy:" msgstr "Política de privacidade:" -#: bookwyrm/templates/settings/site.html:57 +#: bookwyrm/templates/settings/site.html:75 msgid "Logo:" msgstr "Logo:" -#: bookwyrm/templates/settings/site.html:61 +#: bookwyrm/templates/settings/site.html:79 msgid "Logo small:" msgstr "Logo pequeno:" -#: bookwyrm/templates/settings/site.html:65 +#: bookwyrm/templates/settings/site.html:83 msgid "Favicon:" msgstr "Favicon:" -#: bookwyrm/templates/settings/site.html:77 +#: bookwyrm/templates/settings/site.html:95 msgid "Support link:" msgstr "Link de suporte:" -#: bookwyrm/templates/settings/site.html:81 +#: bookwyrm/templates/settings/site.html:99 msgid "Support title:" msgstr "Título de suporte:" -#: bookwyrm/templates/settings/site.html:85 +#: bookwyrm/templates/settings/site.html:103 msgid "Admin email:" msgstr "E-mail da administração:" -#: bookwyrm/templates/settings/site.html:89 +#: bookwyrm/templates/settings/site.html:107 msgid "Additional info:" msgstr "Informações adicionais:" -#: bookwyrm/templates/settings/site.html:103 +#: bookwyrm/templates/settings/site.html:121 msgid "Allow registration" msgstr "Permitir cadastro" -#: bookwyrm/templates/settings/site.html:109 +#: bookwyrm/templates/settings/site.html:127 msgid "Allow invite requests" msgstr "Permitir solicitação de convites" -#: bookwyrm/templates/settings/site.html:115 +#: bookwyrm/templates/settings/site.html:133 msgid "Require users to confirm email address" msgstr "Exigir que usuários confirmem o e-mail" -#: bookwyrm/templates/settings/site.html:117 +#: bookwyrm/templates/settings/site.html:135 msgid "(Recommended if registration is open)" msgstr "(Recomendado se o cadastro estiver aberto)" -#: bookwyrm/templates/settings/site.html:120 +#: bookwyrm/templates/settings/site.html:138 msgid "Registration closed text:" msgstr "Texto quando o cadastro está fechado:" -#: bookwyrm/templates/settings/site.html:124 +#: bookwyrm/templates/settings/site.html:142 msgid "Invite request text:" msgstr "Texto solicitação de convite:" @@ -3928,6 +3953,118 @@ msgstr "Reativar usuário" msgid "Access level:" msgstr "Nível de acesso:" +#: bookwyrm/templates/setup/admin.html:5 +msgid "Set up BookWyrm" +msgstr "Configurar a BookWyrm" + +#: bookwyrm/templates/setup/admin.html:7 +msgid "Your account as a user and an admin" +msgstr "Sua conta enquanto usuário e administrador" + +#: bookwyrm/templates/setup/admin.html:13 +msgid "Create your account" +msgstr "Crie sua conta" + +#: bookwyrm/templates/setup/admin.html:20 +msgid "Admin key:" +msgstr "Chave de administração:" + +#: bookwyrm/templates/setup/admin.html:32 +msgid "An admin key was created when you installed BookWyrm. You can get your admin key by running ./bw-dev admin_code from the command line on your server." +msgstr "Uma chave de administração foi criada quando você instalou a BookWyrm. Você pode consultar a sua executando ./bw-dev admin_code na linha de comando de seu servidor." + +#: bookwyrm/templates/setup/admin.html:45 +msgid "As an admin, you'll be able to configure the instance name and information, and moderate your instance. This means you will have access to private information about your users, and are responsible for responding to reports of bad behavior or spam." +msgstr "Como administrador/a você poderá configurar o nome da instância e a descrição, além de moderá-la. Isso quer dizer que você terá acesso a informações particulares de seus usuários e se tornará responsável por analisar denúncias de mau comportamento e spam." + +#: bookwyrm/templates/setup/admin.html:51 +msgid "Once the instance is set up, you can promote other users to moderator or admin roles from the admin panel." +msgstr "Uma vez configurada a instância você poderá promover outros usuários a papeis de moderação ou administração no painel administrativo." + +#: bookwyrm/templates/setup/admin.html:55 +msgid "Learn more about moderation" +msgstr "Aprenda mais sobre moderação" + +#: bookwyrm/templates/setup/config.html:5 +msgid "Instance Configuration" +msgstr "Configuração da instância" + +#: bookwyrm/templates/setup/config.html:7 +msgid "Make sure everything looks right before proceeding" +msgstr "Certifique-se de que tudo está correto antes de prosseguir" + +#: bookwyrm/templates/setup/config.html:18 +msgid "You are running BookWyrm in debug mode. This should never be used in a production environment." +msgstr "Você está rodando a BookWyrm no modo debug, que nunca deve ser usado em um ambiente de produção." + +#: bookwyrm/templates/setup/config.html:30 +msgid "Your domain appears to be misconfigured. It should not include protocol or slashes." +msgstr "Seu domínio parece estar mal configurado. Ele não deve incluir protocolo nem barras." + +#: bookwyrm/templates/setup/config.html:42 +msgid "You are running BookWyrm in production mode without https. USE_HTTPS should be enabled in production." +msgstr "Você está rodando a BookWyrm em produção sem https. USE_HTTPS deve ser habilitado em produção." + +#: bookwyrm/templates/setup/config.html:56 +msgid "Instance domain:" +msgstr "Domínio da instância:" + +#: bookwyrm/templates/setup/config.html:63 +msgid "Protocol:" +msgstr "Protocolo:" + +#: bookwyrm/templates/setup/config.html:81 +msgid "Using S3:" +msgstr "Usar S3:" + +#: bookwyrm/templates/setup/config.html:91 +msgid "Display" +msgstr "Exibir" + +#: bookwyrm/templates/setup/config.html:95 +msgid "Default interface language:" +msgstr "Idioma padrão da interface:" + +#: bookwyrm/templates/setup/config.html:102 +msgid "Email sender:" +msgstr "Remetente dos emails:" + +#: bookwyrm/templates/setup/config.html:109 +msgid "Enable preview images:" +msgstr "Ativar imagens na pré-visualização:" + +#: bookwyrm/templates/setup/config.html:116 +msgid "Enable image thumbnails:" +msgstr "Ativar miniaturas de imagens:" + +#: bookwyrm/templates/setup/config.html:128 +msgid "Does everything look right?" +msgstr "Tudo está correto?" + +#: bookwyrm/templates/setup/config.html:130 +msgid "This is your last chance to set your domain and protocol." +msgstr "Esta é sua última chance de configurar seu domínio e protocolo." + +#: bookwyrm/templates/setup/config.html:144 +msgid "You can change your instance settings in the .env file on your server." +msgstr "Você pode mudar as configurações da instância no arquivo .env em seu servidor." + +#: bookwyrm/templates/setup/config.html:148 +msgid "View installation instructions" +msgstr "Ver instruções da instalação" + +#: bookwyrm/templates/setup/layout.html:5 +msgid "Instance Setup" +msgstr "Configuração da instância" + +#: bookwyrm/templates/setup/layout.html:15 +msgid "Installing BookWyrm" +msgstr "Instalando a BookWyrm" + +#: bookwyrm/templates/setup/layout.html:18 +msgid "Need help?" +msgstr "Precisa de ajuda?" + #: bookwyrm/templates/shelf/create_shelf_form.html:5 msgid "Create Shelf" msgstr "Criar estante" @@ -4019,7 +4156,7 @@ msgstr[1] "e %(remainder_count_display)s outros" msgid "No cover" msgstr "Sem capa" -#: bookwyrm/templates/snippets/book_titleby.html:10 +#: bookwyrm/templates/snippets/book_titleby.html:11 #, python-format msgid "%(title)s by" msgstr "%(title)s de" @@ -4034,7 +4171,7 @@ msgstr "Compartilhar" msgid "Un-boost" msgstr "Descompartilhar" -#: bookwyrm/templates/snippets/create_status.html:39 +#: bookwyrm/templates/snippets/create_status.html:36 msgid "Quote" msgstr "Citar" @@ -4324,7 +4461,11 @@ msgstr "Começar \"%(book_title)s\"" msgid "Want to Read \"%(book_title)s\"" msgstr "Quero ler \"%(book_title)s\"" -#: bookwyrm/templates/snippets/register_form.html:30 +#: bookwyrm/templates/snippets/register_form.html:18 +msgid "Choose wisely! Your username cannot be changed." +msgstr "Escolha com sabedoria! Seu nome de usuário não poderá ser mudado." + +#: bookwyrm/templates/snippets/register_form.html:64 msgid "Sign Up" msgstr "Cadastrar" diff --git a/locale/pt_PT/LC_MESSAGES/django.mo b/locale/pt_PT/LC_MESSAGES/django.mo index 8a538498b66539a828ab40519528909ae8649144..028fb43db5b68ed7f22fca449c4d668c4e447bc2 100644 GIT binary patch delta 22 ecmaE~gXPf\n" "Language-Team: Portuguese\n" "Language: pt\n" @@ -17,70 +17,74 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:245 +#: bookwyrm/forms.py:62 +msgid "User with this username already exists" +msgstr "" + +#: bookwyrm/forms.py:252 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "" -#: bookwyrm/forms.py:255 +#: bookwyrm/forms.py:262 msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." msgstr "" -#: bookwyrm/forms.py:394 +#: bookwyrm/forms.py:401 msgid "A user with this email already exists." msgstr "Já existe um utilizador com este E-Mail." -#: bookwyrm/forms.py:408 +#: bookwyrm/forms.py:415 msgid "One Day" msgstr "Um Dia" -#: bookwyrm/forms.py:409 +#: bookwyrm/forms.py:416 msgid "One Week" msgstr "Uma Semana" -#: bookwyrm/forms.py:410 +#: bookwyrm/forms.py:417 msgid "One Month" msgstr "Um Mês" -#: bookwyrm/forms.py:411 +#: bookwyrm/forms.py:418 msgid "Does Not Expire" msgstr "Não Expira" -#: bookwyrm/forms.py:415 +#: bookwyrm/forms.py:422 #, python-brace-format msgid "{i} uses" msgstr "{i} utilizações" -#: bookwyrm/forms.py:416 +#: bookwyrm/forms.py:423 msgid "Unlimited" msgstr "Ilimitado" -#: bookwyrm/forms.py:518 +#: bookwyrm/forms.py:525 msgid "List Order" msgstr "Ordem da Lista" -#: bookwyrm/forms.py:519 +#: bookwyrm/forms.py:526 msgid "Book Title" msgstr "Título do livro" -#: bookwyrm/forms.py:520 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms.py:527 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Classificação" -#: bookwyrm/forms.py:522 bookwyrm/templates/lists/list.html:175 +#: bookwyrm/forms.py:529 bookwyrm/templates/lists/list.html:175 msgid "Sort By" msgstr "Ordenar Por" -#: bookwyrm/forms.py:526 +#: bookwyrm/forms.py:533 msgid "Ascending" msgstr "Ascendente" -#: bookwyrm/forms.py:527 +#: bookwyrm/forms.py:534 msgid "Descending" msgstr "Descendente" -#: bookwyrm/forms.py:540 +#: bookwyrm/forms.py:547 msgid "Reading finish date cannot be before start date." msgstr "" @@ -139,23 +143,23 @@ msgstr "Exclusão do moderador" msgid "Domain block" msgstr "Bloqueio de domínio" -#: bookwyrm/models/book.py:253 +#: bookwyrm/models/book.py:262 msgid "Audiobook" msgstr "Livro-áudio" -#: bookwyrm/models/book.py:254 +#: bookwyrm/models/book.py:263 msgid "eBook" msgstr "eBook" -#: bookwyrm/models/book.py:255 +#: bookwyrm/models/book.py:264 msgid "Graphic novel" msgstr "Novela gráfica" -#: bookwyrm/models/book.py:256 +#: bookwyrm/models/book.py:265 msgid "Hardcover" msgstr "Capa dura" -#: bookwyrm/models/book.py:257 +#: bookwyrm/models/book.py:266 msgid "Paperback" msgstr "Capa mole" @@ -183,7 +187,7 @@ msgstr "%(value)s não é um remote_id válido" msgid "%(value)s is not a valid username" msgstr "%(value)s não é um nome de utilizador válido" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nome de utilizador" @@ -257,73 +261,73 @@ msgstr "Citações" msgid "Everything else" msgstr "Tudo o resto" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home Timeline" msgstr "Cronograma Inicial" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home" msgstr "Início" -#: bookwyrm/settings.py:191 +#: bookwyrm/settings.py:196 msgid "Books Timeline" msgstr "Cronograma de Livros" -#: bookwyrm/settings.py:191 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:196 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:265 +#: bookwyrm/settings.py:270 msgid "English" msgstr "Inglês" -#: bookwyrm/settings.py:266 +#: bookwyrm/settings.py:271 msgid "Deutsch (German)" msgstr "Deutsch (Alemão)" -#: bookwyrm/settings.py:267 +#: bookwyrm/settings.py:272 msgid "Español (Spanish)" msgstr "Español (Espanhol)" -#: bookwyrm/settings.py:268 +#: bookwyrm/settings.py:273 msgid "Galego (Galician)" msgstr "Galego (Galician)" -#: bookwyrm/settings.py:269 +#: bookwyrm/settings.py:274 msgid "Italiano (Italian)" msgstr "Italiano (Italiano)" -#: bookwyrm/settings.py:270 +#: bookwyrm/settings.py:275 msgid "Français (French)" msgstr "Français (Francês)" -#: bookwyrm/settings.py:271 +#: bookwyrm/settings.py:276 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių (lituano)" -#: bookwyrm/settings.py:272 +#: bookwyrm/settings.py:277 msgid "Norsk (Norwegian)" msgstr "Norsk (Norueguês)" -#: bookwyrm/settings.py:273 +#: bookwyrm/settings.py:278 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil (Português brasileiro)" -#: bookwyrm/settings.py:274 +#: bookwyrm/settings.py:279 msgid "Português Europeu (European Portuguese)" msgstr "Português (Português Europeu)" -#: bookwyrm/settings.py:275 +#: bookwyrm/settings.py:280 msgid "Svenska (Swedish)" msgstr "" -#: bookwyrm/settings.py:276 +#: bookwyrm/settings.py:281 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Chinês simplificado)" -#: bookwyrm/settings.py:277 +#: bookwyrm/settings.py:282 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Chinês tradicional)" @@ -395,7 +399,7 @@ msgstr "" msgid "Moderator" msgstr "Moderador" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131 +#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "Admin" @@ -421,11 +425,12 @@ msgid "Statuses posted:" msgstr "Estados publicados:" #: bookwyrm/templates/about/layout.html:19 +#: bookwyrm/templates/setup/config.html:74 msgid "Software version:" msgstr "Versão do software:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:229 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 #, python-format msgid "About %(site_name)s" msgstr "Acerca de %(site_name)s" @@ -733,7 +738,7 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:82 #: bookwyrm/templates/settings/federation/instance.html:87 -#: bookwyrm/templates/settings/site.html:133 +#: bookwyrm/templates/settings/site.html:151 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -854,7 +859,7 @@ msgid "Places" msgstr "Lugares" #: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -913,7 +918,7 @@ msgstr "Visualização da capa" #: bookwyrm/templates/components/modal.html:13 #: bookwyrm/templates/components/modal.html:30 #: bookwyrm/templates/components/tooltip.html:7 -#: bookwyrm/templates/feed/suggested_books.html:62 +#: bookwyrm/templates/feed/suggested_books.html:55 #: bookwyrm/templates/get_started/layout.html:25 #: bookwyrm/templates/get_started/layout.html:58 msgid "Close" @@ -1209,6 +1214,7 @@ msgid "This link is taking you to: %(link_url)s.
Is that where msgstr "" #: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "" @@ -1282,7 +1288,7 @@ msgstr "Código de confirmação:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 -#: bookwyrm/templates/settings/dashboard/dashboard.html:104 +#: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:52 msgid "Submit" msgstr "Submeter" @@ -1299,7 +1305,7 @@ msgstr "Reenviar um E-Mail de confirmação" #: bookwyrm/templates/landing/layout.html:68 #: bookwyrm/templates/landing/password_reset_request.html:18 #: bookwyrm/templates/preferences/edit_user.html:53 -#: bookwyrm/templates/snippets/register_form.html:12 +#: bookwyrm/templates/snippets/register_form.html:27 msgid "Email address:" msgstr "E-Mail:" @@ -1321,7 +1327,7 @@ msgstr "Comunidade federada" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:100 +#: bookwyrm/templates/layout.html:101 msgid "Directory" msgstr "Diretório" @@ -1441,7 +1447,7 @@ msgstr "%(username)s citou %(username)s" msgstr "Mensagens Diretas com %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:110 +#: bookwyrm/templates/layout.html:111 msgid "Direct Messages" msgstr "Mensagens Diretas" @@ -1614,7 +1621,7 @@ msgid "Updates" msgstr "Atualizações" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:105 +#: bookwyrm/templates/layout.html:106 msgid "Your Books" msgstr "Os teus Livros" @@ -1682,7 +1689,7 @@ msgid "What are you reading?" msgstr "O que andas a ler?" #: bookwyrm/templates/get_started/books.html:9 -#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:203 +#: bookwyrm/templates/layout.html:48 bookwyrm/templates/lists/list.html:203 msgid "Search for a book" msgstr "Pesquisar por um livro" @@ -1701,8 +1708,8 @@ msgstr "Podes adicionar livros quando começas a usar %(site_name)s." #: bookwyrm/templates/get_started/users.html:18 #: bookwyrm/templates/get_started/users.html:19 #: bookwyrm/templates/groups/members.html:15 -#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53 -#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:207 +#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:54 +#: bookwyrm/templates/layout.html:55 bookwyrm/templates/lists/list.html:207 #: bookwyrm/templates/search/layout.html:4 #: bookwyrm/templates/search/layout.html:9 msgid "Search" @@ -2022,7 +2029,7 @@ msgstr "Estante" #: bookwyrm/templates/import/import_status.html:120 #: bookwyrm/templates/import/manual_review.html:13 -#: bookwyrm/templates/snippets/create_status.html:17 +#: bookwyrm/templates/snippets/create_status.html:16 msgid "Review" msgstr "Critica" @@ -2167,7 +2174,7 @@ msgid "Login" msgstr "Login" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:178 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Iniciar sessão" @@ -2176,7 +2183,7 @@ msgstr "Iniciar sessão" msgid "Success! Email address confirmed." msgstr "Sucesso! O teu E-Mail está confirmado." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:169 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2184,12 +2191,12 @@ msgstr "Nome de utilizador:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:173 bookwyrm/templates/ostatus/error.html:32 -#: bookwyrm/templates/snippets/register_form.html:20 +#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Palavra-passe:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:175 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Esqueces-te a tua palavra-passe?" @@ -2217,23 +2224,23 @@ msgstr "Redefinir palavra-passe" msgid "%(site_name)s search" msgstr "%(site_name)s pesquisa" -#: bookwyrm/templates/layout.html:45 +#: bookwyrm/templates/layout.html:46 msgid "Search for a book, user, or list" msgstr "Procurar por um livro, utilizador, ou lista" -#: bookwyrm/templates/layout.html:63 +#: bookwyrm/templates/layout.html:64 msgid "Main navigation menu" msgstr "Menu principal" -#: bookwyrm/templates/layout.html:71 +#: bookwyrm/templates/layout.html:72 msgid "Feed" msgstr "Feed" -#: bookwyrm/templates/layout.html:115 +#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Configurações" -#: bookwyrm/templates/layout.html:124 +#: bookwyrm/templates/layout.html:125 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2241,42 +2248,42 @@ msgstr "Configurações" msgid "Invites" msgstr "Convites" -#: bookwyrm/templates/layout.html:138 +#: bookwyrm/templates/layout.html:139 msgid "Log out" msgstr "Terminar sessão" -#: bookwyrm/templates/layout.html:146 bookwyrm/templates/layout.html:147 +#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Notificações" -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "palavra-passe" -#: bookwyrm/templates/layout.html:186 +#: bookwyrm/templates/layout.html:187 msgid "Join" msgstr "Junta-te" -#: bookwyrm/templates/layout.html:220 +#: bookwyrm/templates/layout.html:221 msgid "Successfully posted status" msgstr "Estado publicado com sucesso" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:222 msgid "Error posting status" msgstr "Erro ao publicar estado" -#: bookwyrm/templates/layout.html:237 +#: bookwyrm/templates/layout.html:238 msgid "Documentation" msgstr "Documentação" -#: bookwyrm/templates/layout.html:244 +#: bookwyrm/templates/layout.html:245 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Apoia %(site_name)s em %(support_title)s" -#: bookwyrm/templates/layout.html:248 +#: bookwyrm/templates/layout.html:249 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "O código de fonte do BookWyrm está disponível gratuitamente. E também podes contribuir ou reportar problemas no GitHub." @@ -2913,6 +2920,11 @@ msgstr "Concluir \"%(book_title)s\"" msgid "Start \"%(book_title)s\"" msgstr "Começar \"%(book_title)s\"" +#: bookwyrm/templates/reading_progress/stop.html:5 +#, python-format +msgid "Stop \"%(book_title)s\"" +msgstr "" + #: bookwyrm/templates/reading_progress/want.html:5 #, python-format msgid "Want to Read \"%(book_title)s\"" @@ -3065,13 +3077,13 @@ msgstr "Falso" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:82 +#: bookwyrm/templates/settings/dashboard/dashboard.html:94 msgid "Start date:" msgstr "Data de início:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:88 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "End date:" msgstr "Data de conclusão:" @@ -3145,7 +3157,7 @@ msgid "Dashboard" msgstr "Painel de controlo" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:123 msgid "Total users" msgstr "Total de utilizadores" @@ -3170,45 +3182,50 @@ msgid_plural "%(display_count)s open reports" msgstr[0] "%(display_count)s denúncia aberta" msgstr[1] "%(display_count)s denúncias abertas" -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 +#: bookwyrm/templates/settings/dashboard/dashboard.html:55 #, 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 +#: bookwyrm/templates/settings/dashboard/dashboard.html:67 #, python-format msgid "%(display_count)s invite request" msgid_plural "%(display_count)s invite requests" msgstr[0] "%(display_count)s pedido de convite" msgstr[1] "%(display_count)s pedidos de convite" -#: bookwyrm/templates/settings/dashboard/dashboard.html:76 +#: bookwyrm/templates/settings/dashboard/dashboard.html:79 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:88 msgid "Instance Activity" msgstr "Atividade do domínio" -#: bookwyrm/templates/settings/dashboard/dashboard.html:94 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 msgid "Interval:" msgstr "Intervalo:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:98 +#: bookwyrm/templates/settings/dashboard/dashboard.html:110 msgid "Days" msgstr "Dias" -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 +#: bookwyrm/templates/settings/dashboard/dashboard.html:111 msgid "Weeks" msgstr "Semanas" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:129 msgid "User signup activity" msgstr "Atividade de inscrição do utilizador" -#: bookwyrm/templates/settings/dashboard/dashboard.html:123 +#: bookwyrm/templates/settings/dashboard/dashboard.html:135 msgid "Status activity" msgstr "Atividade de estado" -#: bookwyrm/templates/settings/dashboard/dashboard.html:129 +#: bookwyrm/templates/settings/dashboard/dashboard.html:141 msgid "Works created" msgstr "Obras criadas" @@ -3637,7 +3654,7 @@ msgid "Moderator Comments" msgstr "Comentários do Moderador" #: bookwyrm/templates/settings/reports/report.html:89 -#: bookwyrm/templates/snippets/create_status.html:28 +#: bookwyrm/templates/snippets/create_status.html:26 msgid "Comment" msgstr "Comentar" @@ -3700,102 +3717,110 @@ msgid "No reports found." msgstr "Nenhuma denúncia encontrada." #: bookwyrm/templates/settings/site.html:10 -#: bookwyrm/templates/settings/site.html:21 +#: bookwyrm/templates/settings/site.html:39 msgid "Instance Info" msgstr "Informação do domínio" #: bookwyrm/templates/settings/site.html:11 -#: bookwyrm/templates/settings/site.html:54 +#: bookwyrm/templates/settings/site.html:72 msgid "Images" msgstr "Imagens" #: bookwyrm/templates/settings/site.html:12 -#: bookwyrm/templates/settings/site.html:74 +#: bookwyrm/templates/settings/site.html:92 msgid "Footer Content" msgstr "Conteúdo do Rodapé" #: bookwyrm/templates/settings/site.html:13 -#: bookwyrm/templates/settings/site.html:98 +#: bookwyrm/templates/settings/site.html:116 msgid "Registration" msgstr "Registo" -#: bookwyrm/templates/settings/site.html:24 +#: bookwyrm/templates/settings/site.html:22 +msgid "Settings saved" +msgstr "" + +#: bookwyrm/templates/settings/site.html:31 +msgid "Unable to save settings" +msgstr "" + +#: bookwyrm/templates/settings/site.html:42 msgid "Instance Name:" msgstr "Nome do domínio:" -#: bookwyrm/templates/settings/site.html:28 +#: bookwyrm/templates/settings/site.html:46 msgid "Tagline:" msgstr "Lema / Slogan:" -#: bookwyrm/templates/settings/site.html:32 +#: bookwyrm/templates/settings/site.html:50 msgid "Instance description:" msgstr "Descrição do domínio:" -#: bookwyrm/templates/settings/site.html:36 +#: bookwyrm/templates/settings/site.html:54 msgid "Short description:" msgstr "Breve descrição:" -#: bookwyrm/templates/settings/site.html:37 +#: bookwyrm/templates/settings/site.html:55 msgid "Used when the instance is previewed on joinbookwyrm.com. Does not support HTML or Markdown." msgstr "Usado quando o domínio é pré-visualizado em joinbookwyrm.com. Não suporta HTML ou Markdown." -#: bookwyrm/templates/settings/site.html:41 +#: bookwyrm/templates/settings/site.html:59 msgid "Code of conduct:" msgstr "Código de Conduta:" -#: bookwyrm/templates/settings/site.html:45 +#: bookwyrm/templates/settings/site.html:63 msgid "Privacy Policy:" msgstr "Política de Privacidade:" -#: bookwyrm/templates/settings/site.html:57 +#: bookwyrm/templates/settings/site.html:75 msgid "Logo:" msgstr "Logotipo:" -#: bookwyrm/templates/settings/site.html:61 +#: bookwyrm/templates/settings/site.html:79 msgid "Logo small:" msgstr "Pequeno logótipo:" -#: bookwyrm/templates/settings/site.html:65 +#: bookwyrm/templates/settings/site.html:83 msgid "Favicon:" msgstr "Favicon:" -#: bookwyrm/templates/settings/site.html:77 +#: bookwyrm/templates/settings/site.html:95 msgid "Support link:" msgstr "Links de suporte:" -#: bookwyrm/templates/settings/site.html:81 +#: bookwyrm/templates/settings/site.html:99 msgid "Support title:" msgstr "Título de suporte:" -#: bookwyrm/templates/settings/site.html:85 +#: bookwyrm/templates/settings/site.html:103 msgid "Admin email:" msgstr "E-Mail da administração:" -#: bookwyrm/templates/settings/site.html:89 +#: bookwyrm/templates/settings/site.html:107 msgid "Additional info:" msgstr "Informação adicional:" -#: bookwyrm/templates/settings/site.html:103 +#: bookwyrm/templates/settings/site.html:121 msgid "Allow registration" msgstr "Permitir novos registos" -#: bookwyrm/templates/settings/site.html:109 +#: bookwyrm/templates/settings/site.html:127 msgid "Allow invite requests" msgstr "Permitir solicitações de convite" -#: bookwyrm/templates/settings/site.html:115 +#: bookwyrm/templates/settings/site.html:133 msgid "Require users to confirm email address" msgstr "Requir utilizadores confirmarem o E-Mail" -#: bookwyrm/templates/settings/site.html:117 +#: bookwyrm/templates/settings/site.html:135 msgid "(Recommended if registration is open)" msgstr "(Recomendado se o registo estiver aberto)" -#: bookwyrm/templates/settings/site.html:120 +#: bookwyrm/templates/settings/site.html:138 msgid "Registration closed text:" msgstr "Mensagem caso o registo esteja fechado:" -#: bookwyrm/templates/settings/site.html:124 +#: bookwyrm/templates/settings/site.html:142 msgid "Invite request text:" msgstr "Texto da solicitação de convite:" @@ -3926,6 +3951,118 @@ msgstr "Retirar a suspensão do utilizador" msgid "Access level:" msgstr "Nível de acesso:" +#: bookwyrm/templates/setup/admin.html:5 +msgid "Set up BookWyrm" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:7 +msgid "Your account as a user and an admin" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:13 +msgid "Create your account" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:20 +msgid "Admin key:" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:32 +msgid "An admin key was created when you installed BookWyrm. You can get your admin key by running ./bw-dev admin_code from the command line on your server." +msgstr "" + +#: bookwyrm/templates/setup/admin.html:45 +msgid "As an admin, you'll be able to configure the instance name and information, and moderate your instance. This means you will have access to private information about your users, and are responsible for responding to reports of bad behavior or spam." +msgstr "" + +#: bookwyrm/templates/setup/admin.html:51 +msgid "Once the instance is set up, you can promote other users to moderator or admin roles from the admin panel." +msgstr "" + +#: bookwyrm/templates/setup/admin.html:55 +msgid "Learn more about moderation" +msgstr "" + +#: bookwyrm/templates/setup/config.html:5 +msgid "Instance Configuration" +msgstr "" + +#: bookwyrm/templates/setup/config.html:7 +msgid "Make sure everything looks right before proceeding" +msgstr "" + +#: bookwyrm/templates/setup/config.html:18 +msgid "You are running BookWyrm in debug mode. This should never be used in a production environment." +msgstr "" + +#: bookwyrm/templates/setup/config.html:30 +msgid "Your domain appears to be misconfigured. It should not include protocol or slashes." +msgstr "" + +#: bookwyrm/templates/setup/config.html:42 +msgid "You are running BookWyrm in production mode without https. USE_HTTPS should be enabled in production." +msgstr "" + +#: bookwyrm/templates/setup/config.html:56 +msgid "Instance domain:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:63 +msgid "Protocol:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:81 +msgid "Using S3:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:91 +msgid "Display" +msgstr "" + +#: bookwyrm/templates/setup/config.html:95 +msgid "Default interface language:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:102 +msgid "Email sender:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:109 +msgid "Enable preview images:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:116 +msgid "Enable image thumbnails:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:128 +msgid "Does everything look right?" +msgstr "" + +#: bookwyrm/templates/setup/config.html:130 +msgid "This is your last chance to set your domain and protocol." +msgstr "" + +#: bookwyrm/templates/setup/config.html:144 +msgid "You can change your instance settings in the .env file on your server." +msgstr "" + +#: bookwyrm/templates/setup/config.html:148 +msgid "View installation instructions" +msgstr "" + +#: bookwyrm/templates/setup/layout.html:5 +msgid "Instance Setup" +msgstr "" + +#: bookwyrm/templates/setup/layout.html:15 +msgid "Installing BookWyrm" +msgstr "" + +#: bookwyrm/templates/setup/layout.html:18 +msgid "Need help?" +msgstr "" + #: bookwyrm/templates/shelf/create_shelf_form.html:5 msgid "Create Shelf" msgstr "Criar prateleira" @@ -4017,7 +4154,7 @@ msgstr[1] "e %(remainder_count_display)s outros" msgid "No cover" msgstr "Sem capa" -#: bookwyrm/templates/snippets/book_titleby.html:10 +#: bookwyrm/templates/snippets/book_titleby.html:11 #, python-format msgid "%(title)s by" msgstr "%(title)s por" @@ -4032,7 +4169,7 @@ msgstr "Partilhar" msgid "Un-boost" msgstr "Despartilhar" -#: bookwyrm/templates/snippets/create_status.html:39 +#: bookwyrm/templates/snippets/create_status.html:36 msgid "Quote" msgstr "Citação" @@ -4322,7 +4459,11 @@ msgstr "Começar \"%(book_title)s\"" msgid "Want to Read \"%(book_title)s\"" msgstr "Queres ler \"%(book_title)s\"\"" -#: bookwyrm/templates/snippets/register_form.html:30 +#: bookwyrm/templates/snippets/register_form.html:18 +msgid "Choose wisely! Your username cannot be changed." +msgstr "" + +#: bookwyrm/templates/snippets/register_form.html:64 msgid "Sign Up" msgstr "Criar conta" diff --git a/locale/sv_SE/LC_MESSAGES/django.mo b/locale/sv_SE/LC_MESSAGES/django.mo index fb443cc375c3f7aa9e1d248a2d24911ba66981d0..b8312cdf4945f1be8572eece60e861eef9e600e9 100644 GIT binary patch delta 26112 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 delta 21771 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 diff --git a/locale/sv_SE/LC_MESSAGES/django.po b/locale/sv_SE/LC_MESSAGES/django.po index 570313515..8538850b0 100644 --- a/locale/sv_SE/LC_MESSAGES/django.po +++ b/locale/sv_SE/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-02-17 16:58+0000\n" -"PO-Revision-Date: 2022-02-17 19:39\n" +"POT-Creation-Date: 2022-02-18 03:55+0000\n" +"PO-Revision-Date: 2022-02-21 11:18\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Swedish\n" "Language: sv\n" @@ -17,70 +17,74 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:245 +#: bookwyrm/forms.py:62 +msgid "User with this username already exists" +msgstr "En användare med det användarnamnet existerar redan" + +#: bookwyrm/forms.py:252 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "Den här domänen är blockerad. Vänligen kontakta din administratör om du tror att det här är felaktigt." -#: bookwyrm/forms.py:255 +#: bookwyrm/forms.py:262 msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." msgstr "Denna länk med filtyp har redan lagts till för denna bok. Om den inte är synlig så är domänen fortfarande väntande." -#: bookwyrm/forms.py:394 +#: bookwyrm/forms.py:401 msgid "A user with this email already exists." msgstr "En användare med den här e-postadressen existerar redan." -#: bookwyrm/forms.py:408 +#: bookwyrm/forms.py:415 msgid "One Day" msgstr "En dag" -#: bookwyrm/forms.py:409 +#: bookwyrm/forms.py:416 msgid "One Week" msgstr "En vecka" -#: bookwyrm/forms.py:410 +#: bookwyrm/forms.py:417 msgid "One Month" msgstr "En månad" -#: bookwyrm/forms.py:411 +#: bookwyrm/forms.py:418 msgid "Does Not Expire" msgstr "Slutar inte gälla" -#: bookwyrm/forms.py:415 +#: bookwyrm/forms.py:422 #, python-brace-format msgid "{i} uses" msgstr "{i} använder" -#: bookwyrm/forms.py:416 +#: bookwyrm/forms.py:423 msgid "Unlimited" msgstr "Obegränsad" -#: bookwyrm/forms.py:518 +#: bookwyrm/forms.py:525 msgid "List Order" msgstr "Listordning" -#: bookwyrm/forms.py:519 +#: bookwyrm/forms.py:526 msgid "Book Title" msgstr "Bokens titel" -#: bookwyrm/forms.py:520 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms.py:527 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "Betyg" -#: bookwyrm/forms.py:522 bookwyrm/templates/lists/list.html:175 +#: bookwyrm/forms.py:529 bookwyrm/templates/lists/list.html:175 msgid "Sort By" msgstr "Sortera efter" -#: bookwyrm/forms.py:526 +#: bookwyrm/forms.py:533 msgid "Ascending" msgstr "Stigande" -#: bookwyrm/forms.py:527 +#: bookwyrm/forms.py:534 msgid "Descending" msgstr "Fallande" -#: bookwyrm/forms.py:540 +#: bookwyrm/forms.py:547 msgid "Reading finish date cannot be before start date." msgstr "Slutdatum för läsning kan inte vara före startdatum." @@ -94,15 +98,15 @@ msgstr "Kunde inte hitta en träff för boken" #: bookwyrm/models/announcement.py:11 msgid "None" -msgstr "" +msgstr "Inget" #: bookwyrm/models/announcement.py:12 msgid "Primary" -msgstr "" +msgstr "Primär" #: bookwyrm/models/announcement.py:13 msgid "Success" -msgstr "" +msgstr "Klart" #: bookwyrm/models/announcement.py:14 #: bookwyrm/templates/settings/invites/manage_invites.html:47 @@ -111,11 +115,11 @@ msgstr "Länk" #: bookwyrm/models/announcement.py:15 msgid "Warning" -msgstr "" +msgstr "Varning" #: bookwyrm/models/announcement.py:16 msgid "Danger" -msgstr "" +msgstr "Observera" #: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72 #: bookwyrm/templates/import/import_status.html:200 @@ -139,23 +143,23 @@ msgstr "Borttagning av moderator" msgid "Domain block" msgstr "Domänblockering" -#: bookwyrm/models/book.py:253 +#: bookwyrm/models/book.py:262 msgid "Audiobook" msgstr "Ljudbok" -#: bookwyrm/models/book.py:254 +#: bookwyrm/models/book.py:263 msgid "eBook" msgstr "eBok" -#: bookwyrm/models/book.py:255 +#: bookwyrm/models/book.py:264 msgid "Graphic novel" msgstr "Grafisk novell" -#: bookwyrm/models/book.py:256 +#: bookwyrm/models/book.py:265 msgid "Hardcover" msgstr "Inbunden" -#: bookwyrm/models/book.py:257 +#: bookwyrm/models/book.py:266 msgid "Paperback" msgstr "Pocketbok" @@ -183,7 +187,7 @@ msgstr "%(value)s är inte ett giltigt remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s är inte ett giltigt användarnamn" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "användarnamn" @@ -257,73 +261,73 @@ msgstr "Citationer" msgid "Everything else" msgstr "Allt annat" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home Timeline" msgstr "Tidslinje för Hem" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home" msgstr "Hem" -#: bookwyrm/settings.py:191 +#: bookwyrm/settings.py:196 msgid "Books Timeline" msgstr "Tidslinjer för böcker" -#: bookwyrm/settings.py:191 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:196 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "Böcker" -#: bookwyrm/settings.py:265 +#: bookwyrm/settings.py:270 msgid "English" msgstr "Engelska" -#: bookwyrm/settings.py:266 +#: bookwyrm/settings.py:271 msgid "Deutsch (German)" msgstr "Tyska (Tysk)" -#: bookwyrm/settings.py:267 +#: bookwyrm/settings.py:272 msgid "Español (Spanish)" msgstr "Spanska (Spansk)" -#: bookwyrm/settings.py:268 +#: bookwyrm/settings.py:273 msgid "Galego (Galician)" msgstr "Galego (Gallisk)" -#: bookwyrm/settings.py:269 +#: bookwyrm/settings.py:274 msgid "Italiano (Italian)" msgstr "Italienska (Italiensk)" -#: bookwyrm/settings.py:270 +#: bookwyrm/settings.py:275 msgid "Français (French)" msgstr "Franska (Fransk)" -#: bookwyrm/settings.py:271 +#: bookwyrm/settings.py:276 msgid "Lietuvių (Lithuanian)" msgstr "Litauiska (Litauisk)" -#: bookwyrm/settings.py:272 +#: bookwyrm/settings.py:277 msgid "Norsk (Norwegian)" msgstr "Norska (Norska)" -#: bookwyrm/settings.py:273 +#: bookwyrm/settings.py:278 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português d Brasil (Brasiliansk Portugisiska)" -#: bookwyrm/settings.py:274 +#: bookwyrm/settings.py:279 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu (Europeisk Portugisiska)" -#: bookwyrm/settings.py:275 +#: bookwyrm/settings.py:280 msgid "Svenska (Swedish)" msgstr "Svenska (Svenska)" -#: bookwyrm/settings.py:276 +#: bookwyrm/settings.py:281 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文 (Förenklad Kinesiska)" -#: bookwyrm/settings.py:277 +#: bookwyrm/settings.py:282 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文 (Traditionell Kinesiska)" @@ -395,7 +399,7 @@ msgstr "%(site_name)s's moderatorer och administratörer håller hemsidan uppe o msgid "Moderator" msgstr "Moderator" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131 +#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "Administratör" @@ -421,11 +425,12 @@ msgid "Statuses posted:" msgstr "Utlagda statusar:" #: bookwyrm/templates/about/layout.html:19 +#: bookwyrm/templates/setup/config.html:74 msgid "Software version:" msgstr "Programvaruversion:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:229 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 #, python-format msgid "About %(site_name)s" msgstr "Om %(site_name)s" @@ -733,7 +738,7 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:82 #: bookwyrm/templates/settings/federation/instance.html:87 -#: bookwyrm/templates/settings/site.html:133 +#: bookwyrm/templates/settings/site.html:151 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -854,7 +859,7 @@ msgid "Places" msgstr "Platser" #: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -913,7 +918,7 @@ msgstr "Förhandsvisning av bokomslag" #: bookwyrm/templates/components/modal.html:13 #: bookwyrm/templates/components/modal.html:30 #: bookwyrm/templates/components/tooltip.html:7 -#: bookwyrm/templates/feed/suggested_books.html:62 +#: bookwyrm/templates/feed/suggested_books.html:55 #: bookwyrm/templates/get_started/layout.html:25 #: bookwyrm/templates/get_started/layout.html:58 msgid "Close" @@ -1211,6 +1216,7 @@ msgid "This link is taking you to: %(link_url)s.
Is that where msgstr "Den här länken tar dig till: %(link_url)s.
Är det dit du vill åka?" #: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "Fortsätt" @@ -1284,7 +1290,7 @@ msgstr "Bekräftelsekod:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 -#: bookwyrm/templates/settings/dashboard/dashboard.html:104 +#: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:52 msgid "Submit" msgstr "Skicka in" @@ -1301,7 +1307,7 @@ msgstr "Skicka bekräftelselänken igen" #: bookwyrm/templates/landing/layout.html:68 #: bookwyrm/templates/landing/password_reset_request.html:18 #: bookwyrm/templates/preferences/edit_user.html:53 -#: bookwyrm/templates/snippets/register_form.html:12 +#: bookwyrm/templates/snippets/register_form.html:27 msgid "Email address:" msgstr "E-postadress:" @@ -1323,7 +1329,7 @@ msgstr "Federerad gemenskap" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:100 +#: bookwyrm/templates/layout.html:101 msgid "Directory" msgstr "Mapp" @@ -1443,7 +1449,7 @@ msgstr "%(username)s citerade %(username)s" msgstr "Direktmeddelanden med %(username)s" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:110 +#: bookwyrm/templates/layout.html:111 msgid "Direct Messages" msgstr "Direktmeddelanden" @@ -1616,7 +1623,7 @@ msgid "Updates" msgstr "Uppdateringar" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:105 +#: bookwyrm/templates/layout.html:106 msgid "Your Books" msgstr "Dina böcker" @@ -1684,7 +1691,7 @@ msgid "What are you reading?" msgstr "Vad läser du?" #: bookwyrm/templates/get_started/books.html:9 -#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:203 +#: bookwyrm/templates/layout.html:48 bookwyrm/templates/lists/list.html:203 msgid "Search for a book" msgstr "Sök efter en bok" @@ -1703,8 +1710,8 @@ msgstr "Du kan lägga till böcker när du börjar använda %(site_name)s." #: bookwyrm/templates/get_started/users.html:18 #: bookwyrm/templates/get_started/users.html:19 #: bookwyrm/templates/groups/members.html:15 -#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53 -#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:207 +#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:54 +#: bookwyrm/templates/layout.html:55 bookwyrm/templates/lists/list.html:207 #: bookwyrm/templates/search/layout.html:4 #: bookwyrm/templates/search/layout.html:9 msgid "Search" @@ -2024,7 +2031,7 @@ msgstr "Hylla" #: bookwyrm/templates/import/import_status.html:120 #: bookwyrm/templates/import/manual_review.html:13 -#: bookwyrm/templates/snippets/create_status.html:17 +#: bookwyrm/templates/snippets/create_status.html:16 msgid "Review" msgstr "Recension" @@ -2169,7 +2176,7 @@ msgid "Login" msgstr "Inloggning" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:178 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "Logga in" @@ -2178,7 +2185,7 @@ msgstr "Logga in" msgid "Success! Email address confirmed." msgstr "Lyckades! E-postadressen bekräftades." -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:169 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2186,12 +2193,12 @@ msgstr "Användarnamn:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:173 bookwyrm/templates/ostatus/error.html:32 -#: bookwyrm/templates/snippets/register_form.html:20 +#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "Lösenord:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:175 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "Glömt ditt lösenord?" @@ -2219,23 +2226,23 @@ msgstr "Återställ lösenordet" msgid "%(site_name)s search" msgstr "%(site_name)s sök" -#: bookwyrm/templates/layout.html:45 +#: bookwyrm/templates/layout.html:46 msgid "Search for a book, user, or list" msgstr "Sök efter en bok, användare eller lista" -#: bookwyrm/templates/layout.html:63 +#: bookwyrm/templates/layout.html:64 msgid "Main navigation menu" msgstr "Huvudsaklig navigeringsmeny" -#: bookwyrm/templates/layout.html:71 +#: bookwyrm/templates/layout.html:72 msgid "Feed" msgstr "Flöde" -#: bookwyrm/templates/layout.html:115 +#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "Inställningar" -#: bookwyrm/templates/layout.html:124 +#: bookwyrm/templates/layout.html:125 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2243,42 +2250,42 @@ msgstr "Inställningar" msgid "Invites" msgstr "Inbjudningar" -#: bookwyrm/templates/layout.html:138 +#: bookwyrm/templates/layout.html:139 msgid "Log out" msgstr "Logga ut" -#: bookwyrm/templates/layout.html:146 bookwyrm/templates/layout.html:147 +#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "Aviseringar" -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "lösenord" -#: bookwyrm/templates/layout.html:186 +#: bookwyrm/templates/layout.html:187 msgid "Join" msgstr "Gå med" -#: bookwyrm/templates/layout.html:220 +#: bookwyrm/templates/layout.html:221 msgid "Successfully posted status" msgstr "Statusen har publicerats" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:222 msgid "Error posting status" msgstr "Fel uppstod när statusen skulle publiceras" -#: bookwyrm/templates/layout.html:237 +#: bookwyrm/templates/layout.html:238 msgid "Documentation" msgstr "Dokumentation" -#: bookwyrm/templates/layout.html:244 +#: bookwyrm/templates/layout.html:245 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "Stötta %(site_name)s på %(support_title)s" -#: bookwyrm/templates/layout.html:248 +#: bookwyrm/templates/layout.html:249 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm's källkod är fritt tillgängligt. Du kan bidra eller rapportera problem på GitHub." @@ -2915,6 +2922,11 @@ msgstr "Avsluta \"%(book_title)s\"" msgid "Start \"%(book_title)s\"" msgstr "Påbörja \"%(book_title)s\"" +#: bookwyrm/templates/reading_progress/stop.html:5 +#, python-format +msgid "Stop \"%(book_title)s\"" +msgstr "Påbörja \"%(book_title)s\"" + #: bookwyrm/templates/reading_progress/want.html:5 #, python-format msgid "Want to Read \"%(book_title)s\"" @@ -3067,13 +3079,13 @@ msgstr "Falskt" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:82 +#: bookwyrm/templates/settings/dashboard/dashboard.html:94 msgid "Start date:" msgstr "Startdatum:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:88 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "End date:" msgstr "Slutdatum:" @@ -3122,11 +3134,11 @@ msgstr "Redigera tillkännagivandet" #: bookwyrm/templates/settings/announcements/edit_announcement.html:45 msgid "Announcement content" -msgstr "" +msgstr "Fyll i meddelandeinnehåll" #: bookwyrm/templates/settings/announcements/edit_announcement.html:57 msgid "Details:" -msgstr "" +msgstr "Detaljer:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:65 msgid "Event date:" @@ -3134,11 +3146,11 @@ msgstr "Datum för evenemang:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:73 msgid "Display settings" -msgstr "" +msgstr "Visningsinställningar" #: bookwyrm/templates/settings/announcements/edit_announcement.html:98 msgid "Color:" -msgstr "" +msgstr "Färg:" #: bookwyrm/templates/settings/dashboard/dashboard.html:6 #: bookwyrm/templates/settings/dashboard/dashboard.html:8 @@ -3147,7 +3159,7 @@ msgid "Dashboard" msgstr "Översiktspanel" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:123 msgid "Total users" msgstr "Totalt antal användare" @@ -3172,45 +3184,50 @@ msgid_plural "%(display_count)s open reports" msgstr[0] "%(display_count)s öppen rapport" msgstr[1] "%(display_count)s öppna rapporter" -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 +#: bookwyrm/templates/settings/dashboard/dashboard.html:55 #, python-format msgid "%(display_count)s domain needs review" msgid_plural "%(display_count)s domains need review" msgstr[0] "%(display_count)s domänen behöver granskning" msgstr[1] "%(display_count)s domänerna behöver granskning" -#: bookwyrm/templates/settings/dashboard/dashboard.html:65 +#: bookwyrm/templates/settings/dashboard/dashboard.html:67 #, python-format msgid "%(display_count)s invite request" msgid_plural "%(display_count)s invite requests" msgstr[0] "%(display_count)s inbjudningsförfrågning" msgstr[1] "%(display_count)s inbjudningsförfrågningar" -#: bookwyrm/templates/settings/dashboard/dashboard.html:76 +#: bookwyrm/templates/settings/dashboard/dashboard.html:79 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "En uppdatering är tillgänglig! Du kör v%(current)s och den senaste versionen är %(available)s." + +#: bookwyrm/templates/settings/dashboard/dashboard.html:88 msgid "Instance Activity" msgstr "Instansaktivitet" -#: bookwyrm/templates/settings/dashboard/dashboard.html:94 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 msgid "Interval:" msgstr "Intervall:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:98 +#: bookwyrm/templates/settings/dashboard/dashboard.html:110 msgid "Days" msgstr "Dagar" -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 +#: bookwyrm/templates/settings/dashboard/dashboard.html:111 msgid "Weeks" msgstr "Veckor" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:129 msgid "User signup activity" msgstr "Användarens registreringsaktivitet" -#: bookwyrm/templates/settings/dashboard/dashboard.html:123 +#: bookwyrm/templates/settings/dashboard/dashboard.html:135 msgid "Status activity" msgstr "Statusaktivitet" -#: bookwyrm/templates/settings/dashboard/dashboard.html:129 +#: bookwyrm/templates/settings/dashboard/dashboard.html:141 msgid "Works created" msgstr "Skapade verk" @@ -3639,7 +3656,7 @@ msgid "Moderator Comments" msgstr "Moderatorns kommentarer" #: bookwyrm/templates/settings/reports/report.html:89 -#: bookwyrm/templates/snippets/create_status.html:28 +#: bookwyrm/templates/snippets/create_status.html:26 msgid "Comment" msgstr "Kommentar" @@ -3702,102 +3719,110 @@ msgid "No reports found." msgstr "Inga rapporter hittades." #: bookwyrm/templates/settings/site.html:10 -#: bookwyrm/templates/settings/site.html:21 +#: bookwyrm/templates/settings/site.html:39 msgid "Instance Info" msgstr "Info om instans" #: bookwyrm/templates/settings/site.html:11 -#: bookwyrm/templates/settings/site.html:54 +#: bookwyrm/templates/settings/site.html:72 msgid "Images" msgstr "Bilder" #: bookwyrm/templates/settings/site.html:12 -#: bookwyrm/templates/settings/site.html:74 +#: bookwyrm/templates/settings/site.html:92 msgid "Footer Content" msgstr "Sidfotens innehåll" #: bookwyrm/templates/settings/site.html:13 -#: bookwyrm/templates/settings/site.html:98 +#: bookwyrm/templates/settings/site.html:116 msgid "Registration" msgstr "Registrering" -#: bookwyrm/templates/settings/site.html:24 +#: bookwyrm/templates/settings/site.html:22 +msgid "Settings saved" +msgstr "Inställningarna sparades" + +#: bookwyrm/templates/settings/site.html:31 +msgid "Unable to save settings" +msgstr "Det gick inte att spara inställningarna" + +#: bookwyrm/templates/settings/site.html:42 msgid "Instance Name:" msgstr "Namn på instansen:" -#: bookwyrm/templates/settings/site.html:28 +#: bookwyrm/templates/settings/site.html:46 msgid "Tagline:" msgstr "Tagglinje:" -#: bookwyrm/templates/settings/site.html:32 +#: bookwyrm/templates/settings/site.html:50 msgid "Instance description:" msgstr "Beskrivning av instans:" -#: bookwyrm/templates/settings/site.html:36 +#: bookwyrm/templates/settings/site.html:54 msgid "Short description:" msgstr "Kort beskrivning:" -#: bookwyrm/templates/settings/site.html:37 +#: bookwyrm/templates/settings/site.html:55 msgid "Used when the instance is previewed on joinbookwyrm.com. Does not support HTML or Markdown." msgstr "Används när instansen förhandsgranskas på joinbookwyrm.com. Stödjer inte HTML eller Markdown." -#: bookwyrm/templates/settings/site.html:41 +#: bookwyrm/templates/settings/site.html:59 msgid "Code of conduct:" msgstr "Uppförandekod:" -#: bookwyrm/templates/settings/site.html:45 +#: bookwyrm/templates/settings/site.html:63 msgid "Privacy Policy:" msgstr "Integritetspolicy:" -#: bookwyrm/templates/settings/site.html:57 +#: bookwyrm/templates/settings/site.html:75 msgid "Logo:" msgstr "Logga:" -#: bookwyrm/templates/settings/site.html:61 +#: bookwyrm/templates/settings/site.html:79 msgid "Logo small:" msgstr "Liten logga:" -#: bookwyrm/templates/settings/site.html:65 +#: bookwyrm/templates/settings/site.html:83 msgid "Favicon:" msgstr "Favikon:" -#: bookwyrm/templates/settings/site.html:77 +#: bookwyrm/templates/settings/site.html:95 msgid "Support link:" msgstr "Länk för support:" -#: bookwyrm/templates/settings/site.html:81 +#: bookwyrm/templates/settings/site.html:99 msgid "Support title:" msgstr "Supporttitel:" -#: bookwyrm/templates/settings/site.html:85 +#: bookwyrm/templates/settings/site.html:103 msgid "Admin email:" msgstr "Administratörens e-postadress:" -#: bookwyrm/templates/settings/site.html:89 +#: bookwyrm/templates/settings/site.html:107 msgid "Additional info:" msgstr "Ytterligare info:" -#: bookwyrm/templates/settings/site.html:103 +#: bookwyrm/templates/settings/site.html:121 msgid "Allow registration" msgstr "Tillåt registrering" -#: bookwyrm/templates/settings/site.html:109 +#: bookwyrm/templates/settings/site.html:127 msgid "Allow invite requests" msgstr "Tillåt inbjudningsförfrågningar" -#: bookwyrm/templates/settings/site.html:115 +#: bookwyrm/templates/settings/site.html:133 msgid "Require users to confirm email address" msgstr "Kräv att användarna ska bekräfta e-postadressen" -#: bookwyrm/templates/settings/site.html:117 +#: bookwyrm/templates/settings/site.html:135 msgid "(Recommended if registration is open)" msgstr "(Rekommenderas om registreringen är öppen)" -#: bookwyrm/templates/settings/site.html:120 +#: bookwyrm/templates/settings/site.html:138 msgid "Registration closed text:" msgstr "Text för stängd registrering:" -#: bookwyrm/templates/settings/site.html:124 +#: bookwyrm/templates/settings/site.html:142 msgid "Invite request text:" msgstr "Text för inbjudningsförfrågning:" @@ -3928,6 +3953,118 @@ msgstr "Ta bort avstängning för användaren" msgid "Access level:" msgstr "Åtkomstnivå:" +#: bookwyrm/templates/setup/admin.html:5 +msgid "Set up BookWyrm" +msgstr "Konfigurera BookWyrm" + +#: bookwyrm/templates/setup/admin.html:7 +msgid "Your account as a user and an admin" +msgstr "Ditt konto som användare och administratör" + +#: bookwyrm/templates/setup/admin.html:13 +msgid "Create your account" +msgstr "Skapa konto" + +#: bookwyrm/templates/setup/admin.html:20 +msgid "Admin key:" +msgstr "Admin-nyckel:" + +#: bookwyrm/templates/setup/admin.html:32 +msgid "An admin key was created when you installed BookWyrm. You can get your admin key by running ./bw-dev admin_code from the command line on your server." +msgstr "En administratörsnyckel skapades när du installerade BookWyrm. Du kan få din administratörsnyckel genom att köra ./bw-dev admin_code från kommandotolken på din server." + +#: bookwyrm/templates/setup/admin.html:45 +msgid "As an admin, you'll be able to configure the instance name and information, and moderate your instance. This means you will have access to private information about your users, and are responsible for responding to reports of bad behavior or spam." +msgstr "Som administratör kommer du att kunna konfigurera instansens namn och information, samt moderera din instans. Det betyder att du har tillgång till privat information om dina användare och ansvarar för att svara på rapporter om dåligt beteende eller skräppost." + +#: bookwyrm/templates/setup/admin.html:51 +msgid "Once the instance is set up, you can promote other users to moderator or admin roles from the admin panel." +msgstr "När instansen är konfigurerad kan du befordra andra användare till moderator eller administratörsroller från adminpanelen." + +#: bookwyrm/templates/setup/admin.html:55 +msgid "Learn more about moderation" +msgstr "Lär dig mer om moderering" + +#: bookwyrm/templates/setup/config.html:5 +msgid "Instance Configuration" +msgstr "Instanskonfigurering" + +#: bookwyrm/templates/setup/config.html:7 +msgid "Make sure everything looks right before proceeding" +msgstr "Se till att allt ser rätt ut innan du går vidare" + +#: bookwyrm/templates/setup/config.html:18 +msgid "You are running BookWyrm in debug mode. This should never be used in a production environment." +msgstr "Du kör BookWyrm i debug -läge. Detta bör aldrig användas i en produktionsmiljö." + +#: bookwyrm/templates/setup/config.html:30 +msgid "Your domain appears to be misconfigured. It should not include protocol or slashes." +msgstr "Din domän verkar vara felkonfigurerad. Den bör inte inkludera protokoll eller snedstreck." + +#: bookwyrm/templates/setup/config.html:42 +msgid "You are running BookWyrm in production mode without https. USE_HTTPS should be enabled in production." +msgstr "Du kör BookWyrm i produktionsläge utan https. USE_HTTPS bör aktiveras i konfigureringen." + +#: bookwyrm/templates/setup/config.html:56 +msgid "Instance domain:" +msgstr "Domän för instansen:" + +#: bookwyrm/templates/setup/config.html:63 +msgid "Protocol:" +msgstr "Protokoll:" + +#: bookwyrm/templates/setup/config.html:81 +msgid "Using S3:" +msgstr "Användning av S3:" + +#: bookwyrm/templates/setup/config.html:91 +msgid "Display" +msgstr "Visa" + +#: bookwyrm/templates/setup/config.html:95 +msgid "Default interface language:" +msgstr "Standardspråk för gränssnittet:" + +#: bookwyrm/templates/setup/config.html:102 +msgid "Email sender:" +msgstr "E-postavsändare:" + +#: bookwyrm/templates/setup/config.html:109 +msgid "Enable preview images:" +msgstr "Aktivera förhandsgranskning av bilder:" + +#: bookwyrm/templates/setup/config.html:116 +msgid "Enable image thumbnails:" +msgstr "Aktivera bildminiatyrer:" + +#: bookwyrm/templates/setup/config.html:128 +msgid "Does everything look right?" +msgstr "Ser allt rätt ut?" + +#: bookwyrm/templates/setup/config.html:130 +msgid "This is your last chance to set your domain and protocol." +msgstr "Detta är din sista chans att ställa in din domän och protokoll." + +#: bookwyrm/templates/setup/config.html:144 +msgid "You can change your instance settings in the .env file on your server." +msgstr "Du kan ändra dina instansinställningar i filen .env på din server." + +#: bookwyrm/templates/setup/config.html:148 +msgid "View installation instructions" +msgstr "Visa installationsanvisningar" + +#: bookwyrm/templates/setup/layout.html:5 +msgid "Instance Setup" +msgstr "Instansinställningar" + +#: bookwyrm/templates/setup/layout.html:15 +msgid "Installing BookWyrm" +msgstr "Installerar BookWyrm" + +#: bookwyrm/templates/setup/layout.html:18 +msgid "Need help?" +msgstr "Behöver du hjälp?" + #: bookwyrm/templates/shelf/create_shelf_form.html:5 msgid "Create Shelf" msgstr "Skapa hylla" @@ -4019,7 +4156,7 @@ msgstr[1] "och %(remainder_count_display)s andra" msgid "No cover" msgstr "Inget omslag" -#: bookwyrm/templates/snippets/book_titleby.html:10 +#: bookwyrm/templates/snippets/book_titleby.html:11 #, python-format msgid "%(title)s by" msgstr "%(title)s av" @@ -4034,7 +4171,7 @@ msgstr "Öka" msgid "Un-boost" msgstr "Öka inte" -#: bookwyrm/templates/snippets/create_status.html:39 +#: bookwyrm/templates/snippets/create_status.html:36 msgid "Quote" msgstr "Citat" @@ -4324,7 +4461,11 @@ msgstr "Börja \"%(book_title)s\"" msgid "Want to Read \"%(book_title)s\"" msgstr "Vill läsa \"%(book_title)s\"" -#: bookwyrm/templates/snippets/register_form.html:30 +#: bookwyrm/templates/snippets/register_form.html:18 +msgid "Choose wisely! Your username cannot be changed." +msgstr "Observera! Ditt användarnamn kan inte ändras efter att kontot skapats." + +#: bookwyrm/templates/snippets/register_form.html:64 msgid "Sign Up" msgstr "Registrera" diff --git a/locale/zh_Hans/LC_MESSAGES/django.mo b/locale/zh_Hans/LC_MESSAGES/django.mo index 64ef00a88d95a9a80af82ef716f92a2a7fc59840..1d1227f8092b70c68bb692fb532759090142aa83 100644 GIT binary patch literal 44096 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 S0TOg?KN0&d0;IH0jQ%f4%`RX7 literal 77673 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%0D5IHp|T&e-|;Ob&bE|lBuA8?4vTiRC9d|Qn6W(m} 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 diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/locale/zh_Hans/LC_MESSAGES/django.po index faf2aa8c4..503da2590 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-02-17 16:58+0000\n" -"PO-Revision-Date: 2022-02-17 19:39\n" +"POT-Creation-Date: 2022-02-18 03:55+0000\n" +"PO-Revision-Date: 2022-02-25 15:34\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Chinese Simplified\n" "Language: zh\n" @@ -17,70 +17,74 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:245 +#: bookwyrm/forms.py:62 +msgid "User with this username already exists" +msgstr "使用此用户名的用户已存在" + +#: bookwyrm/forms.py:252 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "此域名已被屏蔽。如果您认为这是一个错误,请联系您的管理员。" -#: bookwyrm/forms.py:255 +#: bookwyrm/forms.py:262 msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." msgstr "此文件类型的链接已经被添加到这本书。如果不可见,域名仍在等待处理中。" -#: bookwyrm/forms.py:394 +#: bookwyrm/forms.py:401 msgid "A user with this email already exists." msgstr "已经存在使用该邮箱的用户。" -#: bookwyrm/forms.py:408 +#: bookwyrm/forms.py:415 msgid "One Day" msgstr "一天" -#: bookwyrm/forms.py:409 +#: bookwyrm/forms.py:416 msgid "One Week" msgstr "一周" -#: bookwyrm/forms.py:410 +#: bookwyrm/forms.py:417 msgid "One Month" msgstr "一个月" -#: bookwyrm/forms.py:411 +#: bookwyrm/forms.py:418 msgid "Does Not Expire" msgstr "永不失效" -#: bookwyrm/forms.py:415 +#: bookwyrm/forms.py:422 #, python-brace-format msgid "{i} uses" msgstr "{i} 次使用" -#: bookwyrm/forms.py:416 +#: bookwyrm/forms.py:423 msgid "Unlimited" msgstr "不受限" -#: bookwyrm/forms.py:518 +#: bookwyrm/forms.py:525 msgid "List Order" msgstr "列表顺序" -#: bookwyrm/forms.py:519 +#: bookwyrm/forms.py:526 msgid "Book Title" msgstr "书名" -#: bookwyrm/forms.py:520 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms.py:527 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "评价" -#: bookwyrm/forms.py:522 bookwyrm/templates/lists/list.html:175 +#: bookwyrm/forms.py:529 bookwyrm/templates/lists/list.html:175 msgid "Sort By" msgstr "排序方式" -#: bookwyrm/forms.py:526 +#: bookwyrm/forms.py:533 msgid "Ascending" msgstr "升序" -#: bookwyrm/forms.py:527 +#: bookwyrm/forms.py:534 msgid "Descending" msgstr "降序" -#: bookwyrm/forms.py:540 +#: bookwyrm/forms.py:547 msgid "Reading finish date cannot be before start date." msgstr "阅读完成日期不能早于开始日期。" @@ -94,15 +98,15 @@ msgstr "找不到匹配的书" #: bookwyrm/models/announcement.py:11 msgid "None" -msgstr "" +msgstr "暂无" #: bookwyrm/models/announcement.py:12 msgid "Primary" -msgstr "" +msgstr "初级" #: bookwyrm/models/announcement.py:13 msgid "Success" -msgstr "" +msgstr "成功" #: bookwyrm/models/announcement.py:14 #: bookwyrm/templates/settings/invites/manage_invites.html:47 @@ -111,11 +115,11 @@ msgstr "链接" #: bookwyrm/models/announcement.py:15 msgid "Warning" -msgstr "" +msgstr "警告" #: bookwyrm/models/announcement.py:16 msgid "Danger" -msgstr "" +msgstr "危险" #: bookwyrm/models/base_model.py:17 bookwyrm/models/link.py:72 #: bookwyrm/templates/import/import_status.html:200 @@ -139,23 +143,23 @@ msgstr "仲裁员删除" msgid "Domain block" msgstr "域名屏蔽" -#: bookwyrm/models/book.py:253 +#: bookwyrm/models/book.py:262 msgid "Audiobook" msgstr "有声书籍" -#: bookwyrm/models/book.py:254 +#: bookwyrm/models/book.py:263 msgid "eBook" msgstr "电子书" -#: bookwyrm/models/book.py:255 +#: bookwyrm/models/book.py:264 msgid "Graphic novel" msgstr "图像小说" -#: bookwyrm/models/book.py:256 +#: bookwyrm/models/book.py:265 msgid "Hardcover" msgstr "精装" -#: bookwyrm/models/book.py:257 +#: bookwyrm/models/book.py:266 msgid "Paperback" msgstr "平装" @@ -183,7 +187,7 @@ msgstr "%(value)s 不是有效的 remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s 不是有效的用户名" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "用户名" @@ -257,73 +261,73 @@ msgstr "引用" msgid "Everything else" msgstr "所有其它内容" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home Timeline" msgstr "主页时间线" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home" msgstr "主页" -#: bookwyrm/settings.py:191 +#: bookwyrm/settings.py:196 msgid "Books Timeline" msgstr "书目时间线" -#: bookwyrm/settings.py:191 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:196 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "书目" -#: bookwyrm/settings.py:265 +#: bookwyrm/settings.py:270 msgid "English" msgstr "English(英语)" -#: bookwyrm/settings.py:266 +#: bookwyrm/settings.py:271 msgid "Deutsch (German)" msgstr "Deutsch(德语)" -#: bookwyrm/settings.py:267 +#: bookwyrm/settings.py:272 msgid "Español (Spanish)" msgstr "Español(西班牙语)" -#: bookwyrm/settings.py:268 +#: bookwyrm/settings.py:273 msgid "Galego (Galician)" msgstr "Galego(加利西亚语)" -#: bookwyrm/settings.py:269 +#: bookwyrm/settings.py:274 msgid "Italiano (Italian)" msgstr "Italiano(意大利语)" -#: bookwyrm/settings.py:270 +#: bookwyrm/settings.py:275 msgid "Français (French)" msgstr "Français(法语)" -#: bookwyrm/settings.py:271 +#: bookwyrm/settings.py:276 msgid "Lietuvių (Lithuanian)" msgstr "Lietuvių(立陶宛语)" -#: bookwyrm/settings.py:272 +#: bookwyrm/settings.py:277 msgid "Norsk (Norwegian)" msgstr "Norsk(挪威语)" -#: bookwyrm/settings.py:273 +#: bookwyrm/settings.py:278 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "Português do Brasil(巴西葡萄牙语)" -#: bookwyrm/settings.py:274 +#: bookwyrm/settings.py:279 msgid "Português Europeu (European Portuguese)" msgstr "Português Europeu(欧洲葡萄牙语)" -#: bookwyrm/settings.py:275 +#: bookwyrm/settings.py:280 msgid "Svenska (Swedish)" msgstr "Svenska(瑞典语)" -#: bookwyrm/settings.py:276 +#: bookwyrm/settings.py:281 msgid "简体中文 (Simplified Chinese)" msgstr "简体中文" -#: bookwyrm/settings.py:277 +#: bookwyrm/settings.py:282 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文(繁体中文)" @@ -376,7 +380,7 @@ msgstr "%(site_name)s 上的最用户想读的书籍是 %(title)s has the most divisive ratings of any book on %(site_name)s." -msgstr "在 %(site_name)s 上,%(title)s 这本书有着分裂程度最大的评分。" +msgstr "在 %(site_name)s 上,对 %(title)s 这本书的评分争议较大。" #: bookwyrm/templates/about/about.html:89 msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, reach out and make yourself heard." @@ -395,7 +399,7 @@ msgstr "%(site_name)s 的仲裁员和管理员负责维持站点运行, 执行 msgid "Moderator" msgstr "仲裁员" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131 +#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "管理员" @@ -414,18 +418,19 @@ msgstr "行为准则" #: bookwyrm/templates/about/layout.html:11 msgid "Active users:" -msgstr "活跃用户:" +msgstr "活跃用户:" #: bookwyrm/templates/about/layout.html:15 msgid "Statuses posted:" -msgstr "发布的状态:" +msgstr "发布的状态:" #: bookwyrm/templates/about/layout.html:19 +#: bookwyrm/templates/setup/config.html:74 msgid "Software version:" -msgstr "软件版本:" +msgstr "软件版本:" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:229 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 #, python-format msgid "About %(site_name)s" msgstr "关于 %(site_name)s" @@ -566,7 +571,7 @@ msgstr "TA 评分最好的评论" #: bookwyrm/templates/annual_summary/layout.html:251 #, python-format msgid "Their rating: %(rating)s" -msgstr "TA 的评分:%(rating)s" +msgstr "他们的评分:%(rating)s" #: bookwyrm/templates/annual_summary/layout.html:268 #, python-format @@ -713,7 +718,7 @@ msgstr "Goodreads key:" #: bookwyrm/templates/author/edit_author.html:105 msgid "ISNI:" -msgstr "ISNI:" +msgstr "ISNI:" #: bookwyrm/templates/author/edit_author.html:115 #: bookwyrm/templates/book/book.html:193 @@ -729,7 +734,7 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:82 #: bookwyrm/templates/settings/federation/instance.html:87 -#: bookwyrm/templates/settings/site.html:133 +#: bookwyrm/templates/settings/site.html:151 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -809,7 +814,7 @@ msgstr "%(count)s 个版本" #: bookwyrm/templates/book/book.html:211 msgid "You have shelved this edition in:" -msgstr "此版本已在你的书架上:" +msgstr "此版本已在你的书架上:" #: bookwyrm/templates/book/book.html:226 #, python-format @@ -849,7 +854,7 @@ msgid "Places" msgstr "地点" #: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -908,7 +913,7 @@ msgstr "书籍封面预览" #: bookwyrm/templates/components/modal.html:13 #: bookwyrm/templates/components/modal.html:30 #: bookwyrm/templates/components/tooltip.html:7 -#: bookwyrm/templates/feed/suggested_books.html:62 +#: bookwyrm/templates/feed/suggested_books.html:55 #: bookwyrm/templates/get_started/layout.html:25 #: bookwyrm/templates/get_started/layout.html:58 msgid "Close" @@ -1050,7 +1055,7 @@ msgstr "格式:" #: bookwyrm/templates/book/edit/edit_book_form.html:211 msgid "Format details:" -msgstr "装订细节:" +msgstr "装订细节:" #: bookwyrm/templates/book/edit/edit_book_form.html:222 msgid "Pages:" @@ -1106,15 +1111,15 @@ msgstr "来自未知域名的链接在添加之前需要由仲裁员批准。" #: bookwyrm/templates/book/file_links/add_link_modal.html:24 msgid "URL:" -msgstr "URL:" +msgstr "URL:" #: bookwyrm/templates/book/file_links/add_link_modal.html:29 msgid "File type:" -msgstr "文件类型:" +msgstr "文件类型:" #: bookwyrm/templates/book/file_links/add_link_modal.html:48 msgid "Availability:" -msgstr "可用状态:" +msgstr "可用状态:" #: bookwyrm/templates/book/file_links/edit_links.html:5 #: bookwyrm/templates/book/file_links/edit_links.html:21 @@ -1203,9 +1208,10 @@ msgstr "离开 BookWyrm" #: 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 "此链接将会前往:%(link_url)s
这是您想前往的网址吗?" +msgstr "此链接将跳转至:%(link_url)s
这是您想跳转的网址吗?" #: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "继续" @@ -1279,7 +1285,7 @@ msgstr "确认代码:" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 -#: bookwyrm/templates/settings/dashboard/dashboard.html:104 +#: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:52 msgid "Submit" msgstr "提交" @@ -1296,7 +1302,7 @@ msgstr "重新发送确认链接" #: bookwyrm/templates/landing/layout.html:68 #: bookwyrm/templates/landing/password_reset_request.html:18 #: bookwyrm/templates/preferences/edit_user.html:53 -#: bookwyrm/templates/snippets/register_form.html:12 +#: bookwyrm/templates/snippets/register_form.html:27 msgid "Email address:" msgstr "邮箱地址:" @@ -1318,7 +1324,7 @@ msgstr "跨站社区" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:100 +#: bookwyrm/templates/layout.html:101 msgid "Directory" msgstr "目录" @@ -1436,7 +1442,7 @@ msgstr "%(username)s 引用了 %(username)s" msgstr "与 %(username)s 私信" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:110 +#: bookwyrm/templates/layout.html:111 msgid "Direct Messages" msgstr "私信" @@ -1609,7 +1616,7 @@ msgid "Updates" msgstr "更新" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:105 +#: bookwyrm/templates/layout.html:106 msgid "Your Books" msgstr "你的书目" @@ -1677,7 +1684,7 @@ msgid "What are you reading?" msgstr "你在阅读什么?" #: bookwyrm/templates/get_started/books.html:9 -#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:203 +#: bookwyrm/templates/layout.html:48 bookwyrm/templates/lists/list.html:203 msgid "Search for a book" msgstr "搜索书目" @@ -1696,8 +1703,8 @@ msgstr "你可以在开始使用 %(site_name)s 后添加书目。" #: bookwyrm/templates/get_started/users.html:18 #: bookwyrm/templates/get_started/users.html:19 #: bookwyrm/templates/groups/members.html:15 -#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53 -#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:207 +#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:54 +#: bookwyrm/templates/layout.html:55 bookwyrm/templates/lists/list.html:207 #: bookwyrm/templates/search/layout.html:4 #: bookwyrm/templates/search/layout.html:9 msgid "Search" @@ -1830,11 +1837,11 @@ msgstr "编辑群组" #: bookwyrm/templates/groups/form.html:8 msgid "Group Name:" -msgstr "群组名称:" +msgstr "群组名称:" #: bookwyrm/templates/groups/form.html:12 msgid "Group Description:" -msgstr "群组描述" +msgstr "群组描述:" #: bookwyrm/templates/groups/form.html:21 msgid "Delete group" @@ -2013,7 +2020,7 @@ msgstr "书架" #: bookwyrm/templates/import/import_status.html:120 #: bookwyrm/templates/import/manual_review.html:13 -#: bookwyrm/templates/snippets/create_status.html:17 +#: bookwyrm/templates/snippets/create_status.html:16 msgid "Review" msgstr "书评" @@ -2158,7 +2165,7 @@ msgid "Login" msgstr "登录" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:178 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "登录" @@ -2167,7 +2174,7 @@ msgstr "登录" msgid "Success! Email address confirmed." msgstr "成功!邮箱地址已确认。" -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:169 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2175,12 +2182,12 @@ msgstr "用户名:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:173 bookwyrm/templates/ostatus/error.html:32 -#: bookwyrm/templates/snippets/register_form.html:20 +#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "密码:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:175 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "忘记了密码?" @@ -2208,23 +2215,23 @@ msgstr "重设密码" msgid "%(site_name)s search" msgstr "%(site_name)s 搜索" -#: bookwyrm/templates/layout.html:45 +#: bookwyrm/templates/layout.html:46 msgid "Search for a book, user, or list" msgstr "搜索书籍、用户或列表" -#: bookwyrm/templates/layout.html:63 +#: bookwyrm/templates/layout.html:64 msgid "Main navigation menu" msgstr "主导航菜单" -#: bookwyrm/templates/layout.html:71 +#: bookwyrm/templates/layout.html:72 msgid "Feed" msgstr "动态" -#: bookwyrm/templates/layout.html:115 +#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "设置" -#: bookwyrm/templates/layout.html:124 +#: bookwyrm/templates/layout.html:125 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2232,42 +2239,42 @@ msgstr "设置" msgid "Invites" msgstr "邀请" -#: bookwyrm/templates/layout.html:138 +#: bookwyrm/templates/layout.html:139 msgid "Log out" msgstr "登出" -#: bookwyrm/templates/layout.html:146 bookwyrm/templates/layout.html:147 +#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "通知" -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "密码" -#: bookwyrm/templates/layout.html:186 +#: bookwyrm/templates/layout.html:187 msgid "Join" msgstr "加入" -#: bookwyrm/templates/layout.html:220 +#: bookwyrm/templates/layout.html:221 msgid "Successfully posted status" msgstr "成功发布的状态" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:222 msgid "Error posting status" msgstr "发布状态时出错" -#: bookwyrm/templates/layout.html:237 +#: bookwyrm/templates/layout.html:238 msgid "Documentation" msgstr "文档" -#: bookwyrm/templates/layout.html:244 +#: bookwyrm/templates/layout.html:245 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "在 %(support_title)s 上支持 %(site_name)s" -#: bookwyrm/templates/layout.html:248 +#: bookwyrm/templates/layout.html:249 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm 是开源软件。你可以在 GitHub 贡献或报告问题。" @@ -2750,7 +2757,7 @@ msgstr "从另一个联邦宇宙帐户关注 %(username)s ,如 BookWyrm、Mast #: bookwyrm/templates/ostatus/remote_follow.html:40 msgid "User handle to follow from:" -msgstr "要关注此用户的用户代号:" +msgstr "用来关注的用户代号:" #: bookwyrm/templates/ostatus/remote_follow.html:42 msgid "Follow!" @@ -2904,6 +2911,11 @@ msgstr "完成《%(book_title)s》" msgid "Start \"%(book_title)s\"" msgstr "开始《%(book_title)s》" +#: bookwyrm/templates/reading_progress/stop.html:5 +#, python-format +msgid "Stop \"%(book_title)s\"" +msgstr "停止《%(book_title)s》" + #: bookwyrm/templates/reading_progress/want.html:5 #, python-format msgid "Want to Read \"%(book_title)s\"" @@ -3056,13 +3068,13 @@ msgstr "否" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:82 +#: bookwyrm/templates/settings/dashboard/dashboard.html:94 msgid "Start date:" msgstr "开始日期:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:88 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "End date:" msgstr "结束日期:" @@ -3111,23 +3123,23 @@ msgstr "编辑公告" #: bookwyrm/templates/settings/announcements/edit_announcement.html:45 msgid "Announcement content" -msgstr "" +msgstr "公告内容" #: bookwyrm/templates/settings/announcements/edit_announcement.html:57 msgid "Details:" -msgstr "" +msgstr "详细:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:65 msgid "Event date:" -msgstr "事件日期:" +msgstr "事件日期:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:73 msgid "Display settings" -msgstr "" +msgstr "显示设置" #: bookwyrm/templates/settings/announcements/edit_announcement.html:98 msgid "Color:" -msgstr "" +msgstr "颜色:" #: bookwyrm/templates/settings/dashboard/dashboard.html:6 #: bookwyrm/templates/settings/dashboard/dashboard.html:8 @@ -3136,7 +3148,7 @@ msgid "Dashboard" msgstr "仪表盘" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:123 msgid "Total users" msgstr "用户总数" @@ -3160,43 +3172,48 @@ msgid "%(display_count)s open report" msgid_plural "%(display_count)s open reports" msgstr[0] "%(display_count)s 条待处理报告" -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 +#: bookwyrm/templates/settings/dashboard/dashboard.html:55 #, python-format msgid "%(display_count)s domain needs review" msgid_plural "%(display_count)s domains need review" msgstr[0] "%(display_count)s 个域名需要审核" -#: bookwyrm/templates/settings/dashboard/dashboard.html:65 +#: bookwyrm/templates/settings/dashboard/dashboard.html:67 #, python-format msgid "%(display_count)s invite request" msgid_plural "%(display_count)s invite requests" msgstr[0] "%(display_count)s 条邀请请求" -#: bookwyrm/templates/settings/dashboard/dashboard.html:76 +#: bookwyrm/templates/settings/dashboard/dashboard.html:79 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "有可用的更新!最新版本为:%(available)s,但你当前运行的版本为:%(current)s。" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:88 msgid "Instance Activity" msgstr "实例活动" -#: bookwyrm/templates/settings/dashboard/dashboard.html:94 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 msgid "Interval:" -msgstr "区段:" +msgstr "区段:" -#: bookwyrm/templates/settings/dashboard/dashboard.html:98 +#: bookwyrm/templates/settings/dashboard/dashboard.html:110 msgid "Days" msgstr "天" -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 +#: bookwyrm/templates/settings/dashboard/dashboard.html:111 msgid "Weeks" msgstr "周" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:129 msgid "User signup activity" msgstr "用户注册活动" -#: bookwyrm/templates/settings/dashboard/dashboard.html:123 +#: bookwyrm/templates/settings/dashboard/dashboard.html:135 msgid "Status activity" msgstr "状态动态" -#: bookwyrm/templates/settings/dashboard/dashboard.html:129 +#: bookwyrm/templates/settings/dashboard/dashboard.html:141 msgid "Works created" msgstr "创建的作品" @@ -3219,7 +3236,7 @@ msgstr "添加域名" #: bookwyrm/templates/settings/email_blocklist/domain_form.html:11 msgid "Domain:" -msgstr "域名:" +msgstr "域名:" #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:5 #: bookwyrm/templates/settings/email_blocklist/email_blocklist.html:7 @@ -3504,7 +3521,7 @@ msgstr "请谨慎使用 IP 地址屏蔽,并尽可能只使用暂时的屏蔽 #: bookwyrm/templates/settings/ip_blocklist/ip_address_form.html:18 msgid "IP Address:" -msgstr "IP 地址:" +msgstr "IP 地址:" #: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:5 #: bookwyrm/templates/settings/ip_blocklist/ip_blocklist.html:7 @@ -3605,7 +3622,7 @@ msgstr "消息报告者" #: bookwyrm/templates/settings/reports/report.html:27 msgid "Update on your report:" -msgstr "您报告的更新:" +msgstr "您报告的更新:" #: bookwyrm/templates/settings/reports/report.html:35 msgid "Reported statuses" @@ -3624,7 +3641,7 @@ msgid "Moderator Comments" msgstr "监察员评论" #: bookwyrm/templates/settings/reports/report.html:89 -#: bookwyrm/templates/snippets/create_status.html:28 +#: bookwyrm/templates/snippets/create_status.html:26 msgid "Comment" msgstr "评论" @@ -3687,104 +3704,112 @@ msgid "No reports found." msgstr "没有找到报告" #: bookwyrm/templates/settings/site.html:10 -#: bookwyrm/templates/settings/site.html:21 +#: bookwyrm/templates/settings/site.html:39 msgid "Instance Info" msgstr "实例信息" #: bookwyrm/templates/settings/site.html:11 -#: bookwyrm/templates/settings/site.html:54 +#: bookwyrm/templates/settings/site.html:72 msgid "Images" msgstr "图像" #: bookwyrm/templates/settings/site.html:12 -#: bookwyrm/templates/settings/site.html:74 +#: bookwyrm/templates/settings/site.html:92 msgid "Footer Content" msgstr "页脚内容" #: bookwyrm/templates/settings/site.html:13 -#: bookwyrm/templates/settings/site.html:98 +#: bookwyrm/templates/settings/site.html:116 msgid "Registration" msgstr "注册" -#: bookwyrm/templates/settings/site.html:24 +#: bookwyrm/templates/settings/site.html:22 +msgid "Settings saved" +msgstr "设置已保存" + +#: bookwyrm/templates/settings/site.html:31 +msgid "Unable to save settings" +msgstr "无法保存设置" + +#: bookwyrm/templates/settings/site.html:42 msgid "Instance Name:" msgstr "实例名称" -#: bookwyrm/templates/settings/site.html:28 +#: bookwyrm/templates/settings/site.html:46 msgid "Tagline:" msgstr "标语" -#: bookwyrm/templates/settings/site.html:32 +#: bookwyrm/templates/settings/site.html:50 msgid "Instance description:" msgstr "实例描述:" -#: bookwyrm/templates/settings/site.html:36 +#: bookwyrm/templates/settings/site.html:54 msgid "Short description:" -msgstr "简要描述:" +msgstr "简要描述:" -#: bookwyrm/templates/settings/site.html:37 +#: bookwyrm/templates/settings/site.html:55 msgid "Used when the instance is previewed on joinbookwyrm.com. Does not support HTML or Markdown." msgstr "在 joinbookwyrm.com 上预览实例时使用。不支持 HTML 或 Markdown。" -#: bookwyrm/templates/settings/site.html:41 +#: bookwyrm/templates/settings/site.html:59 msgid "Code of conduct:" msgstr "行为准则:" -#: bookwyrm/templates/settings/site.html:45 +#: bookwyrm/templates/settings/site.html:63 msgid "Privacy Policy:" msgstr "隐私政策:" -#: bookwyrm/templates/settings/site.html:57 +#: bookwyrm/templates/settings/site.html:75 msgid "Logo:" msgstr "图标:" -#: bookwyrm/templates/settings/site.html:61 +#: bookwyrm/templates/settings/site.html:79 msgid "Logo small:" msgstr "小号图标:" -#: bookwyrm/templates/settings/site.html:65 +#: bookwyrm/templates/settings/site.html:83 msgid "Favicon:" msgstr "Favicon:" -#: bookwyrm/templates/settings/site.html:77 +#: bookwyrm/templates/settings/site.html:95 msgid "Support link:" msgstr "支持链接:" -#: bookwyrm/templates/settings/site.html:81 +#: bookwyrm/templates/settings/site.html:99 msgid "Support title:" msgstr "支持标题:" -#: bookwyrm/templates/settings/site.html:85 +#: bookwyrm/templates/settings/site.html:103 msgid "Admin email:" msgstr "管理员邮件:" -#: bookwyrm/templates/settings/site.html:89 +#: bookwyrm/templates/settings/site.html:107 msgid "Additional info:" msgstr "附加信息:" -#: bookwyrm/templates/settings/site.html:103 +#: bookwyrm/templates/settings/site.html:121 msgid "Allow registration" msgstr "允许注册" -#: bookwyrm/templates/settings/site.html:109 +#: bookwyrm/templates/settings/site.html:127 msgid "Allow invite requests" msgstr "允许请求邀请" -#: bookwyrm/templates/settings/site.html:115 +#: bookwyrm/templates/settings/site.html:133 msgid "Require users to confirm email address" msgstr "要求用户确认邮箱地址" -#: bookwyrm/templates/settings/site.html:117 +#: bookwyrm/templates/settings/site.html:135 msgid "(Recommended if registration is open)" msgstr "(当开放注册时推荐)" -#: bookwyrm/templates/settings/site.html:120 +#: bookwyrm/templates/settings/site.html:138 msgid "Registration closed text:" msgstr "注册关闭文字:" -#: bookwyrm/templates/settings/site.html:124 +#: bookwyrm/templates/settings/site.html:142 msgid "Invite request text:" -msgstr "邀请请求文本:" +msgstr "邀请请求文本:" #: bookwyrm/templates/settings/users/delete_user_form.html:5 #: bookwyrm/templates/settings/users/user_moderation_actions.html:32 @@ -3798,7 +3823,7 @@ msgstr "你确定要删除 %(username)s 的帐号吗?此操 #: bookwyrm/templates/settings/users/delete_user_form.html:17 msgid "Your password:" -msgstr "你的密码:" +msgstr "你的密码:" #: bookwyrm/templates/settings/users/user.html:7 msgid "Back to users" @@ -3859,7 +3884,7 @@ msgstr "用户详情" #: bookwyrm/templates/settings/users/user_info.html:51 msgid "Email:" -msgstr "邮箱:" +msgstr "邮箱:" #: bookwyrm/templates/settings/users/user_info.html:61 msgid "(View reports)" @@ -3867,23 +3892,23 @@ msgstr "(查看报告)" #: bookwyrm/templates/settings/users/user_info.html:67 msgid "Blocked by count:" -msgstr "被屏蔽次数:" +msgstr "被屏蔽次数:" #: bookwyrm/templates/settings/users/user_info.html:70 msgid "Last active date:" -msgstr "最后活跃日期:" +msgstr "最后活跃日期:" #: bookwyrm/templates/settings/users/user_info.html:73 msgid "Manually approved followers:" -msgstr "手动批准关注者:" +msgstr "手动通过的关注者:" #: bookwyrm/templates/settings/users/user_info.html:76 msgid "Discoverable:" -msgstr "可发现:" +msgstr "可发现:" #: bookwyrm/templates/settings/users/user_info.html:80 msgid "Deactivation reason:" -msgstr "停用原因:" +msgstr "停用原因:" #: bookwyrm/templates/settings/users/user_info.html:95 msgid "Instance details" @@ -3913,6 +3938,118 @@ msgstr "取消停用用户" msgid "Access level:" msgstr "访问级别:" +#: bookwyrm/templates/setup/admin.html:5 +msgid "Set up BookWyrm" +msgstr "设置BookWyrm" + +#: bookwyrm/templates/setup/admin.html:7 +msgid "Your account as a user and an admin" +msgstr "您作为用户和管理员的账户" + +#: bookwyrm/templates/setup/admin.html:13 +msgid "Create your account" +msgstr "创建您的账号" + +#: bookwyrm/templates/setup/admin.html:20 +msgid "Admin key:" +msgstr "管理员密钥:" + +#: bookwyrm/templates/setup/admin.html:32 +msgid "An admin key was created when you installed BookWyrm. You can get your admin key by running ./bw-dev admin_code from the command line on your server." +msgstr "当您安装BookWyrm后会创建一个管理员密钥。您可以通过来自你的服务器上的命令行运行bw-dev admin_code获取你的管理员密钥。" + +#: bookwyrm/templates/setup/admin.html:45 +msgid "As an admin, you'll be able to configure the instance name and information, and moderate your instance. This means you will have access to private information about your users, and are responsible for responding to reports of bad behavior or spam." +msgstr "作为管理员,您能够配置实例的名称和信息,并管理您的实例。 这意味着您可以访问有关您的用户的私密信息,并且有责任应对不良行为或垃圾信息。" + +#: bookwyrm/templates/setup/admin.html:51 +msgid "Once the instance is set up, you can promote other users to moderator or admin roles from the admin panel." +msgstr "一旦实例设置后,您可以从管理面板中提升其他用户到仲裁员或管理员权限。" + +#: bookwyrm/templates/setup/admin.html:55 +msgid "Learn more about moderation" +msgstr "进一步了解仲裁员" + +#: bookwyrm/templates/setup/config.html:5 +msgid "Instance Configuration" +msgstr "实例配置" + +#: bookwyrm/templates/setup/config.html:7 +msgid "Make sure everything looks right before proceeding" +msgstr "在进行之前,请确保一切都没问题" + +#: bookwyrm/templates/setup/config.html:18 +msgid "You are running BookWyrm in debug mode. This should never be used in a production environment." +msgstr "您在调试模式下运行BookWyrm 。这应该永远不可能在出现实际使用的环境中。" + +#: bookwyrm/templates/setup/config.html:30 +msgid "Your domain appears to be misconfigured. It should not include protocol or slashes." +msgstr "你的域名似乎配置出错了。它不应该包括协议或斜杠。" + +#: bookwyrm/templates/setup/config.html:42 +msgid "You are running BookWyrm in production mode without https. USE_HTTPS should be enabled in production." +msgstr "您正在没有https的实际使用模式下运行BookWyrm,USE_HTTPS应该在实际使用中启用。" + +#: bookwyrm/templates/setup/config.html:56 +msgid "Instance domain:" +msgstr "实例域名:" + +#: bookwyrm/templates/setup/config.html:63 +msgid "Protocol:" +msgstr "协议:" + +#: bookwyrm/templates/setup/config.html:81 +msgid "Using S3:" +msgstr "使用 S3:" + +#: bookwyrm/templates/setup/config.html:91 +msgid "Display" +msgstr "显示" + +#: bookwyrm/templates/setup/config.html:95 +msgid "Default interface language:" +msgstr "默认界面语言:" + +#: bookwyrm/templates/setup/config.html:102 +msgid "Email sender:" +msgstr "电子邮件发件人:" + +#: bookwyrm/templates/setup/config.html:109 +msgid "Enable preview images:" +msgstr "启用预览图像:" + +#: bookwyrm/templates/setup/config.html:116 +msgid "Enable image thumbnails:" +msgstr "启用图像缩略图:" + +#: bookwyrm/templates/setup/config.html:128 +msgid "Does everything look right?" +msgstr "你确定你将所有的都设置好了?" + +#: bookwyrm/templates/setup/config.html:130 +msgid "This is your last chance to set your domain and protocol." +msgstr "这是您最后一次设置域名和协议的机会。" + +#: bookwyrm/templates/setup/config.html:144 +msgid "You can change your instance settings in the .env file on your server." +msgstr "您可以更改您服务器上的.env文件中的实例设置。" + +#: bookwyrm/templates/setup/config.html:148 +msgid "View installation instructions" +msgstr "查看安装说明" + +#: bookwyrm/templates/setup/layout.html:5 +msgid "Instance Setup" +msgstr "实例设置" + +#: bookwyrm/templates/setup/layout.html:15 +msgid "Installing BookWyrm" +msgstr "正在安装 BookWyrm" + +#: bookwyrm/templates/setup/layout.html:18 +msgid "Need help?" +msgstr "需要帮助?" + #: bookwyrm/templates/shelf/create_shelf_form.html:5 msgid "Create Shelf" msgstr "创建书架" @@ -4002,7 +4139,7 @@ msgstr[0] "与其它 %(remainder_count_display)s 位" msgid "No cover" msgstr "没有封面" -#: bookwyrm/templates/snippets/book_titleby.html:10 +#: bookwyrm/templates/snippets/book_titleby.html:11 #, python-format msgid "%(title)s by" msgstr "%(title)s 来自" @@ -4017,7 +4154,7 @@ msgstr "转发" msgid "Un-boost" msgstr "取消转发" -#: bookwyrm/templates/snippets/create_status.html:39 +#: bookwyrm/templates/snippets/create_status.html:36 msgid "Quote" msgstr "引用" @@ -4058,7 +4195,7 @@ msgstr "内容" #: bookwyrm/templates/snippets/create_status/content_warning_field.html:10 msgid "Content warning:" -msgstr "内容警告:" +msgstr "内容警告:" #: bookwyrm/templates/snippets/create_status/content_warning_field.html:18 msgid "Spoilers ahead!" @@ -4088,15 +4225,15 @@ msgstr "摘自《%(book_title)s》的节录" #: bookwyrm/templates/snippets/create_status/quotation.html:31 msgid "Position:" -msgstr "位置:" +msgstr "位置:" #: bookwyrm/templates/snippets/create_status/quotation.html:44 msgid "On page:" -msgstr "页码:" +msgstr "页码:" #: bookwyrm/templates/snippets/create_status/quotation.html:50 msgid "At percent:" -msgstr "百分比:" +msgstr "百分比:" #: bookwyrm/templates/snippets/create_status/review.html:24 #, python-format @@ -4302,7 +4439,11 @@ msgstr "开始《%(book_title)s》" msgid "Want to Read \"%(book_title)s\"" msgstr "想要阅读《%(book_title)s》" -#: bookwyrm/templates/snippets/register_form.html:30 +#: bookwyrm/templates/snippets/register_form.html:18 +msgid "Choose wisely! Your username cannot be changed." +msgstr "好好起名!您的用户名在之后无法更改。" + +#: bookwyrm/templates/snippets/register_form.html:64 msgid "Sign Up" msgstr "注册" @@ -4553,7 +4694,7 @@ msgstr "您的群组" #: bookwyrm/templates/user/groups.html:11 #, python-format msgid "Groups: %(username)s" -msgstr "群组: %(username)s" +msgstr "群组: %(username)s" #: bookwyrm/templates/user/groups.html:17 msgid "Create group" diff --git a/locale/zh_Hant/LC_MESSAGES/django.mo b/locale/zh_Hant/LC_MESSAGES/django.mo index 45fc07cbc027782814f247679bb2b1ca0942cf35..f9ca27be9b891b3b13c30e68d084e0cd54184a43 100644 GIT binary patch delta 14961 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 delta 13256 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 GI{yQr?G&y6 diff --git a/locale/zh_Hant/LC_MESSAGES/django.po b/locale/zh_Hant/LC_MESSAGES/django.po index 7ba9c7bc2..8de0a3781 100644 --- a/locale/zh_Hant/LC_MESSAGES/django.po +++ b/locale/zh_Hant/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-02-17 16:58+0000\n" -"PO-Revision-Date: 2022-02-17 19:39\n" +"POT-Creation-Date: 2022-02-18 03:55+0000\n" +"PO-Revision-Date: 2022-02-18 05:31\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Chinese Traditional\n" "Language: zh\n" @@ -17,70 +17,74 @@ msgstr "" "X-Crowdin-File: /[bookwyrm-social.bookwyrm] main/locale/en_US/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 1553\n" -#: bookwyrm/forms.py:245 +#: bookwyrm/forms.py:62 +msgid "User with this username already exists" +msgstr "" + +#: bookwyrm/forms.py:252 msgid "This domain is blocked. Please contact your administrator if you think this is an error." msgstr "" -#: bookwyrm/forms.py:255 +#: bookwyrm/forms.py:262 msgid "This link with file type has already been added for this book. If it is not visible, the domain is still pending." msgstr "" -#: bookwyrm/forms.py:394 +#: bookwyrm/forms.py:401 msgid "A user with this email already exists." msgstr "已經存在使用該郵箱的使用者。" -#: bookwyrm/forms.py:408 +#: bookwyrm/forms.py:415 msgid "One Day" msgstr "一天" -#: bookwyrm/forms.py:409 +#: bookwyrm/forms.py:416 msgid "One Week" msgstr "一週" -#: bookwyrm/forms.py:410 +#: bookwyrm/forms.py:417 msgid "One Month" msgstr "一個月" -#: bookwyrm/forms.py:411 +#: bookwyrm/forms.py:418 msgid "Does Not Expire" msgstr "永不失效" -#: bookwyrm/forms.py:415 +#: bookwyrm/forms.py:422 #, python-brace-format msgid "{i} uses" msgstr "" -#: bookwyrm/forms.py:416 +#: bookwyrm/forms.py:423 msgid "Unlimited" msgstr "不受限" -#: bookwyrm/forms.py:518 +#: bookwyrm/forms.py:525 msgid "List Order" msgstr "列表順序" -#: bookwyrm/forms.py:519 +#: bookwyrm/forms.py:526 msgid "Book Title" msgstr "書名" -#: bookwyrm/forms.py:520 bookwyrm/templates/shelf/shelf.html:155 +#: bookwyrm/forms.py:527 bookwyrm/templates/shelf/shelf.html:155 #: bookwyrm/templates/shelf/shelf.html:187 #: bookwyrm/templates/snippets/create_status/review.html:32 msgid "Rating" msgstr "評價" -#: bookwyrm/forms.py:522 bookwyrm/templates/lists/list.html:175 +#: bookwyrm/forms.py:529 bookwyrm/templates/lists/list.html:175 msgid "Sort By" msgstr "排序方式" -#: bookwyrm/forms.py:526 +#: bookwyrm/forms.py:533 msgid "Ascending" msgstr "升序" -#: bookwyrm/forms.py:527 +#: bookwyrm/forms.py:534 msgid "Descending" msgstr "降序" -#: bookwyrm/forms.py:540 +#: bookwyrm/forms.py:547 msgid "Reading finish date cannot be before start date." msgstr "" @@ -139,23 +143,23 @@ msgstr "" msgid "Domain block" msgstr "" -#: bookwyrm/models/book.py:253 +#: bookwyrm/models/book.py:262 msgid "Audiobook" msgstr "" -#: bookwyrm/models/book.py:254 +#: bookwyrm/models/book.py:263 msgid "eBook" msgstr "" -#: bookwyrm/models/book.py:255 +#: bookwyrm/models/book.py:264 msgid "Graphic novel" msgstr "" -#: bookwyrm/models/book.py:256 +#: bookwyrm/models/book.py:265 msgid "Hardcover" msgstr "" -#: bookwyrm/models/book.py:257 +#: bookwyrm/models/book.py:266 msgid "Paperback" msgstr "" @@ -183,7 +187,7 @@ msgstr "%(value)s 不是有效的 remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s 不是有效的使用者名稱" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:170 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:171 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "使用者名稱" @@ -257,73 +261,73 @@ msgstr "" msgid "Everything else" msgstr "" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home Timeline" msgstr "主頁時間線" -#: bookwyrm/settings.py:190 +#: bookwyrm/settings.py:195 msgid "Home" msgstr "主頁" -#: bookwyrm/settings.py:191 +#: bookwyrm/settings.py:196 msgid "Books Timeline" msgstr "" -#: bookwyrm/settings.py:191 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:196 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:91 msgid "Books" msgstr "書目" -#: bookwyrm/settings.py:265 +#: bookwyrm/settings.py:270 msgid "English" msgstr "English(英語)" -#: bookwyrm/settings.py:266 +#: bookwyrm/settings.py:271 msgid "Deutsch (German)" msgstr "Deutsch(德語)" -#: bookwyrm/settings.py:267 +#: bookwyrm/settings.py:272 msgid "Español (Spanish)" msgstr "Español(西班牙語)" -#: bookwyrm/settings.py:268 +#: bookwyrm/settings.py:273 msgid "Galego (Galician)" msgstr "" -#: bookwyrm/settings.py:269 +#: bookwyrm/settings.py:274 msgid "Italiano (Italian)" msgstr "" -#: bookwyrm/settings.py:270 +#: bookwyrm/settings.py:275 msgid "Français (French)" msgstr "Français(法語)" -#: bookwyrm/settings.py:271 +#: bookwyrm/settings.py:276 msgid "Lietuvių (Lithuanian)" msgstr "" -#: bookwyrm/settings.py:272 +#: bookwyrm/settings.py:277 msgid "Norsk (Norwegian)" msgstr "" -#: bookwyrm/settings.py:273 +#: bookwyrm/settings.py:278 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "" -#: bookwyrm/settings.py:274 +#: bookwyrm/settings.py:279 msgid "Português Europeu (European Portuguese)" msgstr "" -#: bookwyrm/settings.py:275 +#: bookwyrm/settings.py:280 msgid "Svenska (Swedish)" msgstr "" -#: bookwyrm/settings.py:276 +#: bookwyrm/settings.py:281 msgid "简体中文 (Simplified Chinese)" msgstr "簡體中文" -#: bookwyrm/settings.py:277 +#: bookwyrm/settings.py:282 msgid "繁體中文 (Traditional Chinese)" msgstr "繁體中文" @@ -395,7 +399,7 @@ msgstr "" msgid "Moderator" msgstr "" -#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:131 +#: bookwyrm/templates/about/about.html:115 bookwyrm/templates/layout.html:132 msgid "Admin" msgstr "管理員" @@ -421,11 +425,12 @@ msgid "Statuses posted:" msgstr "" #: bookwyrm/templates/about/layout.html:19 +#: bookwyrm/templates/setup/config.html:74 msgid "Software version:" msgstr "" #: bookwyrm/templates/about/layout.html:30 -#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:229 +#: bookwyrm/templates/embed-layout.html:34 bookwyrm/templates/layout.html:230 #, python-format msgid "About %(site_name)s" msgstr "關於 %(site_name)s" @@ -729,7 +734,7 @@ msgstr "" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:82 #: bookwyrm/templates/settings/federation/instance.html:87 -#: bookwyrm/templates/settings/site.html:133 +#: bookwyrm/templates/settings/site.html:151 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 @@ -849,7 +854,7 @@ msgid "Places" msgstr "地點" #: bookwyrm/templates/book/book.html:348 -#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:74 +#: bookwyrm/templates/groups/group.html:19 bookwyrm/templates/layout.html:75 #: bookwyrm/templates/lists/curate.html:8 bookwyrm/templates/lists/list.html:12 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 @@ -908,7 +913,7 @@ msgstr "" #: bookwyrm/templates/components/modal.html:13 #: bookwyrm/templates/components/modal.html:30 #: bookwyrm/templates/components/tooltip.html:7 -#: bookwyrm/templates/feed/suggested_books.html:62 +#: bookwyrm/templates/feed/suggested_books.html:55 #: bookwyrm/templates/get_started/layout.html:25 #: bookwyrm/templates/get_started/layout.html:58 msgid "Close" @@ -1204,6 +1209,7 @@ msgid "This link is taking you to: %(link_url)s.
Is that where msgstr "" #: bookwyrm/templates/book/file_links/verification_modal.html:20 +#: bookwyrm/templates/setup/config.html:139 msgid "Continue" msgstr "" @@ -1277,7 +1283,7 @@ msgstr "" #: bookwyrm/templates/confirm_email/confirm_email.html:25 #: bookwyrm/templates/landing/layout.html:73 -#: bookwyrm/templates/settings/dashboard/dashboard.html:104 +#: bookwyrm/templates/settings/dashboard/dashboard.html:116 #: bookwyrm/templates/snippets/report_modal.html:52 msgid "Submit" msgstr "提交" @@ -1294,7 +1300,7 @@ msgstr "" #: bookwyrm/templates/landing/layout.html:68 #: bookwyrm/templates/landing/password_reset_request.html:18 #: bookwyrm/templates/preferences/edit_user.html:53 -#: bookwyrm/templates/snippets/register_form.html:12 +#: bookwyrm/templates/snippets/register_form.html:27 msgid "Email address:" msgstr "郵箱地址:" @@ -1316,7 +1322,7 @@ msgstr "跨站社群" #: bookwyrm/templates/directory/directory.html:4 #: bookwyrm/templates/directory/directory.html:9 -#: bookwyrm/templates/layout.html:100 +#: bookwyrm/templates/layout.html:101 msgid "Directory" msgstr "目錄" @@ -1434,7 +1440,7 @@ msgstr "" #: bookwyrm/templates/discover/discover.html:4 #: bookwyrm/templates/discover/discover.html:10 -#: bookwyrm/templates/layout.html:77 +#: bookwyrm/templates/layout.html:78 msgid "Discover" msgstr "" @@ -1551,12 +1557,13 @@ msgstr "如果你沒有請求重設密碼,你可以忽略這封郵件。" msgid "Reset your %(site_name)s password" msgstr "重置你在 %(site_name)s 的密碼" -#: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:39 +#: bookwyrm/templates/embed-layout.html:21 bookwyrm/templates/layout.html:40 +#: bookwyrm/templates/setup/layout.html:12 #, python-format msgid "%(site_name)s home page" msgstr "" -#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:233 +#: bookwyrm/templates/embed-layout.html:40 bookwyrm/templates/layout.html:234 msgid "Contact site admin" msgstr "聯絡網站管理員" @@ -1570,7 +1577,7 @@ msgid "Direct Messages with %(username)s" msgstr "與 %(username)s 私信" #: bookwyrm/templates/feed/direct_messages.html:10 -#: bookwyrm/templates/layout.html:110 +#: bookwyrm/templates/layout.html:111 msgid "Direct Messages" msgstr "私信" @@ -1607,7 +1614,7 @@ msgid "Updates" msgstr "更新" #: bookwyrm/templates/feed/suggested_books.html:6 -#: bookwyrm/templates/layout.html:105 +#: bookwyrm/templates/layout.html:106 msgid "Your Books" msgstr "你的書目" @@ -1675,7 +1682,7 @@ msgid "What are you reading?" msgstr "你在閱讀什麼?" #: bookwyrm/templates/get_started/books.html:9 -#: bookwyrm/templates/layout.html:47 bookwyrm/templates/lists/list.html:203 +#: bookwyrm/templates/layout.html:48 bookwyrm/templates/lists/list.html:203 msgid "Search for a book" msgstr "搜尋書目" @@ -1694,8 +1701,8 @@ msgstr "你可以在開始使用 %(site_name)s 後新增書目。" #: bookwyrm/templates/get_started/users.html:18 #: bookwyrm/templates/get_started/users.html:19 #: bookwyrm/templates/groups/members.html:15 -#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:53 -#: bookwyrm/templates/layout.html:54 bookwyrm/templates/lists/list.html:207 +#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:54 +#: bookwyrm/templates/layout.html:55 bookwyrm/templates/lists/list.html:207 #: bookwyrm/templates/search/layout.html:4 #: bookwyrm/templates/search/layout.html:9 msgid "Search" @@ -2011,7 +2018,7 @@ msgstr "" #: bookwyrm/templates/import/import_status.html:120 #: bookwyrm/templates/import/manual_review.html:13 -#: bookwyrm/templates/snippets/create_status.html:17 +#: bookwyrm/templates/snippets/create_status.html:16 msgid "Review" msgstr "書評" @@ -2156,7 +2163,7 @@ msgid "Login" msgstr "登入" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:178 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:179 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "登入" @@ -2165,7 +2172,7 @@ msgstr "登入" msgid "Success! Email address confirmed." msgstr "" -#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:169 +#: bookwyrm/templates/landing/login.html:21 bookwyrm/templates/layout.html:170 #: bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" @@ -2173,12 +2180,12 @@ msgstr "使用者名稱:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 -#: bookwyrm/templates/layout.html:173 bookwyrm/templates/ostatus/error.html:32 -#: bookwyrm/templates/snippets/register_form.html:20 +#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "密碼:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:175 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:176 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "忘記了密碼?" @@ -2206,23 +2213,23 @@ msgstr "重設密碼" msgid "%(site_name)s search" msgstr "" -#: bookwyrm/templates/layout.html:45 +#: bookwyrm/templates/layout.html:46 msgid "Search for a book, user, or list" msgstr "" -#: bookwyrm/templates/layout.html:63 +#: bookwyrm/templates/layout.html:64 msgid "Main navigation menu" msgstr "主導航選單" -#: bookwyrm/templates/layout.html:71 +#: bookwyrm/templates/layout.html:72 msgid "Feed" msgstr "動態" -#: bookwyrm/templates/layout.html:115 +#: bookwyrm/templates/layout.html:116 bookwyrm/templates/setup/config.html:52 msgid "Settings" msgstr "設定" -#: bookwyrm/templates/layout.html:124 +#: bookwyrm/templates/layout.html:125 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:15 #: bookwyrm/templates/settings/invites/manage_invites.html:3 #: bookwyrm/templates/settings/invites/manage_invites.html:15 @@ -2230,42 +2237,42 @@ msgstr "設定" msgid "Invites" msgstr "邀請" -#: bookwyrm/templates/layout.html:138 +#: bookwyrm/templates/layout.html:139 msgid "Log out" msgstr "登出" -#: bookwyrm/templates/layout.html:146 bookwyrm/templates/layout.html:147 +#: bookwyrm/templates/layout.html:147 bookwyrm/templates/layout.html:148 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" msgstr "通知" -#: bookwyrm/templates/layout.html:174 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:175 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "密碼" -#: bookwyrm/templates/layout.html:186 +#: bookwyrm/templates/layout.html:187 msgid "Join" msgstr "加入" -#: bookwyrm/templates/layout.html:220 +#: bookwyrm/templates/layout.html:221 msgid "Successfully posted status" msgstr "" -#: bookwyrm/templates/layout.html:221 +#: bookwyrm/templates/layout.html:222 msgid "Error posting status" msgstr "" -#: bookwyrm/templates/layout.html:237 +#: bookwyrm/templates/layout.html:238 msgid "Documentation" msgstr "文件:" -#: bookwyrm/templates/layout.html:244 +#: bookwyrm/templates/layout.html:245 #, python-format msgid "Support %(site_name)s on %(support_title)s" msgstr "在 %(support_title)s 上支援 %(site_name)s" -#: bookwyrm/templates/layout.html:248 +#: bookwyrm/templates/layout.html:249 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm 是開源軟體。你可以在 GitHub 貢獻或報告問題。" @@ -2902,6 +2909,11 @@ msgstr "" msgid "Start \"%(book_title)s\"" msgstr "" +#: bookwyrm/templates/reading_progress/stop.html:5 +#, python-format +msgid "Stop \"%(book_title)s\"" +msgstr "" + #: bookwyrm/templates/reading_progress/want.html:5 #, python-format msgid "Want to Read \"%(book_title)s\"" @@ -3054,13 +3066,13 @@ msgstr "否" #: bookwyrm/templates/settings/announcements/announcement.html:57 #: bookwyrm/templates/settings/announcements/edit_announcement.html:79 -#: bookwyrm/templates/settings/dashboard/dashboard.html:82 +#: bookwyrm/templates/settings/dashboard/dashboard.html:94 msgid "Start date:" msgstr "開始日期:" #: bookwyrm/templates/settings/announcements/announcement.html:62 #: bookwyrm/templates/settings/announcements/edit_announcement.html:89 -#: bookwyrm/templates/settings/dashboard/dashboard.html:88 +#: bookwyrm/templates/settings/dashboard/dashboard.html:100 msgid "End date:" msgstr "結束日期:" @@ -3134,7 +3146,7 @@ msgid "Dashboard" msgstr "" #: bookwyrm/templates/settings/dashboard/dashboard.html:15 -#: bookwyrm/templates/settings/dashboard/dashboard.html:111 +#: bookwyrm/templates/settings/dashboard/dashboard.html:123 msgid "Total users" msgstr "" @@ -3158,43 +3170,48 @@ msgid "%(display_count)s open report" msgid_plural "%(display_count)s open reports" msgstr[0] "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:54 +#: bookwyrm/templates/settings/dashboard/dashboard.html:55 #, python-format msgid "%(display_count)s domain needs review" msgid_plural "%(display_count)s domains need review" msgstr[0] "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:65 +#: bookwyrm/templates/settings/dashboard/dashboard.html:67 #, python-format msgid "%(display_count)s invite request" msgid_plural "%(display_count)s invite requests" msgstr[0] "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:76 +#: bookwyrm/templates/settings/dashboard/dashboard.html:79 +#, python-format +msgid "An update is available! You're running v%(current)s and the latest release is %(available)s." +msgstr "" + +#: bookwyrm/templates/settings/dashboard/dashboard.html:88 msgid "Instance Activity" msgstr "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:94 +#: bookwyrm/templates/settings/dashboard/dashboard.html:106 msgid "Interval:" msgstr "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:98 +#: bookwyrm/templates/settings/dashboard/dashboard.html:110 msgid "Days" msgstr "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:99 +#: bookwyrm/templates/settings/dashboard/dashboard.html:111 msgid "Weeks" msgstr "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:117 +#: bookwyrm/templates/settings/dashboard/dashboard.html:129 msgid "User signup activity" msgstr "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:123 +#: bookwyrm/templates/settings/dashboard/dashboard.html:135 msgid "Status activity" msgstr "" -#: bookwyrm/templates/settings/dashboard/dashboard.html:129 +#: bookwyrm/templates/settings/dashboard/dashboard.html:141 msgid "Works created" msgstr "" @@ -3622,7 +3639,7 @@ msgid "Moderator Comments" msgstr "監察員評論" #: bookwyrm/templates/settings/reports/report.html:89 -#: bookwyrm/templates/snippets/create_status.html:28 +#: bookwyrm/templates/snippets/create_status.html:26 msgid "Comment" msgstr "評論" @@ -3685,102 +3702,110 @@ msgid "No reports found." msgstr "沒有找到舉報" #: bookwyrm/templates/settings/site.html:10 -#: bookwyrm/templates/settings/site.html:21 +#: bookwyrm/templates/settings/site.html:39 msgid "Instance Info" msgstr "實例資訊" #: bookwyrm/templates/settings/site.html:11 -#: bookwyrm/templates/settings/site.html:54 +#: bookwyrm/templates/settings/site.html:72 msgid "Images" msgstr "圖片" #: bookwyrm/templates/settings/site.html:12 -#: bookwyrm/templates/settings/site.html:74 +#: bookwyrm/templates/settings/site.html:92 msgid "Footer Content" msgstr "頁尾內容" #: bookwyrm/templates/settings/site.html:13 -#: bookwyrm/templates/settings/site.html:98 +#: bookwyrm/templates/settings/site.html:116 msgid "Registration" msgstr "註冊" -#: bookwyrm/templates/settings/site.html:24 +#: bookwyrm/templates/settings/site.html:22 +msgid "Settings saved" +msgstr "" + +#: bookwyrm/templates/settings/site.html:31 +msgid "Unable to save settings" +msgstr "" + +#: bookwyrm/templates/settings/site.html:42 msgid "Instance Name:" msgstr "實例名稱" -#: bookwyrm/templates/settings/site.html:28 +#: bookwyrm/templates/settings/site.html:46 msgid "Tagline:" msgstr "標語" -#: bookwyrm/templates/settings/site.html:32 +#: bookwyrm/templates/settings/site.html:50 msgid "Instance description:" msgstr "實例描述:" -#: bookwyrm/templates/settings/site.html:36 +#: bookwyrm/templates/settings/site.html:54 msgid "Short description:" msgstr "" -#: bookwyrm/templates/settings/site.html:37 +#: bookwyrm/templates/settings/site.html:55 msgid "Used when the instance is previewed on joinbookwyrm.com. Does not support HTML or Markdown." msgstr "" -#: bookwyrm/templates/settings/site.html:41 +#: bookwyrm/templates/settings/site.html:59 msgid "Code of conduct:" msgstr "行為準則:" -#: bookwyrm/templates/settings/site.html:45 +#: bookwyrm/templates/settings/site.html:63 msgid "Privacy Policy:" msgstr "隱私政策:" -#: bookwyrm/templates/settings/site.html:57 +#: bookwyrm/templates/settings/site.html:75 msgid "Logo:" msgstr "圖示:" -#: bookwyrm/templates/settings/site.html:61 +#: bookwyrm/templates/settings/site.html:79 msgid "Logo small:" msgstr "小號圖示:" -#: bookwyrm/templates/settings/site.html:65 +#: bookwyrm/templates/settings/site.html:83 msgid "Favicon:" msgstr "Favicon:" -#: bookwyrm/templates/settings/site.html:77 +#: bookwyrm/templates/settings/site.html:95 msgid "Support link:" msgstr "支援連結:" -#: bookwyrm/templates/settings/site.html:81 +#: bookwyrm/templates/settings/site.html:99 msgid "Support title:" msgstr "支援標題:" -#: bookwyrm/templates/settings/site.html:85 +#: bookwyrm/templates/settings/site.html:103 msgid "Admin email:" msgstr "管理員郵件:" -#: bookwyrm/templates/settings/site.html:89 +#: bookwyrm/templates/settings/site.html:107 msgid "Additional info:" msgstr "附加資訊:" -#: bookwyrm/templates/settings/site.html:103 +#: bookwyrm/templates/settings/site.html:121 msgid "Allow registration" msgstr "" -#: bookwyrm/templates/settings/site.html:109 +#: bookwyrm/templates/settings/site.html:127 msgid "Allow invite requests" msgstr "" -#: bookwyrm/templates/settings/site.html:115 +#: bookwyrm/templates/settings/site.html:133 msgid "Require users to confirm email address" msgstr "" -#: bookwyrm/templates/settings/site.html:117 +#: bookwyrm/templates/settings/site.html:135 msgid "(Recommended if registration is open)" msgstr "" -#: bookwyrm/templates/settings/site.html:120 +#: bookwyrm/templates/settings/site.html:138 msgid "Registration closed text:" msgstr "註冊關閉文字:" -#: bookwyrm/templates/settings/site.html:124 +#: bookwyrm/templates/settings/site.html:142 msgid "Invite request text:" msgstr "" @@ -3911,6 +3936,118 @@ msgstr "取消停用使用者" msgid "Access level:" msgstr "訪問權限:" +#: bookwyrm/templates/setup/admin.html:5 +msgid "Set up BookWyrm" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:7 +msgid "Your account as a user and an admin" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:13 +msgid "Create your account" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:20 +msgid "Admin key:" +msgstr "" + +#: bookwyrm/templates/setup/admin.html:32 +msgid "An admin key was created when you installed BookWyrm. You can get your admin key by running ./bw-dev admin_code from the command line on your server." +msgstr "" + +#: bookwyrm/templates/setup/admin.html:45 +msgid "As an admin, you'll be able to configure the instance name and information, and moderate your instance. This means you will have access to private information about your users, and are responsible for responding to reports of bad behavior or spam." +msgstr "" + +#: bookwyrm/templates/setup/admin.html:51 +msgid "Once the instance is set up, you can promote other users to moderator or admin roles from the admin panel." +msgstr "" + +#: bookwyrm/templates/setup/admin.html:55 +msgid "Learn more about moderation" +msgstr "" + +#: bookwyrm/templates/setup/config.html:5 +msgid "Instance Configuration" +msgstr "" + +#: bookwyrm/templates/setup/config.html:7 +msgid "Make sure everything looks right before proceeding" +msgstr "" + +#: bookwyrm/templates/setup/config.html:18 +msgid "You are running BookWyrm in debug mode. This should never be used in a production environment." +msgstr "" + +#: bookwyrm/templates/setup/config.html:30 +msgid "Your domain appears to be misconfigured. It should not include protocol or slashes." +msgstr "" + +#: bookwyrm/templates/setup/config.html:42 +msgid "You are running BookWyrm in production mode without https. USE_HTTPS should be enabled in production." +msgstr "" + +#: bookwyrm/templates/setup/config.html:56 +msgid "Instance domain:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:63 +msgid "Protocol:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:81 +msgid "Using S3:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:91 +msgid "Display" +msgstr "" + +#: bookwyrm/templates/setup/config.html:95 +msgid "Default interface language:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:102 +msgid "Email sender:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:109 +msgid "Enable preview images:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:116 +msgid "Enable image thumbnails:" +msgstr "" + +#: bookwyrm/templates/setup/config.html:128 +msgid "Does everything look right?" +msgstr "" + +#: bookwyrm/templates/setup/config.html:130 +msgid "This is your last chance to set your domain and protocol." +msgstr "" + +#: bookwyrm/templates/setup/config.html:144 +msgid "You can change your instance settings in the .env file on your server." +msgstr "" + +#: bookwyrm/templates/setup/config.html:148 +msgid "View installation instructions" +msgstr "" + +#: bookwyrm/templates/setup/layout.html:5 +msgid "Instance Setup" +msgstr "" + +#: bookwyrm/templates/setup/layout.html:15 +msgid "Installing BookWyrm" +msgstr "" + +#: bookwyrm/templates/setup/layout.html:18 +msgid "Need help?" +msgstr "" + #: bookwyrm/templates/shelf/create_shelf_form.html:5 msgid "Create Shelf" msgstr "建立書架" @@ -4000,7 +4137,7 @@ msgstr[0] "" msgid "No cover" msgstr "沒有封面" -#: bookwyrm/templates/snippets/book_titleby.html:10 +#: bookwyrm/templates/snippets/book_titleby.html:11 #, python-format msgid "%(title)s by" msgstr "" @@ -4015,7 +4152,7 @@ msgstr "轉發" msgid "Un-boost" msgstr "取消轉發" -#: bookwyrm/templates/snippets/create_status.html:39 +#: bookwyrm/templates/snippets/create_status.html:36 msgid "Quote" msgstr "引用" @@ -4300,7 +4437,11 @@ msgstr "開始 \"%(book_title)s\"" msgid "Want to Read \"%(book_title)s\"" msgstr "想要閱讀 \"%(book_title)s\"" -#: bookwyrm/templates/snippets/register_form.html:30 +#: bookwyrm/templates/snippets/register_form.html:18 +msgid "Choose wisely! Your username cannot be changed." +msgstr "" + +#: bookwyrm/templates/snippets/register_form.html:64 msgid "Sign Up" msgstr "註冊" From 5d4efd457a9ac404334948bd1e271b5e26f07486 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 25 Feb 2022 12:39:44 -0800 Subject: [PATCH 03/56] Removes scrollIntoView script behavior for tabs --- bookwyrm/static/js/vendor/tabs.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/bookwyrm/static/js/vendor/tabs.js b/bookwyrm/static/js/vendor/tabs.js index 0535cc869..884fb08f6 100644 --- a/bookwyrm/static/js/vendor/tabs.js +++ b/bookwyrm/static/js/vendor/tabs.js @@ -56,10 +56,6 @@ class TabGroup { tab.addEventListener('keydown', this.keydownEventListener.bind(this)); tab.addEventListener('keyup', this.keyupEventListener.bind(this)); - if (isSelected) { - tab.scrollIntoView(); - } - tab.index = count++; } } From cec7625e1eed97ab3259735a6dcd8c354f69ac0a Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 25 Feb 2022 12:47:46 -0800 Subject: [PATCH 04/56] Moves tabs script to main scripts directory It's our own custom script at this point --- bookwyrm/static/js/{vendor => }/tabs.js | 0 bookwyrm/templates/book/book.html | 2 +- bookwyrm/templates/feed/layout.html | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename bookwyrm/static/js/{vendor => }/tabs.js (100%) diff --git a/bookwyrm/static/js/vendor/tabs.js b/bookwyrm/static/js/tabs.js similarity index 100% rename from bookwyrm/static/js/vendor/tabs.js rename to bookwyrm/static/js/tabs.js diff --git a/bookwyrm/templates/book/book.html b/bookwyrm/templates/book/book.html index e15b656cf..60e3d4fd8 100644 --- a/bookwyrm/templates/book/book.html +++ b/bookwyrm/templates/book/book.html @@ -386,6 +386,6 @@ {% endblock %} {% block scripts %} - + {% endblock %} diff --git a/bookwyrm/templates/feed/layout.html b/bookwyrm/templates/feed/layout.html index 5697f2669..5083c0ab8 100644 --- a/bookwyrm/templates/feed/layout.html +++ b/bookwyrm/templates/feed/layout.html @@ -31,5 +31,5 @@ {% endblock %} {% block scripts %} - + {% endblock %} From 65bd3945e70db3224ce953e4b0acea6db0f288e5 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 25 Feb 2022 12:52:35 -0800 Subject: [PATCH 05/56] Prettify tabs file --- bookwyrm/static/js/tabs.js | 72 ++++++++++++++++++-------------------- 1 file changed, 34 insertions(+), 38 deletions(-) diff --git a/bookwyrm/static/js/tabs.js b/bookwyrm/static/js/tabs.js index 884fb08f6..f284e5484 100644 --- a/bookwyrm/static/js/tabs.js +++ b/bookwyrm/static/js/tabs.js @@ -1,11 +1,11 @@ /* exported TabGroup */ /* -* The content below is licensed according to the W3C Software License at -* https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document -* Heavily modified to web component by Zach Leatherman -* Modified back to vanilla JavaScript with support for Bulma markup and nested tabs by Ned Zimmerman -*/ + * The content below is licensed according to the W3C Software License at + * https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document + * Heavily modified to web component by Zach Leatherman + * Modified back to vanilla JavaScript with support for Bulma markup and nested tabs by Ned Zimmerman + */ class TabGroup { constructor(container) { this.container = container; @@ -15,7 +15,7 @@ class TabGroup { this.panels = this.container.querySelectorAll(':scope > [role="tabpanel"]'); this.delay = this.determineDelay(); - if(!this.tablist || !this.tabs.length || !this.panels.length) { + if (!this.tablist || !this.tabs.length || !this.panels.length) { return; } @@ -32,7 +32,7 @@ class TabGroup { left: 37, up: 38, right: 39, - down: 40 + down: 40, }; } @@ -42,19 +42,19 @@ class TabGroup { 37: -1, 38: -1, 39: 1, - 40: 1 + 40: 1, }; } initTabs() { let count = 0; - for(let tab of this.tabs) { + for (let tab of this.tabs) { let isSelected = tab.getAttribute("aria-selected") === "true"; tab.setAttribute("tabindex", isSelected ? "0" : "-1"); - tab.addEventListener('click', this.clickEventListener.bind(this)); - tab.addEventListener('keydown', this.keydownEventListener.bind(this)); - tab.addEventListener('keyup', this.keyupEventListener.bind(this)); + tab.addEventListener("click", this.clickEventListener.bind(this)); + tab.addEventListener("keydown", this.keydownEventListener.bind(this)); + tab.addEventListener("keyup", this.keyupEventListener.bind(this)); tab.index = count++; } @@ -64,8 +64,8 @@ class TabGroup { let selectedPanelId = this.tablist .querySelector('[role="tab"][aria-selected="true"]') .getAttribute("aria-controls"); - for(let panel of this.panels) { - if(panel.getAttribute("id") !== selectedPanelId) { + for (let panel of this.panels) { + if (panel.getAttribute("id") !== selectedPanelId) { panel.setAttribute("hidden", ""); } panel.setAttribute("tabindex", "0"); @@ -122,7 +122,7 @@ class TabGroup { // In all other cases only left and right arrow function. determineOrientation(event) { var key = event.keyCode; - var vertical = this.tablist.getAttribute('aria-orientation') == 'vertical'; + var vertical = this.tablist.getAttribute("aria-orientation") == "vertical"; var proceed = false; if (vertical) { @@ -130,8 +130,7 @@ class TabGroup { event.preventDefault(); proceed = true; } - } - else { + } else { if (key === this.keys.left || key === this.keys.right) { proceed = true; } @@ -148,7 +147,7 @@ class TabGroup { var pressed = event.keyCode; for (let tab of this.tabs) { - tab.addEventListener('focus', this.focusEventHandler.bind(this)); + tab.addEventListener("focus", this.focusEventHandler.bind(this)); } if (this.direction[pressed]) { @@ -156,11 +155,9 @@ class TabGroup { if (target.index !== undefined) { if (this.tabs[target.index + this.direction[pressed]]) { this.tabs[target.index + this.direction[pressed]].focus(); - } - else if (pressed === this.keys.left || pressed === this.keys.up) { + } else if (pressed === this.keys.left || pressed === this.keys.up) { this.focusLastTab(); - } - else if (pressed === this.keys.right || pressed == this.keys.down) { + } else if (pressed === this.keys.right || pressed == this.keys.down) { this.focusFirstTab(); } } @@ -168,8 +165,8 @@ class TabGroup { } // Activates any given tab panel - activateTab (tab, setFocus) { - if(tab.getAttribute("role") !== "tab") { + activateTab(tab, setFocus) { + if (tab.getAttribute("role") !== "tab") { tab = tab.closest('[role="tab"]'); } @@ -179,19 +176,19 @@ class TabGroup { this.deactivateTabs(); // Remove tabindex attribute - tab.removeAttribute('tabindex'); + tab.removeAttribute("tabindex"); // Set the tab as selected - tab.setAttribute('aria-selected', 'true'); + tab.setAttribute("aria-selected", "true"); // Give the tab is-active class - tab.classList.add('is-active'); + tab.classList.add("is-active"); // Get the value of aria-controls (which is an ID) - var controls = tab.getAttribute('aria-controls'); + var controls = tab.getAttribute("aria-controls"); // Remove hidden attribute from tab panel to make it visible - document.getElementById(controls).removeAttribute('hidden'); + document.getElementById(controls).removeAttribute("hidden"); // Set focus when required if (setFocus) { @@ -202,14 +199,14 @@ class TabGroup { // Deactivate all tabs and tab panels deactivateTabs() { for (let tab of this.tabs) { - tab.classList.remove('is-active'); - tab.setAttribute('tabindex', '-1'); - tab.setAttribute('aria-selected', 'false'); - tab.removeEventListener('focus', this.focusEventHandler.bind(this)); + tab.classList.remove("is-active"); + tab.setAttribute("tabindex", "-1"); + tab.setAttribute("aria-selected", "false"); + tab.removeEventListener("focus", this.focusEventHandler.bind(this)); } for (let panel of this.panels) { - panel.setAttribute('hidden', 'hidden'); + panel.setAttribute("hidden", "hidden"); } } @@ -224,15 +221,14 @@ class TabGroup { // Determine whether there should be a delay // when user navigates with the arrow keys determineDelay() { - var hasDelay = this.tablist.hasAttribute('data-delay'); + var hasDelay = this.tablist.hasAttribute("data-delay"); var delay = 0; if (hasDelay) { - var delayValue = this.tablist.getAttribute('data-delay'); + var delayValue = this.tablist.getAttribute("data-delay"); if (delayValue) { delay = delayValue; - } - else { + } else { // If no value is specified, default to 300ms delay = 300; } From 02808f88e6888230704f193f3238648dbee072f2 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 25 Feb 2022 12:59:49 -0800 Subject: [PATCH 06/56] eslint fixes --- bookwyrm/settings.py | 2 +- bookwyrm/static/js/tabs.js | 31 +++++++++++++++++++------------ 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py index 7a37499ef..0fbe3b731 100644 --- a/bookwyrm/settings.py +++ b/bookwyrm/settings.py @@ -21,7 +21,7 @@ RELEASE_API = env( PAGE_LENGTH = env("PAGE_LENGTH", 15) DEFAULT_LANGUAGE = env("DEFAULT_LANGUAGE", "English") -JS_CACHE = "a60e5a55" +JS_CACHE = "c7144efb" # email EMAIL_BACKEND = env("EMAIL_BACKEND", "django.core.mail.backends.smtp.EmailBackend") diff --git a/bookwyrm/static/js/tabs.js b/bookwyrm/static/js/tabs.js index f284e5484..1dcb0cace 100644 --- a/bookwyrm/static/js/tabs.js +++ b/bookwyrm/static/js/tabs.js @@ -48,8 +48,10 @@ class TabGroup { initTabs() { let count = 0; + for (let tab of this.tabs) { let isSelected = tab.getAttribute("aria-selected") === "true"; + tab.setAttribute("tabindex", isSelected ? "0" : "-1"); tab.addEventListener("click", this.clickEventListener.bind(this)); @@ -64,6 +66,7 @@ class TabGroup { let selectedPanelId = this.tablist .querySelector('[role="tab"][aria-selected="true"]') .getAttribute("aria-controls"); + for (let panel of this.panels) { if (panel.getAttribute("id") !== selectedPanelId) { panel.setAttribute("hidden", ""); @@ -82,16 +85,18 @@ class TabGroup { // Handle keydown on tabs keydownEventListener(event) { - var key = event.keyCode; + const key = event.keyCode; switch (key) { case this.keys.end: event.preventDefault(); + // Activate last tab this.activateTab(this.tabs[this.tabs.length - 1]); break; case this.keys.home: event.preventDefault(); + // Activate first tab this.activateTab(this.tabs[0]); break; @@ -107,7 +112,7 @@ class TabGroup { // Handle keyup on tabs keyupEventListener(event) { - var key = event.keyCode; + const key = event.keyCode; switch (key) { case this.keys.left: @@ -121,9 +126,9 @@ class TabGroup { // only up and down arrow should function. // In all other cases only left and right arrow function. determineOrientation(event) { - var key = event.keyCode; - var vertical = this.tablist.getAttribute("aria-orientation") == "vertical"; - var proceed = false; + const key = event.keyCode; + const vertical = this.tablist.getAttribute("aria-orientation") == "vertical"; + let proceed = false; if (vertical) { if (key === this.keys.up || key === this.keys.down) { @@ -144,14 +149,15 @@ class TabGroup { // Either focus the next, previous, first, or last tab // depending on key pressed switchTabOnArrowPress(event) { - var pressed = event.keyCode; + const pressed = event.keyCode; for (let tab of this.tabs) { tab.addEventListener("focus", this.focusEventHandler.bind(this)); } if (this.direction[pressed]) { - var target = event.target; + const target = event.target; + if (target.index !== undefined) { if (this.tabs[target.index + this.direction[pressed]]) { this.tabs[target.index + this.direction[pressed]].focus(); @@ -185,7 +191,7 @@ class TabGroup { tab.classList.add("is-active"); // Get the value of aria-controls (which is an ID) - var controls = tab.getAttribute("aria-controls"); + const controls = tab.getAttribute("aria-controls"); // Remove hidden attribute from tab panel to make it visible document.getElementById(controls).removeAttribute("hidden"); @@ -221,11 +227,12 @@ class TabGroup { // Determine whether there should be a delay // when user navigates with the arrow keys determineDelay() { - var hasDelay = this.tablist.hasAttribute("data-delay"); - var delay = 0; + const hasDelay = this.tablist.hasAttribute("data-delay"); + let delay = 0; if (hasDelay) { - var delayValue = this.tablist.getAttribute("data-delay"); + const delayValue = this.tablist.getAttribute("data-delay"); + if (delayValue) { delay = delayValue; } else { @@ -238,7 +245,7 @@ class TabGroup { } focusEventHandler(event) { - var target = event.target; + const target = event.target; setTimeout(this.checkTabFocus.bind(this), this.delay, target); } From e15193e1000193a64742b91c02688b78c2eaec58 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 26 Feb 2022 12:43:27 -0800 Subject: [PATCH 07/56] Adds themes --- .../migrations/0142_auto_20220226_2024.py | 73 +++++++++++++++++++ bookwyrm/models/site.py | 27 +++++++ .../{themes/dark.scss => bookwyrm-dark.scss} | 0 .../light.scss => bookwyrm-light.scss} | 4 +- bookwyrm/static/css/bookwyrm.scss | 1 - bookwyrm/templates/layout.html | 2 +- bookwyrm/templates/settings/site.html | 43 +++++++---- 7 files changed, 133 insertions(+), 17 deletions(-) create mode 100644 bookwyrm/migrations/0142_auto_20220226_2024.py rename bookwyrm/static/css/{themes/dark.scss => bookwyrm-dark.scss} (100%) rename bookwyrm/static/css/{themes/light.scss => bookwyrm-light.scss} (93%) diff --git a/bookwyrm/migrations/0142_auto_20220226_2024.py b/bookwyrm/migrations/0142_auto_20220226_2024.py new file mode 100644 index 000000000..662cd9bdc --- /dev/null +++ b/bookwyrm/migrations/0142_auto_20220226_2024.py @@ -0,0 +1,73 @@ +# Generated by Django 3.2.12 on 2022-02-26 20:24 + +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion + + +def add_default_themes(apps, schema_editor): + """add light and dark themes""" + db_alias = schema_editor.connection.alias + theme_model = apps.get_model("bookwyrm", "Theme") + theme_model.objects.using(db_alias).bulk_create( + [ + theme_model.objects.using(db_alias)( + name="BookWyrm Light", + path="bookwyrm-light.scss", + ), + theme_model.objects.using(db_alias)( + name="BookWyrm Dark", + path="bookwyrm-dark.scss", + ), + ] + ) + + +class Migration(migrations.Migration): + + dependencies = [ + ("bookwyrm", "0141_alter_report_status"), + ] + + operations = [ + migrations.CreateModel( + name="Theme", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("created_date", models.DateTimeField(auto_now_add=True)), + ("name", models.CharField(max_length=10, unique=True)), + ( + "theme_file", + models.FileField( + upload_to="css/", + validators=[ + django.core.validators.FileExtensionValidator( + ["scss", "sass"] + ) + ], + ), + ), + ], + ), + migrations.AddField( + model_name="sitesettings", + name="default_theme", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + to="bookwyrm.theme", + ), + ), + migrations.RunPython( + add_default_themes, reversed_code=migrations.RunPython.noop + ), + ] diff --git a/bookwyrm/models/site.py b/bookwyrm/models/site.py index a40d295bc..602a3f59f 100644 --- a/bookwyrm/models/site.py +++ b/bookwyrm/models/site.py @@ -3,6 +3,7 @@ import datetime from urllib.parse import urljoin import uuid +from django.core.validators import FileExtensionValidator from django.db import models, IntegrityError from django.dispatch import receiver from django.utils import timezone @@ -24,6 +25,9 @@ class SiteSettings(models.Model): ) instance_description = models.TextField(default="This instance has no description.") instance_short_description = models.CharField(max_length=255, blank=True, null=True) + default_theme = models.ForeignKey( + "Theme", null=True, blank=True, on_delete=models.SET_NULL + ) # admin setup options install_mode = models.BooleanField(default=False) @@ -104,6 +108,29 @@ class SiteSettings(models.Model): super().save(*args, **kwargs) +class Theme(models.Model): + """Theme files""" + + created_date = models.DateTimeField(auto_now_add=True) + name = models.CharField(max_length=10, unique=True) + theme_file = models.FileField( + upload_to="css/", + validators=[FileExtensionValidator(["scss", "sass"])], + null=True, + ) + path = models.CharField(max_length=50, blank=True, null=True) + + @classmethod + def get_theme(cls, user): + """get the theme given the user/site""" + if user and user.theme: + return user.theme.path + site = SiteSettings.objects.get() + if site.theme: + return site.theme.path + return "light.scss" + + class SiteInvite(models.Model): """gives someone access to create an account on the instance""" diff --git a/bookwyrm/static/css/themes/dark.scss b/bookwyrm/static/css/bookwyrm-dark.scss similarity index 100% rename from bookwyrm/static/css/themes/dark.scss rename to bookwyrm/static/css/bookwyrm-dark.scss diff --git a/bookwyrm/static/css/themes/light.scss b/bookwyrm/static/css/bookwyrm-light.scss similarity index 93% rename from bookwyrm/static/css/themes/light.scss rename to bookwyrm/static/css/bookwyrm-light.scss index 339fc2c36..6b7b5b349 100644 --- a/bookwyrm/static/css/themes/light.scss +++ b/bookwyrm/static/css/bookwyrm-light.scss @@ -1,4 +1,4 @@ -@import "../vendor/bulma/sass/utilities/derived-variables.sass"; +@import "vendor/bulma/sass/utilities/derived-variables.sass"; /* Colors ******************************************************************************/ @@ -51,3 +51,5 @@ $menu-item-active-background-color: $link-background; ******************************************************************************/ $family-primary: $family-sans-serif; $family-secondary: $family-sans-serif; + +@import "bookwyrm.scss"; diff --git a/bookwyrm/static/css/bookwyrm.scss b/bookwyrm/static/css/bookwyrm.scss index 6b5e7e6b5..ee25b7287 100644 --- a/bookwyrm/static/css/bookwyrm.scss +++ b/bookwyrm/static/css/bookwyrm.scss @@ -1,7 +1,6 @@ @charset "utf-8"; @import "instance-settings"; -@import "themes/light.scss"; @import "vendor/bulma/bulma.sass"; @import "vendor/icons.css"; @import "bookwyrm/all.scss"; diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index 0e8740724..a31499966 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -8,7 +8,7 @@ {% block title %}BookWyrm{% endblock %} - {{ site.name }} - + diff --git a/bookwyrm/templates/settings/site.html b/bookwyrm/templates/settings/site.html index 2ecd988ea..0afbd64f6 100644 --- a/bookwyrm/templates/settings/site.html +++ b/bookwyrm/templates/settings/site.html @@ -8,7 +8,7 @@ {% block site-subtabs %}

@@ -68,20 +68,35 @@ -
-

{% trans "Images" %}

-
-
- - {{ site_form.logo }} +
+

{% trans "Display" %}

+
+

{% trans "Images" %}

+
+
+ + {{ site_form.logo }} +
+
+ + {{ site_form.logo_small }} +
+
+ + {{ site_form.favicon }} +
-
- - {{ site_form.logo_small }} -
-
- - {{ site_form.favicon }} + +

{% trans "Themes" %}

+
+ +
+ {{ site_form.default_theme }} +
+ +
From 43269429acdec88d1c369a142543d124ef060427 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 26 Feb 2022 13:38:45 -0800 Subject: [PATCH 08/56] Use selected theme --- ...226_2024.py => 0142_auto_20220226_2047.py} | 36 +++++++++++-------- bookwyrm/models/__init__.py | 2 +- bookwyrm/models/site.py | 16 ++++----- bookwyrm/models/user.py | 14 ++++++++ bookwyrm/static/css/bookwyrm-dark.scss | 4 ++- bookwyrm/templates/layout.html | 4 ++- 6 files changed, 50 insertions(+), 26 deletions(-) rename bookwyrm/migrations/{0142_auto_20220226_2024.py => 0142_auto_20220226_2047.py} (67%) diff --git a/bookwyrm/migrations/0142_auto_20220226_2024.py b/bookwyrm/migrations/0142_auto_20220226_2047.py similarity index 67% rename from bookwyrm/migrations/0142_auto_20220226_2024.py rename to bookwyrm/migrations/0142_auto_20220226_2047.py index 662cd9bdc..928d556c7 100644 --- a/bookwyrm/migrations/0142_auto_20220226_2024.py +++ b/bookwyrm/migrations/0142_auto_20220226_2047.py @@ -1,4 +1,4 @@ -# Generated by Django 3.2.12 on 2022-02-26 20:24 +# Generated by Django 3.2.12 on 2022-02-26 20:47 import django.core.validators from django.db import migrations, models @@ -9,17 +9,13 @@ def add_default_themes(apps, schema_editor): """add light and dark themes""" db_alias = schema_editor.connection.alias theme_model = apps.get_model("bookwyrm", "Theme") - theme_model.objects.using(db_alias).bulk_create( - [ - theme_model.objects.using(db_alias)( - name="BookWyrm Light", - path="bookwyrm-light.scss", - ), - theme_model.objects.using(db_alias)( - name="BookWyrm Dark", - path="bookwyrm-dark.scss", - ), - ] + theme_model.objects.using(db_alias).create( + name="BookWyrm Light", + path="bookwyrm-light.scss", + ) + theme_model.objects.using(db_alias).create( + name="BookWyrm Dark", + path="bookwyrm-dark.scss", ) @@ -43,10 +39,11 @@ class Migration(migrations.Migration): ), ), ("created_date", models.DateTimeField(auto_now_add=True)), - ("name", models.CharField(max_length=10, unique=True)), + ("name", models.CharField(max_length=50, unique=True)), ( "theme_file", models.FileField( + null=True, upload_to="css/", validators=[ django.core.validators.FileExtensionValidator( @@ -55,6 +52,7 @@ class Migration(migrations.Migration): ], ), ), + ("path", models.CharField(blank=True, max_length=50, null=True)), ], ), migrations.AddField( @@ -67,7 +65,17 @@ class Migration(migrations.Migration): to="bookwyrm.theme", ), ), + migrations.AddField( + model_name="user", + name="theme", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + to="bookwyrm.theme", + ), + ), migrations.RunPython( - add_default_themes, reversed_code=migrations.RunPython.noop + add_default_themes, reverse_code=migrations.RunPython.noop ), ] diff --git a/bookwyrm/models/__init__.py b/bookwyrm/models/__init__.py index 440d18d95..a8a84f095 100644 --- a/bookwyrm/models/__init__.py +++ b/bookwyrm/models/__init__.py @@ -26,7 +26,7 @@ from .group import Group, GroupMember, GroupMemberInvitation from .import_job import ImportJob, ImportItem -from .site import SiteSettings, SiteInvite +from .site import SiteSettings, Theme, SiteInvite from .site import PasswordReset, InviteRequest from .announcement import Announcement from .antispam import EmailBlocklist, IPBlocklist, AutoMod, automod_task diff --git a/bookwyrm/models/site.py b/bookwyrm/models/site.py index 602a3f59f..30ebfe742 100644 --- a/bookwyrm/models/site.py +++ b/bookwyrm/models/site.py @@ -112,7 +112,7 @@ class Theme(models.Model): """Theme files""" created_date = models.DateTimeField(auto_now_add=True) - name = models.CharField(max_length=10, unique=True) + name = models.CharField(max_length=50, unique=True) theme_file = models.FileField( upload_to="css/", validators=[FileExtensionValidator(["scss", "sass"])], @@ -120,15 +120,13 @@ class Theme(models.Model): ) path = models.CharField(max_length=50, blank=True, null=True) - @classmethod - def get_theme(cls, user): + def __str__(self): + return self.name + + @property + def theme_path(self): """get the theme given the user/site""" - if user and user.theme: - return user.theme.path - site = SiteSettings.objects.get() - if site.theme: - return site.theme.path - return "light.scss" + return self.theme_file.path if self.theme_file else self.path class SiteInvite(models.Model): diff --git a/bookwyrm/models/user.py b/bookwyrm/models/user.py index 6367dcaef..3d12e6044 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) + theme = models.ForeignKey("Theme", null=True, blank=True, on_delete=models.SET_NULL) # options to turn features on and off show_goal = models.BooleanField(default=True) @@ -172,6 +173,19 @@ class User(OrderedCollectionPageMixin, AbstractUser): property_fields = [("following_link", "following")] field_tracker = FieldTracker(fields=["name", "avatar"]) + @property + def get_theme(self): + """get the theme given the user/site""" + if self.theme: + path = self.theme.theme_path + else: + site_model = apps.get_model("bookwyrm", "SiteSettings", require_ready=True) + site = site_model.objects.get() + if site.default_theme: + path = site.default_theme.theme_path + path = path or "light.scss" + return f"css/{path}" + @property def confirmation_link(self): """helper for generating confirmation links""" diff --git a/bookwyrm/static/css/bookwyrm-dark.scss b/bookwyrm/static/css/bookwyrm-dark.scss index 8df4ce500..957187ffd 100644 --- a/bookwyrm/static/css/bookwyrm-dark.scss +++ b/bookwyrm/static/css/bookwyrm-dark.scss @@ -1,4 +1,4 @@ -@import "../vendor/bulma/sass/utilities/derived-variables.sass"; +@import "vendor/bulma/sass/utilities/derived-variables.sass"; /* Colors ******************************************************************************/ @@ -53,3 +53,5 @@ $menu-item-active-background-color: $link-background; ******************************************************************************/ $family-primary: $family-sans-serif; $family-secondary: $family-sans-serif; + +@import "bookwyrm.scss"; diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index a31499966..444241e5b 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -8,7 +8,9 @@ {% block title %}BookWyrm{% endblock %} - {{ site.name }} - + {% with theme_path=user.get_theme %} + + {% endwith %} From 40319302b76f0f542ec15494c191c4465a625714 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sun, 27 Feb 2022 05:20:29 -0800 Subject: [PATCH 09/56] Initial theme --- bookwyrm/static/css/bookwyrm/_all.scss | 2 +- .../css/bookwyrm/components/_details.scss | 2 +- .../css/bookwyrm/components/_toggle.scss | 2 +- bookwyrm/static/css/themes/dark.scss | 51 ++++++++++++++----- bookwyrm/static/css/themes/light.scss | 3 ++ 5 files changed, 43 insertions(+), 17 deletions(-) diff --git a/bookwyrm/static/css/bookwyrm/_all.scss b/bookwyrm/static/css/bookwyrm/_all.scss index 11d7e403d..f01cec606 100644 --- a/bookwyrm/static/css/bookwyrm/_all.scss +++ b/bookwyrm/static/css/bookwyrm/_all.scss @@ -115,7 +115,7 @@ button .button-invisible-overlay { align-items: center; flex-direction: column; justify-content: center; - background: rgba($scheme-invert, 0.66); + background: $invisible-overlay-background-color; color: white; opacity: 0; transition: opacity 0.2s ease; diff --git a/bookwyrm/static/css/bookwyrm/components/_details.scss b/bookwyrm/static/css/bookwyrm/components/_details.scss index 645de4a1d..5708c9461 100644 --- a/bookwyrm/static/css/bookwyrm/components/_details.scss +++ b/bookwyrm/static/css/bookwyrm/components/_details.scss @@ -53,7 +53,7 @@ details.dropdown .dropdown-menu a:focus-visible { @media only screen and (max-width: 768px) { details.dropdown[open] summary.dropdown-trigger::before { - background-color: rgba($scheme-invert, 0.5); + background-color: $modal-background-background-color; z-index: 30; } diff --git a/bookwyrm/static/css/bookwyrm/components/_toggle.scss b/bookwyrm/static/css/bookwyrm/components/_toggle.scss index c2c07dfb8..74d7f0d92 100644 --- a/bookwyrm/static/css/bookwyrm/components/_toggle.scss +++ b/bookwyrm/static/css/bookwyrm/components/_toggle.scss @@ -3,7 +3,7 @@ .toggle-button[aria-pressed="true"], .toggle-button[aria-pressed="true"]:hover { - background-color: hsl(171deg, 100%, 41%); + background-color: $primary; color: white; } diff --git a/bookwyrm/static/css/themes/dark.scss b/bookwyrm/static/css/themes/dark.scss index 8df4ce500..30ca12b13 100644 --- a/bookwyrm/static/css/themes/dark.scss +++ b/bookwyrm/static/css/themes/dark.scss @@ -1,24 +1,30 @@ -@import "../vendor/bulma/sass/utilities/derived-variables.sass"; +@import "../vendor/bulma/sass/utilities/initial-variables.sass"; /* Colors ******************************************************************************/ /* states */ -$primary: #016a5b; +$primary: #005e50; +$primary-light: #1d2b28; $info: #1f4666; $success: #246447; $warning: #8b6c15; $danger: #872538; +$danger-light: #481922; +$light: #393939; /* book cover standins */ $no-cover-color: #002549; /* background colors */ -$scheme-main: $grey-darker; -$scheme-main-bis: $black-ter; -$background-body: $grey-darker; -$background-secondary: $grey-dark; -$background-tertiary: #555; +$scheme-main: rgb(24, 27, 28); +$scheme-invert: #fff; +$scheme-main-bis: rgb(28, 30, 32); +$scheme-main-ter: rgb(32, 34, 36); +$background-body: rgb(24, 27, 28); +$background-secondary: rgb(28, 30, 32); +$background-tertiary: rgb(32, 34, 36); +$modal-background-background-color: rgba($black, 0.8); /* highlight colors */ $primary-highlight: $primary; @@ -26,10 +32,9 @@ $info-highlight: $info; $success-highlight: $success; /* borders */ -$border: $grey; -$border-hover: $grey-light; -$border-light: $grey; -$border-light-hover: $grey-light; +$border: #2b3031; +$border-light: #444; +$border-hover: #51595d; /* text */ $text: $grey-lightest; @@ -37,17 +42,35 @@ $text-light: $grey-lighter; $text-strong: $white-ter; /* links */ -$link: $white; +$link: #2e7eb9; $link-background: $background-tertiary; $link-hover: $white-bis; +$link-hover-border: #51595d; $link-focus: $white-bis; $link-active: $white-bis; -/* misc */ - /* bulma overrides */ $background: $background-secondary; $menu-item-active-background-color: $link-background; +$navbar-dropdown-item-hover-color: $white; + +/* These element's colors are hardcoded, probably a bug in bulma? */ +@media screen and (min-width: 769px) { + .navbar-dropdown { + box-shadow: 0 8px 8px rgba($black, 0.2) !important; + } +} + +@media screen and (max-width: 768px) { + .navbar-menu { + box-shadow: 0 8px 8px rgba($black, 0.2) !important; + } +} + +/* misc */ +$shadow: 0 0.5em 1em -0.125em rgba($black, 0.2), 0 0px 0 1px rgba($black, 0.02); +$card-header-shadow: 0 0.125em 0.25em rgba($black, 0.1); +$invisible-overlay-background-color: rgba($black, 0.66); /* Fonts ******************************************************************************/ diff --git a/bookwyrm/static/css/themes/light.scss b/bookwyrm/static/css/themes/light.scss index 339fc2c36..60781ff58 100644 --- a/bookwyrm/static/css/themes/light.scss +++ b/bookwyrm/static/css/themes/light.scss @@ -47,6 +47,9 @@ $link-active: $grey-darker; $background: $background-secondary; $menu-item-active-background-color: $link-background; +/* misc */ +$invisible-overlay-background-color: rgba($scheme-invert, 0.66); + /* Fonts ******************************************************************************/ $family-primary: $family-sans-serif; From e4d7dd7ee4c21af9d78eb806a5b5a7dd61849077 Mon Sep 17 00:00:00 2001 From: Vivianne Langdon Date: Sun, 27 Feb 2022 05:29:33 -0800 Subject: [PATCH 10/56] Fix progress bar --- bookwyrm/static/css/themes/dark.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/bookwyrm/static/css/themes/dark.scss b/bookwyrm/static/css/themes/dark.scss index 30ca12b13..c24e153e6 100644 --- a/bookwyrm/static/css/themes/dark.scss +++ b/bookwyrm/static/css/themes/dark.scss @@ -71,6 +71,7 @@ $navbar-dropdown-item-hover-color: $white; $shadow: 0 0.5em 1em -0.125em rgba($black, 0.2), 0 0px 0 1px rgba($black, 0.02); $card-header-shadow: 0 0.125em 0.25em rgba($black, 0.1); $invisible-overlay-background-color: rgba($black, 0.66); +$progress-value-background-color: $border-light; /* Fonts ******************************************************************************/ From 6e96c1eee7d525845bafc4c89828ac68bdf232f9 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 27 Feb 2022 08:09:17 -0800 Subject: [PATCH 11/56] Avoid linter error --- bookwyrm/models/site.py | 1 + 1 file changed, 1 insertion(+) diff --git a/bookwyrm/models/site.py b/bookwyrm/models/site.py index 30ebfe742..13cfdc756 100644 --- a/bookwyrm/models/site.py +++ b/bookwyrm/models/site.py @@ -121,6 +121,7 @@ class Theme(models.Model): path = models.CharField(max_length=50, blank=True, null=True) def __str__(self): + # pylint: disable=invalid-str-returned return self.name @property From 3dfbb3272e35877400da907d4d958ea8554b995a Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 27 Feb 2022 10:00:50 -0800 Subject: [PATCH 12/56] Theme selector --- bookwyrm/forms.py | 18 +++ ...226_2047.py => 0142_auto_20220227_1752.py} | 17 +-- bookwyrm/models/site.py | 13 +-- bookwyrm/models/user.py | 6 +- bookwyrm/templates/settings/layout.html | 4 + bookwyrm/templates/settings/site.html | 9 +- bookwyrm/templates/settings/themes.html | 109 ++++++++++++++++++ bookwyrm/urls.py | 1 + bookwyrm/views/__init__.py | 1 + bookwyrm/views/admin/site.py | 2 +- bookwyrm/views/admin/themes.py | 38 ++++++ 11 files changed, 184 insertions(+), 34 deletions(-) rename bookwyrm/migrations/{0142_auto_20220226_2047.py => 0142_auto_20220227_1752.py} (76%) create mode 100644 bookwyrm/templates/settings/themes.html create mode 100644 bookwyrm/views/admin/themes.py diff --git a/bookwyrm/forms.py b/bookwyrm/forms.py index 7ae4e446f..926aaecf3 100644 --- a/bookwyrm/forms.py +++ b/bookwyrm/forms.py @@ -454,6 +454,24 @@ class SiteForm(CustomForm): } +class SiteThemeForm(CustomForm): + class Meta: + model = models.SiteSettings + fields = ["default_theme"] + + +class ThemeForm(CustomForm): + class Meta: + model = models.Theme + fields = ["name", "path"] + widgets = { + "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), + "path": ClearableFileInputWithWarning( + attrs={"aria-describedby": "desc_path"} + ), + } + + class AnnouncementForm(CustomForm): class Meta: model = models.Announcement diff --git a/bookwyrm/migrations/0142_auto_20220226_2047.py b/bookwyrm/migrations/0142_auto_20220227_1752.py similarity index 76% rename from bookwyrm/migrations/0142_auto_20220226_2047.py rename to bookwyrm/migrations/0142_auto_20220227_1752.py index 928d556c7..75f0e1e75 100644 --- a/bookwyrm/migrations/0142_auto_20220226_2047.py +++ b/bookwyrm/migrations/0142_auto_20220227_1752.py @@ -1,6 +1,5 @@ -# Generated by Django 3.2.12 on 2022-02-26 20:47 +# Generated by Django 3.2.12 on 2022-02-27 17:52 -import django.core.validators from django.db import migrations, models import django.db.models.deletion @@ -40,19 +39,7 @@ class Migration(migrations.Migration): ), ("created_date", models.DateTimeField(auto_now_add=True)), ("name", models.CharField(max_length=50, unique=True)), - ( - "theme_file", - models.FileField( - null=True, - upload_to="css/", - validators=[ - django.core.validators.FileExtensionValidator( - ["scss", "sass"] - ) - ], - ), - ), - ("path", models.CharField(blank=True, max_length=50, null=True)), + ("path", models.CharField(max_length=50, unique=True)), ], ), migrations.AddField( diff --git a/bookwyrm/models/site.py b/bookwyrm/models/site.py index 13cfdc756..c6c53f765 100644 --- a/bookwyrm/models/site.py +++ b/bookwyrm/models/site.py @@ -3,7 +3,6 @@ import datetime from urllib.parse import urljoin import uuid -from django.core.validators import FileExtensionValidator from django.db import models, IntegrityError from django.dispatch import receiver from django.utils import timezone @@ -113,22 +112,12 @@ class Theme(models.Model): created_date = models.DateTimeField(auto_now_add=True) name = models.CharField(max_length=50, unique=True) - theme_file = models.FileField( - upload_to="css/", - validators=[FileExtensionValidator(["scss", "sass"])], - null=True, - ) - path = models.CharField(max_length=50, blank=True, null=True) + path = models.CharField(max_length=50, unique=True) def __str__(self): # pylint: disable=invalid-str-returned return self.name - @property - def theme_path(self): - """get the theme given the user/site""" - return self.theme_file.path if self.theme_file else self.path - class SiteInvite(models.Model): """gives someone access to create an account on the instance""" diff --git a/bookwyrm/models/user.py b/bookwyrm/models/user.py index 3d12e6044..85702ae56 100644 --- a/bookwyrm/models/user.py +++ b/bookwyrm/models/user.py @@ -176,14 +176,14 @@ class User(OrderedCollectionPageMixin, AbstractUser): @property def get_theme(self): """get the theme given the user/site""" + path = "bookwyrm-light.scss" if self.theme: - path = self.theme.theme_path + path = self.theme.path else: site_model = apps.get_model("bookwyrm", "SiteSettings", require_ready=True) site = site_model.objects.get() if site.default_theme: - path = site.default_theme.theme_path - path = path or "light.scss" + path = site.default_theme.path return f"css/{path}" @property diff --git a/bookwyrm/templates/settings/layout.html b/bookwyrm/templates/settings/layout.html index c5a3c5af2..d76c954dc 100644 --- a/bookwyrm/templates/settings/layout.html +++ b/bookwyrm/templates/settings/layout.html @@ -86,6 +86,10 @@ {% trans "Site Settings" %} {% block site-subtabs %}{% endblock %} +
  • + {% url 'settings-themes' as url %} + {% trans "Themes" %} +
  • {% endif %} diff --git a/bookwyrm/templates/settings/site.html b/bookwyrm/templates/settings/site.html index 0afbd64f6..4d9dbe400 100644 --- a/bookwyrm/templates/settings/site.html +++ b/bookwyrm/templates/settings/site.html @@ -33,7 +33,12 @@
    {% endif %} -
    + {% csrf_token %}

    {% trans "Instance Info" %}

    @@ -95,8 +100,6 @@
    {{ site_form.default_theme }}
    - -
    diff --git a/bookwyrm/templates/settings/themes.html b/bookwyrm/templates/settings/themes.html new file mode 100644 index 000000000..6e9eb61c5 --- /dev/null +++ b/bookwyrm/templates/settings/themes.html @@ -0,0 +1,109 @@ +{% extends 'settings/layout.html' %} +{% load i18n %} + +{% block title %}{% trans "Themes" %}{% endblock %} + +{% block header %}{% trans "Themes" %}{% endblock %} + +{% block panel %} +{% if success %} +
    + + + {% trans "Successfully added theme" %} + +
    +{% endif %} + +
    +
    +

    + {% trans "Default theme:" %} {{ site.default_theme.name }} +

    + +

    + + {% trans "Set default theme" %} + +

    +
    +
    + +
    +

    {% trans "Upload theme" %}

    + + {% if theme_form.errors %} +
    + + + {% trans "Unable to save theme" %} + +
    + {% endif %} + + + {% csrf_token %} +
    +
    + +
    + {{ theme_form.name }} + {% include 'snippets/form_errors.html' with errors_list=theme_form.name.errors id="desc_name" %} +
    +
    + +
    + +
    + {{ theme_form.theme_file }} + {% include 'snippets/form_errors.html' with errors_list=theme_form.theme_file.errors id="desc_theme_file" %} +
    +
    +
    + + + +
    + +
    +

    {% trans "Available Themes" %}

    +
    + + + + + + + {% for theme in themes %} + + + + + + {% endfor %} +
    + {% trans "Theme name" %} + + {% trans "File" %} + + {% trans "Actions" %} +
    {{ theme.name }}{{ theme.theme_path }} + {% if theme.theme_file %} +
    + +
    + {% endif %} +
    +
    +
    + +{% endblock %} diff --git a/bookwyrm/urls.py b/bookwyrm/urls.py index d2caa76ea..bef6786d7 100644 --- a/bookwyrm/urls.py +++ b/bookwyrm/urls.py @@ -86,6 +86,7 @@ urlpatterns = [ r"^settings/dashboard/?$", views.Dashboard.as_view(), name="settings-dashboard" ), re_path(r"^settings/site-settings/?$", views.Site.as_view(), name="settings-site"), + re_path(r"^settings/themes/?$", views.Themes.as_view(), name="settings-themes"), re_path( r"^settings/announcements/?$", views.Announcements.as_view(), diff --git a/bookwyrm/views/__init__.py b/bookwyrm/views/__init__.py index 76e9ff024..675221cb8 100644 --- a/bookwyrm/views/__init__.py +++ b/bookwyrm/views/__init__.py @@ -21,6 +21,7 @@ from .admin.reports import ( moderator_delete_user, ) from .admin.site import Site +from .admin.themes import Themes from .admin.user_admin import UserAdmin, UserAdminList # user preferences diff --git a/bookwyrm/views/admin/site.py b/bookwyrm/views/admin/site.py index 7e75a8204..f345d9970 100644 --- a/bookwyrm/views/admin/site.py +++ b/bookwyrm/views/admin/site.py @@ -29,7 +29,7 @@ class Site(View): if not form.is_valid(): data = {"site_form": form} return TemplateResponse(request, "settings/site.html", data) - form.save() + site = form.save() data = {"site_form": forms.SiteForm(instance=site), "success": True} return TemplateResponse(request, "settings/site.html", data) diff --git a/bookwyrm/views/admin/themes.py b/bookwyrm/views/admin/themes.py new file mode 100644 index 000000000..cf11bc6d0 --- /dev/null +++ b/bookwyrm/views/admin/themes.py @@ -0,0 +1,38 @@ +""" manage themes """ +from django.contrib.auth.decorators import login_required, permission_required +from django.template.response import TemplateResponse +from django.utils.decorators import method_decorator +from django.views import View + +from bookwyrm import forms, models + + +# pylint: disable= no-self-use +@method_decorator(login_required, name="dispatch") +@method_decorator( + permission_required("bookwyrm.edit_instance_settings", raise_exception=True), + name="dispatch", +) +class Themes(View): + """manage things like the instance name""" + + def get(self, request): + """view existing themes and set defaults""" + data = { + "themes": models.Theme.objects.all(), + "theme_form": forms.ThemeForm(), + } + return TemplateResponse(request, "settings/themes.html", data) + + def post(self, request): + """edit the site settings""" + form = forms.ThemeForm(request.POST, request.FILES) + data = { + "themes": models.Theme.objects.all(), + "theme_form": form, + } + if form.is_valid(): + form.save() + data["success"] = True + data["theme_form"] = forms.ThemeForm() + return TemplateResponse(request, "settings/themes.html", data) From cc015536faff14908017da89cdcb98e47b4c74e6 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 27 Feb 2022 10:12:47 -0800 Subject: [PATCH 13/56] Adds theme instructions --- bookwyrm/forms.py | 4 +-- bookwyrm/templates/settings/themes.html | 41 +++++++++++++------------ 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/bookwyrm/forms.py b/bookwyrm/forms.py index 926aaecf3..4e6bab16e 100644 --- a/bookwyrm/forms.py +++ b/bookwyrm/forms.py @@ -466,9 +466,7 @@ class ThemeForm(CustomForm): fields = ["name", "path"] widgets = { "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), - "path": ClearableFileInputWithWarning( - attrs={"aria-describedby": "desc_path"} - ), + "path": forms.TextInput(attrs={"aria-describedby": "desc_path", "placeholder": _("example-theme.scss")}), } diff --git a/bookwyrm/templates/settings/themes.html b/bookwyrm/templates/settings/themes.html index 6e9eb61c5..3eac261d2 100644 --- a/bookwyrm/templates/settings/themes.html +++ b/bookwyrm/templates/settings/themes.html @@ -16,21 +16,24 @@ {% endif %}
    -
    -

    - {% trans "Default theme:" %} {{ site.default_theme.name }} -

    - -

    - - {% trans "Set default theme" %} - -

    +
    +

    {% trans "How to add a theme" %}

    +
      +
    1. + {% trans "Copy the theme file into the bookwyrm/static/css/ directory on your server from the command line." %} +
    2. +
    3. + {% trans "Run ./bw-dev compilescss." %} +
    4. +
    5. + {% trans "Add the file name using the form below to make it available in the application interface." %} +
    6. +
    -

    {% trans "Upload theme" %}

    +

    {% trans "Add theme" %}

    {% if theme_form.errors %}
    @@ -60,17 +63,17 @@
    -
    - +
    @@ -92,13 +95,11 @@ {% for theme in themes %} {{ theme.name }} - {{ theme.theme_path }} + {{ theme.path }} - {% if theme.theme_file %}
    - +
    - {% endif %} {% endfor %} From 8850b68b5224db3ade4cb9606bf66f11eb442e6a Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 27 Feb 2022 10:46:01 -0800 Subject: [PATCH 14/56] Show theme options --- bookwyrm/forms.py | 13 ++++++++++++- bookwyrm/migrations/0142_auto_20220227_1752.py | 4 ++-- bookwyrm/models/user.py | 14 ++++++-------- .../static/css/{ => themes}/bookwyrm-dark.scss | 4 ++-- .../static/css/{ => themes}/bookwyrm-light.scss | 4 ++-- bookwyrm/templates/layout.html | 2 +- bookwyrm/templates/settings/themes.html | 6 ++++-- 7 files changed, 29 insertions(+), 18 deletions(-) rename bookwyrm/static/css/{ => themes}/bookwyrm-dark.scss (92%) rename bookwyrm/static/css/{ => themes}/bookwyrm-light.scss (92%) diff --git a/bookwyrm/forms.py b/bookwyrm/forms.py index 4e6bab16e..81061f964 100644 --- a/bookwyrm/forms.py +++ b/bookwyrm/forms.py @@ -4,6 +4,8 @@ from collections import defaultdict from urllib.parse import urlparse from django import forms +from django.contrib.staticfiles.utils import get_files +from django.contrib.staticfiles.storage import StaticFilesStorage from django.forms import ModelForm, PasswordInput, widgets, ChoiceField from django.forms.widgets import Textarea from django.utils import timezone @@ -460,13 +462,22 @@ class SiteThemeForm(CustomForm): fields = ["default_theme"] +def get_theme_choices(): + """static files""" + choices = list(get_files(StaticFilesStorage(), location="css/themes")) + current = models.Theme.objects.values_list("path", flat=True) + return [(c, c) for c in choices if c not in current and c[-5:] == ".scss"] + + class ThemeForm(CustomForm): class Meta: model = models.Theme fields = ["name", "path"] widgets = { "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), - "path": forms.TextInput(attrs={"aria-describedby": "desc_path", "placeholder": _("example-theme.scss")}), + "path": forms.Select( + attrs={"aria-describedby": "desc_path"}, choices=get_theme_choices() + ), } diff --git a/bookwyrm/migrations/0142_auto_20220227_1752.py b/bookwyrm/migrations/0142_auto_20220227_1752.py index 75f0e1e75..2282679da 100644 --- a/bookwyrm/migrations/0142_auto_20220227_1752.py +++ b/bookwyrm/migrations/0142_auto_20220227_1752.py @@ -10,11 +10,11 @@ def add_default_themes(apps, schema_editor): theme_model = apps.get_model("bookwyrm", "Theme") theme_model.objects.using(db_alias).create( name="BookWyrm Light", - path="bookwyrm-light.scss", + path="css/themes/bookwyrm-light.scss", ) theme_model.objects.using(db_alias).create( name="BookWyrm Dark", - path="bookwyrm-dark.scss", + path="css/themes/bookwyrm-dark.scss", ) diff --git a/bookwyrm/models/user.py b/bookwyrm/models/user.py index 85702ae56..1198717e6 100644 --- a/bookwyrm/models/user.py +++ b/bookwyrm/models/user.py @@ -176,15 +176,13 @@ class User(OrderedCollectionPageMixin, AbstractUser): @property def get_theme(self): """get the theme given the user/site""" - path = "bookwyrm-light.scss" if self.theme: - path = self.theme.path - else: - site_model = apps.get_model("bookwyrm", "SiteSettings", require_ready=True) - site = site_model.objects.get() - if site.default_theme: - path = site.default_theme.path - return f"css/{path}" + return self.theme.path + site_model = apps.get_model("bookwyrm", "SiteSettings", require_ready=True) + site = site_model.objects.get() + if site.default_theme: + return site.default_theme.path + return "css/themes/bookwyrm-light.scss" @property def confirmation_link(self): diff --git a/bookwyrm/static/css/bookwyrm-dark.scss b/bookwyrm/static/css/themes/bookwyrm-dark.scss similarity index 92% rename from bookwyrm/static/css/bookwyrm-dark.scss rename to bookwyrm/static/css/themes/bookwyrm-dark.scss index 957187ffd..32e33907a 100644 --- a/bookwyrm/static/css/bookwyrm-dark.scss +++ b/bookwyrm/static/css/themes/bookwyrm-dark.scss @@ -1,4 +1,4 @@ -@import "vendor/bulma/sass/utilities/derived-variables.sass"; +@import "../vendor/bulma/sass/utilities/derived-variables.sass"; /* Colors ******************************************************************************/ @@ -54,4 +54,4 @@ $menu-item-active-background-color: $link-background; $family-primary: $family-sans-serif; $family-secondary: $family-sans-serif; -@import "bookwyrm.scss"; +@import "../bookwyrm.scss"; diff --git a/bookwyrm/static/css/bookwyrm-light.scss b/bookwyrm/static/css/themes/bookwyrm-light.scss similarity index 92% rename from bookwyrm/static/css/bookwyrm-light.scss rename to bookwyrm/static/css/themes/bookwyrm-light.scss index 6b7b5b349..08e6a2917 100644 --- a/bookwyrm/static/css/bookwyrm-light.scss +++ b/bookwyrm/static/css/themes/bookwyrm-light.scss @@ -1,4 +1,4 @@ -@import "vendor/bulma/sass/utilities/derived-variables.sass"; +@import "../vendor/bulma/sass/utilities/derived-variables.sass"; /* Colors ******************************************************************************/ @@ -52,4 +52,4 @@ $menu-item-active-background-color: $link-background; $family-primary: $family-sans-serif; $family-secondary: $family-sans-serif; -@import "bookwyrm.scss"; +@import "../bookwyrm.scss"; diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index 444241e5b..aaf21717c 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -9,7 +9,7 @@ {% block title %}BookWyrm{% endblock %} - {{ site.name }} {% with theme_path=user.get_theme %} - + {% endwith %} diff --git a/bookwyrm/templates/settings/themes.html b/bookwyrm/templates/settings/themes.html index 3eac261d2..a06193693 100644 --- a/bookwyrm/templates/settings/themes.html +++ b/bookwyrm/templates/settings/themes.html @@ -20,7 +20,7 @@

    {% trans "How to add a theme" %}

    1. - {% trans "Copy the theme file into the bookwyrm/static/css/ directory on your server from the command line." %} + {% trans "Copy the theme file into the bookwyrm/static/css/themes directory on your server from the command line." %}
    2. {% trans "Run ./bw-dev compilescss." %} @@ -67,7 +67,9 @@ {% trans "Theme filename" %}
      - {{ theme_form.path }} +
      + {{ theme_form.path }} +
      {% include 'snippets/form_errors.html' with errors_list=theme_form.path.errors id="desc_path" %}
      From fd0f7394182c864bd96244d92b81a1fa44cb3422 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 27 Feb 2022 10:51:49 -0800 Subject: [PATCH 15/56] Rename light.scss to bookwyrm-light.scss --- bookwyrm/static/css/themes/{light.scss => bookwyrm-light.scss} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename bookwyrm/static/css/themes/{light.scss => bookwyrm-light.scss} (100%) diff --git a/bookwyrm/static/css/themes/light.scss b/bookwyrm/static/css/themes/bookwyrm-light.scss similarity index 100% rename from bookwyrm/static/css/themes/light.scss rename to bookwyrm/static/css/themes/bookwyrm-light.scss From c8d3222c33ffc918c71dcf5d74f6129d0981dc3b Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 27 Feb 2022 10:52:07 -0800 Subject: [PATCH 16/56] Rename dark.scss to bookwyrm-dark.scss --- bookwyrm/static/css/themes/{dark.scss => bookwyrm-dark.scss} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename bookwyrm/static/css/themes/{dark.scss => bookwyrm-dark.scss} (100%) diff --git a/bookwyrm/static/css/themes/dark.scss b/bookwyrm/static/css/themes/bookwyrm-dark.scss similarity index 100% rename from bookwyrm/static/css/themes/dark.scss rename to bookwyrm/static/css/themes/bookwyrm-dark.scss From 8259d16ee9b4b13fa6218f3ee8d374627a7b774b Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 27 Feb 2022 11:19:09 -0800 Subject: [PATCH 17/56] Check available themes in form --- bookwyrm/forms.py | 13 +---------- bookwyrm/templates/settings/themes.html | 20 ++++++++++++++++- bookwyrm/views/admin/themes.py | 30 ++++++++++++++++--------- 3 files changed, 40 insertions(+), 23 deletions(-) diff --git a/bookwyrm/forms.py b/bookwyrm/forms.py index 81061f964..01228b8e8 100644 --- a/bookwyrm/forms.py +++ b/bookwyrm/forms.py @@ -4,8 +4,6 @@ from collections import defaultdict from urllib.parse import urlparse from django import forms -from django.contrib.staticfiles.utils import get_files -from django.contrib.staticfiles.storage import StaticFilesStorage from django.forms import ModelForm, PasswordInput, widgets, ChoiceField from django.forms.widgets import Textarea from django.utils import timezone @@ -462,22 +460,13 @@ class SiteThemeForm(CustomForm): fields = ["default_theme"] -def get_theme_choices(): - """static files""" - choices = list(get_files(StaticFilesStorage(), location="css/themes")) - current = models.Theme.objects.values_list("path", flat=True) - return [(c, c) for c in choices if c not in current and c[-5:] == ".scss"] - - class ThemeForm(CustomForm): class Meta: model = models.Theme fields = ["name", "path"] widgets = { "name": forms.TextInput(attrs={"aria-describedby": "desc_name"}), - "path": forms.Select( - attrs={"aria-describedby": "desc_path"}, choices=get_theme_choices() - ), + "path": forms.Select(attrs={"aria-describedby": "desc_path"}), } diff --git a/bookwyrm/templates/settings/themes.html b/bookwyrm/templates/settings/themes.html index a06193693..11c344052 100644 --- a/bookwyrm/templates/settings/themes.html +++ b/bookwyrm/templates/settings/themes.html @@ -50,6 +50,12 @@ class="box" enctype="multipart/form-data" > + {% if not choices %} +
      + {% trans "No available theme files detected" %} +
      + {% endif %} +
      {% csrf_token %}
      @@ -68,7 +74,18 @@
      - {{ theme_form.path }} +
      {% include 'snippets/form_errors.html' with errors_list=theme_form.path.errors id="desc_path" %}
      @@ -76,6 +93,7 @@
      +
      diff --git a/bookwyrm/views/admin/themes.py b/bookwyrm/views/admin/themes.py index cf11bc6d0..c1eacf44b 100644 --- a/bookwyrm/views/admin/themes.py +++ b/bookwyrm/views/admin/themes.py @@ -1,5 +1,7 @@ """ manage themes """ from django.contrib.auth.decorators import login_required, permission_required +from django.contrib.staticfiles.utils import get_files +from django.contrib.staticfiles.storage import StaticFilesStorage from django.template.response import TemplateResponse from django.utils.decorators import method_decorator from django.views import View @@ -18,21 +20,29 @@ class Themes(View): def get(self, request): """view existing themes and set defaults""" - data = { - "themes": models.Theme.objects.all(), - "theme_form": forms.ThemeForm(), - } - return TemplateResponse(request, "settings/themes.html", data) + return TemplateResponse(request, "settings/themes.html", get_view_data()) def post(self, request): """edit the site settings""" form = forms.ThemeForm(request.POST, request.FILES) - data = { - "themes": models.Theme.objects.all(), - "theme_form": form, - } if form.is_valid(): form.save() + + data = get_view_data() + + if not form.is_valid(): + data["theme_form"] = form + else: data["success"] = True - data["theme_form"] = forms.ThemeForm() return TemplateResponse(request, "settings/themes.html", data) + + +def get_view_data(): + """data for view""" + choices = list(get_files(StaticFilesStorage(), location="css/themes")) + current = models.Theme.objects.values_list("path", flat=True) + return { + "themes": models.Theme.objects.all(), + "choices": [c for c in choices if c not in current and c[-5:] == ".scss"], + "theme_form": forms.ThemeForm(), + } From 4d3e709b2a425f0ac078ddaf39b70c72eb837a7f Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 09:23:03 -0800 Subject: [PATCH 18/56] Update layout.html --- bookwyrm/templates/layout.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index aaf21717c..444241e5b 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -9,7 +9,7 @@ {% block title %}BookWyrm{% endblock %} - {{ site.name }} {% with theme_path=user.get_theme %} - + {% endwith %} From f5fb5ae04572b1ea6175c954ceb9ca64055a9521 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 09:34:30 -0800 Subject: [PATCH 19/56] Removes instance config file I'd be happy to re-add this if it's useful, but I think it's confusing to have in addition to themes --- .css-config-sample/_instance-settings.scss | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 .css-config-sample/_instance-settings.scss diff --git a/.css-config-sample/_instance-settings.scss b/.css-config-sample/_instance-settings.scss deleted file mode 100644 index e86c1ce00..000000000 --- a/.css-config-sample/_instance-settings.scss +++ /dev/null @@ -1,3 +0,0 @@ -@charset "utf-8"; - -// Copy this file to bookwyrm/static/css/ and set your instance custom styles. From 2d516812b4a445e3b4e6dc562b6582fa52cdec04 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 09:34:54 -0800 Subject: [PATCH 20/56] Fixes icons by moving import to theme --- bookwyrm/static/css/bookwyrm.scss | 2 -- bookwyrm/static/css/themes/bookwyrm-dark.scss | 1 + bookwyrm/static/css/themes/bookwyrm-light.scss | 1 + 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bookwyrm/static/css/bookwyrm.scss b/bookwyrm/static/css/bookwyrm.scss index ee25b7287..437795457 100644 --- a/bookwyrm/static/css/bookwyrm.scss +++ b/bookwyrm/static/css/bookwyrm.scss @@ -1,6 +1,4 @@ @charset "utf-8"; -@import "instance-settings"; @import "vendor/bulma/bulma.sass"; -@import "vendor/icons.css"; @import "bookwyrm/all.scss"; diff --git a/bookwyrm/static/css/themes/bookwyrm-dark.scss b/bookwyrm/static/css/themes/bookwyrm-dark.scss index 32e33907a..b2a6f582e 100644 --- a/bookwyrm/static/css/themes/bookwyrm-dark.scss +++ b/bookwyrm/static/css/themes/bookwyrm-dark.scss @@ -55,3 +55,4 @@ $family-primary: $family-sans-serif; $family-secondary: $family-sans-serif; @import "../bookwyrm.scss"; +@import "../vendor/icons.css"; diff --git a/bookwyrm/static/css/themes/bookwyrm-light.scss b/bookwyrm/static/css/themes/bookwyrm-light.scss index 08e6a2917..02992bff2 100644 --- a/bookwyrm/static/css/themes/bookwyrm-light.scss +++ b/bookwyrm/static/css/themes/bookwyrm-light.scss @@ -53,3 +53,4 @@ $family-primary: $family-sans-serif; $family-secondary: $family-sans-serif; @import "../bookwyrm.scss"; +@import "../vendor/icons.css"; From f54d4863fe968d0e28b32bb320bacc2fbfb5d5e3 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 09:37:51 -0800 Subject: [PATCH 21/56] Updates .gitignore for themes --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 92fc85bc0..ec2a08f80 100644 --- a/.gitignore +++ b/.gitignore @@ -17,7 +17,8 @@ .env /images/ bookwyrm/static/css/bookwyrm.css -bookwyrm/static/css/_instance-settings.scss +bookwyrm/static/css/themes/ +!bookwyrm/static/css/themes/bookwyrm-*.scss # Testing .coverage From a00ee8a7062df15104fafeb4ce054e011d4e901b Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 09:43:31 -0800 Subject: [PATCH 22/56] Adds link to set instance-wide theme --- bookwyrm/templates/settings/themes.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bookwyrm/templates/settings/themes.html b/bookwyrm/templates/settings/themes.html index 11c344052..e3035b2ff 100644 --- a/bookwyrm/templates/settings/themes.html +++ b/bookwyrm/templates/settings/themes.html @@ -5,6 +5,12 @@ {% block header %}{% trans "Themes" %}{% endblock %} +{% block breadcrumbs %} + + {% trans "Set instance default theme" %} + +{% endblock %} + {% block panel %} {% if success %}
      From 295d9c42d79c4a33a162fc0ddbc481eb857c9390 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 09:45:34 -0800 Subject: [PATCH 23/56] Adds theme to user settings form --- bookwyrm/forms.py | 1 + bookwyrm/templates/preferences/edit_user.html | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/bookwyrm/forms.py b/bookwyrm/forms.py index 01228b8e8..0baaaa212 100644 --- a/bookwyrm/forms.py +++ b/bookwyrm/forms.py @@ -155,6 +155,7 @@ class EditUserForm(CustomForm): "discoverable", "preferred_timezone", "preferred_language", + "theme", ] help_texts = {f: None for f in fields} widgets = { diff --git a/bookwyrm/templates/preferences/edit_user.html b/bookwyrm/templates/preferences/edit_user.html index 642d177cb..e55311aea 100644 --- a/bookwyrm/templates/preferences/edit_user.html +++ b/bookwyrm/templates/preferences/edit_user.html @@ -97,6 +97,12 @@ {{ form.preferred_language }}
      +
      + +
      + {{ form.theme }} +
      +
      From 106ef2e3a49139ec8575529c0644caca7918cce1 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 09:46:05 -0800 Subject: [PATCH 24/56] Fixes reference to theme in layout --- bookwyrm/templates/layout.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index aaf21717c..444241e5b 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -9,7 +9,7 @@ {% block title %}BookWyrm{% endblock %} - {{ site.name }} {% with theme_path=user.get_theme %} - + {% endwith %} From c82042f5060ff5976d0814ae3c2ae15584fabd06 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 09:54:07 -0800 Subject: [PATCH 25/56] Delete themes --- bookwyrm/templates/settings/themes.html | 8 ++++++-- bookwyrm/urls.py | 5 +++++ bookwyrm/views/__init__.py | 2 +- bookwyrm/views/admin/themes.py | 11 +++++++++++ 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/bookwyrm/templates/settings/themes.html b/bookwyrm/templates/settings/themes.html index e3035b2ff..d3dac804f 100644 --- a/bookwyrm/templates/settings/themes.html +++ b/bookwyrm/templates/settings/themes.html @@ -123,8 +123,12 @@ {{ theme.name }} {{ theme.path }} -
      - + + {% csrf_token %} +
      diff --git a/bookwyrm/urls.py b/bookwyrm/urls.py index bef6786d7..415af912b 100644 --- a/bookwyrm/urls.py +++ b/bookwyrm/urls.py @@ -87,6 +87,11 @@ urlpatterns = [ ), re_path(r"^settings/site-settings/?$", views.Site.as_view(), name="settings-site"), re_path(r"^settings/themes/?$", views.Themes.as_view(), name="settings-themes"), + re_path( + r"^settings/themes/(?P\d+)/delete/?$", + views.delete_theme, + name="settings-themes-delete", + ), re_path( r"^settings/announcements/?$", views.Announcements.as_view(), diff --git a/bookwyrm/views/__init__.py b/bookwyrm/views/__init__.py index 675221cb8..957a0f6e7 100644 --- a/bookwyrm/views/__init__.py +++ b/bookwyrm/views/__init__.py @@ -21,7 +21,7 @@ from .admin.reports import ( moderator_delete_user, ) from .admin.site import Site -from .admin.themes import Themes +from .admin.themes import Themes, delete_theme from .admin.user_admin import UserAdmin, UserAdminList # user preferences diff --git a/bookwyrm/views/admin/themes.py b/bookwyrm/views/admin/themes.py index c1eacf44b..12b449afb 100644 --- a/bookwyrm/views/admin/themes.py +++ b/bookwyrm/views/admin/themes.py @@ -2,9 +2,11 @@ from django.contrib.auth.decorators import login_required, permission_required from django.contrib.staticfiles.utils import get_files from django.contrib.staticfiles.storage import StaticFilesStorage +from django.shortcuts import get_object_or_404, redirect from django.template.response import TemplateResponse from django.utils.decorators import method_decorator from django.views import View +from django.views.decorators.http import require_POST from bookwyrm import forms, models @@ -46,3 +48,12 @@ def get_view_data(): "choices": [c for c in choices if c not in current and c[-5:] == ".scss"], "theme_form": forms.ThemeForm(), } + + +@require_POST +@permission_required("bookwyrm.edit_instance_settings", raise_exception=True) +# pylint: disable=unused-argument +def delete_theme(request, theme_id): + """Remove a theme""" + get_object_or_404(models.Theme, id=theme_id).delete() + return redirect("settings-themes") From 202696f913e8cd4b2b347cb2e9b958e1d0f65866 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 10:03:24 -0800 Subject: [PATCH 26/56] Don't show lists a book is already on in add form --- bookwyrm/templates/book/book.html | 4 ++-- bookwyrm/views/books/books.py | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/bookwyrm/templates/book/book.html b/bookwyrm/templates/book/book.html index 60e3d4fd8..0e2fd5d39 100644 --- a/bookwyrm/templates/book/book.html +++ b/bookwyrm/templates/book/book.html @@ -352,7 +352,7 @@ {% endfor %} - {% if request.user.list_set.exists %} + {% if list_options.exists %}
      {% csrf_token %} @@ -361,7 +361,7 @@
      diff --git a/bookwyrm/views/books/books.py b/bookwyrm/views/books/books.py index e04230bac..ad7ee9436 100644 --- a/bookwyrm/views/books/books.py +++ b/bookwyrm/views/books/books.py @@ -83,6 +83,7 @@ class Book(View): } if request.user.is_authenticated: + data["list_options"] = request.user.list_set.exclude(id__in=data["lists"]) data["file_link_form"] = forms.FileLinkForm() readthroughs = models.ReadThrough.objects.filter( user=request.user, From b2b3ba653e1d1139ac36e51d38541c0c9cd83a46 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 10:29:58 -0800 Subject: [PATCH 27/56] Refactors how success/failure messages how on list page --- bookwyrm/templates/lists/list.html | 25 ++++++++++++++++++------- bookwyrm/views/list/list.py | 23 ++++++++--------------- 2 files changed, 26 insertions(+), 22 deletions(-) diff --git a/bookwyrm/templates/lists/list.html b/bookwyrm/templates/lists/list.html index 1c26733d5..73ea7dba5 100644 --- a/bookwyrm/templates/lists/list.html +++ b/bookwyrm/templates/lists/list.html @@ -30,13 +30,24 @@
      - {% if request.GET.updated %} -
      - {% if list.curation != "open" and request.user != list.user and not list.group|is_member:request.user %} - {% trans "You successfully suggested a book for this list!" %} - {% else %} - {% trans "You successfully added a book to this list!" %} - {% endif %} + {% if add_succeeded %} +
      + + + {% if list.curation != "open" and request.user != list.user and not list.group|is_member:request.user %} + {% trans "You successfully suggested a book for this list!" %} + {% else %} + {% trans "You successfully added a book to this list!" %} + {% endif %} + +
      + {% endif %} + {% if add_failed %} +
      + + + {% trans "That book is already on this list." %} +
      {% endif %} diff --git a/bookwyrm/views/list/list.py b/bookwyrm/views/list/list.py index fbbbee9fe..0b228200c 100644 --- a/bookwyrm/views/list/list.py +++ b/bookwyrm/views/list/list.py @@ -1,11 +1,10 @@ """ book list views""" from typing import Optional -from urllib.parse import urlencode from django.contrib.auth.decorators import login_required from django.core.exceptions import PermissionDenied from django.core.paginator import Paginator -from django.db import IntegrityError, transaction +from django.db import transaction from django.db.models import Avg, DecimalField, Q, Max from django.db.models.functions import Coalesce from django.http import HttpResponseBadRequest, HttpResponse @@ -26,7 +25,7 @@ from bookwyrm.views.helpers import is_api_request class List(View): """book list page""" - def get(self, request, list_id): + def get(self, request, list_id, add_failed=False, add_succeeded=True): """display a book list""" book_list = get_object_or_404(models.List, id=list_id) book_list.raise_visible_to_user(request.user) @@ -110,6 +109,8 @@ class List(View): {"direction": direction, "sort_by": sort_by} ), "embed_url": embed_url, + "add_failed": add_failed, + "add_succeeded": add_succeeded, } return TemplateResponse(request, "lists/list.html", data) @@ -179,8 +180,8 @@ def add_book(request): form = forms.ListItemForm(request.POST) if not form.is_valid(): - # this shouldn't happen, there aren't validated fields - raise Exception(form.errors) + return List().get(request, book_list.id, add_failed=True) + item = form.save(commit=False) if book_list.curation == "curated": @@ -196,17 +197,9 @@ def add_book(request): ) or 0 increment_order_in_reverse(book_list.id, order_max + 1) item.order = order_max + 1 + item.save() - try: - item.save() - except IntegrityError: - # if the book is already on the list, don't flip out - pass - - path = reverse("list", args=[book_list.id]) - params = request.GET.copy() - params["updated"] = True - return redirect(f"{path}?{urlencode(params)}") + return List().get(request, book_list.id, add_succeeded=True) @require_POST From 99fc3aaf25873eca683f8db6e2b3eee7c2448f2a Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 10:31:58 -0800 Subject: [PATCH 28/56] Avoid showing success and failure --- bookwyrm/templates/lists/list.html | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/bookwyrm/templates/lists/list.html b/bookwyrm/templates/lists/list.html index 73ea7dba5..1d5abd89e 100644 --- a/bookwyrm/templates/lists/list.html +++ b/bookwyrm/templates/lists/list.html @@ -30,7 +30,14 @@
      - {% if add_succeeded %} + {% if add_failed %} +
      + + + {% trans "That book is already on this list." %} + +
      + {% elif add_succeeded %}
      @@ -42,14 +49,6 @@
      {% endif %} - {% if add_failed %} -
      - - - {% trans "That book is already on this list." %} - -
      - {% endif %} {% if not items.object_list.exists %}

      {% trans "This list is currently empty" %}

      From 142cc5437ae6f874e2cebe26cf9dfa7e883f26c2 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 10:41:40 -0800 Subject: [PATCH 29/56] Move sorting to separate function --- bookwyrm/views/list/list.py | 67 ++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 31 deletions(-) diff --git a/bookwyrm/views/list/list.py b/bookwyrm/views/list/list.py index 0b228200c..dc1843fa1 100644 --- a/bookwyrm/views/list/list.py +++ b/bookwyrm/views/list/list.py @@ -25,7 +25,7 @@ from bookwyrm.views.helpers import is_api_request class List(View): """book list page""" - def get(self, request, list_id, add_failed=False, add_succeeded=True): + def get(self, request, list_id, add_failed=False, add_succeeded=False): """display a book list""" book_list = get_object_or_404(models.List, id=list_id) book_list.raise_visible_to_user(request.user) @@ -36,33 +36,10 @@ class List(View): query = request.GET.get("q") suggestions = None - # sort_by shall be "order" unless a valid alternative is given - sort_by = request.GET.get("sort_by", "order") - if sort_by not in ("order", "title", "rating"): - sort_by = "order" - - # direction shall be "ascending" unless a valid alternative is given - direction = request.GET.get("direction", "ascending") - if direction not in ("ascending", "descending"): - direction = "ascending" - - directional_sort_by = { - "order": "order", - "title": "book__title", - "rating": "average_rating", - }[sort_by] - if direction == "descending": - directional_sort_by = "-" + directional_sort_by - - items = book_list.listitem_set.prefetch_related("user", "book", "book__authors") - if sort_by == "rating": - items = items.annotate( - average_rating=Avg( - Coalesce("book__review__rating", 0.0), - output_field=DecimalField(), - ) - ) - items = items.filter(approved=True).order_by(directional_sort_by) + items = book_list.listitem_set.filter(approved=True).prefetch_related( + "user", "book", "book__authors" + ) + items = sort_list(request, items) paginated = Paginator(items, PAGE_LENGTH) @@ -105,9 +82,7 @@ class List(View): "suggested_books": suggestions, "list_form": forms.ListForm(instance=book_list), "query": query or "", - "sort_form": forms.SortListForm( - {"direction": direction, "sort_by": sort_by} - ), + "sort_form": forms.SortListForm(request.GET), "embed_url": embed_url, "add_failed": add_failed, "add_succeeded": add_succeeded, @@ -132,6 +107,36 @@ class List(View): return redirect(book_list.local_path) +def sort_list(request, items): + """helper to handle the surprisngly involved sorting""" + # sort_by shall be "order" unless a valid alternative is given + sort_by = request.GET.get("sort_by", "order") + if sort_by not in ("order", "title", "rating"): + sort_by = "order" + + # direction shall be "ascending" unless a valid alternative is given + direction = request.GET.get("direction", "ascending") + if direction not in ("ascending", "descending"): + direction = "ascending" + + directional_sort_by = { + "order": "order", + "title": "book__title", + "rating": "average_rating", + }[sort_by] + if direction == "descending": + directional_sort_by = "-" + directional_sort_by + + if sort_by == "rating": + items = items.annotate( + average_rating=Avg( + Coalesce("book__review__rating", 0.0), + output_field=DecimalField(), + ) + ) + return items.order_by(directional_sort_by) + + @require_POST @login_required def save_list(request, list_id): From 374dd24fa839fd1e6712e3d68936ebaf53a50423 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 10:47:08 -0800 Subject: [PATCH 30/56] Remove reviews from deleted users --- bookwyrm/models/status.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/models/status.py b/bookwyrm/models/status.py index 29b3ba9cc..17fcd4587 100644 --- a/bookwyrm/models/status.py +++ b/bookwyrm/models/status.py @@ -227,7 +227,7 @@ class Status(OrderedCollectionPageMixin, BookWyrmModel): @classmethod def privacy_filter(cls, viewer, privacy_levels=None): queryset = super().privacy_filter(viewer, privacy_levels=privacy_levels) - return queryset.filter(deleted=False) + return queryset.filter(deleted=False, user__is_active=True) @classmethod def direct_filter(cls, queryset, viewer): From 0f5fd6be155533000ca35ec12970cb1afc6144e9 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 11:05:12 -0800 Subject: [PATCH 31/56] Move translations to filter --- .../snippets/translated_shelf_name.html | 14 +++----------- bookwyrm/templatetags/shelf_tags.py | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/bookwyrm/templates/snippets/translated_shelf_name.html b/bookwyrm/templates/snippets/translated_shelf_name.html index 4da47e370..966135f51 100644 --- a/bookwyrm/templates/snippets/translated_shelf_name.html +++ b/bookwyrm/templates/snippets/translated_shelf_name.html @@ -1,12 +1,4 @@ {% load i18n %} -{% if shelf.identifier == 'all' %} - {% trans "All books" %} -{% elif shelf.identifier == 'to-read' %} - {% trans "To Read" %} -{% elif shelf.identifier == 'reading' %} - {% trans "Currently Reading" %} -{% elif shelf.identifier == 'read' %} - {% trans "Read" %} -{% else %} - {{ shelf.name }} -{% endif %} +{% load shelf_tags %} + +{{ shelf|translate_shelf_name }} diff --git a/bookwyrm/templatetags/shelf_tags.py b/bookwyrm/templatetags/shelf_tags.py index 6c4f59c36..a2788826b 100644 --- a/bookwyrm/templatetags/shelf_tags.py +++ b/bookwyrm/templatetags/shelf_tags.py @@ -1,5 +1,6 @@ """ Filters and tags related to shelving books """ from django import template +from django.utils.translation import gettext_lazy as _ from bookwyrm import models from bookwyrm.utils import cache @@ -32,6 +33,23 @@ def get_next_shelf(current_shelf): return "to-read" +@register.filter(name="translate_shelf_name") +def get_translated_shelf_name(shelf): + """produced translated shelf nidentifierame""" + if not shelf: + return "" + identifier = shelf.identifier + if identifier == "all": + return _("All books") + if identifier == "to-read": + return _("To Read") + if identifier == "reading": + return _("Currently Reading") + if identifier == "read": + return _("Read") + return shelf.name + + @register.simple_tag(takes_context=True) def active_shelf(context, book): """check what shelf a user has a book on, if any""" From ffb4098cfb565423deeec5b2bf7e2e6ecef0ed63 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 11:07:12 -0800 Subject: [PATCH 32/56] Fixes translation of "remove from shelf" string --- bookwyrm/templates/snippets/shelf_selector.html | 4 +++- .../shelve_button/shelve_button_dropdown_options.html | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/bookwyrm/templates/snippets/shelf_selector.html b/bookwyrm/templates/snippets/shelf_selector.html index 4b3ad4bdc..a5f768a75 100644 --- a/bookwyrm/templates/snippets/shelf_selector.html +++ b/bookwyrm/templates/snippets/shelf_selector.html @@ -71,7 +71,9 @@ {% csrf_token %} - +
    3. {% endif %} 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 1fa26a886..75dad0c80 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 @@ From 7d6032e1102956758c32fe7a7348abcb0beef0c7 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 28 Feb 2022 11:17:52 -0800 Subject: [PATCH 33/56] Fixes calls to filter --- bookwyrm/templates/snippets/shelf_selector.html | 2 +- .../shelve_button/shelve_button_dropdown_options.html | 2 +- bookwyrm/templatetags/shelf_tags.py | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/bookwyrm/templates/snippets/shelf_selector.html b/bookwyrm/templates/snippets/shelf_selector.html index a5f768a75..2d1f2a83c 100644 --- a/bookwyrm/templates/snippets/shelf_selector.html +++ b/bookwyrm/templates/snippets/shelf_selector.html @@ -72,7 +72,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 34/56] 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" %} +
      + +