From 3a0533b7fc6104dbc81d9a1a338b4e9b4d4699d2 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 11 Dec 2022 12:25:36 -0800 Subject: [PATCH 01/43] Updates nginx production config This copies over the changes Trammell added to the development file. I also realized that I think it's fine to only commend out the https redirect, rather than commenting out the entire server block for listening on port 443? If this works it makes the file a lot easier to read. Co-authored-by: Trammell Hudson --- nginx/production | 136 +++++++++++++++++++++++++++++++---------------- 1 file changed, 90 insertions(+), 46 deletions(-) diff --git a/nginx/production b/nginx/production index 949bc9340..cef9e315e 100644 --- a/nginx/production +++ b/nginx/production @@ -19,52 +19,96 @@ server { # return 301 https://your-domain.com$request_uri; } -# -# server { -# listen [::]:443 ssl http2; -# listen 443 ssl http2; -# -# server_name your-domain.com; -# -# client_max_body_size 3M; -# -# if ($host != "your-domain.com") { -# return 301 $scheme://your-domain.com$request_uri; -# } -# -# # SSL code -# ssl_certificate /etc/nginx/ssl/live/your-domain.com/fullchain.pem; -# ssl_certificate_key /etc/nginx/ssl/live/your-domain.com/privkey.pem; -# -# location ~ /.well-known/acme-challenge { -# allow all; -# root /var/www/certbot; -# } -# -# location ~ ^/(login[^-/]|password-reset|resend-link|2fa-check) { -# limit_req zone=loginlimit; -# -# proxy_pass http://web; -# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; -# proxy_set_header Host $host; -# proxy_redirect off; -# } -# -# location / { -# proxy_pass http://web; -# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; -# proxy_set_header Host $host; -# proxy_redirect off; -# } -# -# location /images/ { -# alias /app/images/; -# } -# -# location /static/ { -# alias /app/static/; -# } -# } + +server { + access_log /var/log/nginx/access.log cache_log; + + listen [::]:443 ssl http2; + listen 443 ssl http2; + + server_name your-domain.com; + + client_max_body_size 3M; + + if ($host != "your-domain.com") { + return 301 $scheme://your-domain.com$request_uri; + } + + # SSL code + ssl_certificate /etc/nginx/ssl/live/your-domain.com/fullchain.pem; + ssl_certificate_key /etc/nginx/ssl/live/your-domain.com/privkey.pem; + + location ~ /.well-known/acme-challenge { + allow all; + root /var/www/certbot; + } + + sendfile on; + tcp_nopush on; + tcp_nodelay on; + keepalive_timeout 65; + types_hash_max_size 2048; + #include /etc/nginx/mime.types; + #default_type application/octet-stream; + + gzip on; + gzip_disable "msie6"; + + proxy_read_timeout 1800s; + chunked_transfer_encoding on; + + # store responses to anonymous users for up to 1 minute + proxy_cache bookwyrm_cache; + proxy_cache_valid any 1m; + add_header X-Cache-Status $upstream_cache_status; + + # ignore the set cookie header when deciding to + # store a response in the cache + proxy_ignore_headers Cache-Control Set-Cookie Expires; + + # PUT requests always bypass the cache + # logged in sessions also do not populate the cache + # to avoid serving personal data to anonymous users + proxy_cache_methods GET HEAD; + proxy_no_cache $cookie_sessionid; + proxy_cache_bypass $cookie_sessionid; + + # tell the web container the address of the outside client + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_redirect off; + + location ~ ^/(login[^-/]|password-reset|resend-link|2fa-check) { + limit_req zone=loginlimit; + proxy_pass http://web; + } + + # do not log periodic polling requests from logged in users + location /api/updates/ { + access_log off; + proxy_pass http://web; + } + + location / { + proxy_pass http://web; + } + + # directly serve images and static files from the + # bookwyrm filesystem using sendfile. + # make the logs quieter by not reporting these requests + location ~ ^/(images|static)/ { + root /app; + try_files $uri =404; + add_header X-Cache-Status STATIC; + access_log off; + } + + # monitor the celery queues with flower, no caching enabled + location /flower/ { + proxy_pass http://flower:8888; + proxy_cache_bypass 1; + } +} # Reverse-Proxy server # server { From 01524110a7132da0528b591007c205c0538e84d3 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 16 Dec 2022 12:53:40 -0800 Subject: [PATCH 02/43] Updates locales --- locale/ca_ES/LC_MESSAGES/django.mo | Bin 136421 -> 136421 bytes locale/ca_ES/LC_MESSAGES/django.po | 416 +++++++++++++++++---------- locale/de_DE/LC_MESSAGES/django.mo | Bin 139786 -> 141054 bytes locale/de_DE/LC_MESSAGES/django.po | 416 +++++++++++++++++---------- locale/en_US/LC_MESSAGES/django.po | 54 ++-- locale/es_ES/LC_MESSAGES/django.mo | Bin 137803 -> 137969 bytes locale/es_ES/LC_MESSAGES/django.po | 416 +++++++++++++++++---------- locale/fi_FI/LC_MESSAGES/django.mo | Bin 132435 -> 132435 bytes locale/fi_FI/LC_MESSAGES/django.po | 416 +++++++++++++++++---------- locale/fr_FR/LC_MESSAGES/django.mo | Bin 142282 -> 143655 bytes locale/fr_FR/LC_MESSAGES/django.po | 416 +++++++++++++++++---------- locale/gl_ES/LC_MESSAGES/django.mo | Bin 135355 -> 136682 bytes locale/gl_ES/LC_MESSAGES/django.po | 416 +++++++++++++++++---------- locale/it_IT/LC_MESSAGES/django.mo | Bin 134364 -> 134364 bytes locale/it_IT/LC_MESSAGES/django.po | 416 +++++++++++++++++---------- locale/lt_LT/LC_MESSAGES/django.mo | Bin 101401 -> 101401 bytes locale/lt_LT/LC_MESSAGES/django.po | 416 +++++++++++++++++---------- locale/no_NO/LC_MESSAGES/django.mo | Bin 75989 -> 75989 bytes locale/no_NO/LC_MESSAGES/django.po | 416 +++++++++++++++++---------- locale/pl_PL/LC_MESSAGES/django.mo | Bin 125086 -> 125086 bytes locale/pl_PL/LC_MESSAGES/django.po | 416 +++++++++++++++++---------- locale/pt_BR/LC_MESSAGES/django.mo | Bin 85764 -> 85764 bytes locale/pt_BR/LC_MESSAGES/django.po | 416 +++++++++++++++++---------- locale/pt_PT/LC_MESSAGES/django.mo | Bin 79264 -> 80592 bytes locale/pt_PT/LC_MESSAGES/django.po | 416 +++++++++++++++++---------- locale/ro_RO/LC_MESSAGES/django.mo | Bin 125019 -> 125019 bytes locale/ro_RO/LC_MESSAGES/django.po | 416 +++++++++++++++++---------- locale/sv_SE/LC_MESSAGES/django.mo | Bin 85181 -> 85181 bytes locale/sv_SE/LC_MESSAGES/django.po | 416 +++++++++++++++++---------- locale/zh_Hans/LC_MESSAGES/django.mo | Bin 82422 -> 82422 bytes locale/zh_Hans/LC_MESSAGES/django.po | 416 +++++++++++++++++---------- locale/zh_Hant/LC_MESSAGES/django.mo | Bin 32619 -> 32619 bytes locale/zh_Hant/LC_MESSAGES/django.po | 416 +++++++++++++++++---------- 33 files changed, 4267 insertions(+), 2443 deletions(-) diff --git a/locale/ca_ES/LC_MESSAGES/django.mo b/locale/ca_ES/LC_MESSAGES/django.mo index 4e3a66b7ce8eada048ac858c64416567621ff3e9..a58df48c5bf06ccaa8f6dc8770733cf5d434e3fc 100644 GIT binary patch delta 26 icmaF5lH=)0j)pCaxrQ8uh6+YTRtA>aOAQ$d9s>Y}j0r*j delta 26 icmaF5lH=)0j)pCaxrQ7DrV0keR;Fg#OAQ$d9s>Y}xd}!9 diff --git a/locale/ca_ES/LC_MESSAGES/django.po b/locale/ca_ES/LC_MESSAGES/django.po index 78c903d53..84e3ee6af 100644 --- a/locale/ca_ES/LC_MESSAGES/django.po +++ b/locale/ca_ES/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-12-05 02:21+0000\n" -"PO-Revision-Date: 2022-12-05 03:56\n" +"POT-Creation-Date: 2022-12-11 21:08+0000\n" +"PO-Revision-Date: 2022-12-11 22:09\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Catalan\n" "Language: ca\n" @@ -171,23 +171,23 @@ msgstr "Eliminació pel moderador" msgid "Domain block" msgstr "Bloqueig de domini" -#: bookwyrm/models/book.py:266 +#: bookwyrm/models/book.py:277 msgid "Audiobook" msgstr "Audiollibre" -#: bookwyrm/models/book.py:267 +#: bookwyrm/models/book.py:278 msgid "eBook" msgstr "Llibre electrònic" -#: bookwyrm/models/book.py:268 +#: bookwyrm/models/book.py:279 msgid "Graphic novel" msgstr "Novel·la gràfica" -#: bookwyrm/models/book.py:269 +#: bookwyrm/models/book.py:280 msgid "Hardcover" msgstr "Tapa dura" -#: bookwyrm/models/book.py:270 +#: bookwyrm/models/book.py:281 msgid "Paperback" msgstr "Edició de butxaca" @@ -215,7 +215,7 @@ msgstr "%(value)s no és una remote_id vàlida" msgid "%(value)s is not a valid username" msgstr "%(value)s no és un nom d'usuari vàlid" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:141 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nom d'usuari" @@ -300,7 +300,7 @@ msgstr "Disponible per a préstec" msgid "Approved" msgstr "Aprovat" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:296 msgid "Reviews" msgstr "Ressenya" @@ -332,7 +332,7 @@ msgstr "Cronologia dels llibres" #: bookwyrm/templates/guided_tour/user_profile.html:101 #: bookwyrm/templates/search/layout.html:22 #: bookwyrm/templates/search/layout.html:43 -#: bookwyrm/templates/user/layout.html:91 +#: bookwyrm/templates/user/layout.html:95 msgid "Books" msgstr "Llibres" @@ -490,6 +490,13 @@ msgstr "Enviar missatge directe" msgid "Code of Conduct" msgstr "Codi de Conducta" +#: bookwyrm/templates/about/impressum.html:4 +#: bookwyrm/templates/about/impressum.html:9 +#: bookwyrm/templates/about/layout.html:54 +#: bookwyrm/templates/snippets/footer.html:34 +msgid "Impressum" +msgstr "" + #: bookwyrm/templates/about/layout.html:11 msgid "Active users:" msgstr "Usuaris actius:" @@ -517,11 +524,6 @@ msgstr "Sobre %(site_name)s" msgid "Privacy Policy" msgstr "Política de privacitat" -#: bookwyrm/templates/about/layout.html:54 -#: bookwyrm/templates/snippets/footer.html:34 -msgid "Impressum" -msgstr "" - #: bookwyrm/templates/annual_summary/layout.html:7 #: bookwyrm/templates/feed/summary_card.html:8 #, python-format @@ -697,32 +699,41 @@ msgstr "Vikipèdia" msgid "View ISNI record" msgstr "Veure el registre ISNI" -#: bookwyrm/templates/author/author.html:84 +#: bookwyrm/templates/author/author.html:87 +#: bookwyrm/templates/book/book.html:164 +msgid "View on ISFDB" +msgstr "" + +#: bookwyrm/templates/author/author.html:92 #: bookwyrm/templates/author/sync_modal.html:5 #: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Carregueu dades" -#: bookwyrm/templates/author/author.html:88 +#: bookwyrm/templates/author/author.html:96 #: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Veure a OpenLibrary" -#: bookwyrm/templates/author/author.html:103 +#: bookwyrm/templates/author/author.html:111 #: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Veure a Inventaire" -#: bookwyrm/templates/author/author.html:119 +#: bookwyrm/templates/author/author.html:127 msgid "View on LibraryThing" msgstr "Veure a LibraryThing" -#: bookwyrm/templates/author/author.html:127 +#: bookwyrm/templates/author/author.html:135 msgid "View on Goodreads" msgstr "Veure a Goodreads" -#: bookwyrm/templates/author/author.html:142 +#: bookwyrm/templates/author/author.html:143 +msgid "View ISFDB entry" +msgstr "" + +#: bookwyrm/templates/author/author.html:158 #, python-format msgid "Books by %(name)s" msgstr "Llibres de %(name)s" @@ -798,16 +809,21 @@ msgid "Librarything key:" msgstr "Clau de Librarything:" #: bookwyrm/templates/author/edit_author.html:98 +#: bookwyrm/templates/book/edit/edit_book_form.html:332 msgid "Goodreads key:" msgstr "Identificador a Goodreads:" #: bookwyrm/templates/author/edit_author.html:105 +msgid "ISFDB:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:112 msgid "ISNI:" msgstr "ISNI:" -#: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:139 +#: bookwyrm/templates/author/edit_author.html:122 +#: bookwyrm/templates/book/book.html:209 +#: bookwyrm/templates/book/edit/edit_book.html:142 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:86 #: bookwyrm/templates/groups/form.html:32 @@ -819,19 +835,21 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 -#: bookwyrm/templates/settings/site.html:194 +#: bookwyrm/templates/settings/registration.html:79 +#: bookwyrm/templates/settings/registration_limited.html:76 +#: bookwyrm/templates/settings/site.html:144 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 msgid "Save" msgstr "Desa" -#: bookwyrm/templates/author/edit_author.html:116 +#: bookwyrm/templates/author/edit_author.html:123 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:210 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:141 #: bookwyrm/templates/book/edit/edit_book.html:144 +#: bookwyrm/templates/book/edit/edit_book.html:147 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 #: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 @@ -855,7 +873,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "La càrrega de les dades es connectarà a %(source_name)s i comprovarà si hi ha metadades sobre aquest autor que no estan aquí. Les metadades existents no seran sobreescrites." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 @@ -885,91 +903,91 @@ msgstr "No sh'a pogut carregar la coberta" msgid "Click to enlarge" msgstr "Feu clic per ampliar" -#: bookwyrm/templates/book/book.html:179 +#: bookwyrm/templates/book/book.html:186 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s ressenya)" msgstr[1] "(%(review_count)s ressenyes)" -#: bookwyrm/templates/book/book.html:191 +#: bookwyrm/templates/book/book.html:198 msgid "Add Description" msgstr "Afegiu una descripció" -#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/book.html:205 #: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Descripció:" -#: bookwyrm/templates/book/book.html:214 +#: bookwyrm/templates/book/book.html:221 #, python-format msgid "%(count)s edition" msgid_plural "%(count)s editions" msgstr[0] "%(count)s edició" msgstr[1] "%(count)s edicions" -#: bookwyrm/templates/book/book.html:228 +#: bookwyrm/templates/book/book.html:235 msgid "You have shelved this edition in:" msgstr "Has deixat aquesta edició a:" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:250 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Una edició diferent d'aquest llibre és al teu %(shelf_name)s prestatge." -#: bookwyrm/templates/book/book.html:254 +#: bookwyrm/templates/book/book.html:261 msgid "Your reading activity" msgstr "Les vostres lectures" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:267 #: bookwyrm/templates/guided_tour/book.html:56 msgid "Add read dates" msgstr "Afegiu dates de lectura" -#: bookwyrm/templates/book/book.html:268 +#: bookwyrm/templates/book/book.html:275 msgid "You don't have any reading activity for this book." msgstr "No tens cap activitat de lectura per aquest llibre." -#: bookwyrm/templates/book/book.html:294 +#: bookwyrm/templates/book/book.html:301 msgid "Your reviews" msgstr "Les vostres ressenyes" -#: bookwyrm/templates/book/book.html:300 +#: bookwyrm/templates/book/book.html:307 msgid "Your comments" msgstr "El vostres comentaris" -#: bookwyrm/templates/book/book.html:306 +#: bookwyrm/templates/book/book.html:313 msgid "Your quotes" msgstr "Les teves cites" -#: bookwyrm/templates/book/book.html:342 +#: bookwyrm/templates/book/book.html:349 msgid "Subjects" msgstr "Temes" -#: bookwyrm/templates/book/book.html:354 +#: bookwyrm/templates/book/book.html:361 msgid "Places" msgstr "Llocs" -#: bookwyrm/templates/book/book.html:365 +#: bookwyrm/templates/book/book.html:372 #: bookwyrm/templates/groups/group.html:19 #: bookwyrm/templates/guided_tour/lists.html:14 #: bookwyrm/templates/guided_tour/user_books.html:102 #: bookwyrm/templates/guided_tour/user_profile.html:78 -#: bookwyrm/templates/layout.html:101 bookwyrm/templates/lists/curate.html:8 +#: bookwyrm/templates/layout.html:102 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:26 #: bookwyrm/templates/search/layout.html:51 -#: bookwyrm/templates/user/layout.html:85 +#: bookwyrm/templates/user/layout.html:89 msgid "Lists" msgstr "Llistes" -#: bookwyrm/templates/book/book.html:377 +#: bookwyrm/templates/book/book.html:384 msgid "Add to list" msgstr "Afegiu a la llista" -#: bookwyrm/templates/book/book.html:387 +#: bookwyrm/templates/book/book.html:394 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -983,15 +1001,29 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:332 +#: bookwyrm/templates/book/edit/edit_book_form.html:341 msgid "OCLC Number:" msgstr "Nombre OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:341 +#: bookwyrm/templates/book/edit/edit_book_form.html:350 msgid "ASIN:" msgstr "ASIN:" +#: bookwyrm/templates/book/book_identifiers.html:29 +#: bookwyrm/templates/book/edit/edit_book_form.html:359 +msgid "Audible ASIN:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:36 +#: bookwyrm/templates/book/edit/edit_book_form.html:368 +msgid "ISFDB ID:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:43 +msgid "Goodreads:" +msgstr "" + #: bookwyrm/templates/book/cover_add_modal.html:5 msgid "Add cover" msgstr "Afegiu una portada" @@ -1058,20 +1090,20 @@ msgstr "Més informació a isni.org" msgid "This is a new author" msgstr "Es tracta d'un nou autor" -#: bookwyrm/templates/book/edit/edit_book.html:104 +#: bookwyrm/templates/book/edit/edit_book.html:107 #, python-format msgid "Creating a new author: %(name)s" msgstr "Creando un autor nuevo: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:111 +#: bookwyrm/templates/book/edit/edit_book.html:114 msgid "Is this an edition of an existing work?" msgstr "Es tracta d'una edició d'una obra ja existent?" -#: bookwyrm/templates/book/edit/edit_book.html:119 +#: bookwyrm/templates/book/edit/edit_book.html:122 msgid "This is a new work" msgstr "Es tracta d'una publicació nova" -#: bookwyrm/templates/book/edit/edit_book.html:128 +#: bookwyrm/templates/book/edit/edit_book.html:131 #: bookwyrm/templates/feed/status.html:21 #: bookwyrm/templates/guided_tour/book.html:44 #: bookwyrm/templates/guided_tour/book.html:68 @@ -1619,7 +1651,7 @@ msgstr "%(username)s ha citat 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 z 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 delta 29057 zcmex&mZR$kNBun^mZ=O33=B4`3=A?13=DrX85n-EF)-W-28l8-oXBTjkYZq9IGNAD zpu)hw@FbssL5qQbfwO>tL6m`k!K8qJL6(7m!K;9Q!JC1BA)|nS!HI!^VM_r6gAD@% z!}kIP20f6vLI#E~1_p-YLI#F-1_p**g$xXb7#Qjqq>30AUNJB*+$~~YkY-?DI8n^N zU<9(Ln1R8Cfq_B11Y%)K2?K)|0|P^Q2?K)?0|Udn5(Wli1_p+MB@7G>3=9lkOBfge z7#JALN*NdoKfgyx}fq|)# zfkBOdfg!vSB3@Ss(Kn|O;?Rwi3=E143=CH)85rak7#O})LPAcoih)70o`Hcuy9y%U zTE)N+!@$50T?KLRjw%KQ6Htg$F)(m3FfjauigQ#mFsL#xFi2E0Fz_)jFxXWyFi0>k zF!)wOLNKkGfq|2OfuX6IfkA+QfuX0Gfgy{5fnjbn14AGBETrFfin`F)(C;LbQ#6 zVLm9Wv@_H*tOU8Jg8@u$>R@14!N9-})5*Zl%fP_E+Qqb#hFk^)hT}6B82lI* z7))m}F#HEOynZIcCoQuW80?rB80=;bAQF)*+(Ffe2;V_@K5U|=X%#=yYKz`#(sjDdk2l#ikOeyF;+Q1K;D z{+eYB3_J`B44aohe0%_^{t{H(1E{$#mN76eGcYiGTn5QKUzag32!Zmy^m4FE81$Ay zvYFFzh=IP#Ar6XK4#`f*%OTk^cR3{6)k5WamP4}dRH!+tq3ZWT>61`%FE599>>kwo zH_I6q1VH)!Cy2qoz`(TvVv+O;hy|)E7#P$+Mdu2LLt<7iFmN+4Fr==4L`5M~{b{K9 z)fJEscnDShc?AQ5A*e`S0SRHfm5?YiT?r`{d{#0r)PsUJb|oZkQddHJp1l$h5)~^U z4ryKqaloXNkfM0@N=Q&1TM2RSDJXqqB_xFILCtx$l7T^=fq~)oN{BtYu&T zRfmOZAr4_*$H4HNfq`MwItGR<3=9m5)bBq&%mGB6Z?3ZRXUN}_us#D%LiLgH%2Mu@>DH$pVt z*~q}a0;(l9LJWMl5fb!Fn;;eoZGy-vZh|;eZ4)GljW$6-&|(wBoO;(y5Q}^_K@v|i z)PP*50X3T-4rts2NfVPcK^!u76U65mHZd?*f$H;3kVN?vs^5Pz1H*Apt-2XvvDy}h z!*sSl?6Ka$z+eH&|Grxw3fi_nT-F2S&)fpBa6Xh?wFTnPty>_8@bDH$$i3SF33`^T z5QDk5Le$AZY3;3$kg?nfDS|z>LJGL;TR{$}XJB~0m4RUz0|SG`HUn6B5L`p!_3H{#mH{>pLMnzP}UV(2qMI4*3t|3+;l) zE9`I~mq5Op=X7#Qk7wOKz@KyWvto>tinanP3C5SQ=S4RP3+-4Fw>?q*;B zH4mRd)miU>gpl(di28s%3=Aa<3=9c-AT6e=dms&yw|gMDfO9XTX{NoGp&nc*c<+T2 z!GU`rK1tmRNwvj$A&I7bFT~=$y^z{%!Cr`k=b-9tL;264=6r$D9Qz=NQ)VB;=i&Px zj$2x{Bi+z;{bll>4Me}EeJe?KIySPnpF@dJ>OPwN0g zz5M}*1HBJGf;jR3Bv+IkfSA*L0OFxpQ2xRL5QlAm>aX7mHSpvCNZj3nDtHGq`1b)w z9C99n6f}wlAr7%R2niA2gAj}34?;q$`XIzX%?BYZqKO9~A@cno#A2pH5Ow^Az-g+U zLHrOTE))(yvW?*(h(pW|f$}ESu0s%?PdNlhObeju4;_MZU@jekw3yyQ zE%G`Hwum9->pQHaYg9)*O+gQE~1eLM>B`TwJkAZI%UNgK+?AnI+7K^hv~ z#~?wU1f{c~bjdM@2WyWp)Pvi6?Z+TNH{lqh3pL{y1A{gL1H-mskT`pE43g+rjzdzv z_;H8>bdE#BjgLco4tUSx!J4$a4Y`GSVmNAqHxkfGD&* z0SN)u6A+hspMbbDm($K zHbBkU2Q}y9Nr(q7oMd1K2elhcLb~(yHm4vVka!9bbY-U?aoKhXqGA3iNXTqH1s50Dz1AT(yTW>&%nS9%K!1_Auh^34+)7%D8KGJ#9=+> z85o#A-R|=cixz=2GB7Y~hpIn(9ujgVp!CJ_AfGWX+=9{%&O-(&o}Gtu<*YA&+Fc9` z+dy;6Brm6Y%fDX;M`?M z;=BswzlG9YE<-}<_hm>nj{J{GwONlda=85rys7#LKqLV`Z!DkQDsU1eZ62I@;*g+z_RHHbc+ zYmkr)y;cvgDB~I=l~zC{`mRANUI^uHxCTj#hp$0ge*GH6Coiu-e8zAcqMq+ML|zuk z*S`)i*X}wbL_(l+>UD^|vij=~7q>v^KB&eS*C9c?{5r&e>#jrMe&2P7k1t<`jN#nA z4oOV^uS0yKeghKsRyQC%b+`dZQ=T^<7WzTym>UoW*JnW$R^EVE)N}(9#FK779CrN% zBq$%=fCS;28<05taRcI0)|(K0;x{1$nEFkKKF^yFb-_0wBOVDiAtmGbn~af%^Fg(2t@uB@4NDz750lSPL0?JRn12L%d z4kT!s?m*H)#~lU+YtUfR9Z1yNxC8O|+dB{ke!l}5|Kq&Nz_5XVfkEdkWN_;4U5Gh7 z_n`TI(mjZU^X@_7eC<7m&$iryxcKxvNSwdA2hsQmq!Bc<0_C&Zhd7YyKExs7_aP3@ zxep0ZyZev=%>O>5=hFmLzw15&Lp^A0_V|5>1>c|=|J{eQU<4jO;!67gq@H(w07+CS z4pX1S)wMI^FM^RTmNf5;(7uR(0l@Mh|Lp7s*igDiHfEt5Qoiu z0_mKte*y`C`%v+hQ2O^1NG{-g3TZD$K82{WdJ2h3m!}Z>5}rcLtFMPDnD`VD1+$+* z(!z$Pkf7c16p|?SJ%t42(WeaHfym2G85lwt7#MV)K|-+k8Kjb$@C-6!Gx-^$^?d3X zBxG2hLk1lAo zFClTX7Ro>R5@OK#myi&+4yB*Ighb6}sCvFvkVL2U3gR#;DBtH5#QcO;kb*7!6~w`f zuNW94K=uE`SCG`W>J_Bbd-)Z_A^%@Ne9ZY8&OkL>hZ^)4 zYS7y^ko^4R4I~Zxhl;blg*b%gEhL0Q-$E>wdJFNn;#)|FX}*ON(H3tZ4k>}s?NEKQ z-a_;L{I`%vqcv|KiSF)ONKo^H}oFKHvkyr&S*y7ESyBDbbdF zfLM6s10#DPLzATuTMUm#IE^9ut5Cn*0f{{nI8MySFa zUl&{s$|{>oQ~g}mRuLChfa4dM{} zZ;+t3{st)#UB59f)Ptr@D!)O3y6qdpf~nsiE?oW%5+Yln2Auo`@$uDfkaFS{R3B)F z95j!>{~cnn_;*MMs(gnGxoUieB(`baAw~1f?~vN@)OTqA|M_=FV)^hL;$!X~5Fd;E zfCRbP4~PTxe?S~&2bK5v0dZi=4@guM{D36RnLi*=aOwvrju{v({D91o-S`112W);q z9OD189ug!8KOuD1Pe{;~{De4U>Q6|}E%*ru$~8YBCE3BBkPvwG6Ji0+FNniLenA|n z^b6u}!(WgPwfY4y-{%)(#x(2~q#RgV{|ho*e*71t9nbX}QU@6Qh6GvMZ-@nrzaa*6 z{)V`G@^6U2OMXKv-1Zw1Vn=^NLh|ZwNH+fP8`A7%{{!)m`X7jgjQ&6zTyOUWVu8;e zhyfvgAc-*r%Fq4-sST_DK(gs%sQO)hAU-?0`g`^Ez zDDCwZY;Qe7_+N;{@lZPdFT|jFsKN<lqk){y~B)>mNj8>p!r|7?%HoOf;z63!IRYg z7#JBW85kJq85tQaf@akiA^dJ8M(~vEQ6@(49PxW5MuvLOk_cI5h=eIKBY0^3z-=iyg+ljQ2H}7BY67Vj)f82WZTZd2woHNjD?XQf`Ng7 zg_V&3WKS$BBf}=p^gAmfcx8nK8zW@?&z6mm!IOc3A%Kk$yx?FK8zXo+UWJ{J!Igo5 zVL3Y^c>ew^JH#hTIT*pyarZeG!L#F2I3XePo|6$g2`$9M2wu$6!Ub{2LM}$|qLlqy z5Q~|(8Nu_6;@tI+Al}6d@#zt6M(~8hd2Wc0uW~bjC!y~^#h-99f|pdh;${R7T>R!{ zWSGgwz`)J}jS5~y@U+}UUPf^1cpEPxc#Q}TA0v2@I+2eN+_}x;V+1el=&0vo1kXzE z<%4KE$j1mC5j_T_&qL`Od=Q5|nHF-TsD&*V!<+~#0GvyNbKZi1W(8BhiW{_53%qGKO|9pfvT4m zfH+J;020Rr0uX(Vq2eC}7#WT-FfjZSfQ0mZL9l#1!zn>XD!n1d2%d&pCB(=O&A`Cm zC=3aaxxx?!E)oW7U|0|3?}gH*gc-r>hOR^TpM@blXApsSNK}LoygWx<1QG&nB9OG= z50uS__RiZ5juz@=uB~f>%u45QRAKohT!N94P-Yi$Q#*BnAl@12Kp})?$p{*>PVn zh=v3)NL-eRK@92?gCxTFPHYrHZvr9utHhpP` zMH{3U!RrOoWgrfWm0@If0xIcbAc=CGEF*Y=@}w*y!(j#n23a{qhAsvMhKF*D3`ZCk z7;@wp8MZPoFc>P-Gcx>TU|@Kz04YMBDnd#yBPB-A>NJK#B}jpyqRa@M^PQ&52p%c@ zs>}#p%VnnmDT-rN7{Tj>Ca5riM@}!PK#EvZRYve4v|v?6@EWjURftEXszTI@)vGar zm)At7F@k42E~_zuSFin7g9NpKIwT0))EU8RzQWWYAycCcDT2?cL(+tV1|xWVkB$Z; zjw3Z7X(>$u60(I*eys+ioaoSC1b5@>*Jv;@6frO`uxUbqvQiVG@v0^yjvi=2g7Tdv zBqW@)Ao5$ZAU@r%1#!5LHYDinv>6!!LCblxA-Q0;HY0fD(aj{E8|f>*l)=rS@S zfu`qmA-U%%RQ(TKNJ#$Eh2#!CJy05|XJ8Q5V`NAJEuYh41g~)1qQ?jx9J;B;2wtnj zqz?(|Kz&B=il{mIj10aE3=9vTd_4n*fkg%oA66ScEN(Y|)TXlxAR)OM%0FoU@xUvP zK2ZMuU;y#SPpAZ=AtXrI4H?1f0ga*j35JXelR!(Y3?UZ!8$oKn2qQ>h+iV0$qz{cC zA?aYu2wqF(ZVWMhg)yYk*NQnM3hnS;m0V&wREFk4eh6Q6i z*d{8CFs@Zz#9mW<%37CkFQP+x;#nH3`g7b641JZnfAS!o0D zz%d&}@Zz)IHjv!lZ40UGDr_O;NWU$l{jlAZ5xf}nqisDT?mg@v1tyHv!_|VFpk-?pTfg#qO5uDGLLgjzhGcu$yGB5}_K(b@GBO}8@1_p+1M@V&? z>jX)}txk|!w$KUU@W1s=kRX(DhFE0d3@NKaogqG`afT$KmCg{KoPw%*=nOIVmopGi;kkzox31H)8zMuyD{3=B>lj0}@Ot6M!78M;9W z4m}weelajGh}FtK2n%6km<MZ%1A}!qq%Qay&d9J7v~D;8)M%||U`UT-WY`AE&ykFvNlS+5QIM8Oax^2uDFy}x z%@{`TD%LMCjNk!;`LU4NP%jQrscem7WXNG)U~q_M1TREh8_x)C|G$f81TSLEPJm?F zp9v84J&BAA?Vt&cBu0ipQ2w8v#KCbDU1xUphc*u zkW{}k72?AUX^affObiUA>5%MsF_RIzc-1tE5xm5DZWbi}|ILB~d0aN6ayys}aqx$1 zMuvLON~YKxNP)8_hY`Hi`$Y~Tc%d+JE~G`&o(oA-+jAk+@Aq6tqRq==WYA({V3?2x zDoPm`cIQJXr;quJ;Pt~!1rP_FE`a0~<3dQ;-&P1|Kg=m)tOvLEb&41nKnsSp6+u$H zb}=J(?RP{mq^O(=r56`Nve(LDNI|r>7?R456+q{Z|doonRmQqL%ohXGk>>gC(N2okU8N_0l zGD!Y6FN0X*Uk1^aT*e4q6<=8fv1l!n-e1PZkjKEla1qLPD2J%84=RWFD5D(W^7e8_ z5jmqAQfpl*hgkRks^NDzq%sk#fCRZ@1*E{zsDSAAhl(duKs=CN!3b{RHB~_L?XG}? z=-~=*c~j4Dz5-HN+<_YKtAY`{0GYcIQY1T9GJ>bsswyEx=(b8o(Rrzok--hLR-_i;R(nGC~ zC^-$KuR-M>wnEC4_pOj@DANXUm~mS@BpcYaK@19p(ur-5xXN#Xlz0tokbeC4Hb}qT zr=5}EBxpTwJ0n9IBLhQD2c+!(+zD~0Nf#trdUiod#MmxI@R07hE=b*=)eVWl<@Mc= z>~*>u;__$RkSO@r4T;OY-4KWH_CQK5xgLnmReB()TDu3L&jLz2L&g1iARdZ_(wRLF zbIW@m4s7m$*jqoN2NIW?dmur5rUw!t_j@3T>T3^VXhyUbA|KxisppG&A=#F#j}g3Q zM5PbnuoHcd>~$W>zt;!x$kRSZW%RWV5>;XSV2{-^#P>r|cR@d-(&_1k^mGI!KxnfG zkamB}1V}5leF7xzwoZV=<^BnfpuRQ%V$rJ!V1pTcO@KI%dm?1)M{^=XJZB96Cq_j(!A=&TkWJpwfg3_#0AW+R7em-O@pN3)M=3Npm-X@VbxH6%QT3(o@o$=OrHj+ zyjD(w`1CQ9em@Q3vES1mX^Ce#Bt*@p*F)-IpXre5F>gA=g1gfpLG)}oq*M7}I>bPw z84!(nGawFfo&kwlZ>V_042T1AXF$wZJ_8aW8)iU4U7C@q)?QP(jO;-EP*Ar@_f(g$ZkLgeC1h|eF-grtct zP(J%ChaQ(;#P!PskX-W-O8;E|aX9BfhB*b%TWv zpIa=180@qV;==HS5DnQ2AqG}0gal<1RQ>FQkf2_=5aQ4cP=gOc>Dvn-sr>UoM(}hZy{M5hN~uFM`Aw_hLvNO>r@#zrS)Z#HSw@Lqg{NVu(Z8mO#>o zG?dm@06w+y2 zv=m~Y=`u)M+AM=ukiHD!;L2r?5a?V6iNYz%AgO-oGRUadp=A)C9$f~Bio44oiSXqz zNMfyj2W5O;21%6+%ONz|a!85Dvz(D(A_D_M^>Rq(ly?QB7d&qTWF$j(C8TB3xsnmQ zfr)h$WMHvu6(e{<;)PX^-n7wbh(mv@hLruxYrr0>XHZ-Nahb*%NF`yi1`=f6Yal@z zzXsx?9H@Nf8i-F9tbyeFjcXu@^4c0m$b4S|2^r3{5Q`+&LK+_CYatGpu@({)i`Rmp zww{4u^;$^Ke}*dfyOt5WXq00eMEv|Zh=!Z%AaVY19V8KbTL%eRq4f}pwbnz@hz*qQ zwH~5A2Ffpl@|&UbjP;BRJfQl2EmU9^ls*ropR9+Zji2iwKH}H_@wvnXNZe^|fcVI0 z14NxIRNQ9+BsYX^fP_rO21p2ZZh*9cr*43Z1034G$WRa3QvGoQ#HSn^Ar=X3gz%L% zLJZP@()Jr6sWu3zE@LAk1S&Q{1{fx6ggERoRR5oikPu5 z8MEC4iSs6?!fBfz&F0mcASKzKO^{Bi+-8Ucwwoa#;kFs#!0^qG+>x~z(%_i78Pe%o z50!th8B%Wi-VE`8$QDT2(%MoFvDkbIBwKiIfy8CN7Dk3!pbZ3DAc@F!D`dUFn49Adu>;=`bA5FaOQ1E+F^GAO@x8)S5R(l&^Lp44xH#Nl740*>vF z?zHT7$c%=|c1DH=ph2h|kZj4d6JoKzPDmnD+X)E~r=8&Hl)-x^r16>t6<@p)5|wLq zLZV{ZPKY^2c0xQ}e`+Tr+uhpApuc*FsS!D zR~&>`y!{{~$eta982srVq=6!J2;y_!LlE@|hae8hKLiQdjzbWAGY>(cY$;UzrbCb+ z+@psW!P{~54@2Z zB#k5u;5Lo|jQhd3nVIK;;}$01QyaU9~X>Bk`sTX-B2MQfn+ zq2rL;aRaLUPyKO7wvavnahd)JNWOMF0r5fX2}s;0LFGG6KoZ-m6A**8oPdn$-#7uW znD-`4u#C+3}kOIl`BqYk>PC^oMeK}NO%SnjOPo9MM>=Kl|brRx}M<*fK z>Fr5~kA9zogq+|h$S|G8DM&7fhtg@MAVHpc3KBxyryvfSehT8S6{o=F)-!B{DmZWo z5&~yVK@7fk3X&MVo`U3OmD3QHyPt+QFyS=BAsMG37T2AIL{Tf0Kjk#UL$jg$B~boq zD81!0D8%X+81_On9zP991J_P7f(NDEora|L@G}rP>kP!=+A|P?ThBlo*ms5zJV3ek z49GwRhM#A^K4V}$3-K}ES;zo{{8`ATSJGLC2N#`XWDo-7|D9(cL3;*D-#QD4vlmeQ zpRvi97?~x2=VCmi}jE=V!H$ha`8(LhiG4d zBrdZ{koLOIB}l>Y6e=%v8R9d=%Mf+Cmmvj>^JU14iRWdAxs_1yuFH@#FyS)9BbP5j zs_VP;mmxv%18Shq6^KLRu0Vpy=n5ml6wvhA6^Mn`uRsiVdU9M3WOWi zAr5$Y9kL?g<8?@DHRlE-h-cn_lmqK;K-68j0jaL<-GId9{~Hj8@ZE%jh|*0+$Qs;) zIK=BF#Np95A!#W0Ca7|&XJBZ%2}#}SZbE|e)lEpye7Fhe12W%&XzacPiL<%4AO`NZ z1+nPlEl7x6zXb__KTw+IHl!&ha~m>I;d~p?qUyR0@$jYFj10n{{D1#8#D|}6LxPI) z4#WbXJCL|mz5^+cbnieMFzpVcF}m>%q`v=u2QvMpaTk(Eib-&%p`*k1U0qzG72WdWlSZweBqR-+1#3PPSdEW>1 z5Fdp+fcQA=0VJq;A3#d5MNs} zODO%}5yZgnk06PQ<1wV&Ao>_m0$M+Yv=dSvLmWEmF=P(7e%WKlY_{+dM({Zvvz{3;Tfc(jU+-6t zS?-iqklFJiuNWDYfzFP44QWdj*?R~*1AAP)2W0!b?oUm%G#_Y0&=+581!&ipTsT(_zFp6WnUpanfMiwpJ#uC7`z!upZE%~@Gg{o@fG5*&rtdA zUm-;_&o@X2=zfEw6>BKJ@Edgeul^e&!$;6rPv0OGRDOqO==;tH+C{-I=Q||ZO#A_H z*y0}$@qIraYdSXng!B)}e?e0BmtTNtVQLp+3l50%;FO$SJq!hTs8iMXq^5R5)vo=LW<_QQ2FnFAtAu~4`P7EKZrvt z|3UP7{DW8!_Yb1449cGXrB^`p9ry=vX#K^15Cb3ngT(cpe~RZlIp!oOyIeob4*O&#pgGen80Jh&zYFOOS0cHF@aaRe`R6)VBx3lPz-zg?`I*4$_1E(=flsZw$^}-MXUqkuPA`pGYMIcdmRfGw=Wb2s-6L>j(fGEVA zL!wOJl~U(LnHWIxjy7UU_28gS6=MRgaGD_oiTiJ2OyC7btl|)jo#K#0G)^s{2V2^-SP(_|qgH zadlb(VxW;E6L`mig(MSr`MkX(#Nc2_Ch!8~L`jJH8Ill({Fh_`FIW_mf&_7Z6cc#u z=wc}*@Or^dP`;Hk#G#$i5C`3?mxdVpP#WUH_tH$@77>dKBqY>in815JOl2SrijZLf z?+=KVff$e>1IaZ7G7z6u$v_;oS_YD+g=Cq)Co8(jLiD|tWdaY=|B!{GnfgpQCh!u> zxpEK-nB^e~xa1*0SS=69Hf{1u;B~x5Ygp;f#C(zA>7Oi44au57&@657+yie_AoIp>}6tL(5h#G zoZI*u>e^3GOL(9PLFVQ$Gk_N$g4l-`7#J*=85kZjF))ZTF)%bTGce3yVPLq$%m8kj zfR1q7%gDeW0W}At#}UfzXM$`z0*N^>GcfFDVPL2SZ4f%g$iQ%gnSp_Wg@HkbnStRB z)G-^F85piIGccGlGB5}*GB89jGB9K@GB7-4VPME%W?=Zj!oaYKnSr4hbP^qCr4vXW zGXuj>76t}UW(I~#s3#;D85l%a7#O6P89>WE8B{@Mi!d`VEMsD*2cO@W#Kgd`m63r# zn}vZviIoAoQ6!QHa^_zUBLjm5)Pj#t`Wt9XKPv;n0u~1F8n6e93=E!(3=C2%3=CZ$ zM}Us#WMW|GVP;_9hWh>_GXuk2CI*IuEDQ|MEDQ`Y7#SGiLFK!g-kdc95FVtZmbs%g6)td%Y4-!jdVqloe z%)s!BiGe|dm4P7~gCt?th?RliIw(jP7#LnNFfiz|GB6adFfhomFfiPNIy4b# zs0AzJ*p^t3K~Mvhu`n?FVPs%91XZKK3YB1BU|7h^!0;K$bz@;*I1Ab%=ETCl@PLJZ zVFwcfLk=SYLkKADSQ!{HSr`}=fKEVVW?FlA<7SO^|n2C0JL4@?XUs!&&NVPs%9%fi6W%E-X*iIIUJ zn}vbFnw5cJCe#vsD9y&mz|hFTz;K+2fx(5DfgzuXfguBwo1kX0vobJPFhcf~8n7}j ztYu+f5M*Xxm0fq~%`$Z$pmhU+X03_qC}Kn+@k9}El( z<}3^h_dzG;GC@v5dId5Jblfrv1A`$W1H&~I25_4J>IQ~cQ2Cq83=F)C3=GOlkP~t1 zOPClK9B8aYhD)az+LQT~-DLFBS%d+l&n0=9VoJ0|PHq?IA`6hCoIJh89r%2c6psvlKMZ z3}Wwxrd|;HB?AM)Y8D0tURKEQDWC<5%B&0w&PZzdSr`}&GcqtNU}j)=#K^!<1a&0% zKw2pKC=&yC56~HA28N}e`U8~unCclAWTCDCon{@$%)n3p%6?F>{~#BD*7<=FDH8(& zXs1jrRL-4|fng#e1H)pd1)yH@Z>aidj0_ASP;sabn0g1*3tG1QjfsKbNM>5FfdrMFfi<4 zVPJU8%)oG;nSo&+BLjmLGXsMQ69dC;76x!9cM}T(!%9$gXJKH71C{@gAdR4W&BDN- z%gn%V1k^KyI))MI+B;B3b+9lnY++(x&;*_R3@R5uB_(LT2NMH>6C(qI9wP(89~K6N z^-xEHyu1aM-`#so1hNQVPRlUftqCwr9pfDrI;BQsu>x; ztL>jKGcb68;vaORZY9(Jkipd~3=A(o3AJnkLpu7xH1lnf7$iUzTwUiU8CxMxPAsbZMLDfT* zGE9S-e;gG5ZAi3$Fs9|Ja zD1jP$hKYe;1vBKNTp`fb45$OzSQr>)GchonXJlab#=^i*3rb%skh8x*=IDd^e;|f0 zD8(`|Fi1iT%!9fRBnLXXi3Mt)1rr0qQ$_}cNub0E+Dr;ne;ss+Ix_=>lwg(wjdS;hOJORTV@7^r=S%tObiTlpz<6Vte-&*5vZCg zpoRtu1Gv)yawKTrX$d0(!#!pO20bPQhLbD|40g;64DE~z46%$14C|N}7Yx@D28J}KUXa5tK-t=? z3=D0|3=D}(3=B7+W*mk(iiwq>o`DVIN{|lF5&Db_45cg#;N9#8pa!#p@+kuYg90l9 z!!>3GhVv{83`U@08dRV#F@QH4fwY4TtOK2z0b)OAW?=AUWMKHp%)oGgi2>XV2Z>(* zH9(md7`&Mn7#dg@7=DA=|C<>Z7*;bv4halrVqkc~zyO|d`Nhbm9h<*$VL5TwR{k%3_w)HBsk8YJ$(!oa{%&&t5CnT3Ht zm6d^kkClPJ5o!VGVu2k{#h@vAkOoE;1_oBB{Atk9%23O8LoNFVDw?5UpxyK`Q1RJ} z3=D-(HZQ34%gn%_&B(y;8WjIepavdL64M#0KHpP<|6sjX5*q^aGIG7tl5>s68M)7byN`g7PycJ{ceiH$iT3LnSnu( zm4V>{0|Uc4W(EdMPC$}f%JeJ4QiILGB8L&_1$NIoRkGJ3xt!I z7#ISfq2N}}%m5k&V~B++KF-X*5C-bcF)=X6f#QvsfkB3uf#Dcb9&}U2YmlXk3=IF7 z7#LcaAZNgoL*;u|7#O@k@*ta__zfciLo>)>puJ*@3=A<$kRyN2fXaU+CI*Jt%#d3Q zE;BPQ$T2f8*dQ4I+GYtg2Tc8CVqmajWdLun1ql>^3Kfd1J^%RtPBigP(e)=$O)Jr!`WFFz!M0d4Jlt) z7#NbEYCv)@ED5!&1r#07kO19!qQS_(;Kszj5CUplgKpShVPKdJ)t?Kh6&V;9`a$&r zDE-N?Le7AZfGSX6W?*P!Vqj=zVqoZCW&n@*y@VPLI(`#m`9>B7hPO~L5dRlcFEbMZ zg9#G@!$zpXKyv3mIfj{mK?hpIOEWPrtY&6l5N2jzsJCWjVAu<~Oa#=JX3_N=Q*q#mK<$8|tWD76yiM5OzJoa|Q+m0agZv%Zv;R2N@v;i$8)$g3MrGV`X5d zWny61%*4RJj^yLJj0_AMj0_APm>C#$gIY%{3=D5r7#M<~mQDlJb}S4GCaeq$F-Yct z29wV+F))OKTGOEZKgbppW(Ec`P?H(Nfnv~|Egv$#z@PxC z)j-26APpd2gLH%L0|5=cfD#fT19%@FNca#VCLnRXf!!l+D24*B*gGS4Zq2??GRWd9L3?5K3KJ>9GFmQneBN-VOmNPLhFf%eR zJYZsAPzMD)1LRnzzsw8_9xMzDp7o$1G*IIZ>S`Zm28IYw*9w#lSQr>SgGNJ`85q_< z9hSrhxfcd>7tARp1_m3@*dWvqb3h|rObiTvKxYI%Lv#@{1A{V@4Gkm)9u~+Y7iplZ z47%qBw4EAiKUj?fXb6sxfq{{kfuR+Yt(X`XJfMaYLFpjS$QKI(!$oEWh996#C)9vC zMg|5U&|Ok23=9*XYQHiuFr+gvFo;3bfX)ceVg=u#04o2$b~5m=GB6l}n$C<23?~>E z82q7%XF%!cj0_BunHU&eFfuT7FflMJW@2EN0veEj%7aYt09DDX3=B=6!3$7f1}gO! z85lM)GBB7xL(l?Bi-IaXQ2S2>)R_Rq71XuQSr`}|Gczz;22Dt^Ffd$(Y6u1O^_UqL zmO?EoVP;^M$;`lz&d9*<6V$e6h8#8sa)>af%4LRJK2*WTz|amgTa%fA;U6;t0~@Gc z!N9;^2^#+eX#n9hP=n1`85kHD85km%7{D{uAUV+PXwab(Aoe#(htJ%ObiT@Kv{DFBLf2~69dBxP%{aX zfEXAUUNJE+ctH(#3+kFf6POY-BtQntVq#!83-S%r(Wh7#7!;uD3ZV2ZW(I~nP+x%= za_-{<76$MP8c4qgD+5C%Xmuy(>a6)t4f{bdpc}7P7{J>qeW4aUWoBR~WoBSt0hJBR z3=H<5u|B9Cdq&8~X`uU}l9(A7eljqCx7}7TGccTDW?W;B6FjTQHFsz0; zI2hEE2Ic>3W(M$C4IsNaL8T!h1H)3#O-P_(6V&|zNq`QE0ge5Eid#kohG#4c3^$-5 zbO~x;924aDy>igd3RDiHwFgvmL)C!zV$2K-YRnAa8@2jD{eK>)Pfmgg2}TA69Tom1 zFwBBF0(47S1}Ltf_Us3BNTBA|uK=ZXs6-wp>oGGhgoDO@85tNJGBYsDXJG)(V1X>% z$;`kI%EG{)j^vvkpb=AM28I@92JoR{Aax)t&&0r>2T}{Fl9?G8)-W?LTx4WmNQGLQ z0-@^}UP28^XJKH7U}Rvp1a-_5W(J1mObiScpnQ;_AiR)?f#Dvgtq~fcg-iVLMP%f{x~3WneI4VgR500Mcf~%)qb*RR8mVCJ`7J7&sv=V$fw_ zVDN_qT_6(!!$GJxND~O(Wno}A%FMvP2uyKwKJ$PF)(}pO=7SxFvPPkFdPH*AwaVvpou4tUeF;XAV=v# z4Ot6Pz{0?=lZAnS88mnRYPW-$P>hfZ$+kh&fo{q<4z&ez=3@j41H*X+2JjYqs4#;I zG{kPPFfi&t2@>r!q43Gj7*sW;AEpUcqHPb+X3SSlD8S(zAa z@3Ca8_u4Mm!ssnEy>cF-!1kH*7}qdv&se}1#>B*}Yleb@A#du$8`-7v5 z7umLNKf^egb$jI{#z!pM%day=uxz`-xSVtQiKmP&8Mp6w&KSYIUH3hs3g7npzl@t$ Lwwp6C9ajMW*ec\n" "Language-Team: German\n" "Language: de\n" @@ -171,23 +171,23 @@ msgstr "Moderator*in löschen" msgid "Domain block" msgstr "Domainsperrung" -#: bookwyrm/models/book.py:266 +#: bookwyrm/models/book.py:277 msgid "Audiobook" msgstr "Hörbuch" -#: bookwyrm/models/book.py:267 +#: bookwyrm/models/book.py:278 msgid "eBook" msgstr "E-Book" -#: bookwyrm/models/book.py:268 +#: bookwyrm/models/book.py:279 msgid "Graphic novel" msgstr "Graphic Novel" -#: bookwyrm/models/book.py:269 +#: bookwyrm/models/book.py:280 msgid "Hardcover" msgstr "Hardcover" -#: bookwyrm/models/book.py:270 +#: bookwyrm/models/book.py:281 msgid "Paperback" msgstr "Taschenbuch" @@ -215,7 +215,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:141 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "Benutzer*inname" @@ -300,7 +300,7 @@ msgstr "Zum Ausleihen erhältlich" msgid "Approved" msgstr "Bestätigt" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:296 msgid "Reviews" msgstr "Rezensionen" @@ -332,7 +332,7 @@ msgstr "Bücher-Zeitleiste" #: bookwyrm/templates/guided_tour/user_profile.html:101 #: bookwyrm/templates/search/layout.html:22 #: bookwyrm/templates/search/layout.html:43 -#: bookwyrm/templates/user/layout.html:91 +#: bookwyrm/templates/user/layout.html:95 msgid "Books" msgstr "Bücher" @@ -490,6 +490,13 @@ msgstr "Direktnachricht senden" msgid "Code of Conduct" msgstr "Verhaltenskodex" +#: bookwyrm/templates/about/impressum.html:4 +#: bookwyrm/templates/about/impressum.html:9 +#: bookwyrm/templates/about/layout.html:54 +#: bookwyrm/templates/snippets/footer.html:34 +msgid "Impressum" +msgstr "Impressum" + #: bookwyrm/templates/about/layout.html:11 msgid "Active users:" msgstr "Aktive Nutzer*innen:" @@ -517,11 +524,6 @@ msgstr "Über %(site_name)s" msgid "Privacy Policy" msgstr "Datenschutzerklärung" -#: bookwyrm/templates/about/layout.html:54 -#: bookwyrm/templates/snippets/footer.html:34 -msgid "Impressum" -msgstr "Impressum" - #: bookwyrm/templates/annual_summary/layout.html:7 #: bookwyrm/templates/feed/summary_card.html:8 #, python-format @@ -697,32 +699,41 @@ msgstr "Wikipedia" msgid "View ISNI record" msgstr "ISNI-Datensatz anzeigen" -#: bookwyrm/templates/author/author.html:84 +#: bookwyrm/templates/author/author.html:87 +#: bookwyrm/templates/book/book.html:164 +msgid "View on ISFDB" +msgstr "" + +#: bookwyrm/templates/author/author.html:92 #: bookwyrm/templates/author/sync_modal.html:5 #: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Lade Daten" -#: bookwyrm/templates/author/author.html:88 +#: bookwyrm/templates/author/author.html:96 #: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Auf OpenLibrary ansehen" -#: bookwyrm/templates/author/author.html:103 +#: bookwyrm/templates/author/author.html:111 #: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Auf Inventaire anzeigen" -#: bookwyrm/templates/author/author.html:119 +#: bookwyrm/templates/author/author.html:127 msgid "View on LibraryThing" msgstr "Auf LibraryThing anzeigen" -#: bookwyrm/templates/author/author.html:127 +#: bookwyrm/templates/author/author.html:135 msgid "View on Goodreads" msgstr "Auf Goodreads ansehen" -#: bookwyrm/templates/author/author.html:142 +#: bookwyrm/templates/author/author.html:143 +msgid "View ISFDB entry" +msgstr "ISFDB Eintrag ansehen" + +#: bookwyrm/templates/author/author.html:158 #, python-format msgid "Books by %(name)s" msgstr "Bücher von %(name)s" @@ -798,16 +809,21 @@ msgid "Librarything key:" msgstr "Librarything-Schlüssel:" #: bookwyrm/templates/author/edit_author.html:98 +#: bookwyrm/templates/book/edit/edit_book_form.html:332 msgid "Goodreads key:" msgstr "Goodreads-Schlüssel:" #: bookwyrm/templates/author/edit_author.html:105 +msgid "ISFDB:" +msgstr "ISFDB:" + +#: bookwyrm/templates/author/edit_author.html:112 msgid "ISNI:" msgstr "ISNI:" -#: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:139 +#: bookwyrm/templates/author/edit_author.html:122 +#: bookwyrm/templates/book/book.html:209 +#: bookwyrm/templates/book/edit/edit_book.html:142 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:86 #: bookwyrm/templates/groups/form.html:32 @@ -819,19 +835,21 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 -#: bookwyrm/templates/settings/site.html:194 +#: bookwyrm/templates/settings/registration.html:79 +#: bookwyrm/templates/settings/registration_limited.html:76 +#: bookwyrm/templates/settings/site.html:144 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 msgid "Save" msgstr "Speichern" -#: bookwyrm/templates/author/edit_author.html:116 +#: bookwyrm/templates/author/edit_author.html:123 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:210 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:141 #: bookwyrm/templates/book/edit/edit_book.html:144 +#: bookwyrm/templates/book/edit/edit_book.html:147 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 #: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 @@ -855,7 +873,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "Das Laden von Daten wird eine Verbindung zu %(source_name)s aufbauen und überprüfen, ob Autor*in-Informationen vorliegen, die hier noch nicht bekannt sind. Bestehende Informationen werden nicht überschrieben." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 @@ -885,91 +903,91 @@ msgstr "Fehler beim Laden des Titelbilds" msgid "Click to enlarge" msgstr "Zum Vergrößern anklicken" -#: bookwyrm/templates/book/book.html:179 +#: bookwyrm/templates/book/book.html:186 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s Besprechung)" msgstr[1] "(%(review_count)s Besprechungen)" -#: bookwyrm/templates/book/book.html:191 +#: bookwyrm/templates/book/book.html:198 msgid "Add Description" msgstr "Beschreibung hinzufügen" -#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/book.html:205 #: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Beschreibung:" -#: bookwyrm/templates/book/book.html:214 +#: bookwyrm/templates/book/book.html:221 #, python-format msgid "%(count)s edition" msgid_plural "%(count)s editions" msgstr[0] "%(count)s Auflage" msgstr[1] "%(count)s Auflagen" -#: bookwyrm/templates/book/book.html:228 +#: bookwyrm/templates/book/book.html:235 msgid "You have shelved this edition in:" msgstr "Du hast diese Ausgabe im folgenden Regal:" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:250 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Eine andere Ausgabe dieses Buches befindet sich in deinem %(shelf_name)s Regal." -#: bookwyrm/templates/book/book.html:254 +#: bookwyrm/templates/book/book.html:261 msgid "Your reading activity" msgstr "Deine Leseaktivität" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:267 #: bookwyrm/templates/guided_tour/book.html:56 msgid "Add read dates" msgstr "Lesedaten hinzufügen" -#: bookwyrm/templates/book/book.html:268 +#: bookwyrm/templates/book/book.html:275 msgid "You don't have any reading activity for this book." msgstr "Du hast keine Leseaktivität für dieses Buch." -#: bookwyrm/templates/book/book.html:294 +#: bookwyrm/templates/book/book.html:301 msgid "Your reviews" msgstr "Deine Rezensionen" -#: bookwyrm/templates/book/book.html:300 +#: bookwyrm/templates/book/book.html:307 msgid "Your comments" msgstr "Deine Kommentare" -#: bookwyrm/templates/book/book.html:306 +#: bookwyrm/templates/book/book.html:313 msgid "Your quotes" msgstr "Deine Zitate" -#: bookwyrm/templates/book/book.html:342 +#: bookwyrm/templates/book/book.html:349 msgid "Subjects" msgstr "Themen" -#: bookwyrm/templates/book/book.html:354 +#: bookwyrm/templates/book/book.html:361 msgid "Places" msgstr "Orte" -#: bookwyrm/templates/book/book.html:365 +#: bookwyrm/templates/book/book.html:372 #: bookwyrm/templates/groups/group.html:19 #: bookwyrm/templates/guided_tour/lists.html:14 #: bookwyrm/templates/guided_tour/user_books.html:102 #: bookwyrm/templates/guided_tour/user_profile.html:78 -#: bookwyrm/templates/layout.html:101 bookwyrm/templates/lists/curate.html:8 +#: bookwyrm/templates/layout.html:102 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:26 #: bookwyrm/templates/search/layout.html:51 -#: bookwyrm/templates/user/layout.html:85 +#: bookwyrm/templates/user/layout.html:89 msgid "Lists" msgstr "Listen" -#: bookwyrm/templates/book/book.html:377 +#: bookwyrm/templates/book/book.html:384 msgid "Add to list" msgstr "Zur Liste hinzufügen" -#: bookwyrm/templates/book/book.html:387 +#: bookwyrm/templates/book/book.html:394 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -983,15 +1001,29 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:332 +#: bookwyrm/templates/book/edit/edit_book_form.html:341 msgid "OCLC Number:" msgstr "OCLC-Nummer:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:341 +#: bookwyrm/templates/book/edit/edit_book_form.html:350 msgid "ASIN:" msgstr "ASIN:" +#: bookwyrm/templates/book/book_identifiers.html:29 +#: bookwyrm/templates/book/edit/edit_book_form.html:359 +msgid "Audible ASIN:" +msgstr "Audible ASIN:" + +#: bookwyrm/templates/book/book_identifiers.html:36 +#: bookwyrm/templates/book/edit/edit_book_form.html:368 +msgid "ISFDB ID:" +msgstr "ISFDB ID:" + +#: bookwyrm/templates/book/book_identifiers.html:43 +msgid "Goodreads:" +msgstr "Goodreads:" + #: bookwyrm/templates/book/cover_add_modal.html:5 msgid "Add cover" msgstr "Titelbild hinzufügen" @@ -1058,20 +1090,20 @@ msgstr "Weitere Informationen auf isni.org finden" msgid "This is a new author" msgstr "Neue*r Autor*in" -#: bookwyrm/templates/book/edit/edit_book.html:104 +#: bookwyrm/templates/book/edit/edit_book.html:107 #, python-format msgid "Creating a new author: %(name)s" msgstr "Als neue*r Autor*in erstellen: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:111 +#: bookwyrm/templates/book/edit/edit_book.html:114 msgid "Is this an edition of an existing work?" msgstr "Ist das eine Ausgabe eines vorhandenen Werkes?" -#: bookwyrm/templates/book/edit/edit_book.html:119 +#: bookwyrm/templates/book/edit/edit_book.html:122 msgid "This is a new work" msgstr "Dies ist ein neues Werk." -#: bookwyrm/templates/book/edit/edit_book.html:128 +#: bookwyrm/templates/book/edit/edit_book.html:131 #: bookwyrm/templates/feed/status.html:21 #: bookwyrm/templates/guided_tour/book.html:44 #: bookwyrm/templates/guided_tour/book.html:68 @@ -1619,7 +1651,7 @@ msgstr "%(username)s hat \n" "Language-Team: English \n" @@ -206,26 +206,26 @@ msgstr "" msgid "Blocked" msgstr "" -#: bookwyrm/models/fields.py:27 +#: bookwyrm/models/fields.py:28 #, python-format msgid "%(value)s is not a valid remote_id" msgstr "" -#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45 +#: bookwyrm/models/fields.py:37 bookwyrm/models/fields.py:46 #, python-format msgid "%(value)s is not a valid username" msgstr "" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 +#: bookwyrm/models/fields.py:182 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "" -#: bookwyrm/models/fields.py:186 +#: bookwyrm/models/fields.py:187 msgid "A user with that username already exists." msgstr "" -#: bookwyrm/models/fields.py:205 +#: bookwyrm/models/fields.py:206 #: bookwyrm/templates/snippets/privacy-icons.html:3 #: bookwyrm/templates/snippets/privacy-icons.html:4 #: bookwyrm/templates/snippets/privacy_select.html:11 @@ -233,7 +233,7 @@ msgstr "" msgid "Public" msgstr "" -#: bookwyrm/models/fields.py:206 +#: bookwyrm/models/fields.py:207 #: bookwyrm/templates/snippets/privacy-icons.html:7 #: bookwyrm/templates/snippets/privacy-icons.html:8 #: bookwyrm/templates/snippets/privacy_select.html:14 @@ -241,14 +241,14 @@ msgstr "" msgid "Unlisted" msgstr "" -#: bookwyrm/models/fields.py:207 +#: bookwyrm/models/fields.py:208 #: bookwyrm/templates/snippets/privacy_select.html:17 #: bookwyrm/templates/user/relationships/followers.html:6 #: bookwyrm/templates/user/relationships/layout.html:11 msgid "Followers" msgstr "" -#: bookwyrm/models/fields.py:208 +#: bookwyrm/models/fields.py:209 #: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 @@ -598,25 +598,25 @@ msgstr[1] "" msgid "That’s great!" msgstr "" -#: bookwyrm/templates/annual_summary/layout.html:127 +#: bookwyrm/templates/annual_summary/layout.html:128 #, python-format msgid "That makes an average of %(pages)s pages per book." msgstr "" -#: bookwyrm/templates/annual_summary/layout.html:132 +#: bookwyrm/templates/annual_summary/layout.html:134 #, python-format -msgid "(%(no_page_number)s book doesn’t have pages)" -msgid_plural "(%(no_page_number)s books don’t have pages)" +msgid "(No page data was available for %(no_page_number)s book)" +msgid_plural "(No page data was available for %(no_page_number)s books)" msgstr[0] "" msgstr[1] "" -#: bookwyrm/templates/annual_summary/layout.html:148 +#: bookwyrm/templates/annual_summary/layout.html:150 msgid "Their shortest read this year…" msgstr "" -#: bookwyrm/templates/annual_summary/layout.html:155 -#: bookwyrm/templates/annual_summary/layout.html:176 -#: bookwyrm/templates/annual_summary/layout.html:245 +#: bookwyrm/templates/annual_summary/layout.html:157 +#: bookwyrm/templates/annual_summary/layout.html:178 +#: bookwyrm/templates/annual_summary/layout.html:247 #: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 @@ -624,44 +624,44 @@ msgstr "" msgid "by" msgstr "" -#: bookwyrm/templates/annual_summary/layout.html:161 -#: bookwyrm/templates/annual_summary/layout.html:182 +#: bookwyrm/templates/annual_summary/layout.html:163 +#: bookwyrm/templates/annual_summary/layout.html:184 #, python-format msgid "%(pages)s pages" msgstr "" -#: bookwyrm/templates/annual_summary/layout.html:169 +#: bookwyrm/templates/annual_summary/layout.html:171 msgid "…and the longest" msgstr "" -#: bookwyrm/templates/annual_summary/layout.html:200 +#: bookwyrm/templates/annual_summary/layout.html:202 #, python-format msgid "%(display_name)s set a goal of reading %(goal)s book in %(year)s,
and achieved %(goal_percent)s%% of that goal" msgid_plural "%(display_name)s set a goal of reading %(goal)s books in %(year)s,
and achieved %(goal_percent)s%% of that goal" msgstr[0] "" msgstr[1] "" -#: bookwyrm/templates/annual_summary/layout.html:209 +#: bookwyrm/templates/annual_summary/layout.html:211 msgid "Way to go!" msgstr "" -#: bookwyrm/templates/annual_summary/layout.html:224 +#: bookwyrm/templates/annual_summary/layout.html:226 #, python-format msgid "%(display_name)s left %(ratings_total)s rating,
their average rating is %(rating_average)s" msgid_plural "%(display_name)s left %(ratings_total)s ratings,
their average rating is %(rating_average)s" msgstr[0] "" msgstr[1] "" -#: bookwyrm/templates/annual_summary/layout.html:238 +#: bookwyrm/templates/annual_summary/layout.html:240 msgid "Their best rated review" msgstr "" -#: bookwyrm/templates/annual_summary/layout.html:251 +#: bookwyrm/templates/annual_summary/layout.html:253 #, python-format msgid "Their rating: %(rating)s" msgstr "" -#: bookwyrm/templates/annual_summary/layout.html:268 +#: bookwyrm/templates/annual_summary/layout.html:270 #, python-format msgid "All the books %(display_name)s read in %(year)s" msgstr "" @@ -6049,7 +6049,7 @@ msgstr "" msgid "Choose wisely! Your username cannot be changed." msgstr "" -#: bookwyrm/templates/snippets/register_form.html:64 +#: bookwyrm/templates/snippets/register_form.html:66 msgid "Sign Up" msgstr "" diff --git a/locale/es_ES/LC_MESSAGES/django.mo b/locale/es_ES/LC_MESSAGES/django.mo index 3c35b9ef89fc2879666c41673aba3287c5fe4efb..427ef1c0928ce5626da3bc279ad01bae2668d14e 100644 GIT binary patch delta 28844 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 CJX7TW diff --git a/locale/es_ES/LC_MESSAGES/django.po b/locale/es_ES/LC_MESSAGES/django.po index 25856cba9..31559aa3d 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-12-05 02:21+0000\n" -"PO-Revision-Date: 2022-12-05 03:56\n" +"POT-Creation-Date: 2022-12-11 21:08+0000\n" +"PO-Revision-Date: 2022-12-13 14:19\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Spanish\n" "Language: es\n" @@ -171,23 +171,23 @@ msgstr "Eliminación de moderador" msgid "Domain block" msgstr "Bloqueo de dominio" -#: bookwyrm/models/book.py:266 +#: bookwyrm/models/book.py:277 msgid "Audiobook" msgstr "Audio libro" -#: bookwyrm/models/book.py:267 +#: bookwyrm/models/book.py:278 msgid "eBook" msgstr "Libro electrónico" -#: bookwyrm/models/book.py:268 +#: bookwyrm/models/book.py:279 msgid "Graphic novel" msgstr "Novela gráfica" -#: bookwyrm/models/book.py:269 +#: bookwyrm/models/book.py:280 msgid "Hardcover" msgstr "Tapa dura" -#: bookwyrm/models/book.py:270 +#: bookwyrm/models/book.py:281 msgid "Paperback" msgstr "Tapa blanda" @@ -215,7 +215,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:141 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nombre de usuario" @@ -300,7 +300,7 @@ msgstr "Disponible como préstamo" msgid "Approved" msgstr "Aprobado" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:296 msgid "Reviews" msgstr "Reseñas" @@ -332,7 +332,7 @@ msgstr "Línea temporal de libros" #: bookwyrm/templates/guided_tour/user_profile.html:101 #: bookwyrm/templates/search/layout.html:22 #: bookwyrm/templates/search/layout.html:43 -#: bookwyrm/templates/user/layout.html:91 +#: bookwyrm/templates/user/layout.html:95 msgid "Books" msgstr "Libros" @@ -490,6 +490,13 @@ msgstr "Enviar mensaje directo" msgid "Code of Conduct" msgstr "Código de conducta" +#: bookwyrm/templates/about/impressum.html:4 +#: bookwyrm/templates/about/impressum.html:9 +#: bookwyrm/templates/about/layout.html:54 +#: bookwyrm/templates/snippets/footer.html:34 +msgid "Impressum" +msgstr "" + #: bookwyrm/templates/about/layout.html:11 msgid "Active users:" msgstr "Usuarios activos:" @@ -517,11 +524,6 @@ msgstr "Sobre %(site_name)s" msgid "Privacy Policy" msgstr "Política de privacidad" -#: bookwyrm/templates/about/layout.html:54 -#: bookwyrm/templates/snippets/footer.html:34 -msgid "Impressum" -msgstr "" - #: bookwyrm/templates/annual_summary/layout.html:7 #: bookwyrm/templates/feed/summary_card.html:8 #, python-format @@ -697,32 +699,41 @@ msgstr "Wikipedia" msgid "View ISNI record" msgstr "Ver registro ISNI" -#: bookwyrm/templates/author/author.html:84 +#: bookwyrm/templates/author/author.html:87 +#: bookwyrm/templates/book/book.html:164 +msgid "View on ISFDB" +msgstr "" + +#: bookwyrm/templates/author/author.html:92 #: bookwyrm/templates/author/sync_modal.html:5 #: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Cargar datos" -#: bookwyrm/templates/author/author.html:88 +#: bookwyrm/templates/author/author.html:96 #: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Ver en OpenLibrary" -#: bookwyrm/templates/author/author.html:103 +#: bookwyrm/templates/author/author.html:111 #: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Ver en Inventaire" -#: bookwyrm/templates/author/author.html:119 +#: bookwyrm/templates/author/author.html:127 msgid "View on LibraryThing" msgstr "Ver en LibraryThing" -#: bookwyrm/templates/author/author.html:127 +#: bookwyrm/templates/author/author.html:135 msgid "View on Goodreads" msgstr "Ver en Goodreads" -#: bookwyrm/templates/author/author.html:142 +#: bookwyrm/templates/author/author.html:143 +msgid "View ISFDB entry" +msgstr "" + +#: bookwyrm/templates/author/author.html:158 #, python-format msgid "Books by %(name)s" msgstr "Libros de %(name)s" @@ -798,16 +809,21 @@ msgid "Librarything key:" msgstr "Clave Librarything:" #: bookwyrm/templates/author/edit_author.html:98 +#: bookwyrm/templates/book/edit/edit_book_form.html:332 msgid "Goodreads key:" msgstr "Clave Goodreads:" #: bookwyrm/templates/author/edit_author.html:105 +msgid "ISFDB:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:112 msgid "ISNI:" msgstr "ISNI:" -#: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:139 +#: bookwyrm/templates/author/edit_author.html:122 +#: bookwyrm/templates/book/book.html:209 +#: bookwyrm/templates/book/edit/edit_book.html:142 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:86 #: bookwyrm/templates/groups/form.html:32 @@ -819,19 +835,21 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 -#: bookwyrm/templates/settings/site.html:194 +#: bookwyrm/templates/settings/registration.html:79 +#: bookwyrm/templates/settings/registration_limited.html:76 +#: bookwyrm/templates/settings/site.html:144 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 msgid "Save" msgstr "Guardar" -#: bookwyrm/templates/author/edit_author.html:116 +#: bookwyrm/templates/author/edit_author.html:123 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:210 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:141 #: bookwyrm/templates/book/edit/edit_book.html:144 +#: bookwyrm/templates/book/edit/edit_book.html:147 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 #: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 @@ -855,7 +873,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "La carga de datos se conectará a %(source_name)s y comprobará si hay metadatos sobre este autor que no están presentes aquí. Los metadatos existentes no serán sobrescritos." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 @@ -885,91 +903,91 @@ msgstr "No se pudo cargar la portada" msgid "Click to enlarge" msgstr "Haz clic para ampliar" -#: bookwyrm/templates/book/book.html:179 +#: bookwyrm/templates/book/book.html:186 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s reseña)" msgstr[1] "(%(review_count)s reseñas)" -#: bookwyrm/templates/book/book.html:191 +#: bookwyrm/templates/book/book.html:198 msgid "Add Description" msgstr "Agregar descripción" -#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/book.html:205 #: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Descripción:" -#: bookwyrm/templates/book/book.html:214 +#: bookwyrm/templates/book/book.html:221 #, python-format msgid "%(count)s edition" msgid_plural "%(count)s editions" msgstr[0] "%(count)s edición" msgstr[1] "%(count)s ediciones" -#: bookwyrm/templates/book/book.html:228 +#: bookwyrm/templates/book/book.html:235 msgid "You have shelved this edition in:" msgstr "Has guardado esta edición en:" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:250 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Una edición diferente de este libro está en tu estantería %(shelf_name)s." -#: bookwyrm/templates/book/book.html:254 +#: bookwyrm/templates/book/book.html:261 msgid "Your reading activity" msgstr "Tu actividad de lectura" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:267 #: bookwyrm/templates/guided_tour/book.html:56 msgid "Add read dates" msgstr "Agregar fechas de lectura" -#: bookwyrm/templates/book/book.html:268 +#: bookwyrm/templates/book/book.html:275 msgid "You don't have any reading activity for this book." msgstr "No tienes ninguna actividad de lectura para este libro." -#: bookwyrm/templates/book/book.html:294 +#: bookwyrm/templates/book/book.html:301 msgid "Your reviews" msgstr "Tus reseñas" -#: bookwyrm/templates/book/book.html:300 +#: bookwyrm/templates/book/book.html:307 msgid "Your comments" msgstr "Tus comentarios" -#: bookwyrm/templates/book/book.html:306 +#: bookwyrm/templates/book/book.html:313 msgid "Your quotes" msgstr "Tus citas" -#: bookwyrm/templates/book/book.html:342 +#: bookwyrm/templates/book/book.html:349 msgid "Subjects" msgstr "Sujetos" -#: bookwyrm/templates/book/book.html:354 +#: bookwyrm/templates/book/book.html:361 msgid "Places" msgstr "Lugares" -#: bookwyrm/templates/book/book.html:365 +#: bookwyrm/templates/book/book.html:372 #: bookwyrm/templates/groups/group.html:19 #: bookwyrm/templates/guided_tour/lists.html:14 #: bookwyrm/templates/guided_tour/user_books.html:102 #: bookwyrm/templates/guided_tour/user_profile.html:78 -#: bookwyrm/templates/layout.html:101 bookwyrm/templates/lists/curate.html:8 +#: bookwyrm/templates/layout.html:102 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:26 #: bookwyrm/templates/search/layout.html:51 -#: bookwyrm/templates/user/layout.html:85 +#: bookwyrm/templates/user/layout.html:89 msgid "Lists" msgstr "Listas" -#: bookwyrm/templates/book/book.html:377 +#: bookwyrm/templates/book/book.html:384 msgid "Add to list" msgstr "Agregar a lista" -#: bookwyrm/templates/book/book.html:387 +#: bookwyrm/templates/book/book.html:394 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -983,15 +1001,29 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:332 +#: bookwyrm/templates/book/edit/edit_book_form.html:341 msgid "OCLC Number:" msgstr "Número OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:341 +#: bookwyrm/templates/book/edit/edit_book_form.html:350 msgid "ASIN:" msgstr "ASIN:" +#: bookwyrm/templates/book/book_identifiers.html:29 +#: bookwyrm/templates/book/edit/edit_book_form.html:359 +msgid "Audible ASIN:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:36 +#: bookwyrm/templates/book/edit/edit_book_form.html:368 +msgid "ISFDB ID:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:43 +msgid "Goodreads:" +msgstr "" + #: bookwyrm/templates/book/cover_add_modal.html:5 msgid "Add cover" msgstr "Agregar portada" @@ -1058,20 +1090,20 @@ msgstr "Más información en isni.org" msgid "This is a new author" msgstr "Este es un autor nuevo" -#: bookwyrm/templates/book/edit/edit_book.html:104 +#: bookwyrm/templates/book/edit/edit_book.html:107 #, python-format msgid "Creating a new author: %(name)s" msgstr "Creando un autor nuevo: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:111 +#: bookwyrm/templates/book/edit/edit_book.html:114 msgid "Is this an edition of an existing work?" msgstr "¿Es esta una edición de una obra ya existente?" -#: bookwyrm/templates/book/edit/edit_book.html:119 +#: bookwyrm/templates/book/edit/edit_book.html:122 msgid "This is a new work" msgstr "Esta es una obra nueva" -#: bookwyrm/templates/book/edit/edit_book.html:128 +#: bookwyrm/templates/book/edit/edit_book.html:131 #: bookwyrm/templates/feed/status.html:21 #: bookwyrm/templates/guided_tour/book.html:44 #: bookwyrm/templates/guided_tour/book.html:68 @@ -1619,7 +1651,7 @@ msgstr "%(username)s ha citado \n" "Language-Team: Finnish\n" "Language: fi\n" @@ -171,23 +171,23 @@ msgstr "Moderaattorin poistama" msgid "Domain block" msgstr "Verkkotunnuksen esto" -#: bookwyrm/models/book.py:266 +#: bookwyrm/models/book.py:277 msgid "Audiobook" msgstr "Äänikirja" -#: bookwyrm/models/book.py:267 +#: bookwyrm/models/book.py:278 msgid "eBook" msgstr "E-kirja" -#: bookwyrm/models/book.py:268 +#: bookwyrm/models/book.py:279 msgid "Graphic novel" msgstr "Sarjakuva" -#: bookwyrm/models/book.py:269 +#: bookwyrm/models/book.py:280 msgid "Hardcover" msgstr "Kovakantinen" -#: bookwyrm/models/book.py:270 +#: bookwyrm/models/book.py:281 msgid "Paperback" msgstr "Pehmeäkantinen" @@ -215,7 +215,7 @@ msgstr "%(value)s ei ole kelvollinen remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s ei ole kelvollinen käyttäjänimi" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:141 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "käyttäjänimi" @@ -300,7 +300,7 @@ msgstr "Lainattavissa" msgid "Approved" msgstr "Hyväksytty" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:296 msgid "Reviews" msgstr "Arviot" @@ -332,7 +332,7 @@ msgstr "Kirjavirta" #: bookwyrm/templates/guided_tour/user_profile.html:101 #: bookwyrm/templates/search/layout.html:22 #: bookwyrm/templates/search/layout.html:43 -#: bookwyrm/templates/user/layout.html:91 +#: bookwyrm/templates/user/layout.html:95 msgid "Books" msgstr "Kirjat" @@ -490,6 +490,13 @@ msgstr "Lähetä yksityisviesti" msgid "Code of Conduct" msgstr "Käyttöehdot" +#: bookwyrm/templates/about/impressum.html:4 +#: bookwyrm/templates/about/impressum.html:9 +#: bookwyrm/templates/about/layout.html:54 +#: bookwyrm/templates/snippets/footer.html:34 +msgid "Impressum" +msgstr "" + #: bookwyrm/templates/about/layout.html:11 msgid "Active users:" msgstr "Aktiivisia käyttäjiä:" @@ -517,11 +524,6 @@ msgstr "%(site_name)s — tietoja" msgid "Privacy Policy" msgstr "Tietosuojakäytäntö" -#: bookwyrm/templates/about/layout.html:54 -#: bookwyrm/templates/snippets/footer.html:34 -msgid "Impressum" -msgstr "" - #: bookwyrm/templates/annual_summary/layout.html:7 #: bookwyrm/templates/feed/summary_card.html:8 #, python-format @@ -697,32 +699,41 @@ msgstr "Wikipedia" msgid "View ISNI record" msgstr "Näytä ISNI-tietue" -#: bookwyrm/templates/author/author.html:84 +#: bookwyrm/templates/author/author.html:87 +#: bookwyrm/templates/book/book.html:164 +msgid "View on ISFDB" +msgstr "" + +#: bookwyrm/templates/author/author.html:92 #: bookwyrm/templates/author/sync_modal.html:5 #: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Lataa tiedot" -#: bookwyrm/templates/author/author.html:88 +#: bookwyrm/templates/author/author.html:96 #: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Näytä OpenLibraryssa" -#: bookwyrm/templates/author/author.html:103 +#: bookwyrm/templates/author/author.html:111 #: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Näytä Inventairessa" -#: bookwyrm/templates/author/author.html:119 +#: bookwyrm/templates/author/author.html:127 msgid "View on LibraryThing" msgstr "Näytä LibraryThingissä" -#: bookwyrm/templates/author/author.html:127 +#: bookwyrm/templates/author/author.html:135 msgid "View on Goodreads" msgstr "Näytä Goodreadsissa" -#: bookwyrm/templates/author/author.html:142 +#: bookwyrm/templates/author/author.html:143 +msgid "View ISFDB entry" +msgstr "" + +#: bookwyrm/templates/author/author.html:158 #, python-format msgid "Books by %(name)s" msgstr "Tekijän %(name)s kirjat" @@ -798,16 +809,21 @@ msgid "Librarything key:" msgstr "Librarything-avain:" #: bookwyrm/templates/author/edit_author.html:98 +#: bookwyrm/templates/book/edit/edit_book_form.html:332 msgid "Goodreads key:" msgstr "Goodreads-avain:" #: bookwyrm/templates/author/edit_author.html:105 +msgid "ISFDB:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:112 msgid "ISNI:" msgstr "ISNI:" -#: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:139 +#: bookwyrm/templates/author/edit_author.html:122 +#: bookwyrm/templates/book/book.html:209 +#: bookwyrm/templates/book/edit/edit_book.html:142 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:86 #: bookwyrm/templates/groups/form.html:32 @@ -819,19 +835,21 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 -#: bookwyrm/templates/settings/site.html:194 +#: bookwyrm/templates/settings/registration.html:79 +#: bookwyrm/templates/settings/registration_limited.html:76 +#: bookwyrm/templates/settings/site.html:144 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 msgid "Save" msgstr "Tallenna" -#: bookwyrm/templates/author/edit_author.html:116 +#: bookwyrm/templates/author/edit_author.html:123 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:210 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:141 #: bookwyrm/templates/book/edit/edit_book.html:144 +#: bookwyrm/templates/book/edit/edit_book.html:147 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 #: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 @@ -855,7 +873,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "Tietoja ladattaessa muodostetaan yhteys lähteeseen %(source_name)s ja sieltä haetaan metatietoja, joita ei vielä ole täällä. Olemassa olevia metatietoja ei korvata uusilla." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 @@ -885,91 +903,91 @@ msgstr "Kansikuvan lataus epäonnistui" msgid "Click to enlarge" msgstr "Suurenna" -#: bookwyrm/templates/book/book.html:179 +#: bookwyrm/templates/book/book.html:186 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s arvio)" msgstr[1] "(%(review_count)s arviota)" -#: bookwyrm/templates/book/book.html:191 +#: bookwyrm/templates/book/book.html:198 msgid "Add Description" msgstr "Lisää kuvaus" -#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/book.html:205 #: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Kuvaus:" -#: bookwyrm/templates/book/book.html:214 +#: bookwyrm/templates/book/book.html:221 #, python-format msgid "%(count)s edition" msgid_plural "%(count)s editions" msgstr[0] "%(count)s laitos" msgstr[1] "%(count)s laitosta" -#: bookwyrm/templates/book/book.html:228 +#: bookwyrm/templates/book/book.html:235 msgid "You have shelved this edition in:" msgstr "Olet sijoittanut laitoksen hyllyyn:" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:250 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Hyllyssäsi %(shelf_name)s on jo toinen tämän kirjan laitos." -#: bookwyrm/templates/book/book.html:254 +#: bookwyrm/templates/book/book.html:261 msgid "Your reading activity" msgstr "Oma lukutoiminta" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:267 #: bookwyrm/templates/guided_tour/book.html:56 msgid "Add read dates" msgstr "Lisää lukupäivämäärät" -#: bookwyrm/templates/book/book.html:268 +#: bookwyrm/templates/book/book.html:275 msgid "You don't have any reading activity for this book." msgstr "Ei kirjaan liittyvää lukutoimintaa." -#: bookwyrm/templates/book/book.html:294 +#: bookwyrm/templates/book/book.html:301 msgid "Your reviews" msgstr "Omat arviot" -#: bookwyrm/templates/book/book.html:300 +#: bookwyrm/templates/book/book.html:307 msgid "Your comments" msgstr "Omat kommentit" -#: bookwyrm/templates/book/book.html:306 +#: bookwyrm/templates/book/book.html:313 msgid "Your quotes" msgstr "Omat lainaukset" -#: bookwyrm/templates/book/book.html:342 +#: bookwyrm/templates/book/book.html:349 msgid "Subjects" msgstr "Aiheet" -#: bookwyrm/templates/book/book.html:354 +#: bookwyrm/templates/book/book.html:361 msgid "Places" msgstr "Paikat" -#: bookwyrm/templates/book/book.html:365 +#: bookwyrm/templates/book/book.html:372 #: bookwyrm/templates/groups/group.html:19 #: bookwyrm/templates/guided_tour/lists.html:14 #: bookwyrm/templates/guided_tour/user_books.html:102 #: bookwyrm/templates/guided_tour/user_profile.html:78 -#: bookwyrm/templates/layout.html:101 bookwyrm/templates/lists/curate.html:8 +#: bookwyrm/templates/layout.html:102 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:26 #: bookwyrm/templates/search/layout.html:51 -#: bookwyrm/templates/user/layout.html:85 +#: bookwyrm/templates/user/layout.html:89 msgid "Lists" msgstr "Listat" -#: bookwyrm/templates/book/book.html:377 +#: bookwyrm/templates/book/book.html:384 msgid "Add to list" msgstr "Lisää listaan" -#: bookwyrm/templates/book/book.html:387 +#: bookwyrm/templates/book/book.html:394 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -983,15 +1001,29 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:332 +#: bookwyrm/templates/book/edit/edit_book_form.html:341 msgid "OCLC Number:" msgstr "OCLC-numero:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:341 +#: bookwyrm/templates/book/edit/edit_book_form.html:350 msgid "ASIN:" msgstr "ASIN:" +#: bookwyrm/templates/book/book_identifiers.html:29 +#: bookwyrm/templates/book/edit/edit_book_form.html:359 +msgid "Audible ASIN:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:36 +#: bookwyrm/templates/book/edit/edit_book_form.html:368 +msgid "ISFDB ID:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:43 +msgid "Goodreads:" +msgstr "" + #: bookwyrm/templates/book/cover_add_modal.html:5 msgid "Add cover" msgstr "Lisää kansikuva" @@ -1058,20 +1090,20 @@ msgstr "Lisätietoja osoitteessa isni.org" msgid "This is a new author" msgstr "Uusi tekijä" -#: bookwyrm/templates/book/edit/edit_book.html:104 +#: bookwyrm/templates/book/edit/edit_book.html:107 #, python-format msgid "Creating a new author: %(name)s" msgstr "Luodaan uusi tekijä: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:111 +#: bookwyrm/templates/book/edit/edit_book.html:114 msgid "Is this an edition of an existing work?" msgstr "Onko tämä aiemmin lisätyn teoksen laitos?" -#: bookwyrm/templates/book/edit/edit_book.html:119 +#: bookwyrm/templates/book/edit/edit_book.html:122 msgid "This is a new work" msgstr "Uusi teos" -#: bookwyrm/templates/book/edit/edit_book.html:128 +#: bookwyrm/templates/book/edit/edit_book.html:131 #: bookwyrm/templates/feed/status.html:21 #: bookwyrm/templates/guided_tour/book.html:44 #: bookwyrm/templates/guided_tour/book.html:68 @@ -1619,7 +1651,7 @@ msgstr "%(username)s lainasi teosta ?~wp zP+?$TxKhZ#pvAzz@UxJCL6m`kL8XX+L6(7m!K#RX!JC1BA)<(Z!HI!^VM!4KgAD@% z!}B5r20f6vVg`mV1_p-UVg`nI1_p*z#S9FG7#QjqxJnopUNJB*oGoEskY-?D*ip*B zU<9(Ll!3v8fq{X&3}T^A83ThD0|P^O83Th70|P@}83Thc0|UdxG6n_*1_p+wWef}f z3=9lvn{SpQS zh6QyD3?SOIo`GR80|UdWdIp9LP!KmTFmy67Fo-uYFuY}8U|875z_6TwfuX;NfkBFi zfx)~P5~o3}3=A6?7#LQzGBB)WU|@)DgV5~l3=FFn7#KFUGcfcsFfhb*Ffe3-LbQW{ zVLm9WbTZU4tOU8JlL1UG>SAD6!N9=a)6Kxp%fP_!wVQ$A00RRu+sfuWRvfuU*<1A`7I z)h~jiDcQx4G*KV47?K_KE@og*VPs&qx0r#!9F*FZGB7wZFfdpzWnidcU|^_U3UR=% zrI73vvJ8?Pr!He)s05W8%NQ66LD_FP1A{*U1H+8v3=EnK3=A)pLvn}E3I+yN1_lO8 zC~d!jfk7CQ|6NxwFt9N&Fhs6kVBlb2U`SZOz`)DEz>v9ufq@;AkD>f}sJdRL_!KCA z&I$$w9tH-6#Va5_-T+m92&(P^)Z7~@7#Nrt7#JR|faIR1D;OAr80r}qxL1N*!XUR2 zlFf`(LJYKB32~6uN=SAJUJ1#Tu`40jE*C0avl5bhTcPI6hN@o=rFTNjJ-ia)v2#%K z@2q5C5CG->mmmfM1H&(<2JTf53q)5jFsOry&Q%bH_^e`J;AUW82weqt4k?yY8E&}U#^c)c3p5a~6LqTP25 zB*YrlFw`>$F)%PpTf@L$3MxR>Ffc4)U|_hv29hY7)-o`df#P;8B-P(q3vrZRh#V zoVP$M^41{sIuAuNt~ad`hB-D zFdS!KV2IfYu~=mr#9XayV0-ErEVnT*Sb%E1Z4d=5+aNCMg7T+tgIG8hO0U=kap>l4 zki>X!8zki3Y=ZZGBx=5|QPm~V#^#qQfd1zkM@!`AH(2fW?Rz%UI| zg6&{nFlJ<6*t-LgdOz-j7^Juh;xPSPkdo167Xw2a0|P_DE=Y^!{w_#}*zbmfRM2jS zhmv@xl>a9}6-?g^iHdo8{6kRwX{h?EyCFWl zyBp%r_q!nu`3vO>?19M3?SVAq4E8|k4(~k-4E3PwSG5OHoAvI2Xyo4usjrpxLL9Vd zFT~}$_Cg$XYA?jV%X=9ZfHx&&p$8!4Ld$`ANL+n50BI~T9)vhR@gOA5Ob3Reb#C1@*;|Rp(la4?V(>$p9 z14keonF~iCEvL5-ix@nPLhK1R3Q-?<6y(5q28QaR5Q{pGf?dQg6D+~Nu<$6vLFwiKo&7Dmee)P32p>cF@1W{_K*d>)L*xaZv^11fI}UM};cV!*NIy?1XCAe;kr4&L4;P;4zf`bQ}^wj3*#I6gmM3 z3564oC{RBENh>ZVAo^lYKpG%9Cm>PLe1f4K+~(_n3QRo#@$oz;f5iz%P;NW{>00eP z!N8!+z`$_*1SAfbPeKx*>Pbj$usF%UAj!bM;Cm9{kaVbg-bqNvHlBopK<`NghM5cu z40BIH>woi85R2?jL0sy73KC>tryvF=L**+@K|-eC6vPK@ryvgQKLrV)nNWJ|DM%b2 zgwn@OL89jLDM&eU4a)yk4>gGKG{ga1ry&Ljorbtr?KH$8MyDY@wm%IqDDgDJhdHMq z*|PXFq=C_W8sdR9ry&m9eHs!)M@~b^gR7?@QS};XPW?})K`dt=7IU9rUF<}HfrP-EGmxO$cm@)u2chb3oq;&~-5E$C{svXYaTXFX5@#U}QiAdg&q6$A4H2(r za6b!iS=d>K1vzIS2G*Q~#BIx2NKj5c3-QsMvk;4xo`pDgJ5>MavyhN^cotH5y*Uf< zdCfV9k9*HSJT&_p#GV7^Kn|;CV7PD&qVfJYNMG;OIY<{N@jOK1wDXWSUveJepjGD~ zKG+MTPeRpQJr8MIK0XhzSnL8MiqtPKFqDJ3=@%d&x$FW&|LzM644k0+fBXU@bzi&y z>5RSyNiZ-l6kmk2|7$NoG%URcanQz#kPz7qI$S6oqUCXA&7y2;q(rTSifaZ2p6d{K>FW@Om|w4l_`K#iB+<2AXJD`c_5ZI!Lg37GNYGxp&cJXC z)OoxPv1r8&h`ud1AVIzN2E?KZHz0}m0aX0k4T!~@HzDdIZbA~R_DzVx?dxwsd=hvQ z;sye)Am>|<#Fl;w;?n+GkhHMq7R0A3Zb1^w##<1FZiCWCZb2M;399ZP)S_3n zAVK`=7Q|upw;>_vc^eXfA-BO%TF;Ph8xj<`w;?X9zYQtr`fo!tZiFag*nJx^baLW0 zqzDzi1BpxXI}is1-+>sMbO#bbd3PXnLH!*_$j!V1@#y+H5D#9y1G2ZCf#KO5NEH0I z1MwmMU5G&1q7NY+lX(bnu<=7koCiIG=!<#?t^X6C z0yz&ME-ZQoaY+3`hy$iPgaqlbhmaC(`$JIIiGkr2RK3z82JjfK{v(J5agQMS(jGzD z6%~&lQ8oDyq+PK75hP8WdBji;9-F=T2x7t0N04!VZ%_p~k0Iiwk0Bb|9z%lI|1l(l zq8>xyG6hPPKZZEG>oH`YaXysK`2=FI+!Kfgt)aBXlX{3jp-&(|68{7egsD#;7L`1K zbWfq~&L)WA1SAc^i0qU zC!Rwregf6U`~qU0=nF_x$iIN336mF)5Vm;%Nt{kEz#&@C;Q0cQeZpTbFo5P9Hokzw z5&KI>?IrROG6p3664DI!dkG1l&Xnn&uR9=Iku%3ZI>oufBqyHKb0v@j+aTW!ovtC0IVbyDh1>LV96AzPLLqNqd zhwX#%FF-AL@&;1Ey?z66FzZ{0M?~L3e5m&pk~mG?LR!tSZy^rqd<*h91HKrx$MR6V29$3A`{y6+uBJ-EF-4QjxKcMzZMd$_8t;M^P%EP-a~x8 z`aQ&Fo8Lo<>_hJ%4*3VA1wTOaseFKhq~-_6WR%$lNa9QX014@7A0Xx|ss8{e5H^2+ z43VDt04WFlKn>9P2vKPM5$dy#5Ql_)gjf&YqXdzCs25e1ya`&nHOGDSm?Rb)kHxPY?(BeS$b3_7fxovpzvAD)Mbw7j6t!Hrg3@Pa%KSL}m{|pJT=Fbp|wtR;8{P1Up&o6(5 zMA7Zfklga*GsNKkpCR?U<`+m@+kXLDz~K1>G650y1(G{jzd-Dn_XT8rJp;okFoS_% z=NCwkdEyJiqE}xa7Jd2x@#*g`5T9~ zoPojbC&c{NpA7Zjxt{!=5TDilgcvaKC&VFhe?n@%wLc*taOx+dAUO{;=<82Nh_U>F zSitiOGVU+=3o^zl`wNl?yMIB7@O8f+=I#Fl3E?}x>LH2f=`TnKF#LvC%>5gpK>9bt z#VWrcL1_$?cl-@;aNuu9)TRE0B-*~;kSN*z8{)8|zai6eXMaP=3Bx}Shq(NKgivTb zlo9_264aT0AP(vJ0||+#e;`4-@DHS<+x7<%0=NG_EMWW#aTw=ch(pEyLL9F47ZSw! ze<2n*{)J4{djEx#6N~;rrs?bV{Drjp|Nn(l66*gTK^FWEVnNwIhyiu~ATICt2Qhf& zKZu2^|3N}**FQ)|p85yL-%tNRn(2T3K|Cb$AL1eP{}2Zo{|B32&*1nUVu0s=Na~D) z@)Q0;s?CD`ko?;L(ZI0&Kg5UIq3RC&hdAuQe@Hp<5UTz^)Iv1|M)3Tg5tO!PUj85qF}4t_B(f~V(&7#YDUCbStD!7C;l85tR*K>0r&Dp17;F<=HG#D%*U z8No{}4ly!h8ob+EfYlF4kkwMI)P(Q z^;ek~!E?ipm>3!AK}#yWFhP9A%?vR}h#8_$ni*oDCNm>=0fI3z#6fnBzYF;)- zP+7AX*&r^T#|Cl0S~iG7cR=a=Y>W(E3=9m%ptK-6BX}J^3_ByZLvocJ z64Wdlj0_PB3=B#f5PPaQ7#TJ(FfdH!sAmMP@o?j01W!apb3)=MkCTzXlYxPug_9Ay z0^%GeBY1s41Q#QND+2?=Z7xRef&xWuh!1aaGlFK^7=(Ek!PE68cpxF9%*zO#6?fxh z1h1~y!3%NFRbEE$Dw)sqybuSN@iBsDKE3%MLH>>p;^QBDjNoZ=W`2mzIr$-JLx3M5 zF2N5;v~v86;JIOaeny6wj0_Cc{E#TQD!>SyAABmn2yR`!5?}-`T5%ABq@DVyf{frM z*djqj@M4oaf{fs4@{fWLjb8;JY2p`@W)_0*d4wPi6%~RwNFGY73qdT_7h(i2GO-te z1bMO$#G}KT>@F@o3itc3_L91()J>@3uRTTt;QLJ%Ln6@nzr&rp4g z!Vn83gdvGjLm1+~U}1>EVuT@aogxg;CoTdJR~2DoI10-Dx*`w_pP}?05lGOpib6C9 zh(c1YoG2rBe(-}RBSSO;14FwQB!nJ|K^*)-45I!kl+P><5f>0=1TSooh4L-MAtB)= z&IlR*ixy`DFCa=4hd8819FlmZf)s$JRK+1aKP1iwo=!g@&In$V@ECLM44@&|D0N5_E>?#W*@x5_!3&(~zp68W$7szp7{Ntxmj)wv zN_K|^q%yjp0rAN%4Ty$nO-Ar~puL)m;Hel3Ek^KiyA&-*P*2r@gy3o|M(`rF-CB^4 zd8h>`s*SWEX`)t}5wswwo?)UkB#!rKL*n+dHY8}TLHUogAqB}>ZAS14C_x=Yh9U+A zhHM>3P~Ovl=(Ey=M3Jj5BqW1%AtA9`7a}jI2l1$i9>n40dZ3U8t$5R8WC#Q;wbFy8 zetkypS}lEjh(qS;LwvSU9}+VA^&t+vuMf$7Z}cHi@mU{I#yc25@_VcS$N~n2N&`q5 zT4Df6Q>zRZ!Nc;K3>X;AtZMc8$uFMjUgjL z8Uq8vCPPN>l1xb>M(`k%oe?8=aap<%B&fF;F@l$HF&Z;6_%bjsxEe$FlZ_$fT{mWg z%>O+whFJW@7*g&2H--eIf(eALX997MzX?QRs0qX;aZvFz6G)Kem@tADFwTJTznU;I zOk!YQP&9?;+hPi-9rv0-(wc-BV?8*Px|u=Ks@-z0+OitEg=P-p=CWI!+S;sh7e0g zP`X${3Z6`BNVb|_4XM5MTSF4zb!$je{kDb#b({?&c-8A#8%TTMrwt=`xt+5uBf~_{ zs##k`h7+L0Eq06yGK>riBKD9pV(0+zm|wjEB!4zLK(f&p2S{V_uLC6eh&eKXm*d$u zLM$wCgyiePj*Q^7T}n<6bs-hWa*Vh!5YnFfx2%U|?W#g*f1+E5u+SH%PXzaDx=h-ENSeTj>U=w$Hdh;{LH4 zB*ggLA-TlP9g+*;+#w-b~#FmU=qTx=M~$gq!rfnh=*q^;*4#0Vaa zX9- zQuen;GBWH3C7LJ*%^eLf=yWtALpuWlLtYFcc)9Jj7)FMJpcT%sj0}4j7#OnRAhbq2 zBf|pFLgRQwhHg+pB>|#OI1xh6PGkhH2UbpEWT*$N)$B`R1h3(|m&6EO_ZyK6Y4tu# zW@Kmu6}2f4`eO8_C!e;Bs0}y>H4Ox#Ck9 zB(*b@L(~hFLuxmra)^bxn&F5-ZCgxugCR)S!3ekRtMb zIix%gs(@(Fs(^?)RzUK92$U{@icf&5TMXszs(|GGvlWo2c?;z;RYLSDRYJ0@LnXK% zs%HqQWMr^nU|`6vgjlqy65_MHm5@Yv4ywVU3Q`V4RY8I-uL@EO z)sPUn02O}$RsX9RQdAq(K=fzUKuXXBH4uj!t6^lY2hAbZFoIV^D%LVG$bs_z%UXyA zjygv0+E4pBh>JJWL84$s9VAhmhtfCdAP#y6<$tb&B;G%D5TCc!Gcvd_FfgpIhlJF( zdPv&fX@JmT4UFK`FA5Ee4E3i$%jg>z8C)0{7}^>c8Sa4Q>zg1Uv7#9g6+41_~uD%zky)YAq@9E+d^tZ0Mya9joe*)U`c8}F)> z0oDIMx*>_BwHFd3XL=z9Kj?+DXg>8q5~WQaBSSuD3q>EK;E?Ty1hr#7#K+y7%>@A$&^ior2apXAr>f2fza+# zAlW--3Pk_nDG+nlO<{zr|2s4V5@a`^^h+rHYYJp=iF+zU-W5uRO@#z)`c#NPHBfrO zR7UWYt0hw*W&gveka}Kl8YHS}ra@}QNz))9cWfFXLp>*`9-jvB@vCW&xc>sxz&0Ji zmzfTUW4-C%IAbuK4v8Yy>5#h8;K|<>0EJ)lxngvN~Z)ZVr!Poj(kf30k4T)=^*${($ zWr z%yb^aJimDmpJ&X2bh!%WL855#JV*$ym% z#0$z#gwiEYx*bZ-nhyz~wNUk^pyChbL*o9+d`R0*U;!x2)iW>zEr2A3hy@Ur6)%8T zJZS+W&X+8Jq=7vPAU?aa01^^!7C;)OUlu^3LUkb|1R@qfLacBhB&eq@gm`HFLP(Tu zS_lc*eIRjA{eNyD#K4COA*uc4LWqIviy-y6)gnk@Oj!hxZ(jr+I$>D42%_)OB1ll* zS_EQ*Q~x z#l}k@KCxc{2?@_7kf?}X0`Xbd5{N@Oq4E=#Ktg8u5=cniSOW3!E2z3(OCV9fw3M+P zJmn&{6cTj$OCb#jkEIZw7B7YPY~oT#(9eR(Z&?b-uJ@txpO-=s*Po@3xEEXo;p;(Z z=VcI&L@a|uamq4C_1(Oz9^&&y%ODy#mP3M2bvdMwXuBNZu-N60AT3)C@lnfih|i}j zhZwvPs&4CYND!Y}4hgZlQ1hNc<^L~-I80&%BuaGaS3ne6tbhce(+W_kWMJ@G0kJ4x z1tj|{qZ75@K^!Ld@H>5)$M`Rze(lWhKPI=PMb(lhmJ9 zLOMA0jjJFE&#i)#@%L6ieEf73q=5JbrTJGw9Hg)sqS0tIBrVjhhB$ocYDlMa?rKQd z@LvN7iL^D4>b-Ogq#@I^2GUpDz6NZ5J%jIBNUapN7GlAqwGbCCSqm|E`&x*B``1FE z;M!V<51*`sq=|QHA;W1L>mX6ay$)ib_Bu!+wpa&=B3mf!xek)1Lf3)Jsb^q_TL={RpR*Yfccq&lse1Beh|iX9hIB3uLgim=hJ+Bu z7DyjXY74jsWw71?(Vw&h5|s^GAZ7oAEsz$_)-4bpi*AL4jNDepSd#WuMuvLOCef;` zkW|^Tm672bXrJ#^NRSt7gSfnX8^pr?Z4mJd+aUS(IF$c*8zioOLHV59A!$fqJ0v$* zZihH9a62TIK$sDgYb z-Lw}khp)k6Jn0rE{KJJyC4pZ-38HCxC`R*j$M#!ymS|2(CbJ& zRKZ^;EwUTZ!O-3f@j=aQNdBL{8=PGj4(^7eflIp~iRsC1NL2jV4M{U%dmwd&!5)YY zqxL}5Vcid@c4hZN5_SB3aGI-U=-3Yl(z*K~ zwc3vTkWT2+{frFf85kH29e|XGlMX^0IO8D1XUh*l(!#ET5DSkVgfz3C9E9Wo=|hmH z)IJ0WInzTB2f7`C$on4xg+M(6L;N8~(A6G-IAr=ENTYJoAxOLb#UY4=&W9l*oMDF{ zaol!h#KVwmxc)Gt^15~yQl~H;fh1=2BajetKLUx0$Rm*9`TQf${J#q-arg+N zgu8hJV!`txkZkn%2*hBXqmaa7eiUMH*ilHMv*akm;f%*17Rwxi_}J+fB#MHMK|GLt z43bN#pyEx(7$N)rra?8XJO;7w{4t1+UL1o28UJy}5RJrfh);r#L&on@k3-Z?J`Rpc zhBe0_4mfxm66ep4Lmcq`I3#L?Pe4+=!wHBvl_wbM!7~`$Cm^YP!wHCim!S&ZoPZ=k z)sql$&y$c!Bv1zC3 zA&F|^DM+e3a0=3OdU*u-QLxQsSG{nHR(~$f<3Cdr28lrFOX-HJ= zhtg+HL%QR)PeUd${LVn4XiNPWNbPm>3}ivTi8GLXI`>&f>JB^$>0HL0g)BgLauyPY z>E|GH{yB(4%FjX4Li0IDe_!A{Bu z)$r^*B+lQRhm2fkUV!+l@B&1AHI(0T0pinX7a$?E1S)^*0;EK|egRTdVS}sG<$imAIhnNt6hamqj_9~ShxmCAG``l zwAZde9DegEWPd4N?+LxdxeO-Exf)TphDrXN0W(cfAgYqtNRR zALm?$_@wqaB#1k%LqcTXb;uCw+Ut;@etI1e0>U>SQKoPM;sK2t5dB6sAP%vG%KP7d zm>+%vlGZYAKlZE}C=~Qc|wD3(3a&??Q^` zqjw=u^5rf#vDY)O-Gj`4^4^2Qao9bGkCN^|EUbfyPrnCAgp2P%(#no|khL7=??K`+ z?LH(VYwkll)N>yqKJ`8$c-zkE`w)wxA3)5_eE{OuGcdG0fb>>pJb0?Mxdq0Luw}n22w0zD!hJ+l; z6G%0z@C0J9+Y?Cj8~z01(UvEW#J=?jbpHS36G)I;eF6#McTfe)Paz7$pF$j@{S;DC zhChWkp!X@H_MH9{GUdALDMY{SGf3KTdIrgsNzWi5nDq>j?~9*7)NOjk2s!`bI8?)} zXW&YK;ny>Wg-XvMaq9OR;*dBfUGyAcVB2$uLH*AmiEznt$ehu}=a2$S`vs(@< z0&`wKJaF;_r2P2*0y;IK`x4?4^Ouk~a(f9W(-U4oLZr1a7L3bCb z@F~>bZ?7QPi1Rh1B(!)9NsI-rAr>^fhB$P_Ylu1PUqeD}7nDBt8e;LI*AS1^e|`;d z5$_vFkczy4SSj5oO=gx*u!@a5B_}z2^qHcAdiC1|9TJcspNY|8qj(VNi3G{ zA=xPHJ*2Gec@GKdeeW5;lh7C5L#EgDK0xO6c70$3pXv1L17uG5*GGuQ+&)2?WL2La z<--0?5Oc48Vq{PU<^R8*Ac;)%GsLHMpCK;w`3!O)14HO%NSiSBGh~2a@n^_v_qWdw z3);Uxa?S29jNmh)9)E!(PLHpQ438KX7?Qs-GT1UOFt~k#gjCBnNQf-|#>h|)+UtGz z8)Ps^`a5I+!L{#@%4Et9Murcd<9L2R#(XaPWCWjvBl`=|GZOs`snrU8GlCBmoAMiy z?Iiv{EVB9ona+>>1M%R_Ka32Z`Nm6sARe6em$4qaG zjlYoU^xj{H!GHfUGCX5sU{Lr6@hLk46L^)Y5(5)>jhH$E6L=GQBLfq7mCQ{BCh$BX zHzN~xU4Skl6L^tp9%DTdczJCRBNKR0cm*R9c%^d#BNKQ%a5p0pc!T0RMkes8)pd+a z;5FQbp!^$*OyGsaZy1@tOSPq$n7|zxHztUM*-T8}365SSCh)4dIZRC8^~QUk;uq_g zn853HA22~IegmbyGckb|3^Or9G|DqGftO&~Gc$qL?Zq)e9JYX&3A{FZ12YrDbp{58 zeauV@pyT?cu`q!buWw{wVz>*M;$?w2WCkmQUJj+}x3MyT*K!|aWdfh^_JWm(;R^!; z!!?XnkNkgBB+fcnxR(CnO4zIGMn!*0MO6z>7)NaY7uR#>E6$FvwuU z1#v(;7bFCVxgbH>%moRt8C*=@<@#H>Am;9e%3tJS0xxiW1{Ig)W@3;At^d*Gh6JrA zH^hY*+z^eu+z^+~=Z5%j9h85N8{&Wq+>o^Jgd5_3U)&HM^YcLD)p#KKtau>i`0_wJ z62rp;UjLuL!^B_@%KvRV5T6|5fdtJpDE)*75{I97AU^ud14#?4yiDL#a;m&c3?~^F z7}|It4hZ050x!!+}nWbqhd(ezE`) zcsPEx026p!{~7@%@D7Ii0+6`n835x^Q4#65@;4-{Z2@;p@l$gK=4z?>pG;*pyqDVxA z3B1%&RfP#Wp5LSbu|QB25*2c)OyFg?6IGeOU9Cf^OyEk3Q4NwfJV`kbx1xBQisH0q&mc+CF&4|Y*dG&l|xWV;v!< zyrPn#Al0BlB|$4=85tO^vM@00XJ%k%XNK(i+s?$ma22YBm5G6Y3v|i|=)e+Y28M-9 z3=BSu3=HCo3=A%;3=C7C7D1IWIIu7C_){}#KOQZpP7L{0m(v576t}M zCI*I`ObiSsm>3w2gO19BS}+$(*E29gK?U_#!6FQbERgeB%%KMTV1OJfdj_fwq-qrl z1H(e7JebeSz`zf62#9}%kpZ-o5X5BQW@2DC$IQUc#K^#Kotc3lor!^=g_(hY4HRmi z^1m8X(t(vih#5=_3}2WT7k9SaU`OhHIcGWMW{L%gDgM&d9*;1ebWhIS?fh6W}EaFLq}wfGnd14BO}1H(^Hh%qxTI59IYXfQJ{{9t5Yc+14V zFd6D-(8{Bz~#z`(`Az%ZSO zf#DZ3149E;?F(iGhBg)k1{+oehQrJZ;3c`Am>C#)K_LTbNij1poP~PgE(_$O-1$t9 zLk*TGurM%)vNA9C#8GBPkQBc%k8 zZ6N%Kg@IuoG~&Hk85q7ZF);9hA_;UTrvNMDL>G|4KxPJpDU6VlqI95+1Bw5DYQD|D z0B$KrFf%ZG21!6MsEG<IjgWB`X6%2goi^CItzcXM*hd2OUj(l97SIl7)dGi;01u z2}zSX3j>1~G`5qOA%}T3K>7DU`HF>s;UOafgDVRIgDxWjc)oQF1LOp1QK&hfHQ6Bh zRx>j&R5LL!fEEdZ_zc^b85sOo85m|UF)%1Y4fSGVVDN=%x{!bk6l(76yjP zNMg%C`34#ShoCe_EojH+2Sx^leT)nYf0-E=G+7xKRxvR!>;T38W<~~Z&rN`Zfnf(D z1H%(W28Lu7$SF|4P{WsiOo8HfM#w?VHlW~RfSivx1FDV>YN-}9*g;xuGBGg7F)=Va zWrmy<>cz^y;0~%K7#JAjS?d`XZh}q%2dQLWVE7I7Ih4!L&&0sM!VEd6bve|+ZBR+j zf_)EG$QjGhP>Y#a7#MP(>Ojg~GBPm4GchpugAyw<1H&b#TmTCL!!H&FhCB7l4B)9q zcV-5LU`7T8A*cgDP1K3Z3=E~r3=Aw#F>V$HhA8=Sq8$4%nS@k zP)jDUFfgnG)e6iE;Jvb4ObiUtj0_BGnHd`S3!vg4%V2mNRE;gvF(*KdgGB)o1H&7TJ_ZJcD5yG+ zK3#}8_24aN`XCJ;Q3eKvqfi<|*)TDHmy$+1|BLjmYD+7ZxR9=#qfq|Ks0ld{M6Jj}oEmJ)Mg90n$$f1>t3=BM=s)Uh& zp_GMzp%2MXp!2c=SQ!}nL7O(17#NmA9dMq7fkB8Fa&#HU!6u9h43n4{7~G&19ARN# z$Yf$*P=oS8YA!P|Fsy;qvM?}wWoBR~1RYn)!oUy$%95a_2sDU8m>3v7urM$b zF)}bLVqsv&2Nm0(=t6STU#RCm#)G!OJp?6AP`eB2p-+qq^$dm}gF#IRCI*HpObiTc zPy;+z7#K8I85jx}85nAr7#Lfo1VPM$C#K7>1k%8d=GXuj@M##ZSAi3F$3=AKb85m@l7#Jd<4!8$8FBjATWno~5 zWn^GT0Ofy>VnJpG24zq3wESs({JEN5Y02xMenmz!1aCz~Bva z2uKa+xOxx`!r>r`Knw;3h8Ii>3@I!O451*$vM?|tvcT$J1_p+YObiU{pt_ui0o zWnlns#x{alE(t0+85kH$85tO2pq7O*Gcep_fgHf24NBdN3=9s;3=BV+85kac+7C>S z(}0&l)z1OdCD7 z42Pj|pqm4fL3d(6`Eslb3@wZd3>l0J46~US7{Z}?Kmm})%)pQeRp-jgz~BX{|3MO< zixl30E?r<^0B_3r0qT%}B%oN3m4P9hg@M5VRQfS9FmSOlFmxgrJc)^cK@n6$GcqvL zFflNEV_;zT&%(gK1NEFABLhPp$k9xY%N|xRGccrp`dpy$M*>uVPIGfayck2 znHU)6fZ7322e7g-FqnWE+8|3oEq!JNhRdK^9-#6dY8o>Gg9jr6XpJv}84CkL8`P&D zxed@D_WK+ zB)@=4Kt=|Jf1oQVm>C#eK@Gakz`&r(%D|8ZI?M|yX2A?O52YW<2c3t#2Fkt;>dJr$ zFeJ0NppFGOVmA{5!zobb55xgsNmj@~n-^Fh2X-5?FfiO_VqjRt%)oGliGg7SBLl-L zCdhebAoZY8K+q)&*-%5}7#SE=LqiE955l!93=EG!*$vc}0CitLg%k?|!xAP2hOaCP zpgER$23}~vqX%{QX(k4S|BMU_I~f@m_A^2*-vHen(aFfb@EocJWcW5_1_pUhna{ug z9^lhqWMH_@$iR@t!oYBXg@Hj6L0IL5%*OGwL zfo^hn49c%ig`oY7*H{=BWMW__gQ|4_B}PUD23tl324N-!hUrjo&}A%gp!xw+4}c5-t;GPvH!}mn zLna0WEfxlbPEh&(hXr!-BS?({QvAJPVqmBOwf~`(P6M^wnHU%rgGPFo85pL4vKUAc zs2d6mF%XxXm4P7`G=2hg$U!CshF(zTo{<5(&G80E5h%)-85r&}gYq9#AdZ;*b=vW%4rNYoC0NsOP3-v%9BLl-OCI$vZ zMh1oy(8v<#$`jDg?n+RHnVEsXg@u8k9cn-`GXuj7Mg|5>Mg|6TP_|=YU@!tTFqs(` zR9P4p?y)d1Sb)k5(2x`h14G8-#1!Frb!G<83SNdqpri^KKLYJN1htWv85pct85sPa zP62t*i3M^c0BCC$h>wgx2j7dZGBB7zy|{&mfx(iQfx(`Yf#D7)Jee54n`QYxJ$wcR z23b}H1~E`y3S>w;GXsMG)c+tp3=4pE$AV&=nSo&)C=)U>FeHGy4z&cd&9@rrKvhs# z3e{K*4H6Ld79#^gBqIYu2UHJ8>@+h2LoOo&Ll&$q1zlzVk^o^Z76yh#pq3(N2U3j@P5P`?POHW}(js8R-BMh1r0plgDd85mSRV~q?94DX?8K^va) znHU)EGBYr6fZ~4v3j>2C69dCSG(#>!9RxBIbiWjcR$*dbU2VI5UG} zknucFQ4aM6=z#ZgpjH}aFp!af;Ud)5cc9)IRFfSv2;MR>FdTx)L#4p;xF9y@aC#6p+0DZ(&nrT;JI9o`M04CyT#1F@C$U?8B~of3j;$7lnqh`+7Af2aEcM?K+rv1 zpi6|lfNE@J1_nk}28P$n3=BS?W+t z1GO1J4I|L#DX2BY#J~^_^~DU(#c~V`-~%T>W_vR;Fnohr3OZmMbXdqsW(J0}ObiT~ zpl&88K{GIbFC_yVAOg|@!UsT;2%w5NoRNXSAL;;*1PH4`Ed#MZ7<8CK1xO7e19-Ys zmXU#>3#ujnbSeo81A{$i+zIMykRH<7n=wpc5^jAqSevT??vMnHd;furM%O2Q`d0 zurPo(k6&emTq0P*!oXm_!oW}hDkDLMzpyeeII%(wkOUd5&d9*v%mg{ZZ!;4E_<$He zCI*JRAm2hQ0;vPxC{P-LI&>oo1H)4W1_pi>28QRLv3*ed8-Qv9kV?=rI5Pu76sWvp zWMEhd8uW&0oXpI?U5!66&CdmD5#Y_y~?GqQELAM`Nw}Lv!pw<+q5CIMGK;@jF zmV*qpg0i23sxbxz1`%ckhIvrSjX>kvP(6XH3=Df%AU7ud0_A_um5Cq&gh1seGXp~h zs5uW3U|?X-22Fi{MqfZzVlXit5_HqDw!AFsk|P;{Q}dAd3MKgpsv2PTYZh<5@@*fxKyhkb36c)I%`N}t zGIGMbxmBLgl8rYJS;cmLHpUWe-r!&#D~8bGRD}?qV5{x>1R1w5bAo)EnpaX(IXz31 z@eK>e&)a>(7(dFh8=5E>SXh~CcQIpB@Ztdlynh`1t#(6UCC^4XrlB$rC zsF0glT%4GmT9lc};FwaBT3nn83HwJ4>#Z1^AQ1#oicqJpU0^QbM@BV;ocy9CX}fQia8J)9FJDpf6ZeQW9M|whsNS|zGaNhn8ia&GIKJE6H8J{ixjLFf>Vpi zz^v(?S27l(M(FmWRg5(<`i`Z^rFp3e$wiqZnT4gP3i+k5m`%(qN>wPxFD+8YNma#)66~%hnZC)_`W8_0sy4~^>V?Mi- zb82!X*xeZJ*uLx|<8?k+NFb*cDFg@mC|EJTxgkEm3RYWdn69w!se_Wz;gzWh;LNk# Qla)w3=(BvIFZl5AjQDIa5A5P zL4|>V;YmINgBAk=17`sPgD3+7gGm7cgDe9BgI56qgEs>MLq-7ugA)S-!8-{uY2E{T4 z1|J3nhPX0_g4JaV3|5Q`42R1Y7(^Ht82*(rFzjGpU=Xf=$e*cz`1nZ$149S{0|Qef z1A`g^14DQvM7*vNqHj(m#GxB285k597#OZpGBC(7Ffe?pgoK=E6$680Jp%)Sb`?ax zwTgiuhJk@0x(edr9aRhrCZG_hVqoB6U|{$Q73ZjCU{GaXV34S0VBlk5V6dxZV31&7 zVDPPmgkV}V0|O@m14C0a1A_nq14B85lM)Ffi9y~ zzlVWgCj$e+sU8M~c?=8;Exim36$}gv%6$wB>lhdq=JY|L%)1{#vrJ%M*v`Pfuy+Cj z!yE<%hSG_UkPw7E6;8cjX^E3vAR0alyBhw%urZpWxZPR>Pg-U%FxW9MFxbszU`SwKV5ptTz>vbgz;JIa149%81B3HC28Kvb zl+1&qkstFQ*(!8C14A;%p!p08iJ;UypMgOalpPl^FbFa*FjOpHU?^o^VCY)Fz@P(4 z^$Q_sN_Qb7P1GkXgk*=a3mF(x7#SGeEo5LY2c`DK3=GZ;3=H0j85pV<7#R8&Lma@h z1d`oSmO!%O(j^QGl?)6FdzLUT6oRtfQU(Tp1_p)|OBon685kITEQRC_rDY5ZtPBhc zo>1C<83ThbDF25pV_;xoU|`5x#=yYAz`#(jjDdldfq|iN83O}5C?7-l{ZMstq2f!R z{58uM7M7&b41`1k-+{UxZn2T*fgEMs6`W?*3WxD1kezAj^65CY|Y>E&RTFz79Z zWHYDb5CeUeLmU*f9Fm=qmqW5;?s7=BtA)z`F-7q^^YcJbNW1Bq~-y z9MZfJ;($pjAw}`*m5`u3wi4ptQ&9TKN=OLZgPQYhB?E�|UeFl@Nz$uYwfqv8x~< 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 K3|Su-0~G)e@Wj^u delta 29068 zcmaF0nq&7uj{18-EK?a67#M6=85m?37#RL&GBEsRV_>)w3=(BvIFZl5AjQDIa5A5P zL4|>V;YmINgBAk=17`sPgD3+7gGm7cgDe9BgI56qgEs>MLq-7ugA)S-!8-{uY2E{T4 z1|J3nhPX0_g4JaV3|5Q`42R1Y7(^Ht82*(rFzjGpU=Xf=$e*cz`1nZ$149S{0|Qef z1A`g^14DQvM7*vNqHj(m#GxB285k597#OZpGBC(7Ffe?pgoK=E6$680Jp%)Sb`?ax zwTgiuhJk@0x(edr9aRhrCZG_hVqoB6U|{$Q73ZjCU{GaXV34S0VBlk5V6dxZV31&7 zVDPPmgkV}V0|O@m14C0a1A_nq14B85lM)Ffi9y~ zzlVWgCj$e+sU8M~c?=8;Exim36$}gv%6$wB>lhdq=JY|L%)1{#vrJ%M*v`Pfuy+Cj z!yE<%hSG_UkPw7E6;8cjX^E3vAR0alyBhw%urZpWxZPR>Pg-U%FxW9MFxbszU`SwKV5ptTz>vbgz;JIa149%81B3HC28Kvb zl+1&qkstFQ*(!8C14A;%p!p08iJ;UypMgOalpPl^FbFa*FjOpHU?^o^VCY)Fz@P(4 z^$Q_sN_Qb7P1GkXgk*=a3mF(x7#SGeEo5LY2c`DK3=GZ;3=H0j85pV<7#R8&Lma@h z1d`oSmO!%O(j^QGl?)6FdzLUT6oRtfQU(Tp1_p)|OBon685kITEQRC_rDY5ZtPBhc zo>1C<83ThbDF25pV_;xoU|`5x#=yYAz`#(jjDdldfq|iN83O}5C?7-l{ZMstq2f!R z{58uM7M7&b41`1k-+{UxZn2T*fgEMs6`W?*3WxD1kezAj^65CY|Y>E&RTFz79Z zWHYDb5CeUeLmU*f9Fm=qmqW5;?s7=BtA)z`F-7q^^YcJbNW1Bq~-y z9MZfJ;($pjAw}`*m5`u3wi4ptQ&9TKN=OLZgPQYhB?E�|UeFl@Nz$uYwfqv8x~< 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
From 7ff654720c58b0cecbeb7367a9363acd4bd0d3b2 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 16 Dec 2022 14:45:32 -0800 Subject: [PATCH 06/43] updates tests --- bookwyrm/tests/views/inbox/test_inbox_create.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/tests/views/inbox/test_inbox_create.py b/bookwyrm/tests/views/inbox/test_inbox_create.py index e61b9313a..f0fb84edf 100644 --- a/bookwyrm/tests/views/inbox/test_inbox_create.py +++ b/bookwyrm/tests/views/inbox/test_inbox_create.py @@ -63,7 +63,7 @@ class TransactionInboxCreate(TransactionTestCase): with patch("bookwyrm.activitystreams.add_status_task.apply_async") as mock: views.inbox.activity_task(activity) - self.assertEqual(mock.call_count, 2) + self.assertEqual(mock.call_count, 0) @patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async") From 8c34b23c35cbb32bfa2b02a8835cb879b87e3182 Mon Sep 17 00:00:00 2001 From: Joachim Date: Sat, 17 Dec 2022 11:39:10 +0100 Subject: [PATCH 07/43] Disable preview images generation for remote users --- bookwyrm/preview_images.py | 3 +++ bookwyrm/tests/test_preview_images.py | 24 +++++++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/bookwyrm/preview_images.py b/bookwyrm/preview_images.py index d20145cd3..7c108237d 100644 --- a/bookwyrm/preview_images.py +++ b/bookwyrm/preview_images.py @@ -459,6 +459,9 @@ def generate_user_preview_image_task(user_id): user = models.User.objects.get(id=user_id) + if not user.local: + return + texts = { "text_one": user.display_name, "text_three": f"@{user.localname}@{settings.DOMAIN}", diff --git a/bookwyrm/tests/test_preview_images.py b/bookwyrm/tests/test_preview_images.py index 79ee195d7..3d248a541 100644 --- a/bookwyrm/tests/test_preview_images.py +++ b/bookwyrm/tests/test_preview_images.py @@ -46,6 +46,19 @@ class PreviewImages(TestCase): ), ) + with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( + "bookwyrm.activitystreams.populate_stream_task.delay" + ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): + self.remote_user = models.User.objects.create_user( + "rat", + "rat@rat.com", + "ratword", + local=False, + remote_id="https://example.com/users/rat", + inbox="https://example.com/users/rat/inbox", + outbox="https://example.com/users/rat/outbox", + ) + self.work = models.Work.objects.create(title="Test Work") self.edition = models.Edition.objects.create( title="Example Edition", @@ -114,7 +127,7 @@ class PreviewImages(TestCase): self.local_user.refresh_from_db() self.assertIsInstance(self.local_user.preview_image, ImageFieldFile) - self.assertIsNotNone(self.local_user.preview_image) + self.assertTrue(self.local_user.preview_image) self.assertEqual( self.local_user.preview_image.width, settings.PREVIEW_IMG_WIDTH ) @@ -122,6 +135,15 @@ class PreviewImages(TestCase): self.local_user.preview_image.height, settings.PREVIEW_IMG_HEIGHT ) + def test_remote_user_preview(self, *args, **kwargs): + """a remote user doesn’t get a user preview""" + generate_user_preview_image_task(self.remote_user.id) + + self.remote_user.refresh_from_db() + + self.assertFalse(self.remote_user.preview_image) + + def test_generate_user_preview_images_task(self, *args, **kwargs): """test task's external calls""" with patch("bookwyrm.preview_images.generate_preview_image") as generate_mock: From 09c095cfec30df8b41dc8254590f402f6af32217 Mon Sep 17 00:00:00 2001 From: Joachim Date: Sat, 17 Dec 2022 17:34:27 +0100 Subject: [PATCH 08/43] Add remove_remote_user_preview_images command --- .../remove_remote_user_preview_images.py | 40 +++++++++++++++++++ bookwyrm/preview_images.py | 22 ++++++++++ bw-dev | 4 ++ 3 files changed, 66 insertions(+) create mode 100644 bookwyrm/management/commands/remove_remote_user_preview_images.py diff --git a/bookwyrm/management/commands/remove_remote_user_preview_images.py b/bookwyrm/management/commands/remove_remote_user_preview_images.py new file mode 100644 index 000000000..a298e152c --- /dev/null +++ b/bookwyrm/management/commands/remove_remote_user_preview_images.py @@ -0,0 +1,40 @@ +""" Generate preview images """ +from django.core.management.base import BaseCommand +from django.db.models import Q + +from bookwyrm import models, preview_images + + +# pylint: disable=line-too-long +class Command(BaseCommand): + """Remove preview images for remote users""" + + help = "Remove preview images for remote users" + + # pylint: disable=no-self-use,unused-argument + def handle(self, *args, **options): + """generate preview images""" + self.stdout.write( + " | Hello! I will be removing preview images from remote users." + ) + self.stdout.write( + "🧑‍🚒 ⎨ This might take quite long if your instance has a lot of remote users." + ) + self.stdout.write(" | ✧ Thank you for your patience ✧") + + users = models.User.objects.filter(local=False).exclude(Q(preview_image='')|Q(preview_image=None)) + + if len(users) > 0: + self.stdout.write( + f" → Remote user preview images ({len(users)}): ", ending="" + ) + for user in users: + preview_images.remove_user_preview_image_task.delay(user.id) + self.stdout.write(".", ending="") + self.stdout.write(" OK 🖼") + else: + self.stdout.write( + f" | There was no remote users with preview images." + ) + + self.stdout.write("🧑‍🚒 ⎨ I’m all done! ✧ Enjoy ✧") diff --git a/bookwyrm/preview_images.py b/bookwyrm/preview_images.py index 7c108237d..1a3e7f152 100644 --- a/bookwyrm/preview_images.py +++ b/bookwyrm/preview_images.py @@ -475,3 +475,25 @@ def generate_user_preview_image_task(user_id): image = generate_preview_image(texts=texts, picture=avatar) save_and_cleanup(image, instance=user) + + +@app.task(queue=LOW) +def remove_user_preview_image_task(user_id): + """remove preview_image for a user""" + if not settings.ENABLE_PREVIEW_IMAGES: + return + + user = models.User.objects.get(id=user_id) + + try: + file_name = user.preview_image.name + except ValueError: + file_name = None + + # Delete image in model + user.preview_image.delete(save=False) + user.save(broadcast=False, update_fields=["preview_image"]) + + # Delete image file + if file_name and default_storage.exists(file_name): + default_storage.delete(file_name) diff --git a/bw-dev b/bw-dev index ef5dec813..28510d15c 100755 --- a/bw-dev +++ b/bw-dev @@ -223,6 +223,9 @@ case "$CMD" in generate_preview_images) runweb python manage.py generate_preview_images "$@" ;; + remove_remote_user_preview_images) + runweb python manage.py remove_remote_user_preview_images + ;; copy_media_to_s3) awscommand "bookwyrm_media_volume:/images"\ "s3 cp /images s3://${AWS_STORAGE_BUCKET_NAME}/images\ @@ -300,6 +303,7 @@ case "$CMD" in echo " populate_suggestions" echo " generate_thumbnails" echo " generate_preview_images [--all]" + echo " remove_remote_user_preview_images" echo " copy_media_to_s3" echo " sync_media_to_s3" echo " set_cors_to_s3 [cors file]" From 75ea2cdbb4cdde41e130f51880332dd4d396fe5e Mon Sep 17 00:00:00 2001 From: Joachim Date: Sat, 17 Dec 2022 17:34:49 +0100 Subject: [PATCH 09/43] Fix generate_user_preview_image_task comment wording --- bookwyrm/preview_images.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/preview_images.py b/bookwyrm/preview_images.py index 1a3e7f152..8f27b47c4 100644 --- a/bookwyrm/preview_images.py +++ b/bookwyrm/preview_images.py @@ -453,7 +453,7 @@ def generate_edition_preview_image_task(book_id): @app.task(queue=LOW) def generate_user_preview_image_task(user_id): - """generate preview_image for a book""" + """generate preview_image for a user""" if not settings.ENABLE_PREVIEW_IMAGES: return From b570602a479212cac0a35d3293b465c965cbee26 Mon Sep 17 00:00:00 2001 From: Joachim Date: Sat, 17 Dec 2022 17:35:44 +0100 Subject: [PATCH 10/43] Update remove_remote_user_preview_images.py --- .../management/commands/remove_remote_user_preview_images.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/management/commands/remove_remote_user_preview_images.py b/bookwyrm/management/commands/remove_remote_user_preview_images.py index a298e152c..f940d4812 100644 --- a/bookwyrm/management/commands/remove_remote_user_preview_images.py +++ b/bookwyrm/management/commands/remove_remote_user_preview_images.py @@ -1,4 +1,4 @@ -""" Generate preview images """ +""" Remove preview images for remote users """ from django.core.management.base import BaseCommand from django.db.models import Q From cd940e2c407f52495f9ccbe7a74c1f9004cb4f9a Mon Sep 17 00:00:00 2001 From: Joachim Date: Sat, 17 Dec 2022 17:49:39 +0100 Subject: [PATCH 11/43] Add tests for remove_user_preview_image_task --- bookwyrm/tests/test_preview_images.py | 30 ++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/bookwyrm/tests/test_preview_images.py b/bookwyrm/tests/test_preview_images.py index 3d248a541..967dda7d5 100644 --- a/bookwyrm/tests/test_preview_images.py +++ b/bookwyrm/tests/test_preview_images.py @@ -14,6 +14,7 @@ from bookwyrm.preview_images import ( generate_edition_preview_image_task, generate_user_preview_image_task, generate_preview_image, + remove_user_preview_image_task, save_and_cleanup, ) @@ -59,6 +60,24 @@ class PreviewImages(TestCase): outbox="https://example.com/users/rat/outbox", ) + with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( + "bookwyrm.activitystreams.populate_stream_task.delay" + ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): + self.remote_user_with_preview = models.User.objects.create_user( + "badger@your.domain.here", + "badger@badger.com", + "badgeword", + local=False, + remote_id="https://example.com/users/badger", + inbox="https://example.com/users/badger/inbox", + outbox="https://example.com/users/badger/outbox", + avatar=SimpleUploadedFile( + avatar_file, + open(avatar_file, "rb").read(), + content_type="image/jpeg", + ), + ) + self.work = models.Work.objects.create(title="Test Work") self.edition = models.Edition.objects.create( title="Example Edition", @@ -127,7 +146,7 @@ class PreviewImages(TestCase): self.local_user.refresh_from_db() self.assertIsInstance(self.local_user.preview_image, ImageFieldFile) - self.assertTrue(self.local_user.preview_image) + self.assertIsNotNone(self.local_user.preview_image) self.assertEqual( self.local_user.preview_image.width, settings.PREVIEW_IMG_WIDTH ) @@ -151,3 +170,12 @@ class PreviewImages(TestCase): args = generate_mock.call_args.kwargs self.assertEqual(args["texts"]["text_one"], "possum") self.assertEqual(args["texts"]["text_three"], f"@possum@{settings.DOMAIN}") + + + def test_remove_user_preview_image_task(self, *args, **kwargs): + """you can delete the preview image for a (remote) user""" + remove_user_preview_image_task(self.remote_user_with_preview.id) + + self.remote_user_with_preview.refresh_from_db() + + self.assertFalse(self.remote_user_with_preview.preview_image) From 00c2930290ba7a495167701ffb4a9efaadbf398c Mon Sep 17 00:00:00 2001 From: Joachim Date: Sat, 17 Dec 2022 17:56:28 +0100 Subject: [PATCH 12/43] Black --- .../commands/remove_remote_user_preview_images.py | 8 ++++---- bookwyrm/tests/test_preview_images.py | 2 -- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/bookwyrm/management/commands/remove_remote_user_preview_images.py b/bookwyrm/management/commands/remove_remote_user_preview_images.py index f940d4812..d4dc131d8 100644 --- a/bookwyrm/management/commands/remove_remote_user_preview_images.py +++ b/bookwyrm/management/commands/remove_remote_user_preview_images.py @@ -22,7 +22,9 @@ class Command(BaseCommand): ) self.stdout.write(" | ✧ Thank you for your patience ✧") - users = models.User.objects.filter(local=False).exclude(Q(preview_image='')|Q(preview_image=None)) + users = models.User.objects.filter(local=False).exclude( + Q(preview_image="") | Q(preview_image=None) + ) if len(users) > 0: self.stdout.write( @@ -33,8 +35,6 @@ class Command(BaseCommand): self.stdout.write(".", ending="") self.stdout.write(" OK 🖼") else: - self.stdout.write( - f" | There was no remote users with preview images." - ) + self.stdout.write(f" | There was no remote users with preview images.") self.stdout.write("🧑‍🚒 ⎨ I’m all done! ✧ Enjoy ✧") diff --git a/bookwyrm/tests/test_preview_images.py b/bookwyrm/tests/test_preview_images.py index 967dda7d5..d1998bf3c 100644 --- a/bookwyrm/tests/test_preview_images.py +++ b/bookwyrm/tests/test_preview_images.py @@ -162,7 +162,6 @@ class PreviewImages(TestCase): self.assertFalse(self.remote_user.preview_image) - def test_generate_user_preview_images_task(self, *args, **kwargs): """test task's external calls""" with patch("bookwyrm.preview_images.generate_preview_image") as generate_mock: @@ -171,7 +170,6 @@ class PreviewImages(TestCase): self.assertEqual(args["texts"]["text_one"], "possum") self.assertEqual(args["texts"]["text_three"], f"@possum@{settings.DOMAIN}") - def test_remove_user_preview_image_task(self, *args, **kwargs): """you can delete the preview image for a (remote) user""" remove_user_preview_image_task(self.remote_user_with_preview.id) From e9abae9b7db7e34ef295ca2bf82c045433d1b885 Mon Sep 17 00:00:00 2001 From: Joachim Date: Sat, 17 Dec 2022 18:05:33 +0100 Subject: [PATCH 13/43] Add shell completion for remove_remote_user_preview_images command --- complete_bwdev.fish | 74 +++++++++++++++++++++++---------------------- complete_bwdev.sh | 1 + complete_bwdev.zsh | 1 + 3 files changed, 40 insertions(+), 36 deletions(-) diff --git a/complete_bwdev.fish b/complete_bwdev.fish index e680ede43..399ebc17b 100644 --- a/complete_bwdev.fish +++ b/complete_bwdev.fish @@ -31,6 +31,7 @@ populate_lists_streams \ populate_suggestions \ generate_thumbnails \ generate_preview_images \ +remove_remote_user_preview_images \ copy_media_to_s3 \ set_cors_to_s3 \ setup \ @@ -43,42 +44,43 @@ function __bw_complete -a cmds cmd desc complete -f -c bw-dev -n "not __fish_seen_subcommand_from $cmds" -a $cmd -d $desc end -__bw_complete "$commands" "up" "bring one or all service(s) up" -__bw_complete "$commands" "service_ports_web" "run command on the web container with its portsenabled and mapped" -__bw_complete "$commands" "initdb" "initialize database" -__bw_complete "$commands" "resetdb" "!! WARNING !! reset database" -__bw_complete "$commands" "makemigrations" "create new migrations" -__bw_complete "$commands" "migrate" "perform all migrations" -__bw_complete "$commands" "bash" "open up bash within the web container" -__bw_complete "$commands" "shell" "open the Python shell within the web container" -__bw_complete "$commands" "dbshell" "open the database shell within the web container" -__bw_complete "$commands" "restart_celery" "restart the celery container" -__bw_complete "$commands" "pytest" "run unit tests" -__bw_complete "$commands" "collectstatic" "copy changed static files into the installation" -__bw_complete "$commands" "makemessages" "extract all localizable messages from the code" -__bw_complete "$commands" "compilemessages" "compile .po localization files to .mo" -__bw_complete "$commands" "update_locales" "run makemessages and compilemessages for the en_US and additional locales" -__bw_complete "$commands" "build" "build the containers" -__bw_complete "$commands" "clean" "bring the cluster down and remove all containers" -__bw_complete "$commands" "black" "run Python code formatting tool" -__bw_complete "$commands" "prettier" "run JavaScript code formatting tool" -__bw_complete "$commands" "eslint" "run JavaScript linting tool" -__bw_complete "$commands" "stylelint" "run SCSS linting tool" -__bw_complete "$commands" "formatters" "run multiple formatter tools" -__bw_complete "$commands" "populate_streams" "populate the main streams" -__bw_complete "$commands" "populate_lists_streams" "populate streams for book lists" -__bw_complete "$commands" "populate_suggestions" "populate book suggestions" -__bw_complete "$commands" "generate_thumbnails" "generate book thumbnails" -__bw_complete "$commands" "generate_preview_images" "generate book preview images" -__bw_complete "$commands" "collectstatic_watch" "watch filesystem and copy changed static files" -__bw_complete "$commands" "copy_media_to_s3" "run the `s3 cp` command to copy media to a bucket on S3" -__bw_complete "$commands" "sync_media_to_s3" "run the `s3 sync` command to sync media with a bucket on S3" -__bw_complete "$commands" "set_cors_to_s3" "push a CORS configuration defined in .json to s3" -__bw_complete "$commands" "setup" "perform first-time setup" -__bw_complete "$commands" "admin_code" "get the admin code" -__bw_complete "$commands" "remove_2fa" "remove 2FA from user" -__bw_complete "$commands" "confirm_email" "manually confirm email of user and set active" -__bw_complete "$commands" "runweb" "run a command on the web container" +__bw_complete "$commands" "up" "bring one or all service(s) up" +__bw_complete "$commands" "service_ports_web" "run command on the web container with its portsenabled and mapped" +__bw_complete "$commands" "initdb" "initialize database" +__bw_complete "$commands" "resetdb" "!! WARNING !! reset database" +__bw_complete "$commands" "makemigrations" "create new migrations" +__bw_complete "$commands" "migrate" "perform all migrations" +__bw_complete "$commands" "bash" "open up bash within the web container" +__bw_complete "$commands" "shell" "open the Python shell within the web container" +__bw_complete "$commands" "dbshell" "open the database shell within the web container" +__bw_complete "$commands" "restart_celery" "restart the celery container" +__bw_complete "$commands" "pytest" "run unit tests" +__bw_complete "$commands" "collectstatic" "copy changed static files into the installation" +__bw_complete "$commands" "makemessages" "extract all localizable messages from the code" +__bw_complete "$commands" "compilemessages" "compile .po localization files to .mo" +__bw_complete "$commands" "update_locales" "run makemessages and compilemessages for the en_US and additional locales" +__bw_complete "$commands" "build" "build the containers" +__bw_complete "$commands" "clean" "bring the cluster down and remove all containers" +__bw_complete "$commands" "black" "run Python code formatting tool" +__bw_complete "$commands" "prettier" "run JavaScript code formatting tool" +__bw_complete "$commands" "eslint" "run JavaScript linting tool" +__bw_complete "$commands" "stylelint" "run SCSS linting tool" +__bw_complete "$commands" "formatters" "run multiple formatter tools" +__bw_complete "$commands" "populate_streams" "populate the main streams" +__bw_complete "$commands" "populate_lists_streams" "populate streams for book lists" +__bw_complete "$commands" "populate_suggestions" "populate book suggestions" +__bw_complete "$commands" "generate_thumbnails" "generate book thumbnails" +__bw_complete "$commands" "generate_preview_images" "generate site/book/user preview images" +__bw_complete "$commands" "remove_remote_user_preview_images" "remove preview images for remote users" +__bw_complete "$commands" "collectstatic_watch" "watch filesystem and copy changed static files" +__bw_complete "$commands" "copy_media_to_s3" "run the `s3 cp` command to copy media to a bucket on S3" +__bw_complete "$commands" "sync_media_to_s3" "run the `s3 sync` command to sync media with a bucket on S3" +__bw_complete "$commands" "set_cors_to_s3" "push a CORS configuration defined in .json to s3" +__bw_complete "$commands" "setup" "perform first-time setup" +__bw_complete "$commands" "admin_code" "get the admin code" +__bw_complete "$commands" "remove_2fa" "remove 2FA from user" +__bw_complete "$commands" "confirm_email" "manually confirm email of user and set active" +__bw_complete "$commands" "runweb" "run a command on the web container" function __bw_complete_subcommand -a cmd diff --git a/complete_bwdev.sh b/complete_bwdev.sh index 7976b2126..6e632173b 100644 --- a/complete_bwdev.sh +++ b/complete_bwdev.sh @@ -28,6 +28,7 @@ populate_lists_streams populate_suggestions generate_thumbnails generate_preview_images +remove_remote_user_preview_images copy_media_to_s3 set_cors_to_s3 setup diff --git a/complete_bwdev.zsh b/complete_bwdev.zsh index e9c8028c1..512218b5a 100644 --- a/complete_bwdev.zsh +++ b/complete_bwdev.zsh @@ -30,6 +30,7 @@ populate_lists_streams populate_suggestions generate_thumbnails generate_preview_images +remove_remote_user_preview_images copy_media_to_s3 set_cors_to_s3 setup From 4549edb5693d67c9a2e73de812014b83c0a21912 Mon Sep 17 00:00:00 2001 From: Joachim Date: Sat, 17 Dec 2022 18:43:48 +0100 Subject: [PATCH 14/43] Bump Pillow minimum version --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index c0a6b6078..60b372ebb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ environs==9.3.4 flower==1.2.0 libsass==0.21.0 Markdown==3.3.3 -Pillow>=9.0.0 +Pillow>=9.3.0 psycopg2==2.8.4 pycryptodome==3.9.4 python-dateutil==2.8.1 From 86c810ee37d9d750e6626eafd1230b964201078b Mon Sep 17 00:00:00 2001 From: Joachim Date: Sat, 17 Dec 2022 18:44:17 +0100 Subject: [PATCH 15/43] Change ANTIALIAS to Resampling.LANCZOS --- bookwyrm/preview_images.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bookwyrm/preview_images.py b/bookwyrm/preview_images.py index d20145cd3..1578a25f6 100644 --- a/bookwyrm/preview_images.py +++ b/bookwyrm/preview_images.py @@ -172,7 +172,7 @@ def generate_instance_layer(content_width): instance_text_x = 0 if logo_img: - logo_img.thumbnail((50, 50), Image.ANTIALIAS) + logo_img.thumbnail((50, 50), Image.Resampling.LANCZOS) instance_layer.paste(logo_img, (0, 0)) @@ -273,7 +273,7 @@ def generate_preview_image( # Cover try: inner_img_layer = Image.open(picture) - inner_img_layer.thumbnail((inner_img_width, inner_img_height), Image.ANTIALIAS) + inner_img_layer.thumbnail((inner_img_width, inner_img_height), Image.Resampling.LANCZOS) color_thief = ColorThief(picture) dominant_color = color_thief.get_color(quality=1) except: # pylint: disable=bare-except From 684e84f5c3b80579ed96de3081d44eb83c064fd5 Mon Sep 17 00:00:00 2001 From: Joachim Date: Sat, 17 Dec 2022 19:24:07 +0100 Subject: [PATCH 16/43] Remove deprecated Font.getsize() https://pillow.readthedocs.io/en/stable/deprecations.html#font-size-and-offset-methods --- bookwyrm/preview_images.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/bookwyrm/preview_images.py b/bookwyrm/preview_images.py index 1578a25f6..5229de041 100644 --- a/bookwyrm/preview_images.py +++ b/bookwyrm/preview_images.py @@ -183,7 +183,7 @@ def generate_instance_layer(content_width): (instance_text_x, 10), site.name, font=font_instance, fill=TEXT_COLOR ) - line_width = 50 + 10 + font_instance.getsize(site.name)[0] + line_width = 50 + 10 + round(font_instance.getlength(site.name)) line_layer = Image.new( "RGBA", (line_width, 2), color=(*(ImageColor.getrgb(TEXT_COLOR)), 50) @@ -253,10 +253,12 @@ def generate_default_inner_img(): default_cover_draw = ImageDraw.Draw(default_cover) text = "no image :(" - text_dimensions = font_cover.getsize(text) + text_left, text_top, text_right, text_bottom = font_cover.getbbox(text) + text_width, text_height = text_right - text_left, text_bottom - text_top + text_coords = ( - math.floor((inner_img_width - text_dimensions[0]) / 2), - math.floor((inner_img_height - text_dimensions[1]) / 2), + math.floor((inner_img_width - text_width) / 2), + math.floor((inner_img_height - text_height) / 2), ) default_cover_draw.text(text_coords, text, font=font_cover, fill="white") From 003d1425f967c318959121f3d85ac53d78e4be69 Mon Sep 17 00:00:00 2001 From: Joachim Date: Sat, 17 Dec 2022 19:32:10 +0100 Subject: [PATCH 17/43] Fix comments --- bookwyrm/preview_images.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bookwyrm/preview_images.py b/bookwyrm/preview_images.py index 5229de041..49700f1cc 100644 --- a/bookwyrm/preview_images.py +++ b/bookwyrm/preview_images.py @@ -100,7 +100,7 @@ def generate_texts_layer(texts, content_width): text_y = 0 if "text_zero" in texts and texts["text_zero"]: - # Text one (Book title) + # Text zero (Site preview domain name) text_zero = get_wrapped_text(texts["text_zero"], font_text_zero, content_width) text_layer_draw.multiline_text( @@ -113,7 +113,7 @@ def generate_texts_layer(texts, content_width): text_y = text_y + 26 if "text_one" in texts and texts["text_one"]: - # Text one (Book title) + # Text one (Book/Site title, User display name) text_one = get_wrapped_text(texts["text_one"], font_text_one, content_width) text_layer_draw.multiline_text( @@ -126,7 +126,7 @@ def generate_texts_layer(texts, content_width): text_y = text_y + 26 if "text_two" in texts and texts["text_two"]: - # Text one (Book subtitle) + # Text two (Book subtitle) text_two = get_wrapped_text(texts["text_two"], font_text_two, content_width) text_layer_draw.multiline_text( @@ -139,7 +139,7 @@ def generate_texts_layer(texts, content_width): text_y = text_y + 26 if "text_three" in texts and texts["text_three"]: - # Text three (Book authors) + # Text three (Book authors, Site tagline, User address) text_three = get_wrapped_text( texts["text_three"], font_text_three, content_width ) From bf82b4cd3517ae351064b0b282a09c6c6dee206e Mon Sep 17 00:00:00 2001 From: Joachim Date: Sat, 17 Dec 2022 19:52:52 +0100 Subject: [PATCH 18/43] Replace Font.getsize_multiline with Draw.multiline_textbbox --- bookwyrm/preview_images.py | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/bookwyrm/preview_images.py b/bookwyrm/preview_images.py index 49700f1cc..ad3b16d95 100644 --- a/bookwyrm/preview_images.py +++ b/bookwyrm/preview_images.py @@ -71,20 +71,30 @@ def get_wrapped_text(text, font, content_width): low = 0 high = len(text) + im = Image.new("RGB", (100, 100)) + draw = ImageDraw.Draw(im) + try: # ideal length is determined via binary search while low < high: mid = math.floor(low + high) wrapped_text = textwrap.fill(text, width=mid) - width = font.getsize_multiline(wrapped_text)[0] + + left, top, right, bottom = draw.multiline_textbbox( + (0, 0), wrapped_text, font=font + ) + width = right - left + height = bottom - top + if width < content_width: low = mid else: high = mid - 1 except AttributeError: wrapped_text = text + height = 26 - return wrapped_text + return wrapped_text, height def generate_texts_layer(texts, content_width): @@ -101,46 +111,52 @@ def generate_texts_layer(texts, content_width): if "text_zero" in texts and texts["text_zero"]: # Text zero (Site preview domain name) - text_zero = get_wrapped_text(texts["text_zero"], font_text_zero, content_width) + text_zero, text_height = get_wrapped_text( + texts["text_zero"], font_text_zero, content_width + ) text_layer_draw.multiline_text( (0, text_y), text_zero, font=font_text_zero, fill=TEXT_COLOR ) try: - text_y = text_y + font_text_zero.getsize_multiline(text_zero)[1] + 16 + text_y = text_y + text_height + 16 except (AttributeError, IndexError): text_y = text_y + 26 if "text_one" in texts and texts["text_one"]: # Text one (Book/Site title, User display name) - text_one = get_wrapped_text(texts["text_one"], font_text_one, content_width) + text_one, text_height = get_wrapped_text( + texts["text_one"], font_text_one, content_width + ) text_layer_draw.multiline_text( (0, text_y), text_one, font=font_text_one, fill=TEXT_COLOR ) try: - text_y = text_y + font_text_one.getsize_multiline(text_one)[1] + 16 + text_y = text_y + text_height + 16 except (AttributeError, IndexError): text_y = text_y + 26 if "text_two" in texts and texts["text_two"]: # Text two (Book subtitle) - text_two = get_wrapped_text(texts["text_two"], font_text_two, content_width) + text_two, text_height = get_wrapped_text( + texts["text_two"], font_text_two, content_width + ) text_layer_draw.multiline_text( (0, text_y), text_two, font=font_text_two, fill=TEXT_COLOR ) try: - text_y = text_y + font_text_one.getsize_multiline(text_two)[1] + 16 + text_y = text_y + text_height + 16 except (AttributeError, IndexError): text_y = text_y + 26 if "text_three" in texts and texts["text_three"]: # Text three (Book authors, Site tagline, User address) - text_three = get_wrapped_text( + text_three, text_height = get_wrapped_text( texts["text_three"], font_text_three, content_width ) From 26f8710c6ff28f27db4468c4b86c77e14dfb090b Mon Sep 17 00:00:00 2001 From: Joachim Date: Sat, 17 Dec 2022 19:52:58 +0100 Subject: [PATCH 19/43] Black --- bookwyrm/preview_images.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bookwyrm/preview_images.py b/bookwyrm/preview_images.py index ad3b16d95..b2c3e627e 100644 --- a/bookwyrm/preview_images.py +++ b/bookwyrm/preview_images.py @@ -291,7 +291,9 @@ def generate_preview_image( # Cover try: inner_img_layer = Image.open(picture) - inner_img_layer.thumbnail((inner_img_width, inner_img_height), Image.Resampling.LANCZOS) + inner_img_layer.thumbnail( + (inner_img_width, inner_img_height), Image.Resampling.LANCZOS + ) color_thief = ColorThief(picture) dominant_color = color_thief.get_color(quality=1) except: # pylint: disable=bare-except From c5eb27a7c5228bc52012914805ccbda7d5a47785 Mon Sep 17 00:00:00 2001 From: Joachim Date: Sat, 17 Dec 2022 20:27:39 +0100 Subject: [PATCH 20/43] Lint --- bookwyrm/preview_images.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/bookwyrm/preview_images.py b/bookwyrm/preview_images.py index b2c3e627e..99e2d8177 100644 --- a/bookwyrm/preview_images.py +++ b/bookwyrm/preview_images.py @@ -71,8 +71,7 @@ def get_wrapped_text(text, font, content_width): low = 0 high = len(text) - im = Image.new("RGB", (100, 100)) - draw = ImageDraw.Draw(im) + draw = ImageDraw.Draw(Image.new("RGB", (100, 100))) try: # ideal length is determined via binary search @@ -156,7 +155,7 @@ def generate_texts_layer(texts, content_width): if "text_three" in texts and texts["text_three"]: # Text three (Book authors, Site tagline, User address) - text_three, text_height = get_wrapped_text( + text_three, _ = get_wrapped_text( texts["text_three"], font_text_three, content_width ) From 64968c3081d29b0809c5ed5b23de69e3310bde47 Mon Sep 17 00:00:00 2001 From: Jascha Urbach Date: Sun, 18 Dec 2022 22:28:05 +0100 Subject: [PATCH 21/43] Update forms.js fixes #2519 --- bookwyrm/static/js/forms.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bookwyrm/static/js/forms.js b/bookwyrm/static/js/forms.js index 998873898..57b6fbdf8 100644 --- a/bookwyrm/static/js/forms.js +++ b/bookwyrm/static/js/forms.js @@ -46,4 +46,10 @@ document .querySelectorAll("[data-remove]") .forEach((node) => node.addEventListener("click", removeInput)); + + document.getElementById("id_description").addEventListener("keypress", function (event) { + if (event.keyCode == 13) { + event.preventDefault(); + } + }); })(); From befcf4f3e97393dd8b7f2c427043649d1d6b00b2 Mon Sep 17 00:00:00 2001 From: Jascha Urbach Date: Mon, 19 Dec 2022 16:37:41 +0100 Subject: [PATCH 22/43] bump some versions in requirements Why update: iohttp: supports now more of http standard. celery: supports redis > = 4.0.2 (the docker image uses redis 7.0.6 django-celery-beat: better Django 3.2 support, bump celery to 5.2, downgrade of dependencies for better celery support django-compressor: official Django 3.2 support, updates requirements django-model-utils: official django 3.2 support. django-sass-processor: remove deprecated default_app_config, support of ManifestStaticFilesStorage (which might be needed in the future) environs: bugfixes libsass: removes deprecated cli Pillow: bug fixing psycopg2: Bugfixing pycryptodome: bugfixes python-dateutil: updated tzdata requests: better json Handling, bugfixing responses: bugfixes and more pytz: python3 code generation, All the corect timezone behaviour! boto3: Updsate all the S3 Handling signtures.py update because of breaking change in pycryptodome migration because uf updated timezones With updated celery I have less 501 errors on my instance. updated psycopg2 has better performance. I have NOT chekced opentelemetry packages. Upgrading redis package wold need a deeper inspection of the code as some functions are dropped in newer versions. --- .../0171_alter_user_preferred_timezone.py | 631 ++++++++++++++++++ bookwyrm/signatures.py | 2 +- requirements.txt | 32 +- 3 files changed, 648 insertions(+), 17 deletions(-) create mode 100644 bookwyrm/migrations/0171_alter_user_preferred_timezone.py diff --git a/bookwyrm/migrations/0171_alter_user_preferred_timezone.py b/bookwyrm/migrations/0171_alter_user_preferred_timezone.py new file mode 100644 index 000000000..7dcd9546c --- /dev/null +++ b/bookwyrm/migrations/0171_alter_user_preferred_timezone.py @@ -0,0 +1,631 @@ +# Generated by Django 3.2.16 on 2022-12-19 15:30 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("bookwyrm", "0170_merge_0168_auto_20221205_2331_0169_auto_20221206_0902"), + ] + + operations = [ + migrations.AlterField( + model_name="user", + name="preferred_timezone", + field=models.CharField( + choices=[ + ("Africa/Abidjan", "Africa/Abidjan"), + ("Africa/Accra", "Africa/Accra"), + ("Africa/Addis_Ababa", "Africa/Addis_Ababa"), + ("Africa/Algiers", "Africa/Algiers"), + ("Africa/Asmara", "Africa/Asmara"), + ("Africa/Asmera", "Africa/Asmera"), + ("Africa/Bamako", "Africa/Bamako"), + ("Africa/Bangui", "Africa/Bangui"), + ("Africa/Banjul", "Africa/Banjul"), + ("Africa/Bissau", "Africa/Bissau"), + ("Africa/Blantyre", "Africa/Blantyre"), + ("Africa/Brazzaville", "Africa/Brazzaville"), + ("Africa/Bujumbura", "Africa/Bujumbura"), + ("Africa/Cairo", "Africa/Cairo"), + ("Africa/Casablanca", "Africa/Casablanca"), + ("Africa/Ceuta", "Africa/Ceuta"), + ("Africa/Conakry", "Africa/Conakry"), + ("Africa/Dakar", "Africa/Dakar"), + ("Africa/Dar_es_Salaam", "Africa/Dar_es_Salaam"), + ("Africa/Djibouti", "Africa/Djibouti"), + ("Africa/Douala", "Africa/Douala"), + ("Africa/El_Aaiun", "Africa/El_Aaiun"), + ("Africa/Freetown", "Africa/Freetown"), + ("Africa/Gaborone", "Africa/Gaborone"), + ("Africa/Harare", "Africa/Harare"), + ("Africa/Johannesburg", "Africa/Johannesburg"), + ("Africa/Juba", "Africa/Juba"), + ("Africa/Kampala", "Africa/Kampala"), + ("Africa/Khartoum", "Africa/Khartoum"), + ("Africa/Kigali", "Africa/Kigali"), + ("Africa/Kinshasa", "Africa/Kinshasa"), + ("Africa/Lagos", "Africa/Lagos"), + ("Africa/Libreville", "Africa/Libreville"), + ("Africa/Lome", "Africa/Lome"), + ("Africa/Luanda", "Africa/Luanda"), + ("Africa/Lubumbashi", "Africa/Lubumbashi"), + ("Africa/Lusaka", "Africa/Lusaka"), + ("Africa/Malabo", "Africa/Malabo"), + ("Africa/Maputo", "Africa/Maputo"), + ("Africa/Maseru", "Africa/Maseru"), + ("Africa/Mbabane", "Africa/Mbabane"), + ("Africa/Mogadishu", "Africa/Mogadishu"), + ("Africa/Monrovia", "Africa/Monrovia"), + ("Africa/Nairobi", "Africa/Nairobi"), + ("Africa/Ndjamena", "Africa/Ndjamena"), + ("Africa/Niamey", "Africa/Niamey"), + ("Africa/Nouakchott", "Africa/Nouakchott"), + ("Africa/Ouagadougou", "Africa/Ouagadougou"), + ("Africa/Porto-Novo", "Africa/Porto-Novo"), + ("Africa/Sao_Tome", "Africa/Sao_Tome"), + ("Africa/Timbuktu", "Africa/Timbuktu"), + ("Africa/Tripoli", "Africa/Tripoli"), + ("Africa/Tunis", "Africa/Tunis"), + ("Africa/Windhoek", "Africa/Windhoek"), + ("America/Adak", "America/Adak"), + ("America/Anchorage", "America/Anchorage"), + ("America/Anguilla", "America/Anguilla"), + ("America/Antigua", "America/Antigua"), + ("America/Araguaina", "America/Araguaina"), + ( + "America/Argentina/Buenos_Aires", + "America/Argentina/Buenos_Aires", + ), + ("America/Argentina/Catamarca", "America/Argentina/Catamarca"), + ( + "America/Argentina/ComodRivadavia", + "America/Argentina/ComodRivadavia", + ), + ("America/Argentina/Cordoba", "America/Argentina/Cordoba"), + ("America/Argentina/Jujuy", "America/Argentina/Jujuy"), + ("America/Argentina/La_Rioja", "America/Argentina/La_Rioja"), + ("America/Argentina/Mendoza", "America/Argentina/Mendoza"), + ( + "America/Argentina/Rio_Gallegos", + "America/Argentina/Rio_Gallegos", + ), + ("America/Argentina/Salta", "America/Argentina/Salta"), + ("America/Argentina/San_Juan", "America/Argentina/San_Juan"), + ("America/Argentina/San_Luis", "America/Argentina/San_Luis"), + ("America/Argentina/Tucuman", "America/Argentina/Tucuman"), + ("America/Argentina/Ushuaia", "America/Argentina/Ushuaia"), + ("America/Aruba", "America/Aruba"), + ("America/Asuncion", "America/Asuncion"), + ("America/Atikokan", "America/Atikokan"), + ("America/Atka", "America/Atka"), + ("America/Bahia", "America/Bahia"), + ("America/Bahia_Banderas", "America/Bahia_Banderas"), + ("America/Barbados", "America/Barbados"), + ("America/Belem", "America/Belem"), + ("America/Belize", "America/Belize"), + ("America/Blanc-Sablon", "America/Blanc-Sablon"), + ("America/Boa_Vista", "America/Boa_Vista"), + ("America/Bogota", "America/Bogota"), + ("America/Boise", "America/Boise"), + ("America/Buenos_Aires", "America/Buenos_Aires"), + ("America/Cambridge_Bay", "America/Cambridge_Bay"), + ("America/Campo_Grande", "America/Campo_Grande"), + ("America/Cancun", "America/Cancun"), + ("America/Caracas", "America/Caracas"), + ("America/Catamarca", "America/Catamarca"), + ("America/Cayenne", "America/Cayenne"), + ("America/Cayman", "America/Cayman"), + ("America/Chicago", "America/Chicago"), + ("America/Chihuahua", "America/Chihuahua"), + ("America/Ciudad_Juarez", "America/Ciudad_Juarez"), + ("America/Coral_Harbour", "America/Coral_Harbour"), + ("America/Cordoba", "America/Cordoba"), + ("America/Costa_Rica", "America/Costa_Rica"), + ("America/Creston", "America/Creston"), + ("America/Cuiaba", "America/Cuiaba"), + ("America/Curacao", "America/Curacao"), + ("America/Danmarkshavn", "America/Danmarkshavn"), + ("America/Dawson", "America/Dawson"), + ("America/Dawson_Creek", "America/Dawson_Creek"), + ("America/Denver", "America/Denver"), + ("America/Detroit", "America/Detroit"), + ("America/Dominica", "America/Dominica"), + ("America/Edmonton", "America/Edmonton"), + ("America/Eirunepe", "America/Eirunepe"), + ("America/El_Salvador", "America/El_Salvador"), + ("America/Ensenada", "America/Ensenada"), + ("America/Fort_Nelson", "America/Fort_Nelson"), + ("America/Fort_Wayne", "America/Fort_Wayne"), + ("America/Fortaleza", "America/Fortaleza"), + ("America/Glace_Bay", "America/Glace_Bay"), + ("America/Godthab", "America/Godthab"), + ("America/Goose_Bay", "America/Goose_Bay"), + ("America/Grand_Turk", "America/Grand_Turk"), + ("America/Grenada", "America/Grenada"), + ("America/Guadeloupe", "America/Guadeloupe"), + ("America/Guatemala", "America/Guatemala"), + ("America/Guayaquil", "America/Guayaquil"), + ("America/Guyana", "America/Guyana"), + ("America/Halifax", "America/Halifax"), + ("America/Havana", "America/Havana"), + ("America/Hermosillo", "America/Hermosillo"), + ("America/Indiana/Indianapolis", "America/Indiana/Indianapolis"), + ("America/Indiana/Knox", "America/Indiana/Knox"), + ("America/Indiana/Marengo", "America/Indiana/Marengo"), + ("America/Indiana/Petersburg", "America/Indiana/Petersburg"), + ("America/Indiana/Tell_City", "America/Indiana/Tell_City"), + ("America/Indiana/Vevay", "America/Indiana/Vevay"), + ("America/Indiana/Vincennes", "America/Indiana/Vincennes"), + ("America/Indiana/Winamac", "America/Indiana/Winamac"), + ("America/Indianapolis", "America/Indianapolis"), + ("America/Inuvik", "America/Inuvik"), + ("America/Iqaluit", "America/Iqaluit"), + ("America/Jamaica", "America/Jamaica"), + ("America/Jujuy", "America/Jujuy"), + ("America/Juneau", "America/Juneau"), + ("America/Kentucky/Louisville", "America/Kentucky/Louisville"), + ("America/Kentucky/Monticello", "America/Kentucky/Monticello"), + ("America/Knox_IN", "America/Knox_IN"), + ("America/Kralendijk", "America/Kralendijk"), + ("America/La_Paz", "America/La_Paz"), + ("America/Lima", "America/Lima"), + ("America/Los_Angeles", "America/Los_Angeles"), + ("America/Louisville", "America/Louisville"), + ("America/Lower_Princes", "America/Lower_Princes"), + ("America/Maceio", "America/Maceio"), + ("America/Managua", "America/Managua"), + ("America/Manaus", "America/Manaus"), + ("America/Marigot", "America/Marigot"), + ("America/Martinique", "America/Martinique"), + ("America/Matamoros", "America/Matamoros"), + ("America/Mazatlan", "America/Mazatlan"), + ("America/Mendoza", "America/Mendoza"), + ("America/Menominee", "America/Menominee"), + ("America/Merida", "America/Merida"), + ("America/Metlakatla", "America/Metlakatla"), + ("America/Mexico_City", "America/Mexico_City"), + ("America/Miquelon", "America/Miquelon"), + ("America/Moncton", "America/Moncton"), + ("America/Monterrey", "America/Monterrey"), + ("America/Montevideo", "America/Montevideo"), + ("America/Montreal", "America/Montreal"), + ("America/Montserrat", "America/Montserrat"), + ("America/Nassau", "America/Nassau"), + ("America/New_York", "America/New_York"), + ("America/Nipigon", "America/Nipigon"), + ("America/Nome", "America/Nome"), + ("America/Noronha", "America/Noronha"), + ("America/North_Dakota/Beulah", "America/North_Dakota/Beulah"), + ("America/North_Dakota/Center", "America/North_Dakota/Center"), + ( + "America/North_Dakota/New_Salem", + "America/North_Dakota/New_Salem", + ), + ("America/Nuuk", "America/Nuuk"), + ("America/Ojinaga", "America/Ojinaga"), + ("America/Panama", "America/Panama"), + ("America/Pangnirtung", "America/Pangnirtung"), + ("America/Paramaribo", "America/Paramaribo"), + ("America/Phoenix", "America/Phoenix"), + ("America/Port-au-Prince", "America/Port-au-Prince"), + ("America/Port_of_Spain", "America/Port_of_Spain"), + ("America/Porto_Acre", "America/Porto_Acre"), + ("America/Porto_Velho", "America/Porto_Velho"), + ("America/Puerto_Rico", "America/Puerto_Rico"), + ("America/Punta_Arenas", "America/Punta_Arenas"), + ("America/Rainy_River", "America/Rainy_River"), + ("America/Rankin_Inlet", "America/Rankin_Inlet"), + ("America/Recife", "America/Recife"), + ("America/Regina", "America/Regina"), + ("America/Resolute", "America/Resolute"), + ("America/Rio_Branco", "America/Rio_Branco"), + ("America/Rosario", "America/Rosario"), + ("America/Santa_Isabel", "America/Santa_Isabel"), + ("America/Santarem", "America/Santarem"), + ("America/Santiago", "America/Santiago"), + ("America/Santo_Domingo", "America/Santo_Domingo"), + ("America/Sao_Paulo", "America/Sao_Paulo"), + ("America/Scoresbysund", "America/Scoresbysund"), + ("America/Shiprock", "America/Shiprock"), + ("America/Sitka", "America/Sitka"), + ("America/St_Barthelemy", "America/St_Barthelemy"), + ("America/St_Johns", "America/St_Johns"), + ("America/St_Kitts", "America/St_Kitts"), + ("America/St_Lucia", "America/St_Lucia"), + ("America/St_Thomas", "America/St_Thomas"), + ("America/St_Vincent", "America/St_Vincent"), + ("America/Swift_Current", "America/Swift_Current"), + ("America/Tegucigalpa", "America/Tegucigalpa"), + ("America/Thule", "America/Thule"), + ("America/Thunder_Bay", "America/Thunder_Bay"), + ("America/Tijuana", "America/Tijuana"), + ("America/Toronto", "America/Toronto"), + ("America/Tortola", "America/Tortola"), + ("America/Vancouver", "America/Vancouver"), + ("America/Virgin", "America/Virgin"), + ("America/Whitehorse", "America/Whitehorse"), + ("America/Winnipeg", "America/Winnipeg"), + ("America/Yakutat", "America/Yakutat"), + ("America/Yellowknife", "America/Yellowknife"), + ("Antarctica/Casey", "Antarctica/Casey"), + ("Antarctica/Davis", "Antarctica/Davis"), + ("Antarctica/DumontDUrville", "Antarctica/DumontDUrville"), + ("Antarctica/Macquarie", "Antarctica/Macquarie"), + ("Antarctica/Mawson", "Antarctica/Mawson"), + ("Antarctica/McMurdo", "Antarctica/McMurdo"), + ("Antarctica/Palmer", "Antarctica/Palmer"), + ("Antarctica/Rothera", "Antarctica/Rothera"), + ("Antarctica/South_Pole", "Antarctica/South_Pole"), + ("Antarctica/Syowa", "Antarctica/Syowa"), + ("Antarctica/Troll", "Antarctica/Troll"), + ("Antarctica/Vostok", "Antarctica/Vostok"), + ("Arctic/Longyearbyen", "Arctic/Longyearbyen"), + ("Asia/Aden", "Asia/Aden"), + ("Asia/Almaty", "Asia/Almaty"), + ("Asia/Amman", "Asia/Amman"), + ("Asia/Anadyr", "Asia/Anadyr"), + ("Asia/Aqtau", "Asia/Aqtau"), + ("Asia/Aqtobe", "Asia/Aqtobe"), + ("Asia/Ashgabat", "Asia/Ashgabat"), + ("Asia/Ashkhabad", "Asia/Ashkhabad"), + ("Asia/Atyrau", "Asia/Atyrau"), + ("Asia/Baghdad", "Asia/Baghdad"), + ("Asia/Bahrain", "Asia/Bahrain"), + ("Asia/Baku", "Asia/Baku"), + ("Asia/Bangkok", "Asia/Bangkok"), + ("Asia/Barnaul", "Asia/Barnaul"), + ("Asia/Beirut", "Asia/Beirut"), + ("Asia/Bishkek", "Asia/Bishkek"), + ("Asia/Brunei", "Asia/Brunei"), + ("Asia/Calcutta", "Asia/Calcutta"), + ("Asia/Chita", "Asia/Chita"), + ("Asia/Choibalsan", "Asia/Choibalsan"), + ("Asia/Chongqing", "Asia/Chongqing"), + ("Asia/Chungking", "Asia/Chungking"), + ("Asia/Colombo", "Asia/Colombo"), + ("Asia/Dacca", "Asia/Dacca"), + ("Asia/Damascus", "Asia/Damascus"), + ("Asia/Dhaka", "Asia/Dhaka"), + ("Asia/Dili", "Asia/Dili"), + ("Asia/Dubai", "Asia/Dubai"), + ("Asia/Dushanbe", "Asia/Dushanbe"), + ("Asia/Famagusta", "Asia/Famagusta"), + ("Asia/Gaza", "Asia/Gaza"), + ("Asia/Harbin", "Asia/Harbin"), + ("Asia/Hebron", "Asia/Hebron"), + ("Asia/Ho_Chi_Minh", "Asia/Ho_Chi_Minh"), + ("Asia/Hong_Kong", "Asia/Hong_Kong"), + ("Asia/Hovd", "Asia/Hovd"), + ("Asia/Irkutsk", "Asia/Irkutsk"), + ("Asia/Istanbul", "Asia/Istanbul"), + ("Asia/Jakarta", "Asia/Jakarta"), + ("Asia/Jayapura", "Asia/Jayapura"), + ("Asia/Jerusalem", "Asia/Jerusalem"), + ("Asia/Kabul", "Asia/Kabul"), + ("Asia/Kamchatka", "Asia/Kamchatka"), + ("Asia/Karachi", "Asia/Karachi"), + ("Asia/Kashgar", "Asia/Kashgar"), + ("Asia/Kathmandu", "Asia/Kathmandu"), + ("Asia/Katmandu", "Asia/Katmandu"), + ("Asia/Khandyga", "Asia/Khandyga"), + ("Asia/Kolkata", "Asia/Kolkata"), + ("Asia/Krasnoyarsk", "Asia/Krasnoyarsk"), + ("Asia/Kuala_Lumpur", "Asia/Kuala_Lumpur"), + ("Asia/Kuching", "Asia/Kuching"), + ("Asia/Kuwait", "Asia/Kuwait"), + ("Asia/Macao", "Asia/Macao"), + ("Asia/Macau", "Asia/Macau"), + ("Asia/Magadan", "Asia/Magadan"), + ("Asia/Makassar", "Asia/Makassar"), + ("Asia/Manila", "Asia/Manila"), + ("Asia/Muscat", "Asia/Muscat"), + ("Asia/Nicosia", "Asia/Nicosia"), + ("Asia/Novokuznetsk", "Asia/Novokuznetsk"), + ("Asia/Novosibirsk", "Asia/Novosibirsk"), + ("Asia/Omsk", "Asia/Omsk"), + ("Asia/Oral", "Asia/Oral"), + ("Asia/Phnom_Penh", "Asia/Phnom_Penh"), + ("Asia/Pontianak", "Asia/Pontianak"), + ("Asia/Pyongyang", "Asia/Pyongyang"), + ("Asia/Qatar", "Asia/Qatar"), + ("Asia/Qostanay", "Asia/Qostanay"), + ("Asia/Qyzylorda", "Asia/Qyzylorda"), + ("Asia/Rangoon", "Asia/Rangoon"), + ("Asia/Riyadh", "Asia/Riyadh"), + ("Asia/Saigon", "Asia/Saigon"), + ("Asia/Sakhalin", "Asia/Sakhalin"), + ("Asia/Samarkand", "Asia/Samarkand"), + ("Asia/Seoul", "Asia/Seoul"), + ("Asia/Shanghai", "Asia/Shanghai"), + ("Asia/Singapore", "Asia/Singapore"), + ("Asia/Srednekolymsk", "Asia/Srednekolymsk"), + ("Asia/Taipei", "Asia/Taipei"), + ("Asia/Tashkent", "Asia/Tashkent"), + ("Asia/Tbilisi", "Asia/Tbilisi"), + ("Asia/Tehran", "Asia/Tehran"), + ("Asia/Tel_Aviv", "Asia/Tel_Aviv"), + ("Asia/Thimbu", "Asia/Thimbu"), + ("Asia/Thimphu", "Asia/Thimphu"), + ("Asia/Tokyo", "Asia/Tokyo"), + ("Asia/Tomsk", "Asia/Tomsk"), + ("Asia/Ujung_Pandang", "Asia/Ujung_Pandang"), + ("Asia/Ulaanbaatar", "Asia/Ulaanbaatar"), + ("Asia/Ulan_Bator", "Asia/Ulan_Bator"), + ("Asia/Urumqi", "Asia/Urumqi"), + ("Asia/Ust-Nera", "Asia/Ust-Nera"), + ("Asia/Vientiane", "Asia/Vientiane"), + ("Asia/Vladivostok", "Asia/Vladivostok"), + ("Asia/Yakutsk", "Asia/Yakutsk"), + ("Asia/Yangon", "Asia/Yangon"), + ("Asia/Yekaterinburg", "Asia/Yekaterinburg"), + ("Asia/Yerevan", "Asia/Yerevan"), + ("Atlantic/Azores", "Atlantic/Azores"), + ("Atlantic/Bermuda", "Atlantic/Bermuda"), + ("Atlantic/Canary", "Atlantic/Canary"), + ("Atlantic/Cape_Verde", "Atlantic/Cape_Verde"), + ("Atlantic/Faeroe", "Atlantic/Faeroe"), + ("Atlantic/Faroe", "Atlantic/Faroe"), + ("Atlantic/Jan_Mayen", "Atlantic/Jan_Mayen"), + ("Atlantic/Madeira", "Atlantic/Madeira"), + ("Atlantic/Reykjavik", "Atlantic/Reykjavik"), + ("Atlantic/South_Georgia", "Atlantic/South_Georgia"), + ("Atlantic/St_Helena", "Atlantic/St_Helena"), + ("Atlantic/Stanley", "Atlantic/Stanley"), + ("Australia/ACT", "Australia/ACT"), + ("Australia/Adelaide", "Australia/Adelaide"), + ("Australia/Brisbane", "Australia/Brisbane"), + ("Australia/Broken_Hill", "Australia/Broken_Hill"), + ("Australia/Canberra", "Australia/Canberra"), + ("Australia/Currie", "Australia/Currie"), + ("Australia/Darwin", "Australia/Darwin"), + ("Australia/Eucla", "Australia/Eucla"), + ("Australia/Hobart", "Australia/Hobart"), + ("Australia/LHI", "Australia/LHI"), + ("Australia/Lindeman", "Australia/Lindeman"), + ("Australia/Lord_Howe", "Australia/Lord_Howe"), + ("Australia/Melbourne", "Australia/Melbourne"), + ("Australia/NSW", "Australia/NSW"), + ("Australia/North", "Australia/North"), + ("Australia/Perth", "Australia/Perth"), + ("Australia/Queensland", "Australia/Queensland"), + ("Australia/South", "Australia/South"), + ("Australia/Sydney", "Australia/Sydney"), + ("Australia/Tasmania", "Australia/Tasmania"), + ("Australia/Victoria", "Australia/Victoria"), + ("Australia/West", "Australia/West"), + ("Australia/Yancowinna", "Australia/Yancowinna"), + ("Brazil/Acre", "Brazil/Acre"), + ("Brazil/DeNoronha", "Brazil/DeNoronha"), + ("Brazil/East", "Brazil/East"), + ("Brazil/West", "Brazil/West"), + ("CET", "CET"), + ("CST6CDT", "CST6CDT"), + ("Canada/Atlantic", "Canada/Atlantic"), + ("Canada/Central", "Canada/Central"), + ("Canada/Eastern", "Canada/Eastern"), + ("Canada/Mountain", "Canada/Mountain"), + ("Canada/Newfoundland", "Canada/Newfoundland"), + ("Canada/Pacific", "Canada/Pacific"), + ("Canada/Saskatchewan", "Canada/Saskatchewan"), + ("Canada/Yukon", "Canada/Yukon"), + ("Chile/Continental", "Chile/Continental"), + ("Chile/EasterIsland", "Chile/EasterIsland"), + ("Cuba", "Cuba"), + ("EET", "EET"), + ("EST", "EST"), + ("EST5EDT", "EST5EDT"), + ("Egypt", "Egypt"), + ("Eire", "Eire"), + ("Etc/GMT", "Etc/GMT"), + ("Etc/GMT+0", "Etc/GMT+0"), + ("Etc/GMT+1", "Etc/GMT+1"), + ("Etc/GMT+10", "Etc/GMT+10"), + ("Etc/GMT+11", "Etc/GMT+11"), + ("Etc/GMT+12", "Etc/GMT+12"), + ("Etc/GMT+2", "Etc/GMT+2"), + ("Etc/GMT+3", "Etc/GMT+3"), + ("Etc/GMT+4", "Etc/GMT+4"), + ("Etc/GMT+5", "Etc/GMT+5"), + ("Etc/GMT+6", "Etc/GMT+6"), + ("Etc/GMT+7", "Etc/GMT+7"), + ("Etc/GMT+8", "Etc/GMT+8"), + ("Etc/GMT+9", "Etc/GMT+9"), + ("Etc/GMT-0", "Etc/GMT-0"), + ("Etc/GMT-1", "Etc/GMT-1"), + ("Etc/GMT-10", "Etc/GMT-10"), + ("Etc/GMT-11", "Etc/GMT-11"), + ("Etc/GMT-12", "Etc/GMT-12"), + ("Etc/GMT-13", "Etc/GMT-13"), + ("Etc/GMT-14", "Etc/GMT-14"), + ("Etc/GMT-2", "Etc/GMT-2"), + ("Etc/GMT-3", "Etc/GMT-3"), + ("Etc/GMT-4", "Etc/GMT-4"), + ("Etc/GMT-5", "Etc/GMT-5"), + ("Etc/GMT-6", "Etc/GMT-6"), + ("Etc/GMT-7", "Etc/GMT-7"), + ("Etc/GMT-8", "Etc/GMT-8"), + ("Etc/GMT-9", "Etc/GMT-9"), + ("Etc/GMT0", "Etc/GMT0"), + ("Etc/Greenwich", "Etc/Greenwich"), + ("Etc/UCT", "Etc/UCT"), + ("Etc/UTC", "Etc/UTC"), + ("Etc/Universal", "Etc/Universal"), + ("Etc/Zulu", "Etc/Zulu"), + ("Europe/Amsterdam", "Europe/Amsterdam"), + ("Europe/Andorra", "Europe/Andorra"), + ("Europe/Astrakhan", "Europe/Astrakhan"), + ("Europe/Athens", "Europe/Athens"), + ("Europe/Belfast", "Europe/Belfast"), + ("Europe/Belgrade", "Europe/Belgrade"), + ("Europe/Berlin", "Europe/Berlin"), + ("Europe/Bratislava", "Europe/Bratislava"), + ("Europe/Brussels", "Europe/Brussels"), + ("Europe/Bucharest", "Europe/Bucharest"), + ("Europe/Budapest", "Europe/Budapest"), + ("Europe/Busingen", "Europe/Busingen"), + ("Europe/Chisinau", "Europe/Chisinau"), + ("Europe/Copenhagen", "Europe/Copenhagen"), + ("Europe/Dublin", "Europe/Dublin"), + ("Europe/Gibraltar", "Europe/Gibraltar"), + ("Europe/Guernsey", "Europe/Guernsey"), + ("Europe/Helsinki", "Europe/Helsinki"), + ("Europe/Isle_of_Man", "Europe/Isle_of_Man"), + ("Europe/Istanbul", "Europe/Istanbul"), + ("Europe/Jersey", "Europe/Jersey"), + ("Europe/Kaliningrad", "Europe/Kaliningrad"), + ("Europe/Kiev", "Europe/Kiev"), + ("Europe/Kirov", "Europe/Kirov"), + ("Europe/Kyiv", "Europe/Kyiv"), + ("Europe/Lisbon", "Europe/Lisbon"), + ("Europe/Ljubljana", "Europe/Ljubljana"), + ("Europe/London", "Europe/London"), + ("Europe/Luxembourg", "Europe/Luxembourg"), + ("Europe/Madrid", "Europe/Madrid"), + ("Europe/Malta", "Europe/Malta"), + ("Europe/Mariehamn", "Europe/Mariehamn"), + ("Europe/Minsk", "Europe/Minsk"), + ("Europe/Monaco", "Europe/Monaco"), + ("Europe/Moscow", "Europe/Moscow"), + ("Europe/Nicosia", "Europe/Nicosia"), + ("Europe/Oslo", "Europe/Oslo"), + ("Europe/Paris", "Europe/Paris"), + ("Europe/Podgorica", "Europe/Podgorica"), + ("Europe/Prague", "Europe/Prague"), + ("Europe/Riga", "Europe/Riga"), + ("Europe/Rome", "Europe/Rome"), + ("Europe/Samara", "Europe/Samara"), + ("Europe/San_Marino", "Europe/San_Marino"), + ("Europe/Sarajevo", "Europe/Sarajevo"), + ("Europe/Saratov", "Europe/Saratov"), + ("Europe/Simferopol", "Europe/Simferopol"), + ("Europe/Skopje", "Europe/Skopje"), + ("Europe/Sofia", "Europe/Sofia"), + ("Europe/Stockholm", "Europe/Stockholm"), + ("Europe/Tallinn", "Europe/Tallinn"), + ("Europe/Tirane", "Europe/Tirane"), + ("Europe/Tiraspol", "Europe/Tiraspol"), + ("Europe/Ulyanovsk", "Europe/Ulyanovsk"), + ("Europe/Uzhgorod", "Europe/Uzhgorod"), + ("Europe/Vaduz", "Europe/Vaduz"), + ("Europe/Vatican", "Europe/Vatican"), + ("Europe/Vienna", "Europe/Vienna"), + ("Europe/Vilnius", "Europe/Vilnius"), + ("Europe/Volgograd", "Europe/Volgograd"), + ("Europe/Warsaw", "Europe/Warsaw"), + ("Europe/Zagreb", "Europe/Zagreb"), + ("Europe/Zaporozhye", "Europe/Zaporozhye"), + ("Europe/Zurich", "Europe/Zurich"), + ("GB", "GB"), + ("GB-Eire", "GB-Eire"), + ("GMT", "GMT"), + ("GMT+0", "GMT+0"), + ("GMT-0", "GMT-0"), + ("GMT0", "GMT0"), + ("Greenwich", "Greenwich"), + ("HST", "HST"), + ("Hongkong", "Hongkong"), + ("Iceland", "Iceland"), + ("Indian/Antananarivo", "Indian/Antananarivo"), + ("Indian/Chagos", "Indian/Chagos"), + ("Indian/Christmas", "Indian/Christmas"), + ("Indian/Cocos", "Indian/Cocos"), + ("Indian/Comoro", "Indian/Comoro"), + ("Indian/Kerguelen", "Indian/Kerguelen"), + ("Indian/Mahe", "Indian/Mahe"), + ("Indian/Maldives", "Indian/Maldives"), + ("Indian/Mauritius", "Indian/Mauritius"), + ("Indian/Mayotte", "Indian/Mayotte"), + ("Indian/Reunion", "Indian/Reunion"), + ("Iran", "Iran"), + ("Israel", "Israel"), + ("Jamaica", "Jamaica"), + ("Japan", "Japan"), + ("Kwajalein", "Kwajalein"), + ("Libya", "Libya"), + ("MET", "MET"), + ("MST", "MST"), + ("MST7MDT", "MST7MDT"), + ("Mexico/BajaNorte", "Mexico/BajaNorte"), + ("Mexico/BajaSur", "Mexico/BajaSur"), + ("Mexico/General", "Mexico/General"), + ("NZ", "NZ"), + ("NZ-CHAT", "NZ-CHAT"), + ("Navajo", "Navajo"), + ("PRC", "PRC"), + ("PST8PDT", "PST8PDT"), + ("Pacific/Apia", "Pacific/Apia"), + ("Pacific/Auckland", "Pacific/Auckland"), + ("Pacific/Bougainville", "Pacific/Bougainville"), + ("Pacific/Chatham", "Pacific/Chatham"), + ("Pacific/Chuuk", "Pacific/Chuuk"), + ("Pacific/Easter", "Pacific/Easter"), + ("Pacific/Efate", "Pacific/Efate"), + ("Pacific/Enderbury", "Pacific/Enderbury"), + ("Pacific/Fakaofo", "Pacific/Fakaofo"), + ("Pacific/Fiji", "Pacific/Fiji"), + ("Pacific/Funafuti", "Pacific/Funafuti"), + ("Pacific/Galapagos", "Pacific/Galapagos"), + ("Pacific/Gambier", "Pacific/Gambier"), + ("Pacific/Guadalcanal", "Pacific/Guadalcanal"), + ("Pacific/Guam", "Pacific/Guam"), + ("Pacific/Honolulu", "Pacific/Honolulu"), + ("Pacific/Johnston", "Pacific/Johnston"), + ("Pacific/Kanton", "Pacific/Kanton"), + ("Pacific/Kiritimati", "Pacific/Kiritimati"), + ("Pacific/Kosrae", "Pacific/Kosrae"), + ("Pacific/Kwajalein", "Pacific/Kwajalein"), + ("Pacific/Majuro", "Pacific/Majuro"), + ("Pacific/Marquesas", "Pacific/Marquesas"), + ("Pacific/Midway", "Pacific/Midway"), + ("Pacific/Nauru", "Pacific/Nauru"), + ("Pacific/Niue", "Pacific/Niue"), + ("Pacific/Norfolk", "Pacific/Norfolk"), + ("Pacific/Noumea", "Pacific/Noumea"), + ("Pacific/Pago_Pago", "Pacific/Pago_Pago"), + ("Pacific/Palau", "Pacific/Palau"), + ("Pacific/Pitcairn", "Pacific/Pitcairn"), + ("Pacific/Pohnpei", "Pacific/Pohnpei"), + ("Pacific/Ponape", "Pacific/Ponape"), + ("Pacific/Port_Moresby", "Pacific/Port_Moresby"), + ("Pacific/Rarotonga", "Pacific/Rarotonga"), + ("Pacific/Saipan", "Pacific/Saipan"), + ("Pacific/Samoa", "Pacific/Samoa"), + ("Pacific/Tahiti", "Pacific/Tahiti"), + ("Pacific/Tarawa", "Pacific/Tarawa"), + ("Pacific/Tongatapu", "Pacific/Tongatapu"), + ("Pacific/Truk", "Pacific/Truk"), + ("Pacific/Wake", "Pacific/Wake"), + ("Pacific/Wallis", "Pacific/Wallis"), + ("Pacific/Yap", "Pacific/Yap"), + ("Poland", "Poland"), + ("Portugal", "Portugal"), + ("ROC", "ROC"), + ("ROK", "ROK"), + ("Singapore", "Singapore"), + ("Turkey", "Turkey"), + ("UCT", "UCT"), + ("US/Alaska", "US/Alaska"), + ("US/Aleutian", "US/Aleutian"), + ("US/Arizona", "US/Arizona"), + ("US/Central", "US/Central"), + ("US/East-Indiana", "US/East-Indiana"), + ("US/Eastern", "US/Eastern"), + ("US/Hawaii", "US/Hawaii"), + ("US/Indiana-Starke", "US/Indiana-Starke"), + ("US/Michigan", "US/Michigan"), + ("US/Mountain", "US/Mountain"), + ("US/Pacific", "US/Pacific"), + ("US/Samoa", "US/Samoa"), + ("UTC", "UTC"), + ("Universal", "Universal"), + ("W-SU", "W-SU"), + ("WET", "WET"), + ("Zulu", "Zulu"), + ], + default="UTC", + max_length=255, + ), + ), + ] diff --git a/bookwyrm/signatures.py b/bookwyrm/signatures.py index 61cafe71f..480891283 100644 --- a/bookwyrm/signatures.py +++ b/bookwyrm/signatures.py @@ -17,7 +17,7 @@ def create_key_pair(): random_generator = Random.new().read key = RSA.generate(1024, random_generator) private_key = key.export_key().decode("utf8") - public_key = key.publickey().export_key().decode("utf8") + public_key = key.public_key().export_key().decode("utf8") return private_key, public_key diff --git a/requirements.txt b/requirements.txt index c0a6b6078..be223f5cd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,26 +1,26 @@ -aiohttp==3.8.1 +aiohttp==3.8.3 bleach==5.0.1 -celery==5.2.2 +celery==5.2.7 colorthief==0.2.1 Django==3.2.16 -django-celery-beat==2.2.1 -django-compressor==2.4.1 +django-celery-beat==2.4.0 +django-compressor==4.1 django-imagekit==4.1.0 -django-model-utils==4.0.0 -django-sass-processor==1.0.1 -environs==9.3.4 +django-model-utils==4.2.0 +django-sass-processor==1.2.2 +environs==9.5.0 flower==1.2.0 -libsass==0.21.0 +libsass==0.22.0 Markdown==3.3.3 -Pillow>=9.0.0 -psycopg2==2.8.4 -pycryptodome==3.9.4 -python-dateutil==2.8.1 +Pillow>=9.3.0 +psycopg2==2.9.5 +pycryptodome==3.16.0 +python-dateutil==2.8.2 redis==3.4.1 -requests==2.22.0 -responses==0.10.14 -pytz>=2021.1 -boto3==1.17.88 +requests==2.28.1 +responses==0.22.0 +pytz>=2022.7 +boto3==1.26.32 django-storages==1.11.1 django-redis==5.2.0 opentelemetry-api==1.11.1 From f5ebdd4ba10914258d7a94573a17a1c333f9864c Mon Sep 17 00:00:00 2001 From: Christof Dorner Date: Mon, 19 Dec 2022 18:30:12 +0100 Subject: [PATCH 23/43] Add compile_themes management command --- .../management/commands/compile_themes.py | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 bookwyrm/management/commands/compile_themes.py diff --git a/bookwyrm/management/commands/compile_themes.py b/bookwyrm/management/commands/compile_themes.py new file mode 100644 index 000000000..95c6699ba --- /dev/null +++ b/bookwyrm/management/commands/compile_themes.py @@ -0,0 +1,48 @@ +""" Our own command to all scss themes """ +import glob +import os + +import sass + +from django.core.management.base import BaseCommand + +from sass_processor.apps import APPS_INCLUDE_DIRS +from sass_processor.processor import SassProcessor +from sass_processor.utils import get_custom_functions + +from bookwyrm import settings + + +class Command(BaseCommand): + """command-line options""" + + help = "SCSS compile all BookWyrm themes" + + # pylint: disable=unused-argument + def handle(self, *args, **options): + """compile""" + themes_dir = os.path.join( + settings.BASE_DIR, "bookwyrm", "static", "css", "themes", "*.scss" + ) + for theme_scss in glob.glob(themes_dir): + basename, _ = os.path.splitext(theme_scss) + theme_css = f"{basename}.css" + self.compile_sass(theme_scss, theme_css) + + def compile_sass(self, sass_path, css_path): + compile_kwargs = { + "filename": sass_path, + "include_paths": SassProcessor.include_paths + APPS_INCLUDE_DIRS, + "custom_functions": get_custom_functions(), + "precision": getattr(settings, "SASS_PRECISION", 8), + "output_style": getattr( + settings, + "SASS_OUTPUT_STYLE", + "nested" if settings.DEBUG else "compressed", + ), + } + + content = sass.compile(**compile_kwargs) + with open(css_path, "w") as f: + f.write(content) + self.stdout.write("Compiled SASS/SCSS file: '{0}'\n".format(sass_path)) From 8bb5c867eb477d438b9e26c5aec268197476e041 Mon Sep 17 00:00:00 2001 From: Christof Dorner Date: Mon, 19 Dec 2022 18:35:34 +0100 Subject: [PATCH 24/43] Add compile_themes to bw-dev --- bw-dev | 7 +++++++ complete_bwdev.fish | 2 ++ complete_bwdev.sh | 1 + complete_bwdev.zsh | 1 + 4 files changed, 11 insertions(+) diff --git a/bw-dev b/bw-dev index ef5dec813..7ce1755a1 100755 --- a/bw-dev +++ b/bw-dev @@ -92,6 +92,7 @@ case "$CMD" in migrate migrate django_celery_beat initdb + runweb python manage.py compile_themes runweb python manage.py collectstatic --no-input admin_code ;; @@ -122,6 +123,9 @@ case "$CMD" in prod_error runweb pytest -n 3 --cov-report term-missing "$@" ;; + compile_themes) + runweb python manage.py compile_themes + ;; collectstatic) runweb python manage.py collectstatic --no-input ;; @@ -203,6 +207,7 @@ case "$CMD" in docker-compose build # ./update.sh runweb python manage.py migrate + runweb python manage.py compile_themes runweb python manage.py collectstatic --no-input docker-compose up -d docker-compose restart web @@ -256,6 +261,7 @@ case "$CMD" in migrate migrate django_celery_beat initdb + runweb python manage.py compile_themes runweb python manage.py collectstatic --no-input admin_code ;; @@ -283,6 +289,7 @@ case "$CMD" in echo " dbshell" echo " restart_celery" echo " pytest [path]" + echo " compile_themes" echo " collectstatic" echo " makemessages" echo " compilemessages [locale]" diff --git a/complete_bwdev.fish b/complete_bwdev.fish index e680ede43..6f4172972 100644 --- a/complete_bwdev.fish +++ b/complete_bwdev.fish @@ -14,6 +14,7 @@ dbshell \ restart_celery \ pytest \ pytest_coverage_report \ +compile_themes \ collectstatic \ makemessages \ compilemessages \ @@ -54,6 +55,7 @@ __bw_complete "$commands" "shell" "open the Python shell withi __bw_complete "$commands" "dbshell" "open the database shell within the web container" __bw_complete "$commands" "restart_celery" "restart the celery container" __bw_complete "$commands" "pytest" "run unit tests" +__bw_complete "$commands" "compile_themes" "compile themes css files" __bw_complete "$commands" "collectstatic" "copy changed static files into the installation" __bw_complete "$commands" "makemessages" "extract all localizable messages from the code" __bw_complete "$commands" "compilemessages" "compile .po localization files to .mo" diff --git a/complete_bwdev.sh b/complete_bwdev.sh index 7976b2126..365b58369 100644 --- a/complete_bwdev.sh +++ b/complete_bwdev.sh @@ -11,6 +11,7 @@ dbshell restart_celery pytest pytest_coverage_report +compile_themes collectstatic makemessages compilemessages diff --git a/complete_bwdev.zsh b/complete_bwdev.zsh index e9c8028c1..5df0c6533 100644 --- a/complete_bwdev.zsh +++ b/complete_bwdev.zsh @@ -13,6 +13,7 @@ dbshell restart_celery pytest pytest_coverage_report +compile_themes collectstatic makemessages compilemessages From 744bd33d990e20bddcdd970092aa4fa7d827da4b Mon Sep 17 00:00:00 2001 From: Christof Dorner Date: Mon, 19 Dec 2022 18:35:55 +0100 Subject: [PATCH 25/43] Add compile_themes command to themes admin page instructions --- bookwyrm/templates/settings/themes.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/templates/settings/themes.html b/bookwyrm/templates/settings/themes.html index 628b04d77..c0dfd7b42 100644 --- a/bookwyrm/templates/settings/themes.html +++ b/bookwyrm/templates/settings/themes.html @@ -29,7 +29,7 @@ {% trans "Copy the theme file into the bookwyrm/static/css/themes directory on your server from the command line." %}
  • - {% trans "Run ./bw-dev collectstatic." %} + {% trans "Run ./bw-dev compile_themes and ./bw-dev collectstatic." %}
  • {% trans "Add the file name using the form below to make it available in the application interface." %} From aefc02e3eeac22a21d7ffe123064df152d4aa427 Mon Sep 17 00:00:00 2001 From: Christof Dorner Date: Mon, 19 Dec 2022 18:37:44 +0100 Subject: [PATCH 26/43] Disable sass processor when not in debug mode --- bookwyrm/settings.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bookwyrm/settings.py b/bookwyrm/settings.py index 0780f8c54..d960c6071 100644 --- a/bookwyrm/settings.py +++ b/bookwyrm/settings.py @@ -193,7 +193,8 @@ STATICFILES_FINDERS = [ ] SASS_PROCESSOR_INCLUDE_FILE_PATTERN = r"^.+\.[s]{0,1}(?:a|c)ss$" -SASS_PROCESSOR_ENABLED = True +# when debug is disabled, make sure to compile themes once with `./bw-dev compile_themes` +SASS_PROCESSOR_ENABLED = DEBUG # minify css is production but not dev if not DEBUG: From a44f427d84641c67d0bd1654592c8ed891a2cd7a Mon Sep 17 00:00:00 2001 From: Joachim Date: Mon, 19 Dec 2022 22:26:09 +0100 Subject: [PATCH 27/43] Add remote user test before the task is called --- bookwyrm/models/user.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bookwyrm/models/user.py b/bookwyrm/models/user.py index 7df9da88d..f2a546737 100644 --- a/bookwyrm/models/user.py +++ b/bookwyrm/models/user.py @@ -526,6 +526,11 @@ def preview_image(instance, *args, **kwargs): """create preview images when user is updated""" if not ENABLE_PREVIEW_IMAGES: return + + # don't call the task for remote users + if not instance.local: + return + changed_fields = instance.field_tracker.changed() if len(changed_fields) > 0: From 157c9c825b03a7c27c053fa47c34a16f715deeb1 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 19 Dec 2022 14:07:44 -0800 Subject: [PATCH 28/43] Increase priority for follow activities and lower for shelve --- bookwyrm/models/relationship.py | 9 ++++++--- bookwyrm/models/shelf.py | 9 +++++---- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/bookwyrm/models/relationship.py b/bookwyrm/models/relationship.py index 082294c0e..c8a508117 100644 --- a/bookwyrm/models/relationship.py +++ b/bookwyrm/models/relationship.py @@ -4,6 +4,7 @@ from django.db import models, transaction, IntegrityError from django.db.models import Q from bookwyrm import activitypub +from bookwyrm.tasks import HIGH from .activitypub_mixin import ActivitypubMixin, ActivityMixin from .activitypub_mixin import generate_activity from .base_model import BookWyrmModel @@ -139,8 +140,9 @@ class UserFollowRequest(ActivitypubMixin, UserRelationship): ) super().save(*args, **kwargs) + # a local user is following a remote user if broadcast and self.user_subject.local and not self.user_object.local: - self.broadcast(self.to_activity(), self.user_subject) + self.broadcast(self.to_activity(), self.user_subject, queue=HIGH) if self.user_object.local: manually_approves = self.user_object.manually_approves_followers @@ -157,13 +159,14 @@ class UserFollowRequest(ActivitypubMixin, UserRelationship): def accept(self, broadcast_only=False): """turn this request into the real deal""" user = self.user_object + # broadcast when accepting a remote request if not self.user_subject.local: activity = activitypub.Accept( id=self.get_accept_reject_id(status="accepts"), actor=self.user_object.remote_id, object=self.to_activity(), ).serialize() - self.broadcast(activity, user) + self.broadcast(activity, user, queue=HIGH) if broadcast_only: return @@ -180,7 +183,7 @@ class UserFollowRequest(ActivitypubMixin, UserRelationship): actor=self.user_object.remote_id, object=self.to_activity(), ).serialize() - self.broadcast(activity, self.user_object) + self.broadcast(activity, self.user_object, queue=HIGH) self.delete() diff --git a/bookwyrm/models/shelf.py b/bookwyrm/models/shelf.py index d955e8d07..026571f62 100644 --- a/bookwyrm/models/shelf.py +++ b/bookwyrm/models/shelf.py @@ -7,6 +7,7 @@ from django.utils import timezone from bookwyrm import activitypub from bookwyrm.settings import DOMAIN +from bookwyrm.tasks import LOW from .activitypub_mixin import CollectionItemMixin, OrderedCollectionMixin from .base_model import BookWyrmModel from . import fields @@ -39,9 +40,9 @@ class Shelf(OrderedCollectionMixin, BookWyrmModel): activity_serializer = activitypub.Shelf - def save(self, *args, **kwargs): + def save(self, *args, priority=LOW, **kwargs): """set the identifier""" - super().save(*args, **kwargs) + super().save(*args, priority=priority, **kwargs) if not self.identifier: self.identifier = self.get_identifier() super().save(*args, **kwargs, broadcast=False) @@ -99,7 +100,7 @@ class ShelfBook(CollectionItemMixin, BookWyrmModel): activity_serializer = activitypub.ShelfItem collection_field = "shelf" - def save(self, *args, **kwargs): + def save(self, *args, priority=LOW, **kwargs): if not self.user: self.user = self.shelf.user if self.id and self.user.local: @@ -110,7 +111,7 @@ class ShelfBook(CollectionItemMixin, BookWyrmModel): for book in self.book.parent_work.editions.all() ] ) - super().save(*args, **kwargs) + super().save(*args, priority=priority, **kwargs) def delete(self, *args, **kwargs): if self.id and self.user.local: From e4892701d8c9a4449012ac725fbfb5763901fd88 Mon Sep 17 00:00:00 2001 From: Jascha Urbach Date: Mon, 19 Dec 2022 23:57:00 +0100 Subject: [PATCH 29/43] Update forms.js Now it works in the correct fields. --- bookwyrm/static/js/forms.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/bookwyrm/static/js/forms.js b/bookwyrm/static/js/forms.js index 57b6fbdf8..dc84ff5bb 100644 --- a/bookwyrm/static/js/forms.js +++ b/bookwyrm/static/js/forms.js @@ -47,9 +47,14 @@ .querySelectorAll("[data-remove]") .forEach((node) => node.addEventListener("click", removeInput)); - document.getElementById("id_description").addEventListener("keypress", function (event) { - if (event.keyCode == 13) { - event.preventDefault(); + document + .querySelectorAll("[name='subjects']") + .forEach((node) => node.addEventListener("keypress", + function (event) { + if (event.keyCode == 13) { + event.preventDefault(); + } } - }); + )) + })(); From 259ceeea218d68e11ced7c81d489fa5338bb2c83 Mon Sep 17 00:00:00 2001 From: Jascha Urbach Date: Tue, 20 Dec 2022 00:06:02 +0100 Subject: [PATCH 30/43] ./bw-dev prettier --- bookwyrm/static/js/forms.js | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/bookwyrm/static/js/forms.js b/bookwyrm/static/js/forms.js index dc84ff5bb..2b25b3c96 100644 --- a/bookwyrm/static/js/forms.js +++ b/bookwyrm/static/js/forms.js @@ -47,14 +47,11 @@ .querySelectorAll("[data-remove]") .forEach((node) => node.addEventListener("click", removeInput)); - document - .querySelectorAll("[name='subjects']") - .forEach((node) => node.addEventListener("keypress", - function (event) { + document.querySelectorAll("[name='subjects']").forEach((node) => + node.addEventListener("keypress", function (event) { if (event.keyCode == 13) { event.preventDefault(); } - } - )) - + }) + ); })(); From d3c15efa0aa82e4a05cf0702b47fb303d4133fbb Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 19 Dec 2022 16:24:32 -0800 Subject: [PATCH 31/43] Display generated notes correctly depending on format --- bookwyrm/templates/discover/card-header.html | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/bookwyrm/templates/discover/card-header.html b/bookwyrm/templates/discover/card-header.html index 8b9f6fc17..6260c04f5 100644 --- a/bookwyrm/templates/discover/card-header.html +++ b/bookwyrm/templates/discover/card-header.html @@ -4,17 +4,17 @@ {% with user_path=status.user.local_path username=status.user.display_name book_path=book.local_path book_title=book|book_title %} {% if status.status_type == 'GeneratedNote' %} - {% if status.content == 'wants to read' %} + {% if status.content == 'wants to read' or status.content == '

    wants to read

    ' %} {% blocktrans trimmed %} {{ username }} wants to read {{ book_title }} {% endblocktrans %} {% endif %} - {% if status.content == 'finished reading' %} + {% if finished reading or status.content == '

    finished reading

    ' %} {% blocktrans trimmed %} {{ username }} finished reading {{ book_title }} {% endblocktrans %} {% endif %} - {% if status.content == 'started reading' %} + {% if started reading or status.content == '

    started reading

    ' %} {% blocktrans trimmed %} {{ username }} started reading {{ book_title }} {% endblocktrans %} @@ -38,3 +38,4 @@ {% endif %} {% endwith %} + From 9c03ba48fbcf8e840045c97ed4c50d7c6b508028 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 19 Dec 2022 20:20:21 -0800 Subject: [PATCH 32/43] Updates locales --- locale/ca_ES/LC_MESSAGES/django.mo | Bin 136421 -> 136221 bytes locale/ca_ES/LC_MESSAGES/django.po | 60 ++--- locale/de_DE/LC_MESSAGES/django.mo | Bin 141054 -> 141159 bytes locale/de_DE/LC_MESSAGES/django.po | 62 ++--- locale/en_US/LC_MESSAGES/django.po | 52 ++-- locale/es_ES/LC_MESSAGES/django.mo | Bin 137969 -> 137744 bytes locale/es_ES/LC_MESSAGES/django.po | 60 ++--- locale/fi_FI/LC_MESSAGES/django.mo | Bin 132435 -> 137795 bytes locale/fi_FI/LC_MESSAGES/django.po | 210 +++++++-------- locale/fr_FR/LC_MESSAGES/django.mo | Bin 143655 -> 143451 bytes locale/fr_FR/LC_MESSAGES/django.po | 60 ++--- locale/gl_ES/LC_MESSAGES/django.mo | Bin 136682 -> 136738 bytes locale/gl_ES/LC_MESSAGES/django.po | 64 ++--- locale/it_IT/LC_MESSAGES/django.mo | Bin 134364 -> 138870 bytes locale/it_IT/LC_MESSAGES/django.po | 160 +++++------ locale/lt_LT/LC_MESSAGES/django.mo | Bin 101401 -> 124090 bytes locale/lt_LT/LC_MESSAGES/django.po | 384 +++++++++++++-------------- locale/no_NO/LC_MESSAGES/django.mo | Bin 75989 -> 75787 bytes locale/no_NO/LC_MESSAGES/django.po | 60 ++--- locale/pl_PL/LC_MESSAGES/django.mo | Bin 125086 -> 124762 bytes locale/pl_PL/LC_MESSAGES/django.po | 64 ++--- locale/pt_BR/LC_MESSAGES/django.mo | Bin 85764 -> 85539 bytes locale/pt_BR/LC_MESSAGES/django.po | 60 ++--- locale/pt_PT/LC_MESSAGES/django.mo | Bin 80592 -> 80391 bytes locale/pt_PT/LC_MESSAGES/django.po | 60 ++--- locale/ro_RO/LC_MESSAGES/django.mo | Bin 125019 -> 124823 bytes locale/ro_RO/LC_MESSAGES/django.po | 60 ++--- locale/sv_SE/LC_MESSAGES/django.mo | Bin 85181 -> 85161 bytes locale/sv_SE/LC_MESSAGES/django.po | 66 ++--- locale/zh_Hans/LC_MESSAGES/django.mo | Bin 82422 -> 82237 bytes locale/zh_Hans/LC_MESSAGES/django.po | 58 ++-- locale/zh_Hant/LC_MESSAGES/django.mo | Bin 32619 -> 32619 bytes locale/zh_Hant/LC_MESSAGES/django.po | 56 ++-- 33 files changed, 798 insertions(+), 798 deletions(-) diff --git a/locale/ca_ES/LC_MESSAGES/django.mo b/locale/ca_ES/LC_MESSAGES/django.mo index a58df48c5bf06ccaa8f6dc8770733cf5d434e3fc..c82c559f71f819e470cec01287979b7743f4523d 100644 GIT binary patch delta 28415 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 a2fLYqk&%^&`Swyn#zx-lf%c43t^xr5^C;o~ delta 28608 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 CNpti7 diff --git a/locale/ca_ES/LC_MESSAGES/django.po b/locale/ca_ES/LC_MESSAGES/django.po index 84e3ee6af..fe774a34f 100644 --- a/locale/ca_ES/LC_MESSAGES/django.po +++ b/locale/ca_ES/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-12-11 21:08+0000\n" -"PO-Revision-Date: 2022-12-11 22:09\n" +"POT-Creation-Date: 2022-12-16 20:50+0000\n" +"PO-Revision-Date: 2022-12-16 22:47\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Catalan\n" "Language: ca\n" @@ -205,26 +205,26 @@ msgstr "Federat" msgid "Blocked" msgstr "Blocat" -#: bookwyrm/models/fields.py:27 +#: bookwyrm/models/fields.py:28 #, python-format msgid "%(value)s is not a valid remote_id" msgstr "%(value)s no és una remote_id vàlida" -#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45 +#: bookwyrm/models/fields.py:37 bookwyrm/models/fields.py:46 #, python-format msgid "%(value)s is not a valid username" msgstr "%(value)s no és un nom d'usuari vàlid" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 +#: bookwyrm/models/fields.py:182 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nom d'usuari" -#: bookwyrm/models/fields.py:186 +#: bookwyrm/models/fields.py:187 msgid "A user with that username already exists." msgstr "Ja existeix un usuari amb aquest nom d'usuari" -#: bookwyrm/models/fields.py:205 +#: bookwyrm/models/fields.py:206 #: bookwyrm/templates/snippets/privacy-icons.html:3 #: bookwyrm/templates/snippets/privacy-icons.html:4 #: bookwyrm/templates/snippets/privacy_select.html:11 @@ -232,7 +232,7 @@ msgstr "Ja existeix un usuari amb aquest nom d'usuari" msgid "Public" msgstr "Públic" -#: bookwyrm/models/fields.py:206 +#: bookwyrm/models/fields.py:207 #: bookwyrm/templates/snippets/privacy-icons.html:7 #: bookwyrm/templates/snippets/privacy-icons.html:8 #: bookwyrm/templates/snippets/privacy_select.html:14 @@ -240,14 +240,14 @@ msgstr "Públic" msgid "Unlisted" msgstr "No llistat" -#: bookwyrm/models/fields.py:207 +#: bookwyrm/models/fields.py:208 #: bookwyrm/templates/snippets/privacy_select.html:17 #: bookwyrm/templates/user/relationships/followers.html:6 #: bookwyrm/templates/user/relationships/layout.html:11 msgid "Followers" msgstr "Seguidors" -#: bookwyrm/models/fields.py:208 +#: bookwyrm/models/fields.py:209 #: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 @@ -597,25 +597,25 @@ msgstr[1] "El %(year)s %(display_name)s ha llegit %(books_total)s llibres
    i msgid "That’s great!" msgstr "Genial!" -#: bookwyrm/templates/annual_summary/layout.html:127 +#: bookwyrm/templates/annual_summary/layout.html:128 #, python-format msgid "That makes an average of %(pages)s pages per book." msgstr "Això fa una mitjana de %(pages)s pàgines per llibre." -#: bookwyrm/templates/annual_summary/layout.html:132 +#: bookwyrm/templates/annual_summary/layout.html:134 #, python-format -msgid "(%(no_page_number)s book doesn’t have pages)" -msgid_plural "(%(no_page_number)s books don’t have pages)" -msgstr[0] "(%(no_page_number)s llibre no té pàgines)" -msgstr[1] "(%(no_page_number)s llibres no tenen pàgines)" +msgid "(No page data was available for %(no_page_number)s book)" +msgid_plural "(No page data was available for %(no_page_number)s books)" +msgstr[0] "" +msgstr[1] "" -#: bookwyrm/templates/annual_summary/layout.html:148 +#: bookwyrm/templates/annual_summary/layout.html:150 msgid "Their shortest read this year…" msgstr "La seva lectura més breu d'aquest any…" -#: bookwyrm/templates/annual_summary/layout.html:155 -#: bookwyrm/templates/annual_summary/layout.html:176 -#: bookwyrm/templates/annual_summary/layout.html:245 +#: bookwyrm/templates/annual_summary/layout.html:157 +#: bookwyrm/templates/annual_summary/layout.html:178 +#: bookwyrm/templates/annual_summary/layout.html:247 #: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 @@ -623,44 +623,44 @@ msgstr "La seva lectura més breu d'aquest any…" msgid "by" msgstr "per" -#: bookwyrm/templates/annual_summary/layout.html:161 -#: bookwyrm/templates/annual_summary/layout.html:182 +#: bookwyrm/templates/annual_summary/layout.html:163 +#: bookwyrm/templates/annual_summary/layout.html:184 #, python-format msgid "%(pages)s pages" msgstr "%(pages)s pàgines" -#: bookwyrm/templates/annual_summary/layout.html:169 +#: bookwyrm/templates/annual_summary/layout.html:171 msgid "…and the longest" msgstr "… i la més llarga" -#: bookwyrm/templates/annual_summary/layout.html:200 +#: bookwyrm/templates/annual_summary/layout.html:202 #, python-format msgid "%(display_name)s set a goal of reading %(goal)s book in %(year)s,
    and achieved %(goal_percent)s%% of that goal" msgid_plural "%(display_name)s set a goal of reading %(goal)s books in %(year)s,
    and achieved %(goal_percent)s%% of that goal" msgstr[0] "%(display_name)s havia fixat com a objectiu llegir %(goal)s llibre l'any %(year)s,
    i ha assolit llegir %(goal_percent)s%% d'aquell objectiu" msgstr[1] "%(display_name)s havia fixat com a objectiu llegir %(goal)s llibres l'any %(year)s,
    i ha assolit llegir %(goal_percent)s d'aquell objectiu" -#: bookwyrm/templates/annual_summary/layout.html:209 +#: bookwyrm/templates/annual_summary/layout.html:211 msgid "Way to go!" msgstr "Ben fet!" -#: bookwyrm/templates/annual_summary/layout.html:224 +#: bookwyrm/templates/annual_summary/layout.html:226 #, python-format msgid "%(display_name)s left %(ratings_total)s rating,
    their average rating is %(rating_average)s" msgid_plural "%(display_name)s left %(ratings_total)s ratings,
    their average rating is %(rating_average)s" msgstr[0] "%(display_name)s ha fet %(ratings_total)s valoració,
    la seva valoració mitjana és %(rating_average)s" msgstr[1] "%(display_name)s ha fet %(ratings_total)s valoracions,
    la seva valoració mitjana és %(rating_average)s" -#: bookwyrm/templates/annual_summary/layout.html:238 +#: bookwyrm/templates/annual_summary/layout.html:240 msgid "Their best rated review" msgstr "Les seves millors valoracions" -#: bookwyrm/templates/annual_summary/layout.html:251 +#: bookwyrm/templates/annual_summary/layout.html:253 #, python-format msgid "Their rating: %(rating)s" msgstr "La seva valoració: %(rating)s" -#: bookwyrm/templates/annual_summary/layout.html:268 +#: bookwyrm/templates/annual_summary/layout.html:270 #, python-format msgid "All the books %(display_name)s read in %(year)s" msgstr "Tots els llibres de %(display_name)s llegits el %(year)s" @@ -6049,7 +6049,7 @@ msgstr "Vull llegir \"%(book_title)s\"" msgid "Choose wisely! Your username cannot be changed." msgstr "Trieu sàviament! El nom d'usuari no es pot canviar." -#: bookwyrm/templates/snippets/register_form.html:64 +#: bookwyrm/templates/snippets/register_form.html:66 msgid "Sign Up" msgstr "Registreu-vos" diff --git a/locale/de_DE/LC_MESSAGES/django.mo b/locale/de_DE/LC_MESSAGES/django.mo index 849f80a5936abd718cdf314beced766cf069af68..a00f9a3312f737f6dac67b963fc5494cbd63bdbc 100644 GIT binary patch delta 23648 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 Kk0&$JR%HN;&QDJO delta 23518 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 O81;8=KfuhiTp0jUfgOSX diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po index dbcb2c7cc..4b6ec8790 100644 --- a/locale/de_DE/LC_MESSAGES/django.po +++ b/locale/de_DE/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-12-11 21:08+0000\n" -"PO-Revision-Date: 2022-12-12 10:07\n" +"POT-Creation-Date: 2022-12-16 20:50+0000\n" +"PO-Revision-Date: 2022-12-19 18:04\n" "Last-Translator: Mouse Reeve \n" "Language-Team: German\n" "Language: de\n" @@ -205,26 +205,26 @@ msgstr "Föderiert" msgid "Blocked" msgstr "Blockiert" -#: bookwyrm/models/fields.py:27 +#: bookwyrm/models/fields.py:28 #, python-format msgid "%(value)s is not a valid remote_id" msgstr "%(value)s ist keine gültige remote_id" -#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45 +#: bookwyrm/models/fields.py:37 bookwyrm/models/fields.py:46 #, python-format 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:142 +#: bookwyrm/models/fields.py:182 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "Benutzer*inname" -#: bookwyrm/models/fields.py:186 +#: bookwyrm/models/fields.py:187 msgid "A user with that username already exists." msgstr "Dieser Benutzer*inname ist bereits vergeben." -#: bookwyrm/models/fields.py:205 +#: bookwyrm/models/fields.py:206 #: bookwyrm/templates/snippets/privacy-icons.html:3 #: bookwyrm/templates/snippets/privacy-icons.html:4 #: bookwyrm/templates/snippets/privacy_select.html:11 @@ -232,7 +232,7 @@ msgstr "Dieser Benutzer*inname ist bereits vergeben." msgid "Public" msgstr "Öffentlich" -#: bookwyrm/models/fields.py:206 +#: bookwyrm/models/fields.py:207 #: bookwyrm/templates/snippets/privacy-icons.html:7 #: bookwyrm/templates/snippets/privacy-icons.html:8 #: bookwyrm/templates/snippets/privacy_select.html:14 @@ -240,14 +240,14 @@ msgstr "Öffentlich" msgid "Unlisted" msgstr "Ungelistet" -#: bookwyrm/models/fields.py:207 +#: bookwyrm/models/fields.py:208 #: bookwyrm/templates/snippets/privacy_select.html:17 #: bookwyrm/templates/user/relationships/followers.html:6 #: bookwyrm/templates/user/relationships/layout.html:11 msgid "Followers" msgstr "Follower*innen" -#: bookwyrm/models/fields.py:208 +#: bookwyrm/models/fields.py:209 #: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 @@ -597,25 +597,25 @@ msgstr[1] "%(year)s hat %(display_name)s %(books_total)s Bücher gelesen
    in msgid "That’s great!" msgstr "Großartig!" -#: bookwyrm/templates/annual_summary/layout.html:127 +#: bookwyrm/templates/annual_summary/layout.html:128 #, python-format msgid "That makes an average of %(pages)s pages per book." msgstr "Im Durchschnitt waren das %(pages)s Seiten pro Buch." -#: bookwyrm/templates/annual_summary/layout.html:132 +#: bookwyrm/templates/annual_summary/layout.html:134 #, python-format -msgid "(%(no_page_number)s book doesn’t have pages)" -msgid_plural "(%(no_page_number)s books don’t have pages)" -msgstr[0] "(für %(no_page_number)s Buch ist keine Seitenzahl bekannt)" -msgstr[1] "(für %(no_page_number)s Bücher sind keine Seitenzahlen bekannt)" +msgid "(No page data was available for %(no_page_number)s book)" +msgid_plural "(No page data was available for %(no_page_number)s books)" +msgstr[0] "(Für %(no_page_number)s Buch sind keine Daten über die Seitenzahl vorhanden)" +msgstr[1] "(Für %(no_page_number)s Bücher sind keine Daten über die Seitenzahl vorhanden)" -#: bookwyrm/templates/annual_summary/layout.html:148 +#: bookwyrm/templates/annual_summary/layout.html:150 msgid "Their shortest read this year…" msgstr "Das am schnellsten gelesene Buch dieses Jahr …" -#: bookwyrm/templates/annual_summary/layout.html:155 -#: bookwyrm/templates/annual_summary/layout.html:176 -#: bookwyrm/templates/annual_summary/layout.html:245 +#: bookwyrm/templates/annual_summary/layout.html:157 +#: bookwyrm/templates/annual_summary/layout.html:178 +#: bookwyrm/templates/annual_summary/layout.html:247 #: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 @@ -623,44 +623,44 @@ msgstr "Das am schnellsten gelesene Buch dieses Jahr …" msgid "by" msgstr "von" -#: bookwyrm/templates/annual_summary/layout.html:161 -#: bookwyrm/templates/annual_summary/layout.html:182 +#: bookwyrm/templates/annual_summary/layout.html:163 +#: bookwyrm/templates/annual_summary/layout.html:184 #, python-format msgid "%(pages)s pages" msgstr "%(pages)s Seiten" -#: bookwyrm/templates/annual_summary/layout.html:169 +#: bookwyrm/templates/annual_summary/layout.html:171 msgid "…and the longest" msgstr "… und das längste" -#: bookwyrm/templates/annual_summary/layout.html:200 +#: bookwyrm/templates/annual_summary/layout.html:202 #, python-format msgid "%(display_name)s set a goal of reading %(goal)s book in %(year)s,
    and achieved %(goal_percent)s%% of that goal" msgid_plural "%(display_name)s set a goal of reading %(goal)s books in %(year)s,
    and achieved %(goal_percent)s%% of that goal" msgstr[0] "%(display_name)s hat sich als Ziel gesetzt, %(year)s %(goal)s Buch zu lesen
    und hat %(goal_percent)s %% dieses Ziels erreicht" msgstr[1] "%(display_name)s hat sich als Ziel gesetzt, %(year)s %(goal)s Bücher zu lesen
    und hat %(goal_percent)s %% dieses Ziels erreicht" -#: bookwyrm/templates/annual_summary/layout.html:209 +#: bookwyrm/templates/annual_summary/layout.html:211 msgid "Way to go!" msgstr "Weiter so!" -#: bookwyrm/templates/annual_summary/layout.html:224 +#: bookwyrm/templates/annual_summary/layout.html:226 #, python-format msgid "%(display_name)s left %(ratings_total)s rating,
    their average rating is %(rating_average)s" msgid_plural "%(display_name)s left %(ratings_total)s ratings,
    their average rating is %(rating_average)s" msgstr[0] "%(display_name)s hat %(ratings_total)s Bewertung geschrieben,
    die durchschnittliche Bewertung ist %(rating_average)s" msgstr[1] "%(display_name)s hat %(ratings_total)s Bewertungen geschrieben,
    die durchschnittliche Bewertung ist %(rating_average)s" -#: bookwyrm/templates/annual_summary/layout.html:238 +#: bookwyrm/templates/annual_summary/layout.html:240 msgid "Their best rated review" msgstr "Am besten bewertete Besprechung" -#: bookwyrm/templates/annual_summary/layout.html:251 +#: bookwyrm/templates/annual_summary/layout.html:253 #, python-format msgid "Their rating: %(rating)s" msgstr "Ihre Bewertung: %(rating)s" -#: bookwyrm/templates/annual_summary/layout.html:268 +#: bookwyrm/templates/annual_summary/layout.html:270 #, python-format msgid "All the books %(display_name)s read in %(year)s" msgstr "Alle Bücher, die %(display_name)s %(year)s gelesen hat" @@ -702,7 +702,7 @@ msgstr "ISNI-Datensatz anzeigen" #: bookwyrm/templates/author/author.html:87 #: bookwyrm/templates/book/book.html:164 msgid "View on ISFDB" -msgstr "" +msgstr "Auf ISFDB ansehen" #: bookwyrm/templates/author/author.html:92 #: bookwyrm/templates/author/sync_modal.html:5 @@ -6049,7 +6049,7 @@ msgstr "„%(book_title)s“ auf Leseliste setzen" msgid "Choose wisely! Your username cannot be changed." msgstr "Wählen Sie weise! Ihr Benutzername kann nicht geändert werden." -#: bookwyrm/templates/snippets/register_form.html:64 +#: bookwyrm/templates/snippets/register_form.html:66 msgid "Sign Up" msgstr "Registrieren" diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po index e6df2636a..81dc46754 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-12-16 20:50+0000\n" +"POT-Creation-Date: 2022-12-20 00:41+0000\n" "PO-Revision-Date: 2021-02-28 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -272,15 +272,15 @@ msgstr "" msgid "Stopped" msgstr "" -#: bookwyrm/models/import_job.py:84 bookwyrm/models/import_job.py:92 +#: bookwyrm/models/import_job.py:83 bookwyrm/models/import_job.py:91 msgid "Import stopped" msgstr "" -#: bookwyrm/models/import_job.py:359 bookwyrm/models/import_job.py:384 +#: bookwyrm/models/import_job.py:360 bookwyrm/models/import_job.py:385 msgid "Error loading book" msgstr "" -#: bookwyrm/models/import_job.py:368 +#: bookwyrm/models/import_job.py:369 msgid "Could not find a match for book" msgstr "" @@ -317,19 +317,19 @@ msgstr "" msgid "Everything else" msgstr "" -#: bookwyrm/settings.py:213 +#: bookwyrm/settings.py:214 msgid "Home Timeline" msgstr "" -#: bookwyrm/settings.py:213 +#: bookwyrm/settings.py:214 msgid "Home" msgstr "" -#: bookwyrm/settings.py:214 +#: bookwyrm/settings.py:215 msgid "Books Timeline" msgstr "" -#: bookwyrm/settings.py:214 +#: bookwyrm/settings.py:215 #: bookwyrm/templates/guided_tour/user_profile.html:101 #: bookwyrm/templates/search/layout.html:22 #: bookwyrm/templates/search/layout.html:43 @@ -337,71 +337,71 @@ msgstr "" msgid "Books" msgstr "" -#: bookwyrm/settings.py:286 +#: bookwyrm/settings.py:287 msgid "English" msgstr "" -#: bookwyrm/settings.py:287 +#: bookwyrm/settings.py:288 msgid "Català (Catalan)" msgstr "" -#: bookwyrm/settings.py:288 +#: bookwyrm/settings.py:289 msgid "Deutsch (German)" msgstr "" -#: bookwyrm/settings.py:289 +#: bookwyrm/settings.py:290 msgid "Español (Spanish)" msgstr "" -#: bookwyrm/settings.py:290 +#: bookwyrm/settings.py:291 msgid "Galego (Galician)" msgstr "" -#: bookwyrm/settings.py:291 +#: bookwyrm/settings.py:292 msgid "Italiano (Italian)" msgstr "" -#: bookwyrm/settings.py:292 +#: bookwyrm/settings.py:293 msgid "Suomi (Finnish)" msgstr "" -#: bookwyrm/settings.py:293 +#: bookwyrm/settings.py:294 msgid "Français (French)" msgstr "" -#: bookwyrm/settings.py:294 +#: bookwyrm/settings.py:295 msgid "Lietuvių (Lithuanian)" msgstr "" -#: bookwyrm/settings.py:295 +#: bookwyrm/settings.py:296 msgid "Norsk (Norwegian)" msgstr "" -#: bookwyrm/settings.py:296 +#: bookwyrm/settings.py:297 msgid "Polski (Polish)" msgstr "" -#: bookwyrm/settings.py:297 +#: bookwyrm/settings.py:298 msgid "Português do Brasil (Brazilian Portuguese)" msgstr "" -#: bookwyrm/settings.py:298 +#: bookwyrm/settings.py:299 msgid "Português Europeu (European Portuguese)" msgstr "" -#: bookwyrm/settings.py:299 +#: bookwyrm/settings.py:300 msgid "Română (Romanian)" msgstr "" -#: bookwyrm/settings.py:300 +#: bookwyrm/settings.py:301 msgid "Svenska (Swedish)" msgstr "" -#: bookwyrm/settings.py:301 +#: bookwyrm/settings.py:302 msgid "简体中文 (Simplified Chinese)" msgstr "" -#: bookwyrm/settings.py:302 +#: bookwyrm/settings.py:303 msgid "繁體中文 (Traditional Chinese)" msgstr "" @@ -5349,7 +5349,7 @@ msgid "Copy the theme file into the bookwyrm/static/css/themes dire msgstr "" #: bookwyrm/templates/settings/themes.html:32 -msgid "Run ./bw-dev collectstatic." +msgid "Run ./bw-dev compile_themes and ./bw-dev collectstatic." msgstr "" #: bookwyrm/templates/settings/themes.html:35 diff --git a/locale/es_ES/LC_MESSAGES/django.mo b/locale/es_ES/LC_MESSAGES/django.mo index 427ef1c0928ce5626da3bc279ad01bae2668d14e..ccb1536b01cd3084a0d96abcd4838d9b64d065e1 100644 GIT binary patch delta 28736 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 Q|7OBy&%1r16Jx>+09|2cGynhq delta 28912 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 XSaC62bsj?b\n" "Language-Team: Spanish\n" "Language: es\n" @@ -205,26 +205,26 @@ msgstr "Federalizado" msgid "Blocked" msgstr "Bloqueado" -#: bookwyrm/models/fields.py:27 +#: bookwyrm/models/fields.py:28 #, python-format msgid "%(value)s is not a valid remote_id" msgstr "%(value)s no es un remote_id válido" -#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45 +#: bookwyrm/models/fields.py:37 bookwyrm/models/fields.py:46 #, python-format 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:142 +#: bookwyrm/models/fields.py:182 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nombre de usuario" -#: bookwyrm/models/fields.py:186 +#: bookwyrm/models/fields.py:187 msgid "A user with that username already exists." msgstr "Ya existe un usuario con ese nombre." -#: bookwyrm/models/fields.py:205 +#: bookwyrm/models/fields.py:206 #: bookwyrm/templates/snippets/privacy-icons.html:3 #: bookwyrm/templates/snippets/privacy-icons.html:4 #: bookwyrm/templates/snippets/privacy_select.html:11 @@ -232,7 +232,7 @@ msgstr "Ya existe un usuario con ese nombre." msgid "Public" msgstr "Público" -#: bookwyrm/models/fields.py:206 +#: bookwyrm/models/fields.py:207 #: bookwyrm/templates/snippets/privacy-icons.html:7 #: bookwyrm/templates/snippets/privacy-icons.html:8 #: bookwyrm/templates/snippets/privacy_select.html:14 @@ -240,14 +240,14 @@ msgstr "Público" msgid "Unlisted" msgstr "No listado" -#: bookwyrm/models/fields.py:207 +#: bookwyrm/models/fields.py:208 #: bookwyrm/templates/snippets/privacy_select.html:17 #: bookwyrm/templates/user/relationships/followers.html:6 #: bookwyrm/templates/user/relationships/layout.html:11 msgid "Followers" msgstr "Seguidores" -#: bookwyrm/models/fields.py:208 +#: bookwyrm/models/fields.py:209 #: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 @@ -597,25 +597,25 @@ msgstr[1] "En %(year)s %(display_name)s ha leído %(books_total)s libros
    ¡ msgid "That’s great!" msgstr "¡Vaya, genial!" -#: bookwyrm/templates/annual_summary/layout.html:127 +#: bookwyrm/templates/annual_summary/layout.html:128 #, python-format msgid "That makes an average of %(pages)s pages per book." msgstr "Eso hace un promedio de %(pages)s páginas por libro." -#: bookwyrm/templates/annual_summary/layout.html:132 +#: bookwyrm/templates/annual_summary/layout.html:134 #, python-format -msgid "(%(no_page_number)s book doesn’t have pages)" -msgid_plural "(%(no_page_number)s books don’t have pages)" -msgstr[0] "(%(no_page_number)s libro no tiene páginas)" -msgstr[1] "(%(no_page_number)s libros no tienen páginas)" +msgid "(No page data was available for %(no_page_number)s book)" +msgid_plural "(No page data was available for %(no_page_number)s books)" +msgstr[0] "" +msgstr[1] "" -#: bookwyrm/templates/annual_summary/layout.html:148 +#: bookwyrm/templates/annual_summary/layout.html:150 msgid "Their shortest read this year…" msgstr "El libro más corto que ha leído este año…" -#: bookwyrm/templates/annual_summary/layout.html:155 -#: bookwyrm/templates/annual_summary/layout.html:176 -#: bookwyrm/templates/annual_summary/layout.html:245 +#: bookwyrm/templates/annual_summary/layout.html:157 +#: bookwyrm/templates/annual_summary/layout.html:178 +#: bookwyrm/templates/annual_summary/layout.html:247 #: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 @@ -623,44 +623,44 @@ msgstr "El libro más corto que ha leído este año…" msgid "by" msgstr "por" -#: bookwyrm/templates/annual_summary/layout.html:161 -#: bookwyrm/templates/annual_summary/layout.html:182 +#: bookwyrm/templates/annual_summary/layout.html:163 +#: bookwyrm/templates/annual_summary/layout.html:184 #, python-format msgid "%(pages)s pages" msgstr "%(pages)s páginas" -#: bookwyrm/templates/annual_summary/layout.html:169 +#: bookwyrm/templates/annual_summary/layout.html:171 msgid "…and the longest" msgstr "… y el más largo" -#: bookwyrm/templates/annual_summary/layout.html:200 +#: bookwyrm/templates/annual_summary/layout.html:202 #, python-format msgid "%(display_name)s set a goal of reading %(goal)s book in %(year)s,
    and achieved %(goal_percent)s%% of that goal" msgid_plural "%(display_name)s set a goal of reading %(goal)s books in %(year)s,
    and achieved %(goal_percent)s%% of that goal" msgstr[0] "%(display_name)s fijó como objetivo leer %(goal)s libro en %(year)s,
    y ha logrado un %(goal_percent)s%% de ese objetivo" msgstr[1] "%(display_name)s fijó como objetivo leer %(goal)s libros en %(year)s,
    y ha logrado un %(goal_percent)s%% de ese objetivo" -#: bookwyrm/templates/annual_summary/layout.html:209 +#: bookwyrm/templates/annual_summary/layout.html:211 msgid "Way to go!" msgstr "¡Así se hace!" -#: bookwyrm/templates/annual_summary/layout.html:224 +#: bookwyrm/templates/annual_summary/layout.html:226 #, python-format msgid "%(display_name)s left %(ratings_total)s rating,
    their average rating is %(rating_average)s" msgid_plural "%(display_name)s left %(ratings_total)s ratings,
    their average rating is %(rating_average)s" msgstr[0] "%(display_name)s dio %(ratings_total)s valoración,
    su valoración media es %(rating_average)s" msgstr[1] "%(display_name)s dio %(ratings_total)s valoraciones,
    su valoración media es %(rating_average)s" -#: bookwyrm/templates/annual_summary/layout.html:238 +#: bookwyrm/templates/annual_summary/layout.html:240 msgid "Their best rated review" msgstr "Su mejor reseña" -#: bookwyrm/templates/annual_summary/layout.html:251 +#: bookwyrm/templates/annual_summary/layout.html:253 #, python-format msgid "Their rating: %(rating)s" msgstr "Su valoración: %(rating)s" -#: bookwyrm/templates/annual_summary/layout.html:268 +#: bookwyrm/templates/annual_summary/layout.html:270 #, python-format msgid "All the books %(display_name)s read in %(year)s" msgstr "Todos los libros que %(display_name)s ha leído en %(year)s" @@ -6049,7 +6049,7 @@ msgstr "Quiero leer \"%(book_title)s\"" msgid "Choose wisely! Your username cannot be changed." msgstr "¡Elige bien! No podrás cambiar tu nombre du usuarie más adelante." -#: bookwyrm/templates/snippets/register_form.html:64 +#: bookwyrm/templates/snippets/register_form.html:66 msgid "Sign Up" msgstr "Inscribirse" diff --git a/locale/fi_FI/LC_MESSAGES/django.mo b/locale/fi_FI/LC_MESSAGES/django.mo index 423406ed8191adac9704f7e69ef65a3259fe0476..1ae95e2764697567cd36cb1395a12430a5b2f7d3 100644 GIT binary patch delta 33537 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 z z6|Qb>X?_XB$)Ji_w)b_jHg(HLZCsITAZC)2@0^v>5t|x?u>_u=jSPu9bS@? znV1Pm%b?IxD9Fz&hFAtk0M-fxi8+ah3W>#;iHUg%xs`{vWu)fjX6ETJL}rwvRu+Rp zu>^%y{OTWxQj$0*6f?U$LG2@RO(^A|8a6@jJ3l9Eb= zvdqlf)a>HS?ad1rH=|Vc+w~SRPU7ZKnTdJ~by7C!27}azgvr96|@-rd%zO*zYH76%EHID(i@b5(^~7=H#S;GZ8rYw}CS0_6fTfO;}K(O@2S4{dDgAj2na;K?QONC{saWCUg7F z{fu?Y;vwL|5vfE1CD4-m>1Kx+ZLLsqK7$XqSU?q2$S(#JJ*lb1pi&s#D%qZMm@%8( z0h~fI8N6Zn0~9QI*@w45l1`>QOy=+sg`Cpt)ZEOx)I6A2YDr1u^arOHB?W>@P+Kh1 zf1F~>k?;p+$kM!2P?|%IkL1&g?eZa@+y*JJ@}T8eWwAm&L{FyP_Lrv_cQJAyRBc~) zmQjoqCG_@RVvOSfHH4rgpWbw#%Zy$ruyPMncpYA%P?ngPr=yTvng{k%US^3xDyZZK zCD@{p#O%b(>}+t(hFT4Zf{etR(!>&lqQnwVu}}gk4bwrza-Kp_VrfQVadG1IsLPB- z%mO~33Jny^C6yUjhnMJW@4m+9#Nm2)i2|r$0}4zl2AFd|EgU3~lEd4wQ;SOSvl0eoj~TZy*Lx!cSbiS3SOk@yrO0KY4uk`7 z9WidvQOGSVDM?f)IlLq%=kOAR)J%o^oK#R0WtWzK>OZi7pfn%?s@3vyQp++yJxNe0 zo|>7leeH9`HvUjhmMG3tD9Fsr$uCJQNleVsQwYn?EI}%q6~K*;(vs3dh2qR&P_XBL cA~q3{t5ZN#T~20krUE=?>uops&Zx)-0G3}NJpcdz delta 28737 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 diff --git a/locale/fi_FI/LC_MESSAGES/django.po b/locale/fi_FI/LC_MESSAGES/django.po index 42ba65de1..948d5c332 100644 --- a/locale/fi_FI/LC_MESSAGES/django.po +++ b/locale/fi_FI/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-12-11 21:08+0000\n" -"PO-Revision-Date: 2022-12-11 22:09\n" +"POT-Creation-Date: 2022-12-16 20:50+0000\n" +"PO-Revision-Date: 2022-12-18 15:49\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Finnish\n" "Language: fi\n" @@ -157,7 +157,7 @@ msgstr "Itse poistettu" #: bookwyrm/models/base_model.py:20 msgid "Self deactivation" -msgstr "" +msgstr "Tilin käytöstäpoisto" #: bookwyrm/models/base_model.py:21 msgid "Moderator suspension" @@ -205,26 +205,26 @@ msgstr "Federoitu" msgid "Blocked" msgstr "Estetty" -#: bookwyrm/models/fields.py:27 +#: bookwyrm/models/fields.py:28 #, python-format msgid "%(value)s is not a valid remote_id" msgstr "%(value)s ei ole kelvollinen remote_id" -#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45 +#: bookwyrm/models/fields.py:37 bookwyrm/models/fields.py:46 #, python-format msgid "%(value)s is not a valid username" msgstr "%(value)s ei ole kelvollinen käyttäjänimi" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 +#: bookwyrm/models/fields.py:182 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "käyttäjänimi" -#: bookwyrm/models/fields.py:186 +#: bookwyrm/models/fields.py:187 msgid "A user with that username already exists." msgstr "Käyttäjänimi on jo käytössä." -#: bookwyrm/models/fields.py:205 +#: bookwyrm/models/fields.py:206 #: bookwyrm/templates/snippets/privacy-icons.html:3 #: bookwyrm/templates/snippets/privacy-icons.html:4 #: bookwyrm/templates/snippets/privacy_select.html:11 @@ -232,7 +232,7 @@ msgstr "Käyttäjänimi on jo käytössä." msgid "Public" msgstr "Julkinen" -#: bookwyrm/models/fields.py:206 +#: bookwyrm/models/fields.py:207 #: bookwyrm/templates/snippets/privacy-icons.html:7 #: bookwyrm/templates/snippets/privacy-icons.html:8 #: bookwyrm/templates/snippets/privacy_select.html:14 @@ -240,14 +240,14 @@ msgstr "Julkinen" msgid "Unlisted" msgstr "Ei jakelua" -#: bookwyrm/models/fields.py:207 +#: bookwyrm/models/fields.py:208 #: bookwyrm/templates/snippets/privacy_select.html:17 #: bookwyrm/templates/user/relationships/followers.html:6 #: bookwyrm/templates/user/relationships/layout.html:11 msgid "Followers" msgstr "Seuraajat" -#: bookwyrm/models/fields.py:208 +#: bookwyrm/models/fields.py:209 #: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 @@ -265,15 +265,15 @@ msgstr "Aktiivinen" #: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:155 msgid "Complete" -msgstr "" +msgstr "Valmis" #: bookwyrm/models/import_job.py:50 msgid "Stopped" -msgstr "" +msgstr "Keskeytetty" #: bookwyrm/models/import_job.py:84 bookwyrm/models/import_job.py:92 msgid "Import stopped" -msgstr "" +msgstr "Tuonti keskeytetty" #: bookwyrm/models/import_job.py:359 bookwyrm/models/import_job.py:384 msgid "Error loading book" @@ -495,7 +495,7 @@ msgstr "Käyttöehdot" #: bookwyrm/templates/about/layout.html:54 #: bookwyrm/templates/snippets/footer.html:34 msgid "Impressum" -msgstr "" +msgstr "Yhteystiedot" #: bookwyrm/templates/about/layout.html:11 msgid "Active users:" @@ -597,25 +597,25 @@ msgstr[1] "Vuonna %(year)s %(display_name)s luki %(books_total)s kirjaa,
    jo msgid "That’s great!" msgstr "Ei hassummin!" -#: bookwyrm/templates/annual_summary/layout.html:127 +#: bookwyrm/templates/annual_summary/layout.html:128 #, python-format msgid "That makes an average of %(pages)s pages per book." msgstr "Keskimäärin siis %(pages)s-sivuisia kirjoja." -#: bookwyrm/templates/annual_summary/layout.html:132 +#: bookwyrm/templates/annual_summary/layout.html:134 #, python-format -msgid "(%(no_page_number)s book doesn’t have pages)" -msgid_plural "(%(no_page_number)s books don’t have pages)" +msgid "(No page data was available for %(no_page_number)s book)" +msgid_plural "(No page data was available for %(no_page_number)s books)" msgstr[0] "(%(no_page_number)s kirjan sivumäärä ei ole tiedossa)" msgstr[1] "(%(no_page_number)s kirjan sivumäärä ei ole tiedossa)" -#: bookwyrm/templates/annual_summary/layout.html:148 +#: bookwyrm/templates/annual_summary/layout.html:150 msgid "Their shortest read this year…" msgstr "Vuoden lyhyin kirja…" -#: bookwyrm/templates/annual_summary/layout.html:155 -#: bookwyrm/templates/annual_summary/layout.html:176 -#: bookwyrm/templates/annual_summary/layout.html:245 +#: bookwyrm/templates/annual_summary/layout.html:157 +#: bookwyrm/templates/annual_summary/layout.html:178 +#: bookwyrm/templates/annual_summary/layout.html:247 #: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 @@ -623,47 +623,47 @@ msgstr "Vuoden lyhyin kirja…" msgid "by" msgstr "tekijältä" -#: bookwyrm/templates/annual_summary/layout.html:161 -#: bookwyrm/templates/annual_summary/layout.html:182 +#: bookwyrm/templates/annual_summary/layout.html:163 +#: bookwyrm/templates/annual_summary/layout.html:184 #, python-format msgid "%(pages)s pages" msgstr "%(pages)s sivua" -#: bookwyrm/templates/annual_summary/layout.html:169 +#: bookwyrm/templates/annual_summary/layout.html:171 msgid "…and the longest" msgstr "…ja pisin" -#: bookwyrm/templates/annual_summary/layout.html:200 +#: bookwyrm/templates/annual_summary/layout.html:202 #, python-format msgid "%(display_name)s set a goal of reading %(goal)s book in %(year)s,
    and achieved %(goal_percent)s%% of that goal" msgid_plural "%(display_name)s set a goal of reading %(goal)s books in %(year)s,
    and achieved %(goal_percent)s%% of that goal" msgstr[0] "%(display_name)s asetti tavoitteeksi lukea %(goal)s kirjan vuonna %(year)s,
    ja hän saavutti tavoitteestaan %(goal_percent)s% %" msgstr[1] "%(display_name)s asetti tavoitteeksi lukea %(goal)s kirjaa vuonna %(year)s,
    ja hän saavutti tavoitteestaan %(goal_percent)s% %" -#: bookwyrm/templates/annual_summary/layout.html:209 +#: bookwyrm/templates/annual_summary/layout.html:211 msgid "Way to go!" msgstr "Hienoa!" -#: bookwyrm/templates/annual_summary/layout.html:224 +#: bookwyrm/templates/annual_summary/layout.html:226 #, python-format msgid "%(display_name)s left %(ratings_total)s rating,
    their average rating is %(rating_average)s" msgid_plural "%(display_name)s left %(ratings_total)s ratings,
    their average rating is %(rating_average)s" msgstr[0] "%(display_name)s antoi %(ratings_total)s arvosanan,
    ja arvosanojen keskiarvo on %(rating_average)s" msgstr[1] "%(display_name)s antoi %(ratings_total)s arvosanaa,
    ja arvosanojen keskiarvo on %(rating_average)s" -#: bookwyrm/templates/annual_summary/layout.html:238 +#: bookwyrm/templates/annual_summary/layout.html:240 msgid "Their best rated review" msgstr "Korkein arvosana" -#: bookwyrm/templates/annual_summary/layout.html:251 +#: bookwyrm/templates/annual_summary/layout.html:253 #, python-format msgid "Their rating: %(rating)s" msgstr "Arvosana: %(rating)s" -#: bookwyrm/templates/annual_summary/layout.html:268 +#: bookwyrm/templates/annual_summary/layout.html:270 #, python-format msgid "All the books %(display_name)s read in %(year)s" -msgstr "%(display_name)s luki vuonna %(year)s nämä kirjat" +msgstr "Vuonna %(year)s %(display_name)s luki nämä kirjat" #: bookwyrm/templates/author/author.html:19 #: bookwyrm/templates/author/author.html:20 @@ -702,7 +702,7 @@ msgstr "Näytä ISNI-tietue" #: bookwyrm/templates/author/author.html:87 #: bookwyrm/templates/book/book.html:164 msgid "View on ISFDB" -msgstr "" +msgstr "Näytä ISFDB:ssä" #: bookwyrm/templates/author/author.html:92 #: bookwyrm/templates/author/sync_modal.html:5 @@ -731,7 +731,7 @@ msgstr "Näytä Goodreadsissa" #: bookwyrm/templates/author/author.html:143 msgid "View ISFDB entry" -msgstr "" +msgstr "Näytä ISFDB-tietue" #: bookwyrm/templates/author/author.html:158 #, python-format @@ -815,7 +815,7 @@ msgstr "Goodreads-avain:" #: bookwyrm/templates/author/edit_author.html:105 msgid "ISFDB:" -msgstr "" +msgstr "ISFDB:" #: bookwyrm/templates/author/edit_author.html:112 msgid "ISNI:" @@ -1013,16 +1013,16 @@ msgstr "ASIN:" #: bookwyrm/templates/book/book_identifiers.html:29 #: bookwyrm/templates/book/edit/edit_book_form.html:359 msgid "Audible ASIN:" -msgstr "" +msgstr "Audible ASIN:" #: bookwyrm/templates/book/book_identifiers.html:36 #: bookwyrm/templates/book/edit/edit_book_form.html:368 msgid "ISFDB ID:" -msgstr "" +msgstr "ISFDB-tunniste:" #: bookwyrm/templates/book/book_identifiers.html:43 msgid "Goodreads:" -msgstr "" +msgstr "Goodreads:" #: bookwyrm/templates/book/cover_add_modal.html:5 msgid "Add cover" @@ -1777,11 +1777,11 @@ msgstr "Palauta %(site_name)s-salasanasi" #: bookwyrm/templates/email/test/html_content.html:6 #: bookwyrm/templates/email/test/text_content.html:4 msgid "This is a test email." -msgstr "" +msgstr "Tämä on testiviesti." #: bookwyrm/templates/email/test/subject.html:2 msgid "Test email" -msgstr "" +msgstr "Testiviesti" #: bookwyrm/templates/embed-layout.html:20 bookwyrm/templates/layout.html:41 #: bookwyrm/templates/setup/layout.html:15 @@ -2674,17 +2674,17 @@ msgstr "Tuo kirjoja" #: bookwyrm/templates/import/import.html:13 msgid "Not a valid CSV file" -msgstr "" +msgstr "Epäkelpo CSV-tiedosto" #: bookwyrm/templates/import/import.html:22 #, python-format msgid "On average, recent imports have taken %(hours)s hours." -msgstr "" +msgstr "Viime aikoina tuonteihin on kulunut keskimäärin %(hours)s tuntia." #: bookwyrm/templates/import/import.html:26 #, python-format msgid "On average, recent imports have taken %(minutes)s minutes." -msgstr "" +msgstr "Viime aikoina tuonteihin on kulunut keskimäärin %(minutes)s minuuttia." #: bookwyrm/templates/import/import.html:41 msgid "Data source:" @@ -2692,23 +2692,23 @@ msgstr "Tietolähde:" #: bookwyrm/templates/import/import.html:47 msgid "Goodreads (CSV)" -msgstr "" +msgstr "Goodreads (CSV)" #: bookwyrm/templates/import/import.html:50 msgid "Storygraph (CSV)" -msgstr "" +msgstr "Storygraph (CSV)" #: bookwyrm/templates/import/import.html:53 msgid "LibraryThing (TSV)" -msgstr "" +msgstr "LibraryThing (TSV)" #: bookwyrm/templates/import/import.html:56 msgid "OpenLibrary (CSV)" -msgstr "" +msgstr "OpenLibrary (CSV)" #: bookwyrm/templates/import/import.html:59 msgid "Calibre (CSV)" -msgstr "" +msgstr "Calibre (CSV)" #: bookwyrm/templates/import/import.html:65 msgid "You can download your Goodreads data from the
    Import/Export page of your Goodreads account." @@ -2734,7 +2734,7 @@ msgstr "Tuo" #: bookwyrm/templates/import/import.html:101 msgid "Imports are temporarily disabled; thank you for your patience." -msgstr "" +msgstr "Tuonti on väliaikaisesti pois käytöstä; palaa asiaan myöhemmin." #: bookwyrm/templates/import/import.html:108 msgid "Recent Imports" @@ -2743,16 +2743,16 @@ msgstr "Viimeksi tuotu" #: bookwyrm/templates/import/import.html:113 #: bookwyrm/templates/settings/imports/imports.html:89 msgid "Date Created" -msgstr "" +msgstr "Luontipäivä" #: bookwyrm/templates/import/import.html:116 msgid "Last Updated" -msgstr "" +msgstr "Päivitetty viimeksi" #: bookwyrm/templates/import/import.html:119 #: bookwyrm/templates/settings/imports/imports.html:98 msgid "Items" -msgstr "" +msgstr "Nimikkeitä" #: bookwyrm/templates/import/import.html:128 msgid "No recent imports" @@ -2791,7 +2791,7 @@ msgstr "Päivitä" #: bookwyrm/templates/import/import_status.html:72 #: bookwyrm/templates/settings/imports/imports.html:130 msgid "Stop import" -msgstr "" +msgstr "Keskeytä tuonti" #: bookwyrm/templates/import/import_status.html:78 #, python-format @@ -2803,7 +2803,7 @@ msgstr[1] "%(display_counter)s kohdetta on hyväksyttävä käsin." #: bookwyrm/templates/import/import_status.html:83 #: bookwyrm/templates/import/manual_review.html:8 msgid "Review items" -msgstr "Tarkista kohteita" +msgstr "Tarkista nimikkeitä" #: bookwyrm/templates/import/import_status.html:89 #, python-format @@ -2814,7 +2814,7 @@ msgstr[1] "%(display_counter)s kohteen tuonti epäonnistui." #: bookwyrm/templates/import/import_status.html:95 msgid "View and troubleshoot failed items" -msgstr "Tarkastele epäonnistuneita kohteita ja epäonnistumisten syitä" +msgstr "Tarkastele epäonnistuneita nimikkeitä ja epäonnistumisten syitä" #: bookwyrm/templates/import/import_status.html:107 msgid "Row" @@ -2861,7 +2861,7 @@ msgstr "Tuonnin esikatselu ei ole saatavilla." #: bookwyrm/templates/import/import_status.html:150 msgid "No items currently need review" -msgstr "Ei tarkastusta odottavia kohteita" +msgstr "Ei tarkastusta odottavia nimikkeitä" #: bookwyrm/templates/import/import_status.html:186 msgid "View imported review" @@ -2881,7 +2881,7 @@ msgstr "Yritä uudelleen" #: bookwyrm/templates/import/import_status.html:237 msgid "This import is in an old format that is no longer supported. If you would like to troubleshoot missing items from this import, click the button below to update the import format." -msgstr "Tuonti on vanhassa muodossa, jota ei enää tueta. Jos haluat selvittää tuonnista puuttuvia kohteita, päivitä tuonnin muoto painamalla alla olevaa painiketta." +msgstr "Tuonti on vanhassa muodossa, jota ei enää tueta. Jos haluat selvittää tuonnista puuttuvia nimikkeitä, päivitä tuonnin muoto painamalla alla olevaa painiketta." #: bookwyrm/templates/import/import_status.html:239 msgid "Update import" @@ -2909,7 +2909,7 @@ msgstr "Hylkää" #: bookwyrm/templates/import/troubleshoot.html:7 #: bookwyrm/templates/settings/imports/imports.html:107 msgid "Failed items" -msgstr "Epäonnistuneet kohteet" +msgstr "Epäonnistuneita nimikkeitä" #: bookwyrm/templates/import/troubleshoot.html:12 msgid "Troubleshooting" @@ -2917,7 +2917,7 @@ msgstr "Vianmääritys" #: bookwyrm/templates/import/troubleshoot.html:20 msgid "Re-trying an import can fix missing items in cases such as:" -msgstr "Tuonnin uudelleenyritys saattaa korjata puuttuvia kohteita esimerkiksi seuraavissa tapauksissa:" +msgstr "Tuonnin uudelleenyritys saattaa löytää puuttuvia nimikkeitä esimerkiksi seuraavissa tapauksissa:" #: bookwyrm/templates/import/troubleshoot.html:23 msgid "The book has been added to the instance since this import" @@ -2933,7 +2933,7 @@ msgstr "BookWyrm on tuonnin jälkeen päivitetty ja päivitys on korjannut täh #: bookwyrm/templates/import/troubleshoot.html:28 msgid "Contact your admin or open an issue if you are seeing unexpected failed items." -msgstr "Jos kohteiden tuonti epäonnistuu odottamattomalla tavalla, ota yhteyttä ylläpitäjään tai tee vikailmoitus." +msgstr "Jos nimikkeiden tuonti epäonnistuu odottamattomalla tavalla, ota yhteyttä ylläpitäjään tai tee vikailmoitus." #: bookwyrm/templates/landing/invite.html:4 #: bookwyrm/templates/landing/invite.html:8 @@ -3050,11 +3050,11 @@ msgstr "Palauta salasana" #: bookwyrm/templates/landing/reactivate.html:4 #: bookwyrm/templates/landing/reactivate.html:7 msgid "Reactivate Account" -msgstr "" +msgstr "Aktivoi tili uudelleen" #: bookwyrm/templates/landing/reactivate.html:32 msgid "Reactivate account" -msgstr "" +msgstr "Aktivoi tili uudelleen" #: bookwyrm/templates/layout.html:13 #, python-format @@ -3256,7 +3256,7 @@ msgstr "Kirjan lisääminen listaan onnistui." #: bookwyrm/templates/lists/list.html:54 msgid "This list is currently empty." -msgstr "" +msgstr "Lista on tyhjä." #: bookwyrm/templates/lists/list.html:104 msgid "Edit notes" @@ -3382,7 +3382,7 @@ msgstr "%(related_user)s ehdotti teoksia < #: bookwyrm/templates/notifications/items/add.html:66 #, python-format msgid "%(related_user)s added a book to one of your lists" -msgstr "" +msgstr "%(related_user)s lisäsi kirjan yhteen listoistasi" #: bookwyrm/templates/notifications/items/add.html:72 #, python-format @@ -3817,15 +3817,15 @@ msgstr "Vahvista autentikointisovellus skannaamalla QR-koodi sovelluksella ja sy #: bookwyrm/templates/preferences/2fa.html:52 msgid "Use setup key" -msgstr "" +msgstr "Käytä asetusavainta" #: bookwyrm/templates/preferences/2fa.html:58 msgid "Account name:" -msgstr "" +msgstr "Tilin nimi:" #: bookwyrm/templates/preferences/2fa.html:65 msgid "Code:" -msgstr "" +msgstr "Koodi:" #: bookwyrm/templates/preferences/2fa.html:73 msgid "Enter the code from your app:" @@ -3883,15 +3883,15 @@ msgstr "Poista käyttäjätili" #: bookwyrm/templates/preferences/delete_user.html:12 msgid "Deactivate account" -msgstr "" +msgstr "Poista tili käytöstä" #: bookwyrm/templates/preferences/delete_user.html:15 msgid "Your account will be hidden. You can log back in at any time to re-activate your account." -msgstr "" +msgstr "Tilisi piilotetaan. Voit myöhemmin kirjautua sisään ja aktivoida tilisi uudelleen." #: bookwyrm/templates/preferences/delete_user.html:20 msgid "Deactivate Account" -msgstr "" +msgstr "Poista tili käytöstä" #: bookwyrm/templates/preferences/delete_user.html:26 msgid "Permanently delete account" @@ -4144,13 +4144,13 @@ msgstr "Haetaan kirjaa:" #, python-format msgid "%(formatted_review_count)s review" msgid_plural "%(formatted_review_count)s reviews" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%(formatted_review_count)s arvio" +msgstr[1] "%(formatted_review_count)s arviota" #: bookwyrm/templates/search/book.html:34 #, python-format msgid "(published %(pub_year)s)" -msgstr "" +msgstr "(julkaistu %(pub_year)s)" #: bookwyrm/templates/search/book.html:50 msgid "Results from" @@ -4608,15 +4608,15 @@ msgstr "Ei estettyjä sähköpostiverkkotunnuksia" #: bookwyrm/templates/settings/email_config.html:8 #: bookwyrm/templates/settings/layout.html:90 msgid "Email Configuration" -msgstr "" +msgstr "Sähköpostin määritys" #: bookwyrm/templates/settings/email_config.html:16 msgid "Error sending test email:" -msgstr "" +msgstr "Virhe lähetettäessä testiviestiä:" #: bookwyrm/templates/settings/email_config.html:24 msgid "Successfully sent test email." -msgstr "" +msgstr "Testiviestin lähetys onnistui." #: bookwyrm/templates/settings/email_config.html:32 #: bookwyrm/templates/setup/config.html:102 @@ -4625,36 +4625,36 @@ msgstr "Sähköpostin lähettäjä:" #: bookwyrm/templates/settings/email_config.html:39 msgid "Email backend:" -msgstr "" +msgstr "Sähköpostin taustaohjelma:" #: bookwyrm/templates/settings/email_config.html:46 msgid "Host:" -msgstr "" +msgstr "Palvelin:" #: bookwyrm/templates/settings/email_config.html:53 msgid "Host user:" -msgstr "" +msgstr "Palvelimen käyttäjä:" #: bookwyrm/templates/settings/email_config.html:60 msgid "Port:" -msgstr "" +msgstr "Portti:" #: bookwyrm/templates/settings/email_config.html:67 msgid "Use TLS:" -msgstr "" +msgstr "Käytä TLS:ää:" #: bookwyrm/templates/settings/email_config.html:74 msgid "Use SSL:" -msgstr "" +msgstr "Käytä SSL:ää:" #: bookwyrm/templates/settings/email_config.html:83 #, python-format msgid "Send test email to %(email)s" -msgstr "" +msgstr "Lähetä testiviesti osoitteeseen %(email)s" #: bookwyrm/templates/settings/email_config.html:90 msgid "Send test email" -msgstr "" +msgstr "Lähetä testiviesti" #: bookwyrm/templates/settings/federation/edit_instance.html:3 #: bookwyrm/templates/settings/federation/edit_instance.html:6 @@ -4789,7 +4789,7 @@ msgstr "Epäonnistuneet:" #: bookwyrm/templates/settings/federation/instance_blocklist.html:62 msgid "Expects a json file in the format provided by FediBlock, with a list of entries that have instance and url fields. For example:" -msgstr "" +msgstr "Käytä FediBlock-muotoista json-tiedostoa, jonka tietueissa on kentät instanssi ja url. Esimerkki:" #: bookwyrm/templates/settings/federation/instance_list.html:36 #: bookwyrm/templates/settings/users/server_filter.html:5 @@ -4811,55 +4811,55 @@ msgstr "Palvelimia ei löytynyt" #: bookwyrm/templates/settings/imports/complete_import_modal.html:4 msgid "Stop import?" -msgstr "" +msgstr "Keskeytetäänkö tuonti?" #: bookwyrm/templates/settings/imports/imports.html:19 msgid "Disable starting new imports" -msgstr "" +msgstr "Poista tuontien aloittaminen käytöstä" #: bookwyrm/templates/settings/imports/imports.html:30 msgid "This is only intended to be used when things have gone very wrong with imports and you need to pause the feature while addressing issues." -msgstr "" +msgstr "Käytä tätä vain, kun tuonnit eivät kertakaikkiaan onnistu ja haluat ratkaista ongelman rauhassa." #: bookwyrm/templates/settings/imports/imports.html:31 msgid "While imports are disabled, users will not be allowed to start new imports, but existing imports will not be effected." -msgstr "" +msgstr "Kun tuonnit on poistettu käytöstä, käyttäjät eivät voi aloittaa uusia tuonteja, mutta tällä ei ole vaikutusta käynnissä oleviin tuonteihin." #: bookwyrm/templates/settings/imports/imports.html:36 msgid "Disable imports" -msgstr "" +msgstr "Poista tuonti käytöstä" #: bookwyrm/templates/settings/imports/imports.html:50 msgid "Users are currently unable to start new imports" -msgstr "" +msgstr "Käyttäjät eivät voi aloittaa uusia tuonteja" #: bookwyrm/templates/settings/imports/imports.html:55 msgid "Enable imports" -msgstr "" +msgstr "Ota tuonti käyttöön" #: bookwyrm/templates/settings/imports/imports.html:71 msgid "Completed" -msgstr "" +msgstr "Valmis" #: bookwyrm/templates/settings/imports/imports.html:85 msgid "User" -msgstr "" +msgstr "Käyttäjä" #: bookwyrm/templates/settings/imports/imports.html:94 msgid "Date Updated" -msgstr "" +msgstr "Päivitetty" #: bookwyrm/templates/settings/imports/imports.html:101 msgid "Pending items" -msgstr "" +msgstr "Odottavia nimikkeitä" #: bookwyrm/templates/settings/imports/imports.html:104 msgid "Successful items" -msgstr "" +msgstr "Onnistuneita nimikkeitä" #: bookwyrm/templates/settings/imports/imports.html:139 msgid "No matching imports found." -msgstr "" +msgstr "Ei ehtoihin sopivia tuonteja." #: bookwyrm/templates/settings/invites/manage_invite_requests.html:4 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:11 @@ -5152,7 +5152,7 @@ msgstr "Teksti, joka näytetään, kun käyttäjätilin avaaminen ei ole mahdoll #: bookwyrm/templates/settings/registration_limited.html:29 msgid "Registration is enabled on this instance" -msgstr "" +msgstr "Rekisteröityminen palvelimelle on käytössä" #: bookwyrm/templates/settings/reports/report.html:12 msgid "Back to reports" @@ -5290,11 +5290,11 @@ msgstr "Tietosuojakäytäntö:" #: bookwyrm/templates/settings/site.html:72 msgid "Impressum:" -msgstr "" +msgstr "Yhteystiedot:" #: bookwyrm/templates/settings/site.html:77 msgid "Include impressum:" -msgstr "" +msgstr "Näytä yhteystiedot:" #: bookwyrm/templates/settings/site.html:91 msgid "Images" @@ -6049,7 +6049,7 @@ msgstr "Lisää %(book_title)s lukujonoon" msgid "Choose wisely! Your username cannot be changed." msgstr "Mieti tarkkaan! Käyttäjänimeä ei voi muuttaa." -#: bookwyrm/templates/snippets/register_form.html:64 +#: bookwyrm/templates/snippets/register_form.html:66 msgid "Sign Up" msgstr "Rekisteröidy" @@ -6336,7 +6336,7 @@ msgstr "Seuraamispyynnöt" #: bookwyrm/templates/user/layout.html:71 #: bookwyrm/templates/user/reviews_comments.html:10 msgid "Reviews and Comments" -msgstr "" +msgstr "Arviot ja kommentit" #: bookwyrm/templates/user/lists.html:11 #, python-format @@ -6364,7 +6364,7 @@ msgstr "%(username)s ei seuraa muita käyttäjiä" #: bookwyrm/templates/user/reviews_comments.html:24 msgid "No reviews or comments yet!" -msgstr "" +msgstr "Ei arvioita tai kommentteja." #: bookwyrm/templates/user/user.html:16 msgid "Edit profile" diff --git a/locale/fr_FR/LC_MESSAGES/django.mo b/locale/fr_FR/LC_MESSAGES/django.mo index 725c1b49c63af3b92fe6e6e2f4f9d7f7cd402e94..959f78f08266975bab162f7a10349beccc9857be 100644 GIT binary patch delta 29271 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 AKmY&$ delta 29470 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\n" "Language-Team: French\n" "Language: fr\n" @@ -205,26 +205,26 @@ msgstr "Fédéré" msgid "Blocked" msgstr "Bloqué" -#: bookwyrm/models/fields.py:27 +#: bookwyrm/models/fields.py:28 #, python-format msgid "%(value)s is not a valid remote_id" msgstr "%(value)s n’est pas une remote_id valide." -#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45 +#: bookwyrm/models/fields.py:37 bookwyrm/models/fields.py:46 #, python-format 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:142 +#: bookwyrm/models/fields.py:182 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nom du compte :" -#: bookwyrm/models/fields.py:186 +#: bookwyrm/models/fields.py:187 msgid "A user with that username already exists." msgstr "Ce nom est déjà associé à un compte." -#: bookwyrm/models/fields.py:205 +#: bookwyrm/models/fields.py:206 #: bookwyrm/templates/snippets/privacy-icons.html:3 #: bookwyrm/templates/snippets/privacy-icons.html:4 #: bookwyrm/templates/snippets/privacy_select.html:11 @@ -232,7 +232,7 @@ msgstr "Ce nom est déjà associé à un compte." msgid "Public" msgstr "Public" -#: bookwyrm/models/fields.py:206 +#: bookwyrm/models/fields.py:207 #: bookwyrm/templates/snippets/privacy-icons.html:7 #: bookwyrm/templates/snippets/privacy-icons.html:8 #: bookwyrm/templates/snippets/privacy_select.html:14 @@ -240,14 +240,14 @@ msgstr "Public" msgid "Unlisted" msgstr "Non listé" -#: bookwyrm/models/fields.py:207 +#: bookwyrm/models/fields.py:208 #: bookwyrm/templates/snippets/privacy_select.html:17 #: bookwyrm/templates/user/relationships/followers.html:6 #: bookwyrm/templates/user/relationships/layout.html:11 msgid "Followers" msgstr "Abonné(e)s" -#: bookwyrm/models/fields.py:208 +#: bookwyrm/models/fields.py:209 #: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 @@ -597,25 +597,25 @@ msgstr[1] "En %(year)s, %(display_name)s a lu %(books_total)s livres
    pour u msgid "That’s great!" msgstr "C’est génial !" -#: bookwyrm/templates/annual_summary/layout.html:127 +#: bookwyrm/templates/annual_summary/layout.html:128 #, python-format msgid "That makes an average of %(pages)s pages per book." msgstr "Ce qui fait en moyenne %(pages)s pages par livre." -#: bookwyrm/templates/annual_summary/layout.html:132 +#: bookwyrm/templates/annual_summary/layout.html:134 #, python-format -msgid "(%(no_page_number)s book doesn’t have pages)" -msgid_plural "(%(no_page_number)s books don’t have pages)" -msgstr[0] "(%(no_page_number)s livre n’a pas de pages)" -msgstr[1] "(%(no_page_number)s livres n’ont pas de pages)" +msgid "(No page data was available for %(no_page_number)s book)" +msgid_plural "(No page data was available for %(no_page_number)s books)" +msgstr[0] "" +msgstr[1] "" -#: bookwyrm/templates/annual_summary/layout.html:148 +#: bookwyrm/templates/annual_summary/layout.html:150 msgid "Their shortest read this year…" msgstr "Sa lecture la plus courte l’année…" -#: bookwyrm/templates/annual_summary/layout.html:155 -#: bookwyrm/templates/annual_summary/layout.html:176 -#: bookwyrm/templates/annual_summary/layout.html:245 +#: bookwyrm/templates/annual_summary/layout.html:157 +#: bookwyrm/templates/annual_summary/layout.html:178 +#: bookwyrm/templates/annual_summary/layout.html:247 #: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 @@ -623,44 +623,44 @@ msgstr "Sa lecture la plus courte l’année…" msgid "by" msgstr "de" -#: bookwyrm/templates/annual_summary/layout.html:161 -#: bookwyrm/templates/annual_summary/layout.html:182 +#: bookwyrm/templates/annual_summary/layout.html:163 +#: bookwyrm/templates/annual_summary/layout.html:184 #, python-format msgid "%(pages)s pages" msgstr "%(pages)s pages" -#: bookwyrm/templates/annual_summary/layout.html:169 +#: bookwyrm/templates/annual_summary/layout.html:171 msgid "…and the longest" msgstr "…et sa plus longue lecture" -#: bookwyrm/templates/annual_summary/layout.html:200 +#: bookwyrm/templates/annual_summary/layout.html:202 #, python-format msgid "%(display_name)s set a goal of reading %(goal)s book in %(year)s,
    and achieved %(goal_percent)s%% of that goal" msgid_plural "%(display_name)s set a goal of reading %(goal)s books in %(year)s,
    and achieved %(goal_percent)s%% of that goal" msgstr[0] "%(display_name)s s’était fixé un objectif de lecture de %(goal)s livre en %(year)s,
    et a atteint %(goal_percent)s%% de cet objectif" msgstr[1] "%(display_name)s s’était fixé un objectif de lecture de %(goal)s livres en %(year)s,
    et a atteint %(goal_percent)s%% de cet objectif" -#: bookwyrm/templates/annual_summary/layout.html:209 +#: bookwyrm/templates/annual_summary/layout.html:211 msgid "Way to go!" msgstr "Bien joué !" -#: bookwyrm/templates/annual_summary/layout.html:224 +#: bookwyrm/templates/annual_summary/layout.html:226 #, python-format msgid "%(display_name)s left %(ratings_total)s rating,
    their average rating is %(rating_average)s" msgid_plural "%(display_name)s left %(ratings_total)s ratings,
    their average rating is %(rating_average)s" msgstr[0] "%(display_name)s a laissé %(ratings_total)s critique,
    sa note moyenne est %(rating_average)s" msgstr[1] "%(display_name)s a laissé %(ratings_total)s critiques,
    sa note moyenne est %(rating_average)s" -#: bookwyrm/templates/annual_summary/layout.html:238 +#: bookwyrm/templates/annual_summary/layout.html:240 msgid "Their best rated review" msgstr "Son avis le mieux noté" -#: bookwyrm/templates/annual_summary/layout.html:251 +#: bookwyrm/templates/annual_summary/layout.html:253 #, python-format msgid "Their rating: %(rating)s" msgstr "Sa note : %(rating)s" -#: bookwyrm/templates/annual_summary/layout.html:268 +#: bookwyrm/templates/annual_summary/layout.html:270 #, python-format msgid "All the books %(display_name)s read in %(year)s" msgstr "Tous les livres que %(display_name)s a lus en %(year)s" @@ -6049,7 +6049,7 @@ msgstr "Ajouter « %(book_title)s » aux envies de lecture" 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 +#: bookwyrm/templates/snippets/register_form.html:66 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 4d66aa41eb57c7b6320fc4ff3d2f041924c23f9d..706c73846ffc1ee5c61ccec69d9803118331916e 100644 GIT binary patch delta 21921 zcmaF0nq$!#jtxDG_52JB4Bj;i3?>W=4AC_V3`GnK3=?V?7`PZ17?^7r7(nuTwG0fZ z3=9l%wG0e=3=9k|wG0dr3=9mxwG0f>3=9l8wG0fL3=9k%wG0db3=9mDY8e=^7#J89 z*D^3PGcYjl)iE$AgT(6?7?vX;(e(`V42u~U7#JED7&;gj7?w0JFmy67Fz7Zi zFuY}8VA$Tsz_6TwfnjMA1A`P31A}if149@C14BkD1H(oJ28R8u3=FFo7#IrMAhc{d z1H&o?28NUE3=I7Y3=Ab53=EkJ3=Axt3=H!b7#Q+885mZA9MlD&cXZV=Fsxu;U`Xm_ zVCZFFVBqdyU^u|Qz%a9ifngT|14C3Vgcj{%VA#pPz;L0Dfngp414CCo149J^1B2!S z28MME3=E4VFfi<3U|{40Veb7)n8DXb}U04g&)N+hR!CGF}Wx6B&yc7!(*7 z7%nenU{GOXsAu@Hn1R8Zfq_ACDFcHuCz`$U$oPoigfq`M&as~!XkVBUC!tzOR7fp5H4N7=#!Y7!+4R9AdJP zfq|=@fq}teCB(qsl^_=}FeI#mWT(uPknC5y5|Ztjq4JYfGBAiTFfh!98nh9r{wS0_ z4>Fj6f#K##h{v8l&HuC#l0E-JX@OM?4E3OVtGEhcf%Yl}26YAo2CG#Nha|0HVBlt8 zV8~ttiHh=75Qklair-!Z34!NO^*>iJFc>m0Ffgr#1hL6#NR(NxhFBc58WO_Et07U7 zy_%sO9F&EtAq7s|YKTKRS3?{yV>JVV76Svr!qt$VJhK|&fD2Ii)@n!yJy{J2!7r;B z81xw!7#P<;9AdbJfx(D@fgyPfB*dnzfkeTYH4F@o)Jp;oc1_p+&Yapp|###mj zGf>>Fg{1lqYas^vu47;j0hI^qAVHeH4&uYwbr1))tb;gk@;U~FYz78~>FXF66hS5E zdWZv5*F*G0tcQd^+Iolw^Xk_#Fid4&U?^V?aR~1Q28Qnp3=A7KFfeRkU|?9W5#r<6 zO^~Qa-vlwJcoRgtaTCNL-J2jjo3shyprxB29@?@A;*hJGAVv1~O%MkNY=(qLy~Jh) zh5`l#2EEM;3~~$%4D&ZbEZDah5@%;NLkzyV8KUvSW(Ecp1_p*7n;{1N-3*BWu`Ljb z)wV$7O}9WCY_$av*KS)NA?dRPVou~1us!t*iCZ9vC?9G-Bh-KiTObaYx&@LpmTiGJ zWaAcy&yQ?jV6b9fU^ur0k~lfHLL891m4V?n0|P_RR*1z`+aTf&+aUJ%Z)0GvU|?WK z+y;`bXJDAM4dSu|U;ze(wc8*TZidqPwt-#BaB>?YF<##W2|A|jkf4{?4l!7MJ4Br! zl(ydv2^rt*kfJztJEWjHy&d8J<{b1-F))ZTFfhE_2Wg-%?uX<8+5HR*@(c_N_WL0r z6~Dh8QWmG~hq%0QKP1(*?}sFs$@?J|FWL{O<+kjHSojF4?md+Mdq2b+jsp-{<^Uvd z8XSQ5Jo^BoT$ptL5>;#mAr29*KM2uaeh?C8-UlHe5OfgYps0fo2V_9$DyX`igODhi zd=Qe|<{pG3+C>K;4qOZ6?}GA=Lg`CTbMHgt>)#%P`1r>`h>uwgK@1c=1c_4#D6M@6 zQUcl?f~XHZ1aV;eAxIGC9)jeG&O;D$<{yH1XdRTl^$^5iN1*yILd>gYxO)f^cb}jN zm<~e>=06OHL)pWSg2wbP#6fKE)gwi%pb?(O@4iABfryPfb zVE%E4L#vN7)Pu|7X~!W^a2~4R>TyV}czPV-gP%~E;{+sx#7{tcsBr=k5@shLQDA!l zl2)QlK=c)#U;wunn@&KYVkVSc1f^G>sE7D?3shj=2}n>LKf%Bt%fP^J{saSqHUk60 z+Y^vDlspMZgw`h^xxw!w1A`=}fpHSzkXopG%Snh&r=Ns`z~Yk(3^N%R7&f1TnD2WE zLWkC$g19vH6eMVKPC*Q=gevGe1qqpHryxFr+yJ_U*6>rnd6DM%DO zJOwFe-az?0ry=HupN2S~Ug0#vAdS-y7u%eMIK<;L#K)nhAqJJ7hWN1QG$dPgo`y6q z7M_N9;1JZ{i>Dz`bn7%EvAsSGi7Li35Oes?K+KUk1GcxGLGcU&LpTEigXtLt1{F~A z`wS!mHl2Y4-SIP!IK2+h!0_P=#N{k!A*q<>EJU5$SxCs}orO5a0?Kzk3-MSWR6O=9 z#9=vLef10sO=lqnPC5&T+gWEJLAmxUB&aq)E!uq+>|%zqPy-&Gh4|?ESxDu@bPnS4 zN#`IwUVIMXp^fJt4!m{_;;?7uAo{+ZV_+x)<$s3rkSpa9k2hKx$ za2ZP9hpKyh9@4n{c^+c1&IL%&+FoE_C3uscrHOK z=D!3nN97VkzriI)h?+uayGso9;69rBC5QujFF|||ehFf5+$9Ev5C#T@luM94;m%78 zpdK58$z=wHY6b>|EteS>JQx@l46ZFff!|Wnh@V zz`(HkD#U!BYmh`7e61cLkbMn87hQt{W#u(UF6g=j34!U?AO*?NYmh{@=NiOk=dMAD ze%VHy|2M-GBu3D`1RTF09Zhlk#TcqIKM z#AEe!Pz^m$1+$_2wKpLK@3{#HkxNkeF;wH1n-B*x-Gb0Ow;&da-GYRq>Me)^b#6h@ zg3T?6j{|Q(#)2Ymfzw(&L+veyOPAh)#QBa}5TEY51xYl=Z$Vso21?(8TJ!>{?mN^X zhTD)J7Pt*@Q0Q$)NXFlWgkaWfNR*b{hJ-}(ZIA=&85pMChLm(mp&E}v6<)jz89KRl z8&ZVo-hsrW?;VIwGw(nQuDAmUp_V(4x?t)ZNXV_f1M%t6I}i`PyaTcL&mBk<@ZDu# zU;*WS)w>Xbv_Jw33=C#>AuhGP%fPT6G(K<_(lz^Wmw~~Xfq_B%9;C;Ud=KKoz4ss? zbmAVwVb`Gir}rS{e7*+>S%&+Nw7_ zz`)RcpMhZm0|UdV`;bwt=m!vkxE?|rEbtIwq0B=_oNGUX_{``b#KE2qA#tAZ5TdUD zs;>;nZ+Zyr|93ouB$BBQAr4se5E7(&9zsgEvkxI%Cx%B5A6YzN01rmFK7v?K@(7}@ z<`JY}(f0@vRVyDs+66}+LDJNtN1!-oV0irqV*c+(^^k!8p2rXcPLClH-cWwbV@MFE zK8A!)!DC2VRzd0B#}J1vcnle6+zRE(KY>_m@&w}GKqwve1Y%D16G(`Z)<1y+Vf7P; zMO{xIaWwS_Bu-aC4ch($k{hl(VPMbzjqN}UWO@ooy!=lgAz=6v;zQ@B5Qhdog+xi( zQ;0paPa#p$^AysdsbBpR;`5tNA(g_Trx2GjJcH1(&md{R>KUZSjC}?%xbzvspbjX1 z`7?+^c0Gfn`a91cQNi#W;xOswkj|~{b4UopLd5GC(jg3n%IAV3_nt#6{sq-1`2u2~_6tZUwHN+uSuOU(B@EX#faed9eAPCC;ajzk9Rsf|NUPBV$gx3%Y7QSX+FlJz2Sos<< z5_+Kl28Mc2|GXEfVZ|Fr z;ydsL5@%PS{AW-Le!YQ|aExyu4wilk@rm|Zh!0)fLK3IfTS%+9_$|ai^WQ>zzVa=^ z!Ry{a9J2Q03x#O1y)(T=yNs$EHxe9hC0|<@>*b7##i%;;^)L zkRjJHsQer#z2qIl18boAkG-ph`1Jfch)W+r>DTWdLHhL_BvJl(2TAoD?;&kE>GzPt z>F^$6Va$6-_RV<@QD6QZVqWumh&jDb`6=%qAvGT=zO?>5#Aj>XLxN~4RASeAh|dqc zhxqK|dq|mm<2}S7A|D{M`Ui+Us}GP6wEw`sV8Fn@;PU~J_-a2uf_lvdh&j7HK+1!Y zA0Q*7^$$Kk3Id^z5Ca@OLKOObg!=3w#34CQ`4TAI_z@D6eIFrlzTzXqqKh9PKE4m- zKZEkWK+XFN<#T@mn_tf$^a&EzN}nJ>XAb2%L-`S(AP!3T1aV;TCrA)Be1cfi_6d?^ zdOtx5sso=OMf&4Ukof?~&k!Fwe}>o-^%+vo<$ng*SI@xE`xz2sGe1KtI`tXsGKQO< zAwGZk84^VwKSN5iU!Nfci++LB^Y&jLaUJ>vVnO^D$OJ^m7f9}y{RLzZ1H+at5c3Z} z>GNM07!*PI|K1mfMGRjd7IA!q_*C#K#HVslzRFjKj}4)Gi?0j}eW1CauaK#hD_%b4Lbgp{taSr{x=2&8wLi3if@oawH2yy*EdLr zocjiG(7kUEA3ga7ap;F{kSUqJ-ymtA{5vE>TE9aa-2WY-ZrXQ9vwiV*NN$n;!B7vL zVAT2n$%a-xAZ5SL4@jKmLd6&SfDFlO`T;TM^$&>8e*Azqg!d=JLdlqChA1%n4RNv6 zZ-`4hq4MFsAudk;4T-zz-;hMRaP8VIPBSfNI~))s$P_V5j!@vlhPT$DD2%f3j4dow#8gvG# z?g|4V189=zF32DT(EKhVc+^{fkr6ySuffO&o+orjdsV)xTz91kVlsU}6Lh$8j-3Jf_IZSP%BG1~WvXAv456duB%P0t8QHh=W3y8NnTr zdS*uOeBL5vh=Z;&Gcx!vFfcr2W&|xEU@&4~WUvGcv#~HTTm%iU zlhw*>kdO*wtA|KrvN3{Zr6;pNT)u@3;()_!5SN~V(pT9S8N3)6816u6b#_MZI)EZ} zMsSDZH9I7zr8pQFA{ZDLEI1$*P2^x?*aT|AaWI1C5o0(R!4n^a^_-A6YT;yL@MK_M zn8nEmUIFohlM%c?AdicY!Igo5;UgC#ctL?VH^hhUxf#LpgPJ^y;OY8%JdhBwA&AAULX6-= zCZR%*Ag>gH_;jKWBY56_8PuFzLXbpw7|gF{V7Mg&aoJ<21s}i?3=F@7AR)ml3`v}v z!Vrz(!VnAfgdvI3P8j0gOks$_ii9C?T?N&rD*_R>7GY#K%D}+jECNx_Day#e0m}bE zqL84M7KK=(CJITtCZdcC(?Clo#26W(85kJmia|o?rx?V+|HL5bxy2!TNhqx*&In$X zV+`f{i$g*pMjR4?h2o6h6%y6rj12Xl0%wspB=M|e6Nm7tFn=b{ic)1iLL^eUicSu1}@c}7F)ZCI{WM~5o z-AF?`vR9fBya4I4G$aa>WgsE=O9tYhLRm=2)z`~H5>uxv#KM`f5Q`SdLKH5SWdzTV zY?X!hDL$O0z~M(_}= zuLig%u4h=F!3ds{J*NSw&E9E1d?KI;(J)by5xgGgvL+*VD#lNX5!}P6(t-r_YAr|z z9@Jt4FH*ax1qqq&T9BgJLmQGNCTlZ-7bGp$hD7ldZBW$KGcY{Vh6L>!umA(Y4{b<6 z!mPsxUIC@9!w6m#*Qf&t$}c(~jSLI{x{xS})`bLRrYkeTa*{>O-<0lK~_uI1M0W ze3$_wzZV-oEa*3Yq@i5~kTi9`fDt?_f5LzfygcW$0V6{a0|Ucf14f2=(2Ar4Lx_fA zLr73o8bY#1ry(Q}O)_L;NMm4NIAO>Lo}$q=VgwIDg%~k{7nju5hHjBm$)$_ zgD+^Ql`(|B(imdiTVsd^zZpZaEt3gjJ-FHxHGu@BnF*vCb}@lCDAfd_G1~;W1gUQ2oFMwmoEX7_)Ui$w zeJhO%dk>M>U|8MYtD46HV$RNwaz~JG>$PmlGz>pRI zDT0p#FoGACRs}LLY-V6!Fb-k_FGhVH#0Z{LUKk81KdeI-85V*XnIVke#jD<-5dCan zj11ct7#Q}1F*3|%U|=W?hZOnz5sVD=`$20lBOn?kM=~<(Wnf_Ni(+J00Gh{(W(2S0 zTpP^@UL~s>!^m)ufq~&n3?suH1_p+{ScrP>IEclZ@em)bj%Ng~`!z{`G-h`sFoKui zIwdkP*n$#iBBZ2zmBX>OZ71f)^Usq%ktMfhw&uMutD2#cb)25Yx_JWUyvpV0e-NDJK-NAthgJ zHl%2OkX;Wc)2(tK7EQ~6WW)bCjNsL+I=PUj=*xw)gx=&r(uzzTq<+`WgH*r!^B}q7 zc^)Hp0g_riqz;*#&&XiF$iT2apAkIe@}U4yJL(jImcBADl-3tAf|uQXEo21GR7Mp+ z650GBM)26q#v({<=uixC$iZSrB9kwHWH*-*NJ*Jp0%=ebmOye-bqS>4nhX`6T>@#E zErqJzRsv~?)$f5SJY51Q(Jq%jipD!7kX-N>s_}CP#9=I@5QD`^LD`3aK@Q5-EQRDA z!%|3f8(j(ssr*uiMNOp;2TUx56!nWB;`Iz0pc?i=HC%=&cvcGOt$rzmWHN-2+v3r5sW#J}id>xp)P%oTz{}%(em&lD-v?s0o9L$3W>EC|y&*$iN25 z|2-9uvUoC7!x5;0Q&9R=1;mH1Dj+^&uY{E4l9iCQpkF1VWNWR2l!S*WAwmAAk`cT@ z@?#|=d+Jm{+5zvX7#Zq8>+}_>A#vJW4T-bK)es*ntA_Y+Jyd)rRQyaeB$Z#S zh7`qKHIPneK@B7XR@Fev+f@TG=THqJ!%_wYhSN2S;0evbT1EzLMg|7OI>vg2YoPW1 z^^nBG(g1Nee*+}0S0I4f_8z4Sh-vDvI`36WD zy50aO^FKk=mp4K}azvhQ6r@KeAx&I8IC4MR7f{Lx?&bh z5OLckh))BWAZaJE2@-NyO_1DB(gaDw9Z>msO%M;QuWy1_ycH^Ot_hOZ?nC+Cn;_LN zM>C`Z^KOQ?d_^-O!$}4PhF#4NhqkmpEa+~5IA~!Dq&(Tu0&&>S7D&`EwL(Hvs1@SS zdf8S;>ep+91i5u9Bq%*wAqHl*LJVkZg;?AL)i?*Ler+qnhr3%D8S+6ZrdlCwKKnMv zfJSp0Bg0(KMuav-h6F|ihU|7oNqD9M9M$y<9Gwsch<8F-HY%Nr3^|}O9!g*Dgv6ms z7sR6YE{KndyC6|j)dlf!6I6a`7sSCUyC6}tsSD!c?Ol+@=OHM44lEAp|3fuA1q(1R zyz7F*-Onya+F4g}4z87MV zPanjBv_43s)7%GXTrTf}SahKe616v=^s_!lNPOvIWT@u_jnVW&5(8g9q+pQmhbRby z(y{#z12X#|Ay5vbJNqG>)7kxyKH-&qNJE5q0>r$+36Pdk(*#IJEtmlD=#B}HC^<9% z+W$X00TQ=&CV&$K!-olwIQ|dSz%~(*T?8gV;#zDXBt$ePLeh@qM2N%OCPJbtVj{%6 z{D}~UH$&A;gzBFMHE-j@dWcK6PlV7XCPISr=0r#V^BHOp$0SG`OH6`fSIbF|+z~Vh z5=9x4APz5t(hX3$e-gy!^Cm$Ywrvu`p0kr69=KOO2~uLcgId5h8Dg0&$S$6o`7GDUgt{nF0w>KPW$R3Z%%cPoDyb zi-k~n%@l}Fwoid{nT}0?`1s2dh(ma%GJ-cOnNEdRFc(TMp9)C>8=?FMQz1TmH5HNw ze@}&&%RCL@0ikK&TC|=)Z5l)(W*WpH+0!6FQ#K8vv27Y8&ikf8e70~JBuH05#Scw` zM8(x<5FfsV%722I%QYR61|+9L>`|W%2`RJbAP3enFgQa6LZEaaR6`zALk(2C8?1qW zVFr}H5~^<7bclnFK-J%Yioc!?X&3yQ4(U;e&VVFh-x-iJ7CeKIK^&C-b7w$&*g69e z)H7y4(!j_I_Ol?VKVTNb2ZggB4lADp ziK=d>y4kZJ9gH=zAP)AJ4RL_~Y={S=p>*DCNC-5}W~>KKjm(}6F?jK8NF1+((wk;O zLSpx9h=muR20nqxf0zvkfuFM>jZgkL5T9AjfjHcI4kQi5K*dw$K+-@Nly03<4++vK zb09w13Dt0N4kS)5&Vkg1FQEo-&xJTpb}qyqwYiWY*%ZnTmg^5;T4P&Stl zyvVhCE~In%crGM_+3M#(f+& z4f7!m=2-xt)fPZ}>aYN!-+ckZ1K|rG4$WQw>Ft&+U}SIyZN*#&QRlM|9Od;4F$*Da zn6wb$qY9{k_Jt6aPG88#U=QjvLe;%l2(gf95u}sKxd@_e)gp*T_Ai2@_7jUBL40)) zq)+)~5u`m(ycjaFQn46hUp)iE;>8dbZCVU5_|RgAgHD1KFfiO-3<;`tiy_(b$70BE zn&1*ht`J!QvCwo0!~&-!5Qn%!>3}6*pE5))ftVA&1Y%DnNF0>^3zk5}WXhI6#&8ZV zVFd4RG+)XHUdOv}DWplIxeQYD<}QQu1+OlHgpBcWNT;%RIi#DuXE`+OtbjN$cLl`4 zz7-IMO@k+?K9}q~@;G5Q~?th9uHGQ2zPV5QjWl4N0`WRzr$jp*4{5KyM91y~7%a zdBIRRV@*9IC~DV0d_EmYuZ3znyatkruR`euQ1RDmAP)Vz2I3&LwUDNl>{^Jp<6212 zd#!~ew(PYK2TofH37J)EAs*gRzZMb{2i8JddK^mMTnjPy^;$^cVp<3B0slJ4(5lip zNE{cegIHJrm2X@J(KlrsBm`EkgLv%tI!FXp_*=IJcgLk1N3*F$`= zZ9OEYZmox;f%oen4*UnD1vWq|P}%_Tsoe&M1LHS93@+LLv8Zzc#DQ}+K+?i8D1Qq? zT|L9z4U7!C85kI@Y=BriVIyP!amz+XYG>F4(U`Fb;()SE5QlYaf><~g%HOaF5|T%u z{4<*%x#r;}NEEAXhJ>X3W=IP>KPbPHbds+`ZhyGvqH8&QmN2ZNVy;Zr8Txf zEU?%L@uB@zNQ)?JD+aRM@7TX{`tKSA0shG44V(`&zkX&(g8zj5E+6D=F-tCY|N^d*F;(+ZC3*)v! z)aP%96umv$A&KwGc8G)TZD(Wv@Be)T75D4S=~+NNAF~;2QLgL*$D}nww;i~vUDe8 zxNY4|h)?eAgjn<*YLMVANa9l41u@WS7et-cE{H|ZyCBti!7fOFHFX!nL5FuiJa&E; z#6z!k)k6f>c0)8M?uG=J+ipk{B=3fFrOI|g)Xm=wNu;}WLwZX0c0=;Fz#d4@TknAk z$$0L8SlF-!qOWHU#JuHuAP(NO2hwCaRlf&fz^grwf<|;N!~qI>A&JX&FGOSNUP$V# z*b51%*1Zsemh6QD@s_=i#JOuPBnl4hg$!(7*b5n7)Y%7d;KY59%4_~UNZnDtXdfh- zJlY3wvD$vf$fnVL$k6Jc{gA|`djMjA=>dp3n*)$pF^>a~M7kR)|Ly?9L0=C*eE$0Y zB-@G|gm^^bAS8;c4}uG(dWL|5kT_2}2pQ?fKgbB)&%X&O&U6S8x7>#ysaNI@!~trD zAQl)Mf`p9kA&5CqQ1!`&AZeuJ5F~0l4ncCw+Cz}?-~w1(Jp;q5Ll77JJ_PZpz+p%b zOB{v-vH4+$Mec_oA&_(!5;d8JA!Ef84@07E-(iRYP9BDo50?%@Qu)inki^Dx1d{LN zjzH3g*%4^|&piV1LE90C0h5nFd^+a{#NcH|AU@s*(!jvLu=fbW2iJ~3g8su1h{KhS zLL8`l6e4eQ6k?vwQHTRVk3!5XJPI+l`Y3e%zwIc*0sTiIAu;DDB-L*`3Q3H&j)LQg z;X70#?=gsjB#uE0R5=ETb3G_+atzWEvV!vMq3T?ZK^*E2)gOKg+W${J1_|n-W02Xd zCMf?plzt91==(8<1OFa_3?c~~hvaX+;}8ed9ET*fNyi~kxa2rw4*BqLNEeLt1jHWO z6ObtKJy8!yl_@76K~jDKlGvI~K!R@a2}q)ua{>|~`%gf8`~oWf399e+2}sbhorLJ; zJqgh-cM{?t^^*__El)y1F5o1@BQfKq%=-La!0-0X^2HZry(H_ za~cxo>8BynYb{WP8%{%9e&jSH6<;_FG4RD{NC?TCf%w$^3`9NX7a(b(_yUCAasg6pPr1Oz zU;(QCw?ZY}U4XdkACzx%5t46xEnB)~k?2I{7NZA;+Qg zwW|;ZKfPKH@j1ga2(5VylDLAdK{Ui&gSa&J8YJlJu0b5yehrdq=3avg)h@pV$u*4E zAyFuI9b!Subw~kKejSocmtKdMf8{#Fp%3b>L*nk;b%;g(u0wppe*+Q~N;e=rGr0i? z>d+gI$|vsz#DUXpK=d!Y0Womv4TwVzL-}WJK%(;24M@~Hya7oQ-)=xcrk?jEBxoI> zwC7ET0|IYC;wpPKo|_}w;&q*pbDa(;t97P7N_5WIH>;?B&ZkPf;6EH+=7I}gIkcn ztM|7c4imi%iBj#`kd95rZLoz5)wdz#Lep)KzIq0R^|v8Gw(mB?rN?hWvek{-kdS!_ zR>;8c_BJHZ{kaVZp~^cDANAaU@aNruM8(ECkP`6V9fD;duZF3Ec+}d%_+-?5TXf$WRYj%Q@`1i^##Od>MtN| zN3RzU3unDxWSGprz_9fNBy@bSd(`$&jsjneEn*ACQ63<>kqRjFQBA~ER_G?4a5O&-as7q7b?&87LuAJ-$H!o@D>up(QhFZmb`_OkW-=j z1#clfKKK@rZ7;rs*!K)d*ME8oaoNAOkW|a`4w8MO-a#xdcn6u|@qPyh!j^Xs11G*? z1P|RTd03I`9b+71yBRFFrwh{0Ay7`x&B6|1-oQ*UylmHx$Zm{tQt+ z`7&GvUqA*i zFueH!vG^-gp7krF`j-3(2_e(3kX+*O6%x{MUl}3$f6Bf>iqIKQdf8W~3%^2w{ODJR zMVG!pEPnD8l2(2|Y3^?jb#mVz4%Pk!2??`r5Qq7EgG6QMH%ObX;2Xq)Q@$}m&i|MP zHDJ{@NYHPG()+(birC}dAOnuizcDiOfHoX`hdSsxg#Y9_Bf}KXF?>HDYe?CCLOe9_ zC&Z%pKOqiU`4i%x{ZR1}KcW5qOFtp?{1d2z)GtT_L**C5;;>&3mv8w6Srv2R7bAH8 zfBJ7o)II(UDIsP4FoF(KV95OgDM4-jLduPzzl;oL85kIj|AmwXQ~xnC++<*2(EMKy zS*y*=z{J4A$iT3TfeF0k^DrY5cq4%<6BEN51_p+3CMNLmIu~XphFS&&h8@gI-~~r! zEKJ}X4Ye#x;1$tRSeU@eZuhV-fk(SPu`q#mR9LYxftO^bvNC};GBmO>ffu1Isb^&Z zuS(NoV*;;uN@HUJFS&ll#>4=%M=m=Pc>QiaJH#Q6 z*_pu0>a{qSz-v5RIGDhjP|7%%z$>hqq4Xpuy^sT9PW=WBCh$&$OB_t#!DekvCh%hO z#heh0|2dh!%jfyHn7|til(?9{E1YV%AP)M(#ROjY_>YT;0d(G95;w%*{oG98^}vU? zAr4XGVFE8Y)#HJfJCTP8v;(4^VF3>lc-`)19wzYCh?_i2;9W28c$mNoiN8WM*zq!f zH>LRUGJ)6sM)N|{_3$!*_mE8HWdiRbm;;qxzzcD}MW{LhJ|^(S26H|p@CF83K9Ih8 z1_nPqCh)v{I3E*uDONWh6L?VS10N*rnD`-asmspVIxQNKlFhGJ$u!C}&Hz~D9vsfW1KR;WOL4!Pv#hMHn{skqO`FV*snhY8Nn}5}; z+{0$BU|?!xxP7H1qctzcY2NC7`FRQ%iJ2g03=A&45c+>F1H(=R28LaI3=H!a7#K?W85k-U7#M^nFfgoR zU|{H(z`(GBfq}t#B82`jk%3`50|Ud_Nem2g7#J8*CqqJlX$pjHo5H}*#K6G7RX>%1 zAsrM{QyCZ>K@OP8z);4(z+gU&fuVtcfnnV=28Kok1_u4<5PIWuh`8|#28L7y28Jy& zAR#6-6GAVU2?*yg3=9b?7#MgN7#K2FFfgz)Fff!u`SnnRy-@Kf zQ2v}13=BLB3=E4`KzzIbs{RmE-37403=B6`FfcGPFfcq^0m(g2S1>RLF)%Q2uY@>6 zZY3!G85kIhRzeK4T?uj#1B2H}NOlTd3CWhRDTkcg53q)5jFsL&yFsQ78IK*ca0|Pe$ z14HO4NK_=Qf;en9RQ%{FNC;ens(-wSfx(c0f#J<6ND#}dhD4d_YKX-)t05umyBZQT zp{p6{!9f|l8dBh7tcEzGcs0ZUO{*Cgv=|r|x>rMja@%T%19m~_BdZ}HbZ#{y1n;e8 zV9;k^V0gV6;t=UI3=BpL3=F<&AR*SU1`-9+)-W)bg36CI^$ZM)7#JAtuYsh>rnL+V zW}vuT3rY32)mUx!TL*Dq?K%dAYz78~#&rw~il7p7 z9mE0r>mmA_)hR)3p3s!7~#M!pZ5QC3zhG@LCnSp_Yfq~)CW{82$H$$QT1{sIuAuNt~ad`hB-DFdS!KV2IfYu~=mr#9Xay5PK}QF)&zwD!pwW z`FaM1mTeH1b%6yK7^ZK7SU49-uh<55DZ}P%ki>X!8zku7Y=Z+-PY|82fW?Rz%Z>IRD$hbU@&H6VA#6@l6pVxgczi_3*s>SU67K| zW)}lP90LPG!!8Dfcu=C<1ql)R-H?z9+70p%14Hs|h{G~>LmW^5m2ZH`PlU=(-_5{K z4=VBI?S`brWl(zkZb%UCfbtJP`KNb7;_m8hh>!2?hB);7ZiqwvLiqxFAo6m17#O4& z7#IxpKufkAUWB&0m| z*F(x;|NRi3B=3i$+QR*iL{qyTVsX!YNG&&SKg7Z_P<1z<{HOaN=6r(EYzH8TQ|bW3 z=b;B6#rY#`1sL5h>zbv4g7l$5?4%zAhhTqNC~KM z2%_Hh5X6C=haf>5eh88)iVs1|={yAS&L3{@f?7P|AuPd zJO=Tx4^%smM)-~1GWwy!@0 zajE+$NRWk{f*70(RZwvX5;6^^AU&%4*ab)wsb64VCG&abLW^z)%nBpTCDn z6kmk2|7$NoG%URcanQz#kPz7q zXvGbP#w|A>LB00|#G(r~AgTEQRQ%fwh{c>YA?hSbls`1`Uh=boi>2FYd47VU5$$tytK(Skpw4ini;$!Pu zkg*`=Ti~=-&yao#;?n+GkT_p-3*yriw;+jT<1L6ww?XM6w;&F_1XcGCYSF7(kRbkb z3*s>Q+mMj-ybTG#klT8aF}}?!FBfIyrG0QiO`% zfyAZx9f$*h??4Prx&sNJygQJ(p#BadJ~>p|lKcOhM~M|T+*ycrl681F%PJihlJK3ske5<;8qK^%4f z%0GV(V$R)rkdS?K50Vx>++$#{W?*1oxzE5*FT%jU;BX(}^U(Vc7slUbU{GRUU?{xL zz_5XVfnmyh$S9ZV1BgLi9zY!Y>jA_Si1|++)k6jXzCjh}JcdY^K89#;dkhI;|HqIJ zih2x*%M>VG{utu$uE&sp#`#b_=M#vqO z^rw)hDSHa((9}4=A@U9fyciuAr|Gof;gc36+~U*D~P(TSCB;d z^%cY+Dz70?sP!7spwWNLz#s_9{~oU)aTW!ovtC0IVbyDh1>LV17>pSh7$(1ljD#M4 z4Y7#h4J1wl-#~n*@CM=#^*4~HGKBIy-$2X>egg@CXegcehJm3T)ITqWYMAr}lK57= z0mlu)J}CbJ)Pg5(ASK-EHxLK2zJ>Ti^ex1PdT$|#)8s9r)g1d4;-JpA5T8$e3vuv_ zw-ARce+$k3Ti-&W;Lux0en0;f5|>QxATAew2l25yl&=Bh8$kJ%?;r*{zJoX{;2mVh zH32H$2BrJnK|C-Gs(-_~dWcVVzJs{*G?c#j4icpI-$4@Pvv-hG|LGm1O~?8kk~p>A zLo9TA56Qk^?;+|F-$TsHeGf6G94cS;9uiWWQ1Sly_Yj{=dk+bs`A~@^?;$>4{T|}8 z&F>*)_M!I>hx~)mf*&CIR6amLQ1b%=g8>5rgV_g2;!FPk3F>JdAm%Lj04WbPe}IgT z)}Q(SDG2^R4bb`sQE2`V>a&j!hlG8ESP%!Lvp+(Dvf?8o&L@3@ShV{i#K$M0{0mV2 zJ*at4q5Q89em%pVkC3?L`2-0%#ZM5vE|l-|3F08XPY?&heu4yH)+dNX1)m^kru-A6 zpj!0_Qly{#1ep(D{tWT4?q`U(E}tO`3y1m|7S=&ulWTM*Y;l^7I=PvOhCkaf#itp&b82B}rPL846K8+80H@EgS9$Zre`HVh05N#7ueYW_Ef#wFh%A+qBe z#6c&%L40)X8^mF^zCosBo_~X+fyD2S5Xt`zad72#h`NUFkY;=DcSvsG{J~HUo_G}b z0m+6cKOkkl*$+sZhC{`>en5s~=KO#dboB?sXODhB9P<4K#6squkdl)3Cq$j&Pe_pa z{e+kw`xD~8{GSky)&8u97%=fC#D{Z#LTbOYKOrG->L;WiIS)1H>rY4!v;2Zs!1D_d zq>{fNW4yAzAc?U17o-SZ_X}d){$G#~zVi!`hMxX{gaAYRZ-~X*zaa{we?wfX@*Cn( zW2n62Z-|Qne?#If^*1EZ_Wg!L$^PFEhaLS5nVviQ8&Xaf{((5er0WkPB&Pm>1nt575@uyxY}Px5bOViSmgK@ zGF9vS7gA0v`pdxJ#K6F?=P$V3&+z{*xQ?i2Q2z%BvfzIZ3(EdM45<4Dae2o-h`}@e zK`dPT4-#U#{y~EB)IUi6e)LKozz!Ffwp}=6o0!!PDup85qGcl}n-gHBf`LLDlVJU<6Mx z9S0f2z`*d5fe}3F{fmJSJUuVO$OxV%)MjJ^4`w+sGJ=QW8vYF;)- zNLjPhLnMOP7{RmBwQLZV&tro)U@aTOr8}VXel|u1F9rsNV^CU4A6B0*xoQw>f3=9k{oQ&WV z5a&1&cu0nsAL4UPen{F7;D?Ay z@G~-i)_BPAGlJ)a_4yeYW->A`So1@oe-wmh{3-}ZT)&_+vk-*OBLs1%s1U?K@=#h`2x76m5F>bz ziM#6k&SNaEBGhBz=-7~-%PVMtu32t)LVi$KIxMHm^5GB7acia^wV2GOAW|3?H8 z^sJ%~4FaN&)GH^-$S@7GghG^&A)0}KpjcUqAO_BpfcR*I1SD;2gwltg;+G{L`TvdtBzL`&fY|p}g0UW4P$)=3a)G`i z#HFs1j0~X3=qO2u4=W`hA=EAjF=!H0e2F9^8*PH>J1Pl@>swIs-bq3dDT@?@7LbDI zmyv=vSWl`Rl0D3&AVCr;1qs3$DM*}kN>@SuV{8UVyY$8WM%RGLR5_A_MVIv@9g#GV5g_iK$o?Vqvo^#G-Clh{B1ojNloP z`LYln+>m7iFHm?Q%g7MGz`!6a2Z@RtIYM}{14EM{BSRMh1B06qBWR|K;i3{F!&U|chH1)-41Yl@q*Ne9 zt(PjKq?@kF$Z!Z$5~@N9oK7`H@Z|JwHAV)|kZhDXBnlU+LyGJ}>Wq*DPU?){AzE_{ za8X>((51l$o|E070jbSyXh3}OO9P^zT9XmH9%!#7BX}ytLW>dH!%5MC1oc!cNC>Xh zVgxTz+pPr&nTJ}CqS{Csk|t`k8NmyZCTc^Xc%L>XYU>#oPHRJg_8M4#f#H!hq#${# z%?MrrC8)#5P{hE%kgWp=%6mE>jSLJ{x{xSx)rACQur4Gdmg_>~CG{XaRndbuyj%|w z^o#Wv83I8ot@Icf_(1tzL7x%4R!d(W;*h!e5TC8ohlI?2eTa+i>qD~N8+}MreAb7Q z@eT%%{2prnv7pibl7^NTK+@DI14i(${3ZiN@ba9k28;|z3=9m<4Hy~fK`WBH3?Uj~ z4Ix39YzWC7#fFeXRAb1&6fdJ}`!4+c(CH_26pvzcC~z6-*%2u$~FTLH;HXjiDwGpTt4M z(@Y>inq$HUUYs@q%KvJ@$S{e4fkDv}qHl{Sq;}kE3QlYc5@wJ@>ShKB$)#rXjNsL8 zYs?@P@S1~bB?eJ*M)2}FFLQ|a2B`QBsQ6oRhy}qGkklPx!3bUz*KYw4|7-#A;U5b~ zqUN`Rlz4`gj0~R`85lw=AtC5qZw)DU3alZibGkL8b~<7WiObv8km{4o29m0yZ6NJ| zH8v23ezIX?$YWq&P`71dCv0=K#q?_0bNH zBDco@;*f<7jNs*XCmbLR1_nn+Dt2~c1W!~PPbK6Ha5Zd-Roa3|N-9h6P$85p|U zAwHSv4rvRnaEB!|8s{{9v%>b^*kU!@8ZD-Uc9>51L9B{Pe$+})I?84 z@Zwe;FGld9(+yq_by41o;I*cYy%`zag7SZ%4@5z{FC&9269WUMA0tC7C{6<)MR02X zBV=)DAS1(O1_p*Nfs72G#i%QS7{QauNx_iv<4-Un!$JlIhO7`q@ZwdTP>BBHp^OaM z7#J98!x$N6GcYiighPt_3*n3m_4`5N`wdl?uQ_@fvZ7BDa{oQ+}xujR~( zW(2R2eG<*ca1bwdq+LmIP{35?)nxXg)+ z47Q-PriqY}a&;mjXaz6>gKQEbLpP}1o&>2zHIo?`+8G!aHY77LWH2x=SfoGL*m1H=0?NQk{jXJoKuVqjRB0VyXQWu2IgH@dt#5N6QQ@BpX$h^(g`}0cxsdw(LoTHHZODV< zjum-~-~~v}^B{FdOgpHO6x*t+X_Yo zHcupAy5siPzBvkdUgfGhpQ_fK0HwYDa&tFK-z-*m5>t6trAiaHdjJ|d~qcs zc!lJqN=Wv63zhG$g0utHS1~fwgVyOktb!yKpK3^)g;Ya)kX{Y(VF6UU3M$@P4N2wG zsv$)&cMYUdYFGpDX?6|7yy_Z=In6bU3`;?)lv%AR$oD0CB*C21pv3 z(ZI;i0@@bJNK^r4O0wV*1PCKL|?Ck(Ybv?t$4u}J8bU<1*PdgYHazJH#Cxo8S z35i42E{H`6T@W9ebU~uZx(niCXQ+Hw7sSC?U63d$?t=KZq6^aaY=+YPVDWkehS^XJ z%fJE*4C}ifakr}rk~WTXL4xjf7bFB;L-~KZAW_BJ4M~Km-HhOAI=5~}BCYC%jEYU^ zhNKz69!Bs|Z@nIf!;kbZGKhlm|Ct_$g^xf2pyl&DklKl<7vhtcUWfxydm$lF+6ysw zLNCN3-ad#0>V1$($E6R_xXkE-STwN@5>+#y^zuGPNNnw6WT@w5U|=}d2Z_`3eUO6T z0aSrdKSZHiKg0m7en<#dKxwajNar-BAJQkB+7D@n9O;LcXEXuQa&n#k38};h5RX<) zfJ9021Ze-iZvrH4=S~183WkjnAaQ&Es^RzqNOrk60TS2OCqP2v)dWb|`85IJF!qU% zD3hEBG0$Kk#NjRzA?kuALiEQ^gqT+}u^!^miir@qb0Q>2XHA3@Fk2=vrdLIFr+3!g3f6&#AiN}8Nti;6DC8V=;CCE5ARNfIOr8r{pZP$koh|q5~BQ5 zAbhbYkRrQYV+tfLlAv_%6o^kMra-z(?NcB=-Z};1kaJTQ!5fyoO@TNlZYqS%mAiVra^+nd>TZf`!quR zENL1fNVB2h&C?)JF>M;ehijnno2Nl6JUtDP25v$5FQ!34>iaa11M3+WSf)b+M4`0O zbchE1=@0{Kq2fN%K^hnsBBA^&sJim$5C^qF)z5{BubB>M7wno2=}}#q4oP%;GazY9 zWCkOHI4J+?&4BpOZ3ZN$BWFO;K+z0HP_@s1_-ytJNZW7G3`nJPd3aWMrrZ4YL)`gfu`V&4kqFhi5`k>r1ExhFOrr zDL4z_1EX0Ghgr;mM3v7hh=nn;ARUa{Sr7+v&W1QZU^c{qGEiE7HY5a`W;510z+=0MVr>>P-= z>KsUvnnP)~IrWer4V?q=NflH>*BnTkPMQO$4Oc-8I5P+0zwp3i|4$={%S!MPA~ z6y`!gz+f)K1LkuX!HZmd=0ZBBOXfmC_;~$XNKo8^(m&=xd@3{#;&Qcl5We0#NDw;B zgXEIXc@Uo@%!4>6A4*q1)iut8IBd#1hy&I`<&Qx5XXioEO8q0K#G82#mw$yCz&ali z0uu8fL1{1_(&ciT4{`8WDE)js#HWl4Ao@8LKpZTw0OC-c1(4pZ`2t1;cLoNAqfm9c z3&Bxd&mg-H5{JqQAwIHP2r7<^5s>@yk35kY9 zkksC}2ol887D4)yYZpP<115_hBP*7RLH5-%Fr+MoSXjImVsP_fh=aPo3K$p`EQSQt z`o)m!xpOgOIPKD6NUpfL7-HeK#Sjaamp~lC0i^|(fPKm!wFF|0!V-u*S|D*y{x@6# z8Iv(z0vW?;S;7e3;rL?-BX}Ke(Naj0>eW(6(W|!%(ifbz3=%S5mO(m|Cd(n+^xEan zw6g-@K)n?Z3;kC>92T|$5{2m8SXM(^D6kr0q2y{v8ZcW8NzLA?Ar4Jj4ap6)Q2vC~5Qi*Z4N0`SS3`>4%c~*z z{ykJZ;~I#0B2Zd$4YWgHw+7<#2q>Mm2BNWL4I~v$gVGD3;%nAG9J+4}#6ic`K$>3n zpyEtxAwkc*7LwR>)&Vz~|?@3ao0FLWIw1aj6vJl3%eQpC?&2XV-GsJi;c>mc)Vzt%wp z6av;md{Vw15>&I-L(;&8^$-W{hte0md$M*Z^^W@dk)RUK=0|jN1T7 z3+YgPDMVd8L)`{OhTWijy&E7F2X2H6AeL@~r1pawAsRI|K^$Pd3F0u%O%My?p!~v3 zkdSPH@_RQya?PSmkktNc6C@-VHbc?~?`BY)QP04jx*0Mr=f4>;nkBjgl1eXcfs_k3 zq4diw5DR{8f%uSNE2Kpvz7-Oe_FExQ;=L8(;NYzga}u{gO3?JJkZQYPE5rfQw=yzF zfb#$Pt&q4mu@y3k^>Zu4XAavSBNf5hAO^Q>gXD_7ZIJA?dK)C@&uxQLQt!7xEEe1j zu~2?HM7_awNYU%N9g_H_ZihH{{&q$N@c!S`P=T#b`rvj*b~_8DUu=iOHS-QgmrQ;K zq$KRw0kL@L4oDg~4yCW{fLQQ!2P6bO?tnzu_Z^TB<=F|*FSC=e9=tHXbSETe+;>6} zOWIDza9jRPh)?G4gjlp;C&ZvjJ0Xed`A&#|zoF{5cR}Q3c0sCj!(EU9D{L3UK`px= z9-FWW;-S^M>LCKhp&B0Tf&>}+Zb%fU?1pru%y&c7CG3VI((2uip3?l?ko&vy^Ryo@~%2UqWbG}*fA_dpC-y$4dzT-yV2z{5R|#PtuVQEe|I z^;+(Qgp}J}h(W1)AwgWa7m_%u_d=qgX)k18bK+je_~P5W5C;bBgH&D#`yh2keeym? zHd(w6;^OD~AS0Wf_d$kMoA*N!-@E+~3%>1#sQbGgGAqV;0Fp>+4nXABAAmS$+X0Br z_Z)y^+v^7)A@K45B#QnV02fU441xzCajt$4GSXpikP*C}zZfch_#h+=oH+|~n z9Ps=g#DdQUAtA$e2x5-(A&7dFLy$CLdI*vhJP$!~P2M3$c`y;IuAYHm^&yCh_8fxv z^x`2%5Z^om3F04zAQo{PhWJqVFeGZU4nxL@gAPNYuKqB@0bPe7<-_E|kW{|vFeI@Z zJ`BnC_YXtT$aj!DDF5pnf%w4v2*iMpBM_g)9)TE~egxvyAKtF#QN5=rGhy&k12}MUf(*5IpMs=~%u|qps`(Ve{N<-0gHzj1K|<=)DM;?9XE+V9NaQpm z1msRb;#~7IWO~i*G(=(1X^6|)PD4`hq|*=sSDl80(7n?Thcljm$O}Vh?K7ZimVv?f z3?xKzp>)|9u!rjz>d!zl_Co3TXCMyQ2<7iN!w5b?<=h!aEt!25;*dE|dc|3YkGGtK zIP~0ENaA~R77|j=&q6{#jMGTYAK~m|$bCATc z@*E`p?>qs*6&E1}w_b$!aOy>f z16N*zcx?AYh{G;jgv9;Bi;&v%`$cH}m%Ic?-Ab1r8oe(;d=z^L;_{SB5TBM_g4F*F zmmsy@+e?rFN&Ye6S`YF0p{o%3^;JmX61fJ^pl}W1QvGX?pm(?iaj54tNUn*$1{tc&yavfN zhp$1R@WC~R1#;IR1(fA=NH$Hs4l#e)b%;Y3)nA9i-G=KBiw<0e_~_zwNK`zz4)NKy z>yV%pzX7Ry3~oRi7;yulKm7*8!15aqhqglbeK#OcIp+o>Y8Kysq=_9jAR$wK{stsy znQua9?wb$?2;YRnnc7WAQEGJ)VsYe6h(V1vAt5pCCdA@3Hz5}7x(V^&K`4FpCd6Ym zZ$dou>L#Qp{{vB9&%ksGqLK3!M5Dkhhyod?xY8|%#hSMu4hp;l3F_2akS0{qEl5Z# zx&;}$+IS1%u`ZAiJ`avP+to`Iq8HYCUzZbMw!c^i_gX5EH_ z$a1hk28Q*wA&G9^ZAb`N-+}nZ?+%2Ya0e0<#djbjVDlY_{@HgR9$I_{V(!X2Ad49o zwt;9+{y%yLQiNW)1M%7SJCON3k-HFuo_8TDA|mcWhSyi#g^b;b-(zIB%fP@8cn{LP z*S`gP-ddvvk zj@$c~5pw>Q+!M&$&!H!fl?@zEq5P+iSuT!ekaoePXAqyLKZmSx3wRE3$nob8pS^qz zX*=?~fLIvwf{|e|XixbINYHb?ghY|VOGwmcysU@By}?UJ2w1*^#Fg_)NLuiG35nyV zmy8V885tOIUP9v9L4U33{$KkZCyWH;_fH1#cjgQ^^~M zeU@B2(42SZQ z-a>rb{1%dJC%=W*w*pGnZ+Q!G*@3r^RD0wtB>UWX3$ftSTgV&_?>k5ky1j!K82pYA zJam)%4&q~-_mCj9e$UA8n1O-8`8~vk>K`Dq;RlF5>krU|$_GY<=b-gJnI9ni|GwSPY?$+eS$>A45;|3PY@sPgNomWs{8l}ViEgiNYN|)8Nzq{3{fBY z84|K(pFts8&%n_B8REkUpCPl_CqF}6Z1)9{ojkrkg0%PxM7-_`#9x; zSBOQkzCtWs^A(a-4nXP4P<79~LLB<}E5srHzCs)(@(mJ|vfm(WLW^$@kHmaqgq;78 z_6=fD(KkrY*F)*{Z;&Fk{~Kh$as4+&h8_k62Hx*b2YrX|*L-JWm;yR#?FVEH>A4>e z4@LfjSd{(~;-JEx5C^qG#V7oP_Wx)7gw*qEpc0RMLK+xvenKpk`vq}%%`eERm<7KW z!TbO9e?y{f^>0WC`Q$ev!+8b<2Gc)~5|s5Xq};Ij%gAsRbdKO(NO=(ZkCEXf0|UcH z&_V*xy8P4s85wvO85rsqn80g3yBV3l8ws8=GBLbiU|^7EVgfI(<6&lEs0AIt#LNU< zaP*Iv3B04hm4yksB07eJ3B2sKg@p+`+P#Z~3B03%iIs@~bW)-&D-(DlgC{E!ctJu= zJu4G#_II~8VeFo6e~KXWjF z7n^5uLNp%dWCAarzsAV~-e~ZOlL@@S$(0M@pj}){;FXWZxR@Ap7#J9|xFHS?=Vk)0 z2kzpAIOHWa6L`_-H*SczkvvSG9T4>l89Yqjb-UF(OyI2%3wfBpyI!{OFfo7@67S`K zXkg=I0_PG@UMBGRUu9m1x)5F_@E($AUMBE9f)uEH1~0?`Gok8!@G^lnHvH#h0&ieo zf3P3ELC%^>WsIVTS9#sEd7Jvlh9RVir zu9p`A5TAY)fCMR{AS6ok1ew6QSGok5z=u%o5M%=H6ABk%0{K8D<6uNwEwEVWzruo)>Bm|7Wa-*3ri%{zUAJENG0LSBBJLP=_#Lc!sM z6`6U7Ad{xAb7zzkg~}Y>h%7nTt44LYv^%5L_EYYRcWS5aKFY|weZx^kPkpwM!<$p` MbGHBd!l\n" "Language-Team: Galician\n" "Language: gl\n" @@ -205,26 +205,26 @@ msgstr "Federado" msgid "Blocked" msgstr "Bloqueado" -#: bookwyrm/models/fields.py:27 +#: bookwyrm/models/fields.py:28 #, python-format msgid "%(value)s is not a valid remote_id" msgstr "%(value)s non é un remote_id válido" -#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45 +#: bookwyrm/models/fields.py:37 bookwyrm/models/fields.py:46 #, python-format 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:142 +#: bookwyrm/models/fields.py:182 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nome de usuaria" -#: bookwyrm/models/fields.py:186 +#: bookwyrm/models/fields.py:187 msgid "A user with that username already exists." msgstr "Xa existe unha usuaria con ese nome." -#: bookwyrm/models/fields.py:205 +#: bookwyrm/models/fields.py:206 #: bookwyrm/templates/snippets/privacy-icons.html:3 #: bookwyrm/templates/snippets/privacy-icons.html:4 #: bookwyrm/templates/snippets/privacy_select.html:11 @@ -232,7 +232,7 @@ msgstr "Xa existe unha usuaria con ese nome." msgid "Public" msgstr "Público" -#: bookwyrm/models/fields.py:206 +#: bookwyrm/models/fields.py:207 #: bookwyrm/templates/snippets/privacy-icons.html:7 #: bookwyrm/templates/snippets/privacy-icons.html:8 #: bookwyrm/templates/snippets/privacy_select.html:14 @@ -240,14 +240,14 @@ msgstr "Público" msgid "Unlisted" msgstr "Non listado" -#: bookwyrm/models/fields.py:207 +#: bookwyrm/models/fields.py:208 #: bookwyrm/templates/snippets/privacy_select.html:17 #: bookwyrm/templates/user/relationships/followers.html:6 #: bookwyrm/templates/user/relationships/layout.html:11 msgid "Followers" msgstr "Seguidoras" -#: bookwyrm/models/fields.py:208 +#: bookwyrm/models/fields.py:209 #: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 @@ -597,25 +597,25 @@ msgstr[1] "En %(year)s, %(display_name)s leu %(books_total)s libros
    cun tot msgid "That’s great!" msgstr "Está moi ben!" -#: bookwyrm/templates/annual_summary/layout.html:127 +#: bookwyrm/templates/annual_summary/layout.html:128 #, python-format msgid "That makes an average of %(pages)s pages per book." msgstr "Esto fai unha media de %(pages)s páxinas por libro." -#: bookwyrm/templates/annual_summary/layout.html:132 +#: bookwyrm/templates/annual_summary/layout.html:134 #, python-format -msgid "(%(no_page_number)s book doesn’t have pages)" -msgid_plural "(%(no_page_number)s books don’t have pages)" -msgstr[0] "(%(no_page_number)s libro non ten páxinas)" -msgstr[1] "(%(no_page_number)s libros non teñen páxinas)" +msgid "(No page data was available for %(no_page_number)s book)" +msgid_plural "(No page data was available for %(no_page_number)s books)" +msgstr[0] "(Non hai datos acerca das páxinas para %(no_page_number)s libro)" +msgstr[1] "(Non hai datos acerca das páxinas para %(no_page_number)s libros)" -#: bookwyrm/templates/annual_summary/layout.html:148 +#: bookwyrm/templates/annual_summary/layout.html:150 msgid "Their shortest read this year…" msgstr "A lectura máis curta deste ano…" -#: bookwyrm/templates/annual_summary/layout.html:155 -#: bookwyrm/templates/annual_summary/layout.html:176 -#: bookwyrm/templates/annual_summary/layout.html:245 +#: bookwyrm/templates/annual_summary/layout.html:157 +#: bookwyrm/templates/annual_summary/layout.html:178 +#: bookwyrm/templates/annual_summary/layout.html:247 #: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 @@ -623,44 +623,44 @@ msgstr "A lectura máis curta deste ano…" msgid "by" msgstr "por" -#: bookwyrm/templates/annual_summary/layout.html:161 -#: bookwyrm/templates/annual_summary/layout.html:182 +#: bookwyrm/templates/annual_summary/layout.html:163 +#: bookwyrm/templates/annual_summary/layout.html:184 #, python-format msgid "%(pages)s pages" msgstr "%(pages)s páxinas" -#: bookwyrm/templates/annual_summary/layout.html:169 +#: bookwyrm/templates/annual_summary/layout.html:171 msgid "…and the longest" msgstr "…e a máis longa" -#: bookwyrm/templates/annual_summary/layout.html:200 +#: bookwyrm/templates/annual_summary/layout.html:202 #, python-format msgid "%(display_name)s set a goal of reading %(goal)s book in %(year)s,
    and achieved %(goal_percent)s%% of that goal" msgid_plural "%(display_name)s set a goal of reading %(goal)s books in %(year)s,
    and achieved %(goal_percent)s%% of that goal" msgstr[0] "%(display_name)s ten como obxectivo ler %(goal)s libro en %(year)s,
    e vai polo %(goal_percent)s dese obxectivo" msgstr[1] "%(display_name)s ten como obxectivo ler %(goal)s libros en %(year)s,
    e vai polo %(goal_percent)s dese obxectivo" -#: bookwyrm/templates/annual_summary/layout.html:209 +#: bookwyrm/templates/annual_summary/layout.html:211 msgid "Way to go!" msgstr "Así se fai!" -#: bookwyrm/templates/annual_summary/layout.html:224 +#: bookwyrm/templates/annual_summary/layout.html:226 #, python-format msgid "%(display_name)s left %(ratings_total)s rating,
    their average rating is %(rating_average)s" msgid_plural "%(display_name)s left %(ratings_total)s ratings,
    their average rating is %(rating_average)s" msgstr[0] "%(display_name)s fixo %(ratings_total)s valoración,
    cunha media de %(rating_average)s" msgstr[1] "%(display_name)s fixo %(ratings_total)s valoracións,
    cunha valoración media de %(rating_average)s" -#: bookwyrm/templates/annual_summary/layout.html:238 +#: bookwyrm/templates/annual_summary/layout.html:240 msgid "Their best rated review" msgstr "A súa recensión máis valorada" -#: bookwyrm/templates/annual_summary/layout.html:251 +#: bookwyrm/templates/annual_summary/layout.html:253 #, python-format msgid "Their rating: %(rating)s" msgstr "Valoración: %(rating)s" -#: bookwyrm/templates/annual_summary/layout.html:268 +#: bookwyrm/templates/annual_summary/layout.html:270 #, python-format msgid "All the books %(display_name)s read in %(year)s" msgstr "Tódolos libros que %(display_name)s leu en %(year)s" @@ -1446,7 +1446,7 @@ msgstr "Publicado en %(date)s por %(publisher)s." #: bookwyrm/templates/book/publisher_info.html:67 #, python-format msgid "Published %(date)s" -msgstr "Publicado en %(date)s" +msgstr "Publicado o %(date)s" #: bookwyrm/templates/book/publisher_info.html:69 #, python-format @@ -6049,7 +6049,7 @@ msgstr "Quero ler \"%(book_title)s\"" 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 +#: bookwyrm/templates/snippets/register_form.html:66 msgid "Sign Up" msgstr "Inscribirse" @@ -6373,7 +6373,7 @@ msgstr "Editar perfil" #: bookwyrm/templates/user/user.html:38 #, python-format msgid "View all %(size)s" -msgstr "Ver tódolos %(size)s" +msgstr "Ver os %(size)s" #: bookwyrm/templates/user/user.html:52 msgid "View all books" diff --git a/locale/it_IT/LC_MESSAGES/django.mo b/locale/it_IT/LC_MESSAGES/django.mo index da1d0a528acab264480119a3a929994398f656e1..085d3128c3518115cc8c057768b2b6e65107f38e 100644 GIT binary patch delta 32828 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 RGg3hor>1OQ_Jh$(1OT8}r^^5U delta 28897 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 E09CsV)&Kwi diff --git a/locale/it_IT/LC_MESSAGES/django.po b/locale/it_IT/LC_MESSAGES/django.po index 1a9fa8285..afb0f04fa 100644 --- a/locale/it_IT/LC_MESSAGES/django.po +++ b/locale/it_IT/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-12-11 21:08+0000\n" -"PO-Revision-Date: 2022-12-11 22:09\n" +"POT-Creation-Date: 2022-12-16 20:50+0000\n" +"PO-Revision-Date: 2022-12-19 03:35\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Italian\n" "Language: it\n" @@ -205,26 +205,26 @@ msgstr "Federato" msgid "Blocked" msgstr "Bloccato" -#: bookwyrm/models/fields.py:27 +#: bookwyrm/models/fields.py:28 #, python-format msgid "%(value)s is not a valid remote_id" msgstr "%(value)s non è un Id remoto valido" -#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45 +#: bookwyrm/models/fields.py:37 bookwyrm/models/fields.py:46 #, python-format 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:142 +#: bookwyrm/models/fields.py:182 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nome utente" -#: bookwyrm/models/fields.py:186 +#: bookwyrm/models/fields.py:187 msgid "A user with that username already exists." msgstr "Un utente con questo nome utente esiste già." -#: bookwyrm/models/fields.py:205 +#: bookwyrm/models/fields.py:206 #: bookwyrm/templates/snippets/privacy-icons.html:3 #: bookwyrm/templates/snippets/privacy-icons.html:4 #: bookwyrm/templates/snippets/privacy_select.html:11 @@ -232,7 +232,7 @@ msgstr "Un utente con questo nome utente esiste già." msgid "Public" msgstr "Pubblico" -#: bookwyrm/models/fields.py:206 +#: bookwyrm/models/fields.py:207 #: bookwyrm/templates/snippets/privacy-icons.html:7 #: bookwyrm/templates/snippets/privacy-icons.html:8 #: bookwyrm/templates/snippets/privacy_select.html:14 @@ -240,14 +240,14 @@ msgstr "Pubblico" msgid "Unlisted" msgstr "Non in lista" -#: bookwyrm/models/fields.py:207 +#: bookwyrm/models/fields.py:208 #: bookwyrm/templates/snippets/privacy_select.html:17 #: bookwyrm/templates/user/relationships/followers.html:6 #: bookwyrm/templates/user/relationships/layout.html:11 msgid "Followers" msgstr "Followers" -#: bookwyrm/models/fields.py:208 +#: bookwyrm/models/fields.py:209 #: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 @@ -495,7 +495,7 @@ msgstr "Codice di comportamento" #: bookwyrm/templates/about/layout.html:54 #: bookwyrm/templates/snippets/footer.html:34 msgid "Impressum" -msgstr "" +msgstr "Impressum" #: bookwyrm/templates/about/layout.html:11 msgid "Active users:" @@ -597,25 +597,25 @@ msgstr[1] "Nel %(year)s, %(display_name)s ha letto %(books_total)s libri
    pe msgid "That’s great!" msgstr "Fantastico!" -#: bookwyrm/templates/annual_summary/layout.html:127 +#: bookwyrm/templates/annual_summary/layout.html:128 #, python-format msgid "That makes an average of %(pages)s pages per book." msgstr "Questo fa una media di %(pages)s pagine per libro." -#: bookwyrm/templates/annual_summary/layout.html:132 +#: bookwyrm/templates/annual_summary/layout.html:134 #, python-format -msgid "(%(no_page_number)s book doesn’t have pages)" -msgid_plural "(%(no_page_number)s books don’t have pages)" -msgstr[0] "(%(no_page_number)s libro non ha pagine)" -msgstr[1] "(%(no_page_number)s libri non hanno pagine)" +msgid "(No page data was available for %(no_page_number)s book)" +msgid_plural "(No page data was available for %(no_page_number)s books)" +msgstr[0] "(Non sono disponibili dati di pagina per %(no_page_number)s libro)" +msgstr[1] "(Nessun dato di pagina disponibile per %(no_page_number)s libri)" -#: bookwyrm/templates/annual_summary/layout.html:148 +#: bookwyrm/templates/annual_summary/layout.html:150 msgid "Their shortest read this year…" msgstr "La loro lettura più breve quest’anno…" -#: bookwyrm/templates/annual_summary/layout.html:155 -#: bookwyrm/templates/annual_summary/layout.html:176 -#: bookwyrm/templates/annual_summary/layout.html:245 +#: bookwyrm/templates/annual_summary/layout.html:157 +#: bookwyrm/templates/annual_summary/layout.html:178 +#: bookwyrm/templates/annual_summary/layout.html:247 #: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 @@ -623,44 +623,44 @@ msgstr "La loro lettura più breve quest’anno…" msgid "by" msgstr "di" -#: bookwyrm/templates/annual_summary/layout.html:161 -#: bookwyrm/templates/annual_summary/layout.html:182 +#: bookwyrm/templates/annual_summary/layout.html:163 +#: bookwyrm/templates/annual_summary/layout.html:184 #, python-format msgid "%(pages)s pages" msgstr "%(pages)s pagine" -#: bookwyrm/templates/annual_summary/layout.html:169 +#: bookwyrm/templates/annual_summary/layout.html:171 msgid "…and the longest" msgstr "…e il più lungo" -#: bookwyrm/templates/annual_summary/layout.html:200 +#: bookwyrm/templates/annual_summary/layout.html:202 #, python-format msgid "%(display_name)s set a goal of reading %(goal)s book in %(year)s,
    and achieved %(goal_percent)s%% of that goal" msgid_plural "%(display_name)s set a goal of reading %(goal)s books in %(year)s,
    and achieved %(goal_percent)s%% of that goal" msgstr[0] "%(display_name)s ha fissato un obiettivo di %(goal)s libro da leggere nel %(year)s,
    e ha raggiunto il %(goal_percent)s%% di questo obiettivo" msgstr[1] "%(display_name)s ha fissato un obiettivo di %(goal)s libri da leggere nel %(year)s,
    e ha raggiunto %(goal_percent)s%% di questo obiettivo" -#: bookwyrm/templates/annual_summary/layout.html:209 +#: bookwyrm/templates/annual_summary/layout.html:211 msgid "Way to go!" msgstr "Ben fatto!" -#: bookwyrm/templates/annual_summary/layout.html:224 +#: bookwyrm/templates/annual_summary/layout.html:226 #, python-format msgid "%(display_name)s left %(ratings_total)s rating,
    their average rating is %(rating_average)s" msgid_plural "%(display_name)s left %(ratings_total)s ratings,
    their average rating is %(rating_average)s" msgstr[0] "%(display_name)s ha lasciato %(ratings_total)s voto,
    il loro punteggio medio è %(rating_average)s" msgstr[1] "%(display_name)s ha lasciato %(ratings_total)s voti,
    il loro punteggio medio è %(rating_average)s" -#: bookwyrm/templates/annual_summary/layout.html:238 +#: bookwyrm/templates/annual_summary/layout.html:240 msgid "Their best rated review" msgstr "La loro recensione migliore" -#: bookwyrm/templates/annual_summary/layout.html:251 +#: bookwyrm/templates/annual_summary/layout.html:253 #, python-format msgid "Their rating: %(rating)s" msgstr "La loro valutazione: %(rating)s" -#: bookwyrm/templates/annual_summary/layout.html:268 +#: bookwyrm/templates/annual_summary/layout.html:270 #, python-format msgid "All the books %(display_name)s read in %(year)s" msgstr "Tutti i libri %(display_name)s letti nel %(year)s" @@ -702,7 +702,7 @@ msgstr "Visualizza record ISNI" #: bookwyrm/templates/author/author.html:87 #: bookwyrm/templates/book/book.html:164 msgid "View on ISFDB" -msgstr "" +msgstr "Vedi su ISFDB" #: bookwyrm/templates/author/author.html:92 #: bookwyrm/templates/author/sync_modal.html:5 @@ -731,7 +731,7 @@ msgstr "Visualizza su Goodreads" #: bookwyrm/templates/author/author.html:143 msgid "View ISFDB entry" -msgstr "" +msgstr "Vedi voce ISFDB" #: bookwyrm/templates/author/author.html:158 #, python-format @@ -815,7 +815,7 @@ msgstr "Chiave Goodreads:" #: bookwyrm/templates/author/edit_author.html:105 msgid "ISFDB:" -msgstr "" +msgstr "ISFDB:" #: bookwyrm/templates/author/edit_author.html:112 msgid "ISNI:" @@ -1013,16 +1013,16 @@ msgstr "ASIN:" #: bookwyrm/templates/book/book_identifiers.html:29 #: bookwyrm/templates/book/edit/edit_book_form.html:359 msgid "Audible ASIN:" -msgstr "" +msgstr "Audible ASIN:" #: bookwyrm/templates/book/book_identifiers.html:36 #: bookwyrm/templates/book/edit/edit_book_form.html:368 msgid "ISFDB ID:" -msgstr "" +msgstr "ISFDB ID:" #: bookwyrm/templates/book/book_identifiers.html:43 msgid "Goodreads:" -msgstr "" +msgstr "Goodreads:" #: bookwyrm/templates/book/cover_add_modal.html:5 msgid "Add cover" @@ -1777,11 +1777,11 @@ msgstr "Reimposta la password di %(site_name)s" #: bookwyrm/templates/email/test/html_content.html:6 #: bookwyrm/templates/email/test/text_content.html:4 msgid "This is a test email." -msgstr "" +msgstr "Questa è una email di prova." #: bookwyrm/templates/email/test/subject.html:2 msgid "Test email" -msgstr "" +msgstr "Email di prova" #: bookwyrm/templates/embed-layout.html:20 bookwyrm/templates/layout.html:41 #: bookwyrm/templates/setup/layout.html:15 @@ -2674,7 +2674,7 @@ msgstr "Importa libri" #: bookwyrm/templates/import/import.html:13 msgid "Not a valid CSV file" -msgstr "" +msgstr "Non è un file di csv valido" #: bookwyrm/templates/import/import.html:22 #, python-format @@ -3256,7 +3256,7 @@ msgstr "Hai consigliato con successo un libro per questa lista!" #: bookwyrm/templates/lists/list.html:54 msgid "This list is currently empty." -msgstr "" +msgstr "Questa lista è attualmente vuota." #: bookwyrm/templates/lists/list.html:104 msgid "Edit notes" @@ -3382,7 +3382,7 @@ msgstr "%(related_user)s ha suggerito di a #: bookwyrm/templates/notifications/items/add.html:66 #, python-format msgid "%(related_user)s added a book to one of your lists" -msgstr "" +msgstr "%(related_user)s ha aggiunto un libro a una delle tue liste" #: bookwyrm/templates/notifications/items/add.html:72 #, python-format @@ -4144,13 +4144,13 @@ msgstr "Ricerca libro:" #, python-format msgid "%(formatted_review_count)s review" msgid_plural "%(formatted_review_count)s reviews" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "recensione di %(formatted_review_count)s" +msgstr[1] "recensioni di %(formatted_review_count)s" #: bookwyrm/templates/search/book.html:34 #, python-format msgid "(published %(pub_year)s)" -msgstr "" +msgstr "(pubblicato %(pub_year)s)" #: bookwyrm/templates/search/book.html:50 msgid "Results from" @@ -4608,15 +4608,15 @@ msgstr "Nessun dominio email attualmente bloccato" #: bookwyrm/templates/settings/email_config.html:8 #: bookwyrm/templates/settings/layout.html:90 msgid "Email Configuration" -msgstr "" +msgstr "Configurazione email" #: bookwyrm/templates/settings/email_config.html:16 msgid "Error sending test email:" -msgstr "" +msgstr "Errore nell'invio dell'email di prova:" #: bookwyrm/templates/settings/email_config.html:24 msgid "Successfully sent test email." -msgstr "" +msgstr "Email di prova inviata correttamente." #: bookwyrm/templates/settings/email_config.html:32 #: bookwyrm/templates/setup/config.html:102 @@ -4625,36 +4625,36 @@ msgstr "Mittente email:" #: bookwyrm/templates/settings/email_config.html:39 msgid "Email backend:" -msgstr "" +msgstr "Backend email:" #: bookwyrm/templates/settings/email_config.html:46 msgid "Host:" -msgstr "" +msgstr "Host:" #: bookwyrm/templates/settings/email_config.html:53 msgid "Host user:" -msgstr "" +msgstr "Utente host:" #: bookwyrm/templates/settings/email_config.html:60 msgid "Port:" -msgstr "" +msgstr "Porta:" #: bookwyrm/templates/settings/email_config.html:67 msgid "Use TLS:" -msgstr "" +msgstr "Usa TLS:" #: bookwyrm/templates/settings/email_config.html:74 msgid "Use SSL:" -msgstr "" +msgstr "Usa SSL:" #: bookwyrm/templates/settings/email_config.html:83 #, python-format msgid "Send test email to %(email)s" -msgstr "" +msgstr "Invia email di prova a %(email)s" #: bookwyrm/templates/settings/email_config.html:90 msgid "Send test email" -msgstr "" +msgstr "Invia e-mail di prova" #: bookwyrm/templates/settings/federation/edit_instance.html:3 #: bookwyrm/templates/settings/federation/edit_instance.html:6 @@ -4789,7 +4789,7 @@ msgstr "Non riuscito:" #: bookwyrm/templates/settings/federation/instance_blocklist.html:62 msgid "Expects a json file in the format provided by FediBlock, with a list of entries that have instance and url fields. For example:" -msgstr "" +msgstr "Aspettiamo un file json nel formato fornito da FediBlock, con un elenco di voci che hanno campi di istanza e url. Per esempio:" #: bookwyrm/templates/settings/federation/instance_list.html:36 #: bookwyrm/templates/settings/users/server_filter.html:5 @@ -4811,55 +4811,55 @@ msgstr "Nessun istanza trovata" #: bookwyrm/templates/settings/imports/complete_import_modal.html:4 msgid "Stop import?" -msgstr "" +msgstr "Interrompere l'importazione?" #: bookwyrm/templates/settings/imports/imports.html:19 msgid "Disable starting new imports" -msgstr "" +msgstr "Disabilita l'avvio delle nuove importazioni" #: bookwyrm/templates/settings/imports/imports.html:30 msgid "This is only intended to be used when things have gone very wrong with imports and you need to pause the feature while addressing issues." -msgstr "" +msgstr "Questo è destinato a essere utilizzato solo quando le cose sono andate molto male con le importazioni e si deve mettere in pausa la funzione mentre si affrontano i problemi." #: bookwyrm/templates/settings/imports/imports.html:31 msgid "While imports are disabled, users will not be allowed to start new imports, but existing imports will not be effected." -msgstr "" +msgstr "Mentre le importazioni sono disabilitate, gli utenti non potranno iniziare nuove importazioni, ma le importazioni esistenti non saranno effettuate." #: bookwyrm/templates/settings/imports/imports.html:36 msgid "Disable imports" -msgstr "" +msgstr "Disabilita l'importazione" #: bookwyrm/templates/settings/imports/imports.html:50 msgid "Users are currently unable to start new imports" -msgstr "" +msgstr "Al momento gli utenti non sono in grado di avviare nuove importazioni" #: bookwyrm/templates/settings/imports/imports.html:55 msgid "Enable imports" -msgstr "" +msgstr "Abilita importazioni" #: bookwyrm/templates/settings/imports/imports.html:71 msgid "Completed" -msgstr "" +msgstr "Completati" #: bookwyrm/templates/settings/imports/imports.html:85 msgid "User" -msgstr "" +msgstr "Utente" #: bookwyrm/templates/settings/imports/imports.html:94 msgid "Date Updated" -msgstr "" +msgstr "Data Aggiornamento" #: bookwyrm/templates/settings/imports/imports.html:101 msgid "Pending items" -msgstr "" +msgstr "Oggetti in sospeso" #: bookwyrm/templates/settings/imports/imports.html:104 msgid "Successful items" -msgstr "" +msgstr "Oggetti riusciti" #: bookwyrm/templates/settings/imports/imports.html:139 msgid "No matching imports found." -msgstr "" +msgstr "Nessuna importazione corrispondente." #: bookwyrm/templates/settings/invites/manage_invite_requests.html:4 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:11 @@ -5152,7 +5152,7 @@ msgstr "Registrazioni chiuse:" #: bookwyrm/templates/settings/registration_limited.html:29 msgid "Registration is enabled on this instance" -msgstr "" +msgstr "Registrazione abilitata su questa istanza" #: bookwyrm/templates/settings/reports/report.html:12 msgid "Back to reports" @@ -5290,11 +5290,11 @@ msgstr "Informativa sulla privacy:" #: bookwyrm/templates/settings/site.html:72 msgid "Impressum:" -msgstr "" +msgstr "Impressum:" #: bookwyrm/templates/settings/site.html:77 msgid "Include impressum:" -msgstr "" +msgstr "Includi impressum:" #: bookwyrm/templates/settings/site.html:91 msgid "Images" @@ -6049,7 +6049,7 @@ msgstr "Vuoi leggere \"%(book_title)s \"" 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 +#: bookwyrm/templates/snippets/register_form.html:66 msgid "Sign Up" msgstr "Iscriviti" @@ -6273,23 +6273,23 @@ msgstr "Mostra meno" #: bookwyrm/templates/two_factor_auth/two_factor_login.html:29 msgid "2FA check" -msgstr "" +msgstr "Verifica 2FA" #: bookwyrm/templates/two_factor_auth/two_factor_login.html:37 msgid "Enter the code from your authenticator app:" -msgstr "" +msgstr "Inserisci il codice dall'app di autenticazione:" #: bookwyrm/templates/two_factor_auth/two_factor_login.html:41 msgid "Confirm and Log In" -msgstr "" +msgstr "Conferma e effettua l'accesso" #: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:29 msgid "2FA is available" -msgstr "" +msgstr "2FA è disponibile" #: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:34 msgid "You can secure your account by setting up two factor authentication in your user preferences. This will require a one-time code from your phone in addition to your password each time you log in." -msgstr "" +msgstr "È possibile proteggere il tuo account impostando l'autenticazione a due fattori nelle preferenze utente. Questo richiederà un codice una volta al telefono oltre alla password ogni volta che accedi." #: bookwyrm/templates/user/books_header.html:9 #, python-format @@ -6336,7 +6336,7 @@ msgstr "Richieste di seguirti" #: bookwyrm/templates/user/layout.html:71 #: bookwyrm/templates/user/reviews_comments.html:10 msgid "Reviews and Comments" -msgstr "" +msgstr "Recensioni e Commenti" #: bookwyrm/templates/user/lists.html:11 #, python-format @@ -6364,7 +6364,7 @@ msgstr "%(username)s non sta seguendo nessun utente" #: bookwyrm/templates/user/reviews_comments.html:24 msgid "No reviews or comments yet!" -msgstr "" +msgstr "Ancora nessuna recensione o commento!" #: bookwyrm/templates/user/user.html:16 msgid "Edit profile" diff --git a/locale/lt_LT/LC_MESSAGES/django.mo b/locale/lt_LT/LC_MESSAGES/django.mo index 8d0e42ddc58c9c2faaed5f4f393495642ffe2178..447b249c035f48422fba6fa5328467c5c935880f 100644 GIT binary patch delta 44760 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 gGYTMLqrS%gA)S-!;%;V1{($j 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 diff --git a/locale/lt_LT/LC_MESSAGES/django.po b/locale/lt_LT/LC_MESSAGES/django.po index a21eca3a8..f7ad8c447 100644 --- a/locale/lt_LT/LC_MESSAGES/django.po +++ b/locale/lt_LT/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-12-11 21:08+0000\n" -"PO-Revision-Date: 2022-12-11 22:09\n" +"POT-Creation-Date: 2022-12-16 20:50+0000\n" +"PO-Revision-Date: 2022-12-19 22:58\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Lithuanian\n" "Language: lt\n" @@ -52,7 +52,7 @@ msgstr "Slaptažodis nesutampa" #: bookwyrm/forms/edit_user.py:118 msgid "Incorrect Password" -msgstr "" +msgstr "Neteisingas slaptažodis" #: bookwyrm/forms/forms.py:54 msgid "Reading finish date cannot be before start date." @@ -64,11 +64,11 @@ msgstr "Skaitymo pabaigos data negali būti prieš skaitymo pradžios datą." #: bookwyrm/forms/forms.py:67 msgid "Reading stopped date cannot be in the future." -msgstr "" +msgstr "Skaitymo pabaigos data negali būti ateityje." #: bookwyrm/forms/forms.py:74 msgid "Reading finished date cannot be in the future." -msgstr "" +msgstr "Skaitymo pabaigos data negali būti ateityje." #: bookwyrm/forms/landing.py:37 msgid "Username or password are incorrect" @@ -84,7 +84,7 @@ msgstr "Vartotojas su šiuo el. pašto adresu jau yra." #: bookwyrm/forms/landing.py:123 bookwyrm/forms/landing.py:131 msgid "Incorrect code" -msgstr "" +msgstr "Neteisingas kodas" #: bookwyrm/forms/links.py:36 msgid "This domain is blocked. Please contact your administrator if you think this is an error." @@ -157,7 +157,7 @@ msgstr "Išsitrina savaime" #: bookwyrm/models/base_model.py:20 msgid "Self deactivation" -msgstr "" +msgstr "Išsiaktyvavimas" #: bookwyrm/models/base_model.py:21 msgid "Moderator suspension" @@ -205,26 +205,26 @@ msgstr "Susijungę" msgid "Blocked" msgstr "Užblokuoti" -#: bookwyrm/models/fields.py:27 +#: bookwyrm/models/fields.py:28 #, python-format msgid "%(value)s is not a valid remote_id" msgstr "%(value)s yra negaliojantis remote_id" -#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45 +#: bookwyrm/models/fields.py:37 bookwyrm/models/fields.py:46 #, python-format msgid "%(value)s is not a valid username" msgstr "%(value)s yra negaliojantis naudotojo vardas" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 +#: bookwyrm/models/fields.py:182 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "naudotojo vardas" -#: bookwyrm/models/fields.py:186 +#: bookwyrm/models/fields.py:187 msgid "A user with that username already exists." msgstr "Toks naudotojo vardas jau egzistuoja." -#: bookwyrm/models/fields.py:205 +#: bookwyrm/models/fields.py:206 #: bookwyrm/templates/snippets/privacy-icons.html:3 #: bookwyrm/templates/snippets/privacy-icons.html:4 #: bookwyrm/templates/snippets/privacy_select.html:11 @@ -232,7 +232,7 @@ msgstr "Toks naudotojo vardas jau egzistuoja." msgid "Public" msgstr "Viešas" -#: bookwyrm/models/fields.py:206 +#: bookwyrm/models/fields.py:207 #: bookwyrm/templates/snippets/privacy-icons.html:7 #: bookwyrm/templates/snippets/privacy-icons.html:8 #: bookwyrm/templates/snippets/privacy_select.html:14 @@ -240,14 +240,14 @@ msgstr "Viešas" msgid "Unlisted" msgstr "Slaptas" -#: bookwyrm/models/fields.py:207 +#: bookwyrm/models/fields.py:208 #: bookwyrm/templates/snippets/privacy_select.html:17 #: bookwyrm/templates/user/relationships/followers.html:6 #: bookwyrm/templates/user/relationships/layout.html:11 msgid "Followers" msgstr "Sekėjai" -#: bookwyrm/models/fields.py:208 +#: bookwyrm/models/fields.py:209 #: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 @@ -265,15 +265,15 @@ msgstr "Aktyvus" #: bookwyrm/models/import_job.py:49 bookwyrm/templates/import/import.html:155 msgid "Complete" -msgstr "" +msgstr "Užbaigti" #: bookwyrm/models/import_job.py:50 msgid "Stopped" -msgstr "" +msgstr "Sustabdyta" #: bookwyrm/models/import_job.py:84 bookwyrm/models/import_job.py:92 msgid "Import stopped" -msgstr "" +msgstr "Importavimas sustojo" #: bookwyrm/models/import_job.py:359 bookwyrm/models/import_job.py:384 msgid "Error loading book" @@ -378,7 +378,7 @@ msgstr "Norvegų (Norwegian)" #: bookwyrm/settings.py:296 msgid "Polski (Polish)" -msgstr "" +msgstr "Polski (lenkų)" #: bookwyrm/settings.py:297 msgid "Português do Brasil (Brazilian Portuguese)" @@ -438,7 +438,7 @@ msgstr "Sveiki atvykę į %(site_name)s!" #: bookwyrm/templates/about/about.html:24 #, python-format msgid "%(site_name)s is part of BookWyrm, a network of independent, self-directed communities for readers. While you can interact seamlessly with users anywhere in the BookWyrm network, this community is unique." -msgstr "" +msgstr "%(site_name)s yra BookWyrmdalis – skaitytojų bendruomenių nepriklausomas tinklas. Tai unikali bendruomenė ir čia galite lengvai bendrauti su BookWyrm tinklo nariais." #: bookwyrm/templates/about/about.html:44 #, python-format @@ -457,7 +457,7 @@ msgstr "%(title)s labiausiai kontroversi #: bookwyrm/templates/about/about.html:93 msgid "Track your reading, talk about books, write reviews, and discover what to read next. Always ad-free, anti-corporate, and community-oriented, BookWyrm is human-scale software, designed to stay small and personal. If you have feature requests, bug reports, or grand dreams, reach out and make yourself heard." -msgstr "" +msgstr "Sekite savo skaitymus, kalbėkite apie knygas, rašykite atsiliepimus ir atraskite, ką dar perskaityti. „BookWyrm“ – tai programinė įranga, kurioje nėra reklamų, biurokratijos. Tai bendruomenei orientuota, nedidelė ir asmeninė įranga, kurią lengva plėsti. Jei norite papildomų funkcijų, įgyvendinti savo svajones ar tiesiog pranešti apie klaidą, susisiekite ir jus išgirsime." #: bookwyrm/templates/about/about.html:104 msgid "Meet your admins" @@ -495,7 +495,7 @@ msgstr "Elgesio kodeksas" #: bookwyrm/templates/about/layout.html:54 #: bookwyrm/templates/snippets/footer.html:34 msgid "Impressum" -msgstr "" +msgstr "Rekvizitai" #: bookwyrm/templates/about/layout.html:11 msgid "Active users:" @@ -599,27 +599,27 @@ msgstr[3] "%(year)s metais, %(display_name)s perskaitė %(books_total)s knygas%(pages)s pages" msgstr "%(pages)s puslapiai" -#: bookwyrm/templates/annual_summary/layout.html:169 +#: bookwyrm/templates/annual_summary/layout.html:171 msgid "…and the longest" msgstr "... ir ilgiausias" -#: bookwyrm/templates/annual_summary/layout.html:200 +#: bookwyrm/templates/annual_summary/layout.html:202 #, python-format msgid "%(display_name)s set a goal of reading %(goal)s book in %(year)s,
    and achieved %(goal_percent)s%% of that goal" msgid_plural "%(display_name)s set a goal of reading %(goal)s books in %(year)s,
    and achieved %(goal_percent)s%% of that goal" @@ -646,11 +646,11 @@ msgstr[1] "%(year)s metais, %(display_name)s nusistatė perskaityti %(goal)s kny msgstr[2] "%(year)s metais, %(display_name)s nusistatė perskaityti %(goal)s knygų
    ir pasiekė šio tikslo %(goal_percent)s%%" msgstr[3] "%(year)s metais, %(display_name)s nusistatė perskaityti %(goal)s knygas
    ir pasiekė šio tikslo %(goal_percent)s%%" -#: bookwyrm/templates/annual_summary/layout.html:209 +#: bookwyrm/templates/annual_summary/layout.html:211 msgid "Way to go!" msgstr "Taip ir toliau!" -#: bookwyrm/templates/annual_summary/layout.html:224 +#: bookwyrm/templates/annual_summary/layout.html:226 #, python-format msgid "%(display_name)s left %(ratings_total)s rating,
    their average rating is %(rating_average)s" msgid_plural "%(display_name)s left %(ratings_total)s ratings,
    their average rating is %(rating_average)s" @@ -659,16 +659,16 @@ msgstr[1] "%(display_name)s įvertino %(ratings_total)s knygų,
    vidutinis msgstr[2] "%(display_name)s įvertino %(ratings_total)s knygų,
    vidutinis įvertinimas %(rating_average)s" msgstr[3] "%(display_name)s įvertino %(ratings_total)s knygų,
    vidutinis įvertinimas %(rating_average)s" -#: bookwyrm/templates/annual_summary/layout.html:238 +#: bookwyrm/templates/annual_summary/layout.html:240 msgid "Their best rated review" msgstr "Geriausiai įvertinta apžvalga" -#: bookwyrm/templates/annual_summary/layout.html:251 +#: bookwyrm/templates/annual_summary/layout.html:253 #, python-format msgid "Their rating: %(rating)s" msgstr "Įvertinimas: %(rating)s" -#: bookwyrm/templates/annual_summary/layout.html:268 +#: bookwyrm/templates/annual_summary/layout.html:270 #, python-format msgid "All the books %(display_name)s read in %(year)s" msgstr "Visos %(display_name)s %(year)s metais perskaitytos knygos" @@ -710,7 +710,7 @@ msgstr "Peržiūrėti ISNI įrašą" #: bookwyrm/templates/author/author.html:87 #: bookwyrm/templates/book/book.html:164 msgid "View on ISFDB" -msgstr "" +msgstr "Žiūrėti per ISFDB" #: bookwyrm/templates/author/author.html:92 #: bookwyrm/templates/author/sync_modal.html:5 @@ -739,7 +739,7 @@ msgstr "Žiūrėti „Goodreads“" #: bookwyrm/templates/author/author.html:143 msgid "View ISFDB entry" -msgstr "" +msgstr "Peržiūrėti ISFDB įrašą" #: bookwyrm/templates/author/author.html:158 #, python-format @@ -823,7 +823,7 @@ msgstr "„Goodreads“ raktas:" #: bookwyrm/templates/author/edit_author.html:105 msgid "ISFDB:" -msgstr "" +msgstr "ISFDB:" #: bookwyrm/templates/author/edit_author.html:112 msgid "ISNI:" @@ -1025,16 +1025,16 @@ msgstr "ASIN:" #: bookwyrm/templates/book/book_identifiers.html:29 #: bookwyrm/templates/book/edit/edit_book_form.html:359 msgid "Audible ASIN:" -msgstr "" +msgstr "Įgarsingos knygos ASIN:" #: bookwyrm/templates/book/book_identifiers.html:36 #: bookwyrm/templates/book/edit/edit_book_form.html:368 msgid "ISFDB ID:" -msgstr "" +msgstr "ISFDB ID:" #: bookwyrm/templates/book/book_identifiers.html:43 msgid "Goodreads:" -msgstr "" +msgstr "Goodreads:" #: bookwyrm/templates/book/cover_add_modal.html:5 msgid "Add cover" @@ -1087,12 +1087,12 @@ msgstr "Ar \"%(name)s\" yra vienas iš šių autorių?" #: bookwyrm/templates/book/edit/edit_book.html:81 #, python-format msgid "Author of %(book_title)s" -msgstr "" +msgstr "%(book_title)s autorius" #: bookwyrm/templates/book/edit/edit_book.html:85 #, python-format msgid "Author of %(alt_title)s" -msgstr "" +msgstr "%(alt_title)s autorius" #: bookwyrm/templates/book/edit/edit_book.html:87 msgid "Find more information at isni.org" @@ -1793,11 +1793,11 @@ msgstr "Keisti %(site_name)s slaptažodį" #: bookwyrm/templates/email/test/html_content.html:6 #: bookwyrm/templates/email/test/text_content.html:4 msgid "This is a test email." -msgstr "" +msgstr "Tai bandomasis el. laiškas." #: bookwyrm/templates/email/test/subject.html:2 msgid "Test email" -msgstr "" +msgstr "Bandomasis elektroninis laiškas" #: bookwyrm/templates/embed-layout.html:20 bookwyrm/templates/layout.html:41 #: bookwyrm/templates/setup/layout.html:15 @@ -2174,11 +2174,11 @@ msgstr "Vadovas" #: bookwyrm/templates/guided_tour/book.html:10 msgid "This is home page of a book. Let's see what you can do while you're here!" -msgstr "" +msgstr "Tai pagrindinis knygos puslapis. Pažiūrėkime, ką čia galite rasti!" #: bookwyrm/templates/guided_tour/book.html:11 msgid "Book page" -msgstr "" +msgstr "Knygos puslapis" #: bookwyrm/templates/guided_tour/book.html:19 #: bookwyrm/templates/guided_tour/group.html:19 @@ -2189,7 +2189,7 @@ msgstr "" #: bookwyrm/templates/guided_tour/user_groups.html:19 #: bookwyrm/templates/guided_tour/user_profile.html:19 msgid "End Tour" -msgstr "" +msgstr "Užbaigti turą" #: bookwyrm/templates/guided_tour/book.html:26 #: bookwyrm/templates/guided_tour/book.html:50 @@ -2242,71 +2242,71 @@ msgstr "Kitas" #: bookwyrm/templates/guided_tour/book.html:31 msgid "This is where you can set a reading status for this book. You can press the button to move to the next stage, or use the drop down button to select the reading status you want to set." -msgstr "" +msgstr "Čia galite nustatyti knygos skaitymo būseną. Norėdami tęsti, paspauskite mygtuką arba būseną pasirinkite iš išskleidžiamo meniu." #: bookwyrm/templates/guided_tour/book.html:32 msgid "Reading status" -msgstr "" +msgstr "Skaitymo būsena" #: bookwyrm/templates/guided_tour/book.html:55 msgid "You can also manually add reading dates here. Unlike changing the reading status using the previous method, adding dates manually will not automatically add them to your Read or Reading shelves." -msgstr "" +msgstr "Čia galite įdėti skaitymo datas. Tačiau kitaip, nei knygos skaitymo būsenos keitimas anksčiau minėtu būdu, datų pridėjimas manualiai neatnaujins automatiškai Skaityti arba Skaitymo lentynų." #: bookwyrm/templates/guided_tour/book.html:55 msgid "Got a favourite you re-read every year? We've got you covered - you can add multiple read dates for the same book 😀" -msgstr "" +msgstr "Ar turite knygą, kurią skaitote dar ir dar? Dabar tai pačiai knygai galima pridėti keletą perskaitymo datų 😀" #: bookwyrm/templates/guided_tour/book.html:79 msgid "There can be multiple editions of a book, in various formats or languages. You can choose which edition you want to use." -msgstr "" +msgstr "Knyga gali būti išleista keletą kartų, įvairių formatų ir keliomis kalbomis. Galite pasirinkti, kurį leidimą norite naudoti." #: bookwyrm/templates/guided_tour/book.html:80 msgid "Other editions" -msgstr "" +msgstr "Kiti leidimai" #: bookwyrm/templates/guided_tour/book.html:102 msgid "You can post a review, comment, or quote here." -msgstr "" +msgstr "Čia galite pridėti apžvalgą, komentuoti arba cituoti." #: bookwyrm/templates/guided_tour/book.html:103 msgid "Share your thoughts" -msgstr "" +msgstr "Pasidalinkite savo mintimis" #: bookwyrm/templates/guided_tour/book.html:127 msgid "If you have read this book you can post a review including an optional star rating" -msgstr "" +msgstr "Jei perskaitėte šią knygą, galite pridėti savo apžvalgą ir įvertinti žvaigždutėmis" #: bookwyrm/templates/guided_tour/book.html:128 msgid "Post a review" -msgstr "" +msgstr "Skelbti apžvalgą" #: bookwyrm/templates/guided_tour/book.html:151 msgid "You can share your thoughts on this book generally with a simple comment" -msgstr "" +msgstr "Galite paprastu komentaru parašyti, ką manote apie šią knygą" #: bookwyrm/templates/guided_tour/book.html:152 msgid "Post a comment" -msgstr "" +msgstr "Pridėti komentarą" #: bookwyrm/templates/guided_tour/book.html:175 msgid "Just read some perfect prose? Let the world know by sharing a quote!" -msgstr "" +msgstr "Perskaitėte idealią prozos knygą? Pacituokite ją visam pasauliui!" #: bookwyrm/templates/guided_tour/book.html:176 msgid "Share a quote" -msgstr "" +msgstr "Dalintis citata" #: bookwyrm/templates/guided_tour/book.html:199 msgid "If your review or comment might ruin the book for someone who hasn't read it yet, you can hide your post behind a spoiler alert" -msgstr "" +msgstr "Jei jūsų apžvalga arba komentaras gali atskleisti knygos turinį jos dar neskaičiusiems, pridėkite įspėjimą dėl turinio atskleidimo" #: bookwyrm/templates/guided_tour/book.html:200 msgid "Spoiler alerts" -msgstr "" +msgstr "Galimas turinio atskleidimas" #: bookwyrm/templates/guided_tour/book.html:224 msgid "Choose who can see your post here. Post privacy can be Public (everyone can see), Unlisted (everyone can see, but it doesn't appear in public feeds or discovery pages), Followers (only your followers can see), or Private (only you can see)" -msgstr "" +msgstr "Čia pasirinkite, kas gali matyti įrašą. Jis gali būti Viešas (tai gali matyti visi), Neregistruotas (gali matyti visi, tačiau neatsiras viešuosiuose sąrašuose ar paieškoje), Sekėjams (matyti galės tik sekėjai) arba Privatus (matyti galėsite tik jūs)" #: bookwyrm/templates/guided_tour/book.html:225 #: bookwyrm/templates/snippets/privacy_select.html:6 @@ -2316,15 +2316,15 @@ msgstr "Įrašo privatumas" #: bookwyrm/templates/guided_tour/book.html:248 msgid "Some ebooks can be downloaded for free from external sources. They will be shown here." -msgstr "" +msgstr "Kai kurias elektronines knygas galima atsisiųsti nemokamai iš išorinių šaltinių. Jie bus rodomi čia." #: bookwyrm/templates/guided_tour/book.html:249 msgid "Download links" -msgstr "" +msgstr "Atsisiuntimo nuorodos" #: bookwyrm/templates/guided_tour/book.html:273 msgid "Continue the tour by selecting Your books from the drop down menu." -msgstr "" +msgstr "Tęskite turą, išsiskleidžiančiame meniu pasirinkę Jūsų knygos." #: bookwyrm/templates/guided_tour/book.html:296 #: bookwyrm/templates/guided_tour/home.html:50 @@ -2334,19 +2334,19 @@ msgstr "" #: bookwyrm/templates/guided_tour/user_groups.html:116 #: bookwyrm/templates/guided_tour/user_profile.html:141 msgid "Ok" -msgstr "" +msgstr "Gerai" #: bookwyrm/templates/guided_tour/group.html:10 msgid "Welcome to the page for your group! This is where you can add and remove users, create user-curated lists, and edit the group details." -msgstr "" +msgstr "Sveiki atvykę į savo grupės puslapį! Čia galite pridėti ir išimti naudotojus, kurti naudotojų sąrašus ir keisti grupės informaciją." #: bookwyrm/templates/guided_tour/group.html:11 msgid "Your group" -msgstr "" +msgstr "Jūsų grupė" #: bookwyrm/templates/guided_tour/group.html:31 msgid "Use this search box to find users to join your group. Currently users must be members of the same Bookwyrm instance and be invited by the group owner." -msgstr "" +msgstr "Per šį paieškos laukelį galite rasti narių ir pakviesti juos į savo grupę. Šie naudotojai turi būti to paties „Bookwyrm“ serverio nariai ir pakviesti grupės savininko." #: bookwyrm/templates/guided_tour/group.html:32 msgid "Find users" @@ -2568,39 +2568,39 @@ msgstr "Jūsų knygos" #: bookwyrm/templates/guided_tour/user_books.html:31 msgid "To Read, Currently Reading, Read, and Stopped Reading are default shelves. When you change the reading status of a book it will automatically be moved to the matching shelf. A book can only be on one default shelf at a time." -msgstr "" +msgstr "Pagrindinės lentynos: Planuoju perskaityti, Skaitau šiuo metu, Perskaičiau ir Nustojau skaityti. Kai keičiate knygos skaitymo statusą, knyga bus automatiškai perkelta į tam skirtą lentyną. Vienu metu knyga gali būti tik vienoje lentynoje." #: bookwyrm/templates/guided_tour/user_books.html:32 msgid "Reading status shelves" -msgstr "" +msgstr "Skaitymo statuso lentynos" #: bookwyrm/templates/guided_tour/user_books.html:55 msgid "You can create additional custom shelves to organise your books. A book on a custom shelf can be on any number of other shelves simultaneously, including one of the default reading status shelves" -msgstr "" +msgstr "Galite sukurti daugiau lentynų ir kitaip organizuoti savo knygas. Jūsų kurtoje lentynoje esanti knyga vienu metu gali būti ir daugybėje kitų lentynų, įskaitant vieną iš pagrindinių skaitymo statuso lentynų." #: bookwyrm/templates/guided_tour/user_books.html:56 msgid "Adding custom shelves." -msgstr "" +msgstr "Pridedama papildomų lentynų." #: bookwyrm/templates/guided_tour/user_books.html:78 msgid "If you have an export file from another service like Goodreads or LibraryThing, you can import it here." -msgstr "" +msgstr "Čia galite importuoti iš kitur eksportuotą failą, pavyzdžiui, „Goodreads“ ar „LibraryThing“." #: bookwyrm/templates/guided_tour/user_books.html:79 msgid "Import from another service" -msgstr "" +msgstr "Importuoti iš kitur" #: bookwyrm/templates/guided_tour/user_books.html:101 msgid "Now that we've explored book shelves, let's take a look at a related concept: book lists!" -msgstr "" +msgstr "Jau apžvelgėme knygų lentynas. Dabar pažiūrėkime į knygų sąrašus!" #: bookwyrm/templates/guided_tour/user_books.html:101 msgid "Click on the Lists link here to continue the tour." -msgstr "" +msgstr "Norėdami tęsti turą, spustelėkite Sąrašus." #: bookwyrm/templates/guided_tour/user_groups.html:10 msgid "You can create or join a group with other users. Groups can share group-curated book lists, and in future will be able to do other things." -msgstr "" +msgstr "Galite sukurti arba prisijungti prie grupės. Grupės prižiūri savo knygų sąrašus, o ateityje turės dar daugiau funkcijų." #: bookwyrm/templates/guided_tour/user_groups.html:11 #: bookwyrm/templates/guided_tour/user_profile.html:55 @@ -2610,43 +2610,43 @@ msgstr "Grupės" #: bookwyrm/templates/guided_tour/user_groups.html:31 msgid "Let's create a new group!" -msgstr "" +msgstr "Sukurkite naują grupę!" #: bookwyrm/templates/guided_tour/user_groups.html:31 msgid "Click the Create group button, then Next to continue the tour" -msgstr "" +msgstr "Spauskite mygtuką Sukurti grupę, o norėdami tęsti turą – Toliau" #: bookwyrm/templates/guided_tour/user_groups.html:55 msgid "Give your group a name and describe what it is about. You can make user groups for any purpose - a reading group, a bunch of friends, whatever!" -msgstr "" +msgstr "Nurodykite grupės pavadinimą ir aprašykite ją. Grupes galite kurti dėl įvairių priežasčių: skaitymo grupė, draugai ir ką tik sugalvosite!" #: bookwyrm/templates/guided_tour/user_groups.html:56 msgid "Creating a group" -msgstr "" +msgstr "Grupės kūrimas" #: bookwyrm/templates/guided_tour/user_groups.html:78 msgid "Groups have privacy settings just like posts and lists, except that group privacy cannot be Followers." -msgstr "" +msgstr "Grupėse yra įrašų ir sąrašų nustatymai, tačiau grupės privatumas negali būti Sekėjai." #: bookwyrm/templates/guided_tour/user_groups.html:79 msgid "Group visibility" -msgstr "" +msgstr "Grupės matomumas" #: bookwyrm/templates/guided_tour/user_groups.html:102 msgid "Once you're happy with how everything is set up, click the Save button to create your new group." -msgstr "" +msgstr "Kai būsite patenkinti nustatymais, spustelėkite Išsaugoti ir sukursite naują grupę." #: bookwyrm/templates/guided_tour/user_groups.html:102 msgid "Create and save a group to continue the tour." -msgstr "" +msgstr "Sukurkite bei išsaugokite grupę ir tęskite turą." #: bookwyrm/templates/guided_tour/user_groups.html:103 msgid "Save your group" -msgstr "" +msgstr "Išsaugokite savo grupę" #: bookwyrm/templates/guided_tour/user_profile.html:10 msgid "This is your user profile. All your latest activities will be listed here. Other Bookwyrm users can see parts of this page too - what they can see depends on your privacy settings." -msgstr "" +msgstr "Tai jūsų profilis. Čia bus matomos jūsų naujausios veiklos. Kiti „Bookwyrm“ naudotojai taip pat gali matyti šio puslapio dalis, tačiau tai, ką jie gali matyti, priklauso nuo privatumo nustatymų." #: bookwyrm/templates/guided_tour/user_profile.html:11 #: bookwyrm/templates/user/layout.html:19 bookwyrm/templates/user/user.html:10 @@ -2655,7 +2655,7 @@ msgstr "Nario paskyra" #: bookwyrm/templates/guided_tour/user_profile.html:31 msgid "This tab shows everything you have read towards your annual reading goal, or allows you to set one. You don't have to set a reading goal if that's not your thing!" -msgstr "" +msgstr "Šiame skirtuke rodoma viskas, ką perskaitėte, siekdami savo nusistatyto metinio tikslo. Taip pat galite jį čia nustatyti. To daryti nebūtina, jei manote, kad tai ne jums." #: bookwyrm/templates/guided_tour/user_profile.html:32 #: bookwyrm/templates/user/layout.html:77 @@ -2664,27 +2664,27 @@ msgstr "Skaitymo tikslas" #: bookwyrm/templates/guided_tour/user_profile.html:54 msgid "Here you can see your groups, or create a new one. A group brings together Bookwyrm users and allows them to curate lists together." -msgstr "" +msgstr "Čia galite matyti grupes ir sukurti naują. Grupės suburia „Bookwyrm“ narius ir leidžia jiems kartu valdyti sąrašus." #: bookwyrm/templates/guided_tour/user_profile.html:77 msgid "You can see your lists, or create a new one, here. A list is a collection of books that have something in common." -msgstr "" +msgstr "Čia galite matyti savo sąrašus arba sukurti naujų. Sąrašas yra kažką bendro turinčių knygų rinkinys." #: bookwyrm/templates/guided_tour/user_profile.html:100 msgid "The Books tab shows your book shelves. We'll explore this later in the tour." -msgstr "" +msgstr "Knygų skyrelyje rasite knygų lentynas. Apie tai papasakosime vėliau šiame ture." #: bookwyrm/templates/guided_tour/user_profile.html:123 msgid "Now you understand the basics of your profile page, let's add a book to your shelves." -msgstr "" +msgstr "Jau susipažinote su paskyros puslapiu, todėl įdėkite knygą į lentyną." #: bookwyrm/templates/guided_tour/user_profile.html:123 msgid "Search for a title or author to continue the tour." -msgstr "" +msgstr "Norėdami tęsti turą, ieškokite knygos pavadinimo arba autoriaus." #: bookwyrm/templates/guided_tour/user_profile.html:124 msgid "Find a book" -msgstr "" +msgstr "Raskite knygą" #: bookwyrm/templates/import/import.html:5 #: bookwyrm/templates/import/import.html:9 @@ -2694,17 +2694,17 @@ msgstr "Importuoti knygas" #: bookwyrm/templates/import/import.html:13 msgid "Not a valid CSV file" -msgstr "" +msgstr "Netinkamas CSV failas" #: bookwyrm/templates/import/import.html:22 #, python-format msgid "On average, recent imports have taken %(hours)s hours." -msgstr "" +msgstr "Vidutiniškai importavimas užima %(hours)s val." #: bookwyrm/templates/import/import.html:26 #, python-format msgid "On average, recent imports have taken %(minutes)s minutes." -msgstr "" +msgstr "Vidutiniškai importavimas užima %(minutes)s min." #: bookwyrm/templates/import/import.html:41 msgid "Data source:" @@ -2712,27 +2712,27 @@ msgstr "Duomenų šaltinis:" #: bookwyrm/templates/import/import.html:47 msgid "Goodreads (CSV)" -msgstr "" +msgstr "Goodreads (CSV)" #: bookwyrm/templates/import/import.html:50 msgid "Storygraph (CSV)" -msgstr "" +msgstr "Storygraph (CSV)" #: bookwyrm/templates/import/import.html:53 msgid "LibraryThing (TSV)" -msgstr "" +msgstr "LibraryThing (TSV)" #: bookwyrm/templates/import/import.html:56 msgid "OpenLibrary (CSV)" -msgstr "" +msgstr "OpenLibrary (CSV)" #: bookwyrm/templates/import/import.html:59 msgid "Calibre (CSV)" -msgstr "" +msgstr "Calibre (CSV)" #: bookwyrm/templates/import/import.html:65 msgid "You can download your Goodreads data from the Import/Export page of your Goodreads account." -msgstr "" +msgstr "Galite atsisiųsti savo „Goodreads“ duomenis iš Importavimo ir eksportavimo puslapio, esančio jūsų „Goodreads“ paskyroje." #: bookwyrm/templates/import/import.html:74 msgid "Data file:" @@ -2754,7 +2754,7 @@ msgstr "Importuoti" #: bookwyrm/templates/import/import.html:101 msgid "Imports are temporarily disabled; thank you for your patience." -msgstr "" +msgstr "Importavimo galimybė laikinai išjungta. Dėkojame už kantrybę." #: bookwyrm/templates/import/import.html:108 msgid "Recent Imports" @@ -2763,16 +2763,16 @@ msgstr "Pastaruoju metu importuota" #: bookwyrm/templates/import/import.html:113 #: bookwyrm/templates/settings/imports/imports.html:89 msgid "Date Created" -msgstr "" +msgstr "Sukūrimo data" #: bookwyrm/templates/import/import.html:116 msgid "Last Updated" -msgstr "" +msgstr "Paskutinį kartą atnaujinta" #: bookwyrm/templates/import/import.html:119 #: bookwyrm/templates/settings/imports/imports.html:98 msgid "Items" -msgstr "" +msgstr "Elementai" #: bookwyrm/templates/import/import.html:128 msgid "No recent imports" @@ -2811,7 +2811,7 @@ msgstr "Atnaujinti" #: bookwyrm/templates/import/import_status.html:72 #: bookwyrm/templates/settings/imports/imports.html:130 msgid "Stop import" -msgstr "" +msgstr "Sustabdyti importavimą" #: bookwyrm/templates/import/import_status.html:78 #, python-format @@ -2885,7 +2885,7 @@ msgstr "Nepavyko įkelti peržiūros." #: bookwyrm/templates/import/import_status.html:150 msgid "No items currently need review" -msgstr "" +msgstr "Šiuo metu peržiūrėti nieko nereikia" #: bookwyrm/templates/import/import_status.html:186 msgid "View imported review" @@ -3074,11 +3074,11 @@ msgstr "Atstatyti slaptažodį" #: bookwyrm/templates/landing/reactivate.html:4 #: bookwyrm/templates/landing/reactivate.html:7 msgid "Reactivate Account" -msgstr "" +msgstr "Atstatyti paskyrą" #: bookwyrm/templates/landing/reactivate.html:32 msgid "Reactivate account" -msgstr "" +msgstr "Atstatyti paskyrą" #: bookwyrm/templates/layout.html:13 #, python-format @@ -3280,7 +3280,7 @@ msgstr "Sėkmingai pridėjote knygą į šį sąrašą!" #: bookwyrm/templates/lists/list.html:54 msgid "This list is currently empty." -msgstr "" +msgstr "Šiuo metu sąrašas tuščias." #: bookwyrm/templates/lists/list.html:104 msgid "Edit notes" @@ -3406,7 +3406,7 @@ msgstr "%(related_user)s pasiūlė pridėt #: bookwyrm/templates/notifications/items/add.html:66 #, python-format msgid "%(related_user)s added a book to one of your lists" -msgstr "" +msgstr "%(related_user)s pridėjo knygą į vieną iš jūsų sąrašų" #: bookwyrm/templates/notifications/items/add.html:72 #, python-format @@ -3509,32 +3509,32 @@ msgstr "%(related_user)s mėgsta jūsų %(related_user)s and %(second_user)s liked your comment on %(book_title)s" -msgstr "" +msgstr "%(related_user)s ir %(second_user)s mėgsta jūsų komentarą apie knygą %(book_title)s" #: bookwyrm/templates/notifications/items/fav.html:59 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others liked your comment on %(book_title)s" -msgstr "" +msgstr "%(related_user)s ir %(other_user_display_count)s kitų asmenų mėgsta jūsų komentarą apie knygą %(book_title)s" #: bookwyrm/templates/notifications/items/fav.html:67 #, python-format msgid "%(related_user)s liked your quote from %(book_title)s" -msgstr "" +msgstr "%(related_user)s mėgsta jūsų citatą iš knygos %(book_title)s" #: bookwyrm/templates/notifications/items/fav.html:73 #, python-format msgid "%(related_user)s and %(second_user)s liked your quote from %(book_title)s" -msgstr "" +msgstr "%(related_user)s ir %(second_user)s mėgsta jūsų citatą iš knygos %(book_title)s" #: bookwyrm/templates/notifications/items/fav.html:82 #, python-format msgid "%(related_user)s and %(other_user_display_count)s others liked your quote from %(book_title)s" -msgstr "" +msgstr "%(related_user)s ir %(other_user_display_count)s kitų asmenų mėgsta jūsų citatą iš knygos %(book_title)s" #: bookwyrm/templates/notifications/items/fav.html:90 #, python-format msgid "%(related_user)s liked your status" -msgstr "" +msgstr "%(related_user)s mėgsta jūsų būseną" #: bookwyrm/templates/notifications/items/fav.html:96 #, python-format @@ -3847,15 +3847,15 @@ msgstr "" #: bookwyrm/templates/preferences/2fa.html:52 msgid "Use setup key" -msgstr "" +msgstr "Naudokite nustatymo raktą" #: bookwyrm/templates/preferences/2fa.html:58 msgid "Account name:" -msgstr "" +msgstr "Paskyros pavadinimas:" #: bookwyrm/templates/preferences/2fa.html:65 msgid "Code:" -msgstr "" +msgstr "Kodas:" #: bookwyrm/templates/preferences/2fa.html:73 msgid "Enter the code from your app:" @@ -4461,39 +4461,39 @@ msgstr "" #: bookwyrm/templates/settings/celery.html:53 #: bookwyrm/templates/settings/imports/imports.html:82 msgid "ID" -msgstr "" +msgstr "ID" #: bookwyrm/templates/settings/celery.html:54 msgid "Task name" -msgstr "" +msgstr "Užduoties pavadinimas" #: bookwyrm/templates/settings/celery.html:55 msgid "Run time" -msgstr "" +msgstr "Rodymo laikas" #: bookwyrm/templates/settings/celery.html:56 msgid "Priority" -msgstr "" +msgstr "Prioritetas" #: bookwyrm/templates/settings/celery.html:61 msgid "No active tasks" -msgstr "" +msgstr "Nėra aktyvių užduočių" #: bookwyrm/templates/settings/celery.html:79 msgid "Workers" -msgstr "" +msgstr "Darbuotojai" #: bookwyrm/templates/settings/celery.html:84 msgid "Uptime:" -msgstr "" +msgstr "Veikimo laikas:" #: bookwyrm/templates/settings/celery.html:94 msgid "Could not connect to Celery" -msgstr "" +msgstr "Nepavyko prisijungti prie „Celery“" #: bookwyrm/templates/settings/celery.html:101 msgid "Errors" -msgstr "" +msgstr "Klaidos" #: bookwyrm/templates/settings/dashboard/dashboard.html:6 #: bookwyrm/templates/settings/dashboard/dashboard.html:8 @@ -4572,11 +4572,11 @@ msgstr[3] "%(display_count)s domenus reikia peržiūrėti" #: bookwyrm/templates/settings/dashboard/warnings/email_config.html:8 #, python-format msgid "Your outgoing email address, %(email_sender)s, may be misconfigured." -msgstr "" +msgstr "Siunčiamo el. pašto adresas, %(email_sender)s gali būti netinkamai sukonfigūruotas." #: bookwyrm/templates/settings/dashboard/warnings/email_config.html:11 msgid "Check the EMAIL_SENDER_NAME and EMAIL_SENDER_DOMAIN in your .env file." -msgstr "" +msgstr "Patikrinkite EMAIL_SENDER_NAME ir EMAIL_SENDER_DOMAIN .env faile." #: bookwyrm/templates/settings/dashboard/warnings/invites.html:9 #, python-format @@ -4589,11 +4589,11 @@ msgstr[3] "%(display_count)s prašymai pakviesti" #: bookwyrm/templates/settings/dashboard/warnings/missing_conduct.html:8 msgid "Your instance is missing a code of conduct." -msgstr "" +msgstr "Serveryje nėra elgesio kodo." #: bookwyrm/templates/settings/dashboard/warnings/missing_privacy.html:8 msgid "Your instance is missing a privacy policy." -msgstr "" +msgstr "Serveryje nėra privatumo politikos." #: bookwyrm/templates/settings/dashboard/warnings/reports.html:9 #, python-format @@ -4650,15 +4650,15 @@ msgstr "Šiuo metu neblokuojamas nė vienas el. pašto domenas" #: bookwyrm/templates/settings/email_config.html:8 #: bookwyrm/templates/settings/layout.html:90 msgid "Email Configuration" -msgstr "" +msgstr "El. pašto konfigūracija" #: bookwyrm/templates/settings/email_config.html:16 msgid "Error sending test email:" -msgstr "" +msgstr "Klaida, siunčiant bandomąjį el. laišką:" #: bookwyrm/templates/settings/email_config.html:24 msgid "Successfully sent test email." -msgstr "" +msgstr "Bandomasis el. laiškas išsiųstas sėkmingai." #: bookwyrm/templates/settings/email_config.html:32 #: bookwyrm/templates/setup/config.html:102 @@ -4667,36 +4667,36 @@ msgstr "El. pašto siuntėjas:" #: bookwyrm/templates/settings/email_config.html:39 msgid "Email backend:" -msgstr "" +msgstr "El. pašto backent'inė dalis:" #: bookwyrm/templates/settings/email_config.html:46 msgid "Host:" -msgstr "" +msgstr "Hostas:" #: bookwyrm/templates/settings/email_config.html:53 msgid "Host user:" -msgstr "" +msgstr "Hosto naudotojas:" #: bookwyrm/templates/settings/email_config.html:60 msgid "Port:" -msgstr "" +msgstr "Portas:" #: bookwyrm/templates/settings/email_config.html:67 msgid "Use TLS:" -msgstr "" +msgstr "Naudokite TLS:" #: bookwyrm/templates/settings/email_config.html:74 msgid "Use SSL:" -msgstr "" +msgstr "Naudokite SSL:" #: bookwyrm/templates/settings/email_config.html:83 #, python-format msgid "Send test email to %(email)s" -msgstr "" +msgstr "Siųsti bandomąjį laišką %(email)s" #: bookwyrm/templates/settings/email_config.html:90 msgid "Send test email" -msgstr "" +msgstr "Siųsti bandomąjį el. laišką" #: bookwyrm/templates/settings/federation/edit_instance.html:3 #: bookwyrm/templates/settings/federation/edit_instance.html:6 @@ -4831,7 +4831,7 @@ msgstr "Nepavyko:" #: bookwyrm/templates/settings/federation/instance_blocklist.html:62 msgid "Expects a json file in the format provided by FediBlock, with a list of entries that have instance and url fields. For example:" -msgstr "" +msgstr "Tikimasi json failo „FediBlock“ nurodytu formatu. Turi būti užpildyti serverio ir url laukai. Pavyzdžiui:" #: bookwyrm/templates/settings/federation/instance_list.html:36 #: bookwyrm/templates/settings/users/server_filter.html:5 @@ -4853,55 +4853,55 @@ msgstr "Serverių nerasta" #: bookwyrm/templates/settings/imports/complete_import_modal.html:4 msgid "Stop import?" -msgstr "" +msgstr "Sustabdyti importavimą?" #: bookwyrm/templates/settings/imports/imports.html:19 msgid "Disable starting new imports" -msgstr "" +msgstr "Išjungti naujus importavimus" #: bookwyrm/templates/settings/imports/imports.html:30 msgid "This is only intended to be used when things have gone very wrong with imports and you need to pause the feature while addressing issues." -msgstr "" +msgstr "Tai reikėtų naudoti tais atvejais, kai kyla problemų importuojant, todėl norite sustabdyti ir išspręsti problemą." #: bookwyrm/templates/settings/imports/imports.html:31 msgid "While imports are disabled, users will not be allowed to start new imports, but existing imports will not be effected." -msgstr "" +msgstr "Kai importavimas išjungtas, naudotojai negalės importuoti naujai, tačiau tai nepaveiks esamų importų." #: bookwyrm/templates/settings/imports/imports.html:36 msgid "Disable imports" -msgstr "" +msgstr "Išjungti importavimus" #: bookwyrm/templates/settings/imports/imports.html:50 msgid "Users are currently unable to start new imports" -msgstr "" +msgstr "Naudotojai nebegali pradėti importuoti" #: bookwyrm/templates/settings/imports/imports.html:55 msgid "Enable imports" -msgstr "" +msgstr "Įjungti importavimus" #: bookwyrm/templates/settings/imports/imports.html:71 msgid "Completed" -msgstr "" +msgstr "Užbaigta" #: bookwyrm/templates/settings/imports/imports.html:85 msgid "User" -msgstr "" +msgstr "Vartotojas" #: bookwyrm/templates/settings/imports/imports.html:94 msgid "Date Updated" -msgstr "" +msgstr "Atnaujinimo data" #: bookwyrm/templates/settings/imports/imports.html:101 msgid "Pending items" -msgstr "" +msgstr "Laukiami elementai" #: bookwyrm/templates/settings/imports/imports.html:104 msgid "Successful items" -msgstr "" +msgstr "Sėkmingi elementai" #: bookwyrm/templates/settings/imports/imports.html:139 msgid "No matching imports found." -msgstr "" +msgstr "Nerasta atitinkančių importų." #: bookwyrm/templates/settings/invites/manage_invite_requests.html:4 #: bookwyrm/templates/settings/invites/manage_invite_requests.html:11 @@ -5079,11 +5079,11 @@ msgstr "Nuorodų puslapiai" #: bookwyrm/templates/settings/layout.html:78 msgid "System" -msgstr "" +msgstr "Sistema" #: bookwyrm/templates/settings/layout.html:86 msgid "Celery status" -msgstr "" +msgstr "„Celery“ būsena" #: bookwyrm/templates/settings/layout.html:95 msgid "Instance Settings" @@ -5194,7 +5194,7 @@ msgstr "Užrakintos registracijos tekstas:" #: bookwyrm/templates/settings/registration_limited.html:29 msgid "Registration is enabled on this instance" -msgstr "" +msgstr "Šiame serveryje įjungta registracija" #: bookwyrm/templates/settings/reports/report.html:12 msgid "Back to reports" @@ -5242,7 +5242,7 @@ msgstr "Pranešimas #%(report_id)s: nuorodą pridėjo @%(username)s" #: bookwyrm/templates/settings/reports/report_header.html:17 #, python-format msgid "Report #%(report_id)s: Link domain" -msgstr "" +msgstr "Ataskaita #%(report_id)s: nuorodos domenas" #: bookwyrm/templates/settings/reports/report_header.html:24 #, python-format @@ -5332,11 +5332,11 @@ msgstr "Privatumo politika:" #: bookwyrm/templates/settings/site.html:72 msgid "Impressum:" -msgstr "" +msgstr "Rekvizitai:" #: bookwyrm/templates/settings/site.html:77 msgid "Include impressum:" -msgstr "" +msgstr "Įtraukti rekvizitus:" #: bookwyrm/templates/settings/site.html:91 msgid "Images" @@ -5449,7 +5449,7 @@ msgstr "Vartotojai: %(instance_name)s" #: bookwyrm/templates/settings/users/user_admin.html:29 msgid "Deleted users" -msgstr "" +msgstr "Ištrinti naudotojus" #: bookwyrm/templates/settings/users/user_admin.html:44 #: bookwyrm/templates/settings/users/username_filter.html:5 @@ -5470,7 +5470,7 @@ msgstr "Nutolęs serveris" #: bookwyrm/templates/settings/users/user_admin.html:86 msgid "Deleted" -msgstr "" +msgstr "Ištrinta" #: bookwyrm/templates/settings/users/user_admin.html:92 #: bookwyrm/templates/settings/users/user_info.html:32 @@ -5728,7 +5728,7 @@ msgstr "Baigta" #: bookwyrm/templates/shelf/shelf.html:154 #: bookwyrm/templates/shelf/shelf.html:184 msgid "Until" -msgstr "" +msgstr "Iki" #: bookwyrm/templates/shelf/shelf.html:210 msgid "This shelf is empty." @@ -5932,11 +5932,11 @@ msgstr "Dokumentacija" #: bookwyrm/templates/snippets/footer.html:42 #, python-format msgid "Support %(site_name)s on %(support_title)s" -msgstr "" +msgstr "Paremkite %(site_name)s per %(support_title)s" #: bookwyrm/templates/snippets/footer.html:49 msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." -msgstr "" +msgstr "„BookWyrm“ šaltinio kodas yra laisvai prieinamas. Galite prisidėti arba pranešti apie klaidas per GitHub." #: bookwyrm/templates/snippets/form_rate_stars.html:20 #: bookwyrm/templates/snippets/stars.html:13 @@ -6088,13 +6088,13 @@ msgstr "Pradėti „%(book_title)s“" #: bookwyrm/templates/snippets/reading_modals/stop_reading_modal.html:6 #, python-format msgid "Stop Reading \"%(book_title)s\"" -msgstr "" +msgstr "Baigti skaityti „%(book_title)s“" #: bookwyrm/templates/snippets/reading_modals/stop_reading_modal.html:32 #: bookwyrm/templates/snippets/shelf_selector.html:54 #: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:21 msgid "Stopped reading" -msgstr "" +msgstr "Nustota skaityti" #: bookwyrm/templates/snippets/reading_modals/want_to_read_modal.html:6 #, python-format @@ -6105,7 +6105,7 @@ msgstr "Noriu perskaityti „%(book_title)s“" msgid "Choose wisely! Your username cannot be changed." msgstr "Rinkitės išmintingai! Naudotojo vardo negalima pakeisti." -#: bookwyrm/templates/snippets/register_form.html:64 +#: bookwyrm/templates/snippets/register_form.html:66 msgid "Sign Up" msgstr "Registruotis" @@ -6170,7 +6170,7 @@ msgstr "Daugiau lentynų" #: bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html:31 #: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:48 msgid "Stop reading" -msgstr "" +msgstr "Nustoti skaityti" #: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:40 msgid "Finish reading" @@ -6266,12 +6266,12 @@ msgstr "apžvelgė %(book)s" #: bookwyrm/templates/snippets/status/headers/stopped_reading.html:10 #, python-format msgid "stopped reading %(book)s by %(author_name)s" -msgstr "" +msgstr "nustojo skaityti %(author_name)s knygą %(book)s" #: bookwyrm/templates/snippets/status/headers/stopped_reading.html:17 #, python-format msgid "stopped reading %(book)s" -msgstr "" +msgstr "nustojo skaityti %(book)s" #: bookwyrm/templates/snippets/status/headers/to_read.html:10 #, python-format @@ -6329,15 +6329,15 @@ msgstr "Rodyti mažiau" #: bookwyrm/templates/two_factor_auth/two_factor_login.html:29 msgid "2FA check" -msgstr "" +msgstr "2FA patikra" #: bookwyrm/templates/two_factor_auth/two_factor_login.html:37 msgid "Enter the code from your authenticator app:" -msgstr "" +msgstr "Įveskite kodą iš autentikacijos programėlės:" #: bookwyrm/templates/two_factor_auth/two_factor_login.html:41 msgid "Confirm and Log In" -msgstr "" +msgstr "Patvirtinkite ir prisijunkite" #: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:29 msgid "2FA is available" diff --git a/locale/no_NO/LC_MESSAGES/django.mo b/locale/no_NO/LC_MESSAGES/django.mo index bb17b0c46c71bbe0d565f08c9c73157ffcc886d7..90d220d4729cf112dd86894decce15aa18ce97e9 100644 GIT binary patch delta 21042 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 delta 21238 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 ZP7V&64)4fLEyAjPvTc;|=C_CCQUF0Civa)t diff --git a/locale/no_NO/LC_MESSAGES/django.po b/locale/no_NO/LC_MESSAGES/django.po index 5b86126ce..83a3af685 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-12-11 21:08+0000\n" -"PO-Revision-Date: 2022-12-11 22:09\n" +"POT-Creation-Date: 2022-12-16 20:50+0000\n" +"PO-Revision-Date: 2022-12-16 22:48\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Norwegian\n" "Language: no\n" @@ -205,26 +205,26 @@ msgstr "Føderert" msgid "Blocked" msgstr "Blokkert" -#: bookwyrm/models/fields.py:27 +#: bookwyrm/models/fields.py:28 #, python-format msgid "%(value)s is not a valid remote_id" msgstr "%(value)s er en ugyldig remote_id" -#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45 +#: bookwyrm/models/fields.py:37 bookwyrm/models/fields.py:46 #, python-format msgid "%(value)s is not a valid username" msgstr "%(value)s er et ugyldig brukernavn" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 +#: bookwyrm/models/fields.py:182 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "brukernavn" -#: bookwyrm/models/fields.py:186 +#: bookwyrm/models/fields.py:187 msgid "A user with that username already exists." msgstr "En bruker med det brukernavnet eksisterer allerede." -#: bookwyrm/models/fields.py:205 +#: bookwyrm/models/fields.py:206 #: bookwyrm/templates/snippets/privacy-icons.html:3 #: bookwyrm/templates/snippets/privacy-icons.html:4 #: bookwyrm/templates/snippets/privacy_select.html:11 @@ -232,7 +232,7 @@ msgstr "En bruker med det brukernavnet eksisterer allerede." msgid "Public" msgstr "Offentlig" -#: bookwyrm/models/fields.py:206 +#: bookwyrm/models/fields.py:207 #: bookwyrm/templates/snippets/privacy-icons.html:7 #: bookwyrm/templates/snippets/privacy-icons.html:8 #: bookwyrm/templates/snippets/privacy_select.html:14 @@ -240,14 +240,14 @@ msgstr "Offentlig" msgid "Unlisted" msgstr "Uoppført" -#: bookwyrm/models/fields.py:207 +#: bookwyrm/models/fields.py:208 #: bookwyrm/templates/snippets/privacy_select.html:17 #: bookwyrm/templates/user/relationships/followers.html:6 #: bookwyrm/templates/user/relationships/layout.html:11 msgid "Followers" msgstr "Følgere" -#: bookwyrm/models/fields.py:208 +#: bookwyrm/models/fields.py:209 #: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 @@ -597,25 +597,25 @@ msgstr[1] "I %(year)s leste %(display_name)s %(books_total)s bøker
    i alt % msgid "That’s great!" msgstr "Veldig bra!" -#: bookwyrm/templates/annual_summary/layout.html:127 +#: bookwyrm/templates/annual_summary/layout.html:128 #, python-format msgid "That makes an average of %(pages)s pages per book." msgstr "Det blir gjennomsnittlig %(pages)s per bok." -#: bookwyrm/templates/annual_summary/layout.html:132 +#: bookwyrm/templates/annual_summary/layout.html:134 #, python-format -msgid "(%(no_page_number)s book doesn’t have pages)" -msgid_plural "(%(no_page_number)s books don’t have pages)" -msgstr[0] "(%(no_page_number)s bok har ikke sideantall)" -msgstr[1] "(%(no_page_number)s bøker har ikke sideantall)" +msgid "(No page data was available for %(no_page_number)s book)" +msgid_plural "(No page data was available for %(no_page_number)s books)" +msgstr[0] "" +msgstr[1] "" -#: bookwyrm/templates/annual_summary/layout.html:148 +#: bookwyrm/templates/annual_summary/layout.html:150 msgid "Their shortest read this year…" msgstr "Den korteste teksten lest i år…" -#: bookwyrm/templates/annual_summary/layout.html:155 -#: bookwyrm/templates/annual_summary/layout.html:176 -#: bookwyrm/templates/annual_summary/layout.html:245 +#: bookwyrm/templates/annual_summary/layout.html:157 +#: bookwyrm/templates/annual_summary/layout.html:178 +#: bookwyrm/templates/annual_summary/layout.html:247 #: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 @@ -623,44 +623,44 @@ msgstr "Den korteste teksten lest i år…" msgid "by" msgstr "av" -#: bookwyrm/templates/annual_summary/layout.html:161 -#: bookwyrm/templates/annual_summary/layout.html:182 +#: bookwyrm/templates/annual_summary/layout.html:163 +#: bookwyrm/templates/annual_summary/layout.html:184 #, python-format msgid "%(pages)s pages" msgstr "%(pages)s sider" -#: bookwyrm/templates/annual_summary/layout.html:169 +#: bookwyrm/templates/annual_summary/layout.html:171 msgid "…and the longest" msgstr "…og den lengste" -#: bookwyrm/templates/annual_summary/layout.html:200 +#: bookwyrm/templates/annual_summary/layout.html:202 #, python-format msgid "%(display_name)s set a goal of reading %(goal)s book in %(year)s,
    and achieved %(goal_percent)s%% of that goal" msgid_plural "%(display_name)s set a goal of reading %(goal)s books in %(year)s,
    and achieved %(goal_percent)s%% of that goal" msgstr[0] "%(display_name)s satte et mål om å lese %(goal)s bok i %(year)s,
    og oppnådde %(goal_percent)s%% av det målet" msgstr[1] "%(display_name)s satte et mål om å lese %(goal)s bøker i %(year)s,
    og oppnådde %(goal_percent)s%% av dette målet" -#: bookwyrm/templates/annual_summary/layout.html:209 +#: bookwyrm/templates/annual_summary/layout.html:211 msgid "Way to go!" msgstr "Fantastisk!" -#: bookwyrm/templates/annual_summary/layout.html:224 +#: bookwyrm/templates/annual_summary/layout.html:226 #, python-format msgid "%(display_name)s left %(ratings_total)s rating,
    their average rating is %(rating_average)s" msgid_plural "%(display_name)s left %(ratings_total)s ratings,
    their average rating is %(rating_average)s" msgstr[0] "%(display_name)s ga %(ratings_total)s vurdering,
    med en gjennomsnittlige rangering på %(rating_average)s" msgstr[1] "%(display_name)s ga %(ratings_total)s vurderinger,
    med en gjennomsnittlige rangering på %(rating_average)s" -#: bookwyrm/templates/annual_summary/layout.html:238 +#: bookwyrm/templates/annual_summary/layout.html:240 msgid "Their best rated review" msgstr "Deres beste rangerte omtale" -#: bookwyrm/templates/annual_summary/layout.html:251 +#: bookwyrm/templates/annual_summary/layout.html:253 #, python-format msgid "Their rating: %(rating)s" msgstr "Deres vurdering: %(rating)s" -#: bookwyrm/templates/annual_summary/layout.html:268 +#: bookwyrm/templates/annual_summary/layout.html:270 #, python-format msgid "All the books %(display_name)s read in %(year)s" msgstr "Alle bøkene %(display_name)s leste i %(year)s" @@ -6047,7 +6047,7 @@ msgstr "Har lyst til å lese \"%(book_title)s\"" msgid "Choose wisely! Your username cannot be changed." msgstr "" -#: bookwyrm/templates/snippets/register_form.html:64 +#: bookwyrm/templates/snippets/register_form.html:66 msgid "Sign Up" msgstr "Registrer deg" diff --git a/locale/pl_PL/LC_MESSAGES/django.mo b/locale/pl_PL/LC_MESSAGES/django.mo index 00486da6c0aaf7c3720bac9e43a2be0ba28790ce..6dfb370b668c3c0e3f352773916d320365e76d30 100644 GIT binary patch delta 26007 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 diff --git a/locale/pl_PL/LC_MESSAGES/django.po b/locale/pl_PL/LC_MESSAGES/django.po index 8c57ed03c..a1d3d2fd3 100644 --- a/locale/pl_PL/LC_MESSAGES/django.po +++ b/locale/pl_PL/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-12-11 21:08+0000\n" -"PO-Revision-Date: 2022-12-11 22:09\n" +"POT-Creation-Date: 2022-12-16 20:50+0000\n" +"PO-Revision-Date: 2022-12-16 22:48\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Polish\n" "Language: pl\n" @@ -205,26 +205,26 @@ msgstr "Federacja" msgid "Blocked" msgstr "Zablokowane" -#: bookwyrm/models/fields.py:27 +#: bookwyrm/models/fields.py:28 #, python-format msgid "%(value)s is not a valid remote_id" msgstr "%(value)s nie jest prawidłowym remote_id" -#: bookwyrm/models/fields.py:36 bookwyrm/models/fields.py:45 +#: bookwyrm/models/fields.py:37 bookwyrm/models/fields.py:46 #, python-format msgid "%(value)s is not a valid username" msgstr "%(value)s nie jest prawidłową nazwą użytkownika" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 +#: bookwyrm/models/fields.py:182 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nazwa użytkownika" -#: bookwyrm/models/fields.py:186 +#: bookwyrm/models/fields.py:187 msgid "A user with that username already exists." msgstr "Ta nazwa użytkownika jest już w użyciu." -#: bookwyrm/models/fields.py:205 +#: bookwyrm/models/fields.py:206 #: bookwyrm/templates/snippets/privacy-icons.html:3 #: bookwyrm/templates/snippets/privacy-icons.html:4 #: bookwyrm/templates/snippets/privacy_select.html:11 @@ -232,7 +232,7 @@ msgstr "Ta nazwa użytkownika jest już w użyciu." msgid "Public" msgstr "Publiczne" -#: bookwyrm/models/fields.py:206 +#: bookwyrm/models/fields.py:207 #: bookwyrm/templates/snippets/privacy-icons.html:7 #: bookwyrm/templates/snippets/privacy-icons.html:8 #: bookwyrm/templates/snippets/privacy_select.html:14 @@ -240,14 +240,14 @@ msgstr "Publiczne" msgid "Unlisted" msgstr "Niepubliczne" -#: bookwyrm/models/fields.py:207 +#: bookwyrm/models/fields.py:208 #: bookwyrm/templates/snippets/privacy_select.html:17 #: bookwyrm/templates/user/relationships/followers.html:6 #: bookwyrm/templates/user/relationships/layout.html:11 msgid "Followers" msgstr "Obserwujący" -#: bookwyrm/models/fields.py:208 +#: bookwyrm/models/fields.py:209 #: bookwyrm/templates/snippets/create_status/post_options_block.html:6 #: bookwyrm/templates/snippets/privacy-icons.html:15 #: bookwyrm/templates/snippets/privacy-icons.html:16 @@ -599,27 +599,27 @@ msgstr[3] "%(books_total)s książek zostało przeczytanych przez %(display_name msgid "That’s great!" msgstr "To świetnie!" -#: bookwyrm/templates/annual_summary/layout.html:127 +#: bookwyrm/templates/annual_summary/layout.html:128 #, python-format msgid "That makes an average of %(pages)s pages per book." msgstr "Przekłada się to na średnio %(pages)s stron na książkę." -#: bookwyrm/templates/annual_summary/layout.html:132 +#: bookwyrm/templates/annual_summary/layout.html:134 #, python-format -msgid "(%(no_page_number)s book doesn’t have pages)" -msgid_plural "(%(no_page_number)s books don’t have pages)" -msgstr[0] "(%(no_page_number)s książka nie ma żadnych stron)" -msgstr[1] "(%(no_page_number)s książki nie mają żadnych stron)" -msgstr[2] "(%(no_page_number)s książek nie ma żadnych stron)" -msgstr[3] "(%(no_page_number)s książek nie ma żadnych stron)" +msgid "(No page data was available for %(no_page_number)s book)" +msgid_plural "(No page data was available for %(no_page_number)s books)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#: bookwyrm/templates/annual_summary/layout.html:148 +#: bookwyrm/templates/annual_summary/layout.html:150 msgid "Their shortest read this year…" msgstr "Najkrócej wczytano się w…" -#: bookwyrm/templates/annual_summary/layout.html:155 -#: bookwyrm/templates/annual_summary/layout.html:176 -#: bookwyrm/templates/annual_summary/layout.html:245 +#: bookwyrm/templates/annual_summary/layout.html:157 +#: bookwyrm/templates/annual_summary/layout.html:178 +#: bookwyrm/templates/annual_summary/layout.html:247 #: bookwyrm/templates/book/book.html:56 #: bookwyrm/templates/discover/large-book.html:22 #: bookwyrm/templates/landing/large-book.html:26 @@ -627,17 +627,17 @@ msgstr "Najkrócej wczytano się w…" msgid "by" msgstr "autorstwa" -#: bookwyrm/templates/annual_summary/layout.html:161 -#: bookwyrm/templates/annual_summary/layout.html:182 +#: bookwyrm/templates/annual_summary/layout.html:163 +#: bookwyrm/templates/annual_summary/layout.html:184 #, python-format msgid "%(pages)s pages" msgstr "%(pages)s stron" -#: bookwyrm/templates/annual_summary/layout.html:169 +#: bookwyrm/templates/annual_summary/layout.html:171 msgid "…and the longest" msgstr "…a najdłużej w" -#: bookwyrm/templates/annual_summary/layout.html:200 +#: bookwyrm/templates/annual_summary/layout.html:202 #, python-format msgid "%(display_name)s set a goal of reading %(goal)s book in %(year)s,
    and achieved %(goal_percent)s%% of that goal" msgid_plural "%(display_name)s set a goal of reading %(goal)s books in %(year)s,
    and achieved %(goal_percent)s%% of that goal" @@ -646,11 +646,11 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: bookwyrm/templates/annual_summary/layout.html:209 +#: bookwyrm/templates/annual_summary/layout.html:211 msgid "Way to go!" msgstr "Tak trzymaj!" -#: bookwyrm/templates/annual_summary/layout.html:224 +#: bookwyrm/templates/annual_summary/layout.html:226 #, python-format msgid "%(display_name)s left %(ratings_total)s rating,
    their average rating is %(rating_average)s" msgid_plural "%(display_name)s left %(ratings_total)s ratings,
    their average rating is %(rating_average)s" @@ -659,16 +659,16 @@ msgstr[1] "%(display_name)s dodaje %(ratings_total)s oceny,
    a ich średnia msgstr[2] "%(display_name)s dodaje %(ratings_total)s ocen,
    a ich średnia ocena wynosi %(rating_average)s" msgstr[3] "%(display_name)s dodaje %(ratings_total)s ocen,
    a ich średnia ocena wynosi %(rating_average)s" -#: bookwyrm/templates/annual_summary/layout.html:238 +#: bookwyrm/templates/annual_summary/layout.html:240 msgid "Their best rated review" msgstr "Najlepiej oceniania autorska recenzja" -#: bookwyrm/templates/annual_summary/layout.html:251 +#: bookwyrm/templates/annual_summary/layout.html:253 #, python-format msgid "Their rating: %(rating)s" msgstr "Ich ocena: %(rating)s" -#: bookwyrm/templates/annual_summary/layout.html:268 +#: bookwyrm/templates/annual_summary/layout.html:270 #, python-format msgid "All the books %(display_name)s read in %(year)s" msgstr "Wszystkie książki przeczytane przez %(display_name)s w %(year)s roku" @@ -6105,7 +6105,7 @@ msgstr "Chcę przeczytać \"%(book_title)s\"" msgid "Choose wisely! Your username cannot be changed." msgstr "Wybierz mądrze! Twoja nazwa użytkownika nie może zostać zmieniona." -#: bookwyrm/templates/snippets/register_form.html:64 +#: bookwyrm/templates/snippets/register_form.html:66 msgid "Sign Up" msgstr "Zarejestruj się" diff --git a/locale/pt_BR/LC_MESSAGES/django.mo b/locale/pt_BR/LC_MESSAGES/django.mo index f3df8f9b0dd4373f21f4d4a2516c2eaca7522990..a1fefd25bde59082d7b0bc1d9a7e7461300911a3 100644 GIT binary patch delta 23004 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
  • -
    +
    From 3e25b04e4a04791b39fbd259705ec48a556300ea Mon Sep 17 00:00:00 2001 From: Christof Dorner Date: Tue, 20 Dec 2022 21:48:14 +0100 Subject: [PATCH 34/43] Cache book_titleby only for 10 seconds This should be enough caching when renderering pages like the feed, but not so much that editing a book or author will not show the updated data. At least without having to do some clever cache busting. --- bookwyrm/models/author.py | 13 +------------ bookwyrm/models/book.py | 5 ----- bookwyrm/templates/snippets/book_titleby.html | 2 +- 3 files changed, 2 insertions(+), 18 deletions(-) diff --git a/bookwyrm/models/author.py b/bookwyrm/models/author.py index de0c6483f..b1d0510c9 100644 --- a/bookwyrm/models/author.py +++ b/bookwyrm/models/author.py @@ -1,8 +1,6 @@ """ database schema for info about authors """ import re from django.contrib.postgres.indexes import GinIndex -from django.core.cache import cache -from django.core.cache.utils import make_template_fragment_key from django.db import models from bookwyrm import activitypub @@ -37,16 +35,7 @@ class Author(BookDataModel): bio = fields.HtmlField(null=True, blank=True) def save(self, *args, **kwargs): - """clear related template caches""" - # clear template caches - if self.id: - cache_keys = [ - make_template_fragment_key("titleby", [book]) - for book in self.book_set.values_list("id", flat=True) - ] - cache.delete_many(cache_keys) - - # normalize isni format + """normalize isni format""" if self.isni: self.isni = re.sub(r"\s", "", self.isni) diff --git a/bookwyrm/models/book.py b/bookwyrm/models/book.py index e990b6d64..a5be51a29 100644 --- a/bookwyrm/models/book.py +++ b/bookwyrm/models/book.py @@ -4,7 +4,6 @@ import re from django.contrib.postgres.search import SearchVectorField from django.contrib.postgres.indexes import GinIndex from django.core.cache import cache -from django.core.cache.utils import make_template_fragment_key from django.db import models, transaction from django.db.models import Prefetch from django.dispatch import receiver @@ -208,10 +207,6 @@ class Book(BookDataModel): if not isinstance(self, Edition) and not isinstance(self, Work): raise ValueError("Books should be added as Editions or Works") - # clear template caches - cache_key = make_template_fragment_key("titleby", [self.id]) - cache.delete(cache_key) - return super().save(*args, **kwargs) def get_remote_id(self): diff --git a/bookwyrm/templates/snippets/book_titleby.html b/bookwyrm/templates/snippets/book_titleby.html index 04326e49c..3182dc996 100644 --- a/bookwyrm/templates/snippets/book_titleby.html +++ b/bookwyrm/templates/snippets/book_titleby.html @@ -5,7 +5,7 @@ {% get_current_language as LANGUAGE_CODE %} {# 6 month cache #} -{% cache 15552000 titleby LANGUAGE_CODE book.id %} +{% cache 10 titleby LANGUAGE_CODE book.id %} {% if book.authors.exists %} {% blocktrans trimmed with path=book.local_path title=book|book_title %} From 4f6e4462dc4ecb1a2543fbe6f925244b83865a2a Mon Sep 17 00:00:00 2001 From: Christof Dorner Date: Tue, 20 Dec 2022 22:39:59 +0100 Subject: [PATCH 35/43] Fix permissions check for System admin navigation section --- bookwyrm/templates/settings/layout.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/templates/settings/layout.html b/bookwyrm/templates/settings/layout.html index b87fdf974..dcaaaeb38 100644 --- a/bookwyrm/templates/settings/layout.html +++ b/bookwyrm/templates/settings/layout.html @@ -74,7 +74,7 @@ {% endif %} - {% if perms.edit_instance_settings %} + {% if perms.bookwyrm.edit_instance_settings %}

    k7%s6u_Uwb?rh}q}k%6HE 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 V>ko{9EYlZ!Vf?y%(N{(f1pr3gxgG!j diff --git a/locale/gl_ES/LC_MESSAGES/django.po b/locale/gl_ES/LC_MESSAGES/django.po index 22855be33..c614497c4 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-12-05 02:21+0000\n" -"PO-Revision-Date: 2022-12-05 18:13\n" +"POT-Creation-Date: 2022-12-11 21:08+0000\n" +"PO-Revision-Date: 2022-12-12 05:27\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Galician\n" "Language: gl\n" @@ -171,23 +171,23 @@ msgstr "Eliminado pola moderación" msgid "Domain block" msgstr "Bloqueo de dominio" -#: bookwyrm/models/book.py:266 +#: bookwyrm/models/book.py:277 msgid "Audiobook" msgstr "Audiolibro" -#: bookwyrm/models/book.py:267 +#: bookwyrm/models/book.py:278 msgid "eBook" msgstr "eBook" -#: bookwyrm/models/book.py:268 +#: bookwyrm/models/book.py:279 msgid "Graphic novel" msgstr "Novela gráfica" -#: bookwyrm/models/book.py:269 +#: bookwyrm/models/book.py:280 msgid "Hardcover" msgstr "Portada dura" -#: bookwyrm/models/book.py:270 +#: bookwyrm/models/book.py:281 msgid "Paperback" msgstr "En rústica" @@ -215,7 +215,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:141 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nome de usuaria" @@ -300,7 +300,7 @@ msgstr "Dispoñible para aluguer" msgid "Approved" msgstr "Aprobado" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:296 msgid "Reviews" msgstr "Recensións" @@ -332,7 +332,7 @@ msgstr "Cronoloxía de libros" #: bookwyrm/templates/guided_tour/user_profile.html:101 #: bookwyrm/templates/search/layout.html:22 #: bookwyrm/templates/search/layout.html:43 -#: bookwyrm/templates/user/layout.html:91 +#: bookwyrm/templates/user/layout.html:95 msgid "Books" msgstr "Libros" @@ -490,6 +490,13 @@ msgstr "Enviar mensaxe directa" msgid "Code of Conduct" msgstr "Código de Conduta" +#: bookwyrm/templates/about/impressum.html:4 +#: bookwyrm/templates/about/impressum.html:9 +#: bookwyrm/templates/about/layout.html:54 +#: bookwyrm/templates/snippets/footer.html:34 +msgid "Impressum" +msgstr "Legal" + #: bookwyrm/templates/about/layout.html:11 msgid "Active users:" msgstr "Usuarias activas:" @@ -517,11 +524,6 @@ msgstr "Acerca de %(site_name)s" msgid "Privacy Policy" msgstr "Política de Privacidade" -#: bookwyrm/templates/about/layout.html:54 -#: bookwyrm/templates/snippets/footer.html:34 -msgid "Impressum" -msgstr "Legal" - #: bookwyrm/templates/annual_summary/layout.html:7 #: bookwyrm/templates/feed/summary_card.html:8 #, python-format @@ -697,32 +699,41 @@ msgstr "Wikipedia" msgid "View ISNI record" msgstr "Ver rexistro ISNI" -#: bookwyrm/templates/author/author.html:84 +#: bookwyrm/templates/author/author.html:87 +#: bookwyrm/templates/book/book.html:164 +msgid "View on ISFDB" +msgstr "Ver en ISFDB" + +#: bookwyrm/templates/author/author.html:92 #: bookwyrm/templates/author/sync_modal.html:5 #: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Cargar datos" -#: bookwyrm/templates/author/author.html:88 +#: bookwyrm/templates/author/author.html:96 #: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Ver en OpenLibrary" -#: bookwyrm/templates/author/author.html:103 +#: bookwyrm/templates/author/author.html:111 #: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Ver en Inventaire" -#: bookwyrm/templates/author/author.html:119 +#: bookwyrm/templates/author/author.html:127 msgid "View on LibraryThing" msgstr "Ver en LibraryThing" -#: bookwyrm/templates/author/author.html:127 +#: bookwyrm/templates/author/author.html:135 msgid "View on Goodreads" msgstr "Ver en Goodreads" -#: bookwyrm/templates/author/author.html:142 +#: bookwyrm/templates/author/author.html:143 +msgid "View ISFDB entry" +msgstr "Ver a entrada ISFDB" + +#: bookwyrm/templates/author/author.html:158 #, python-format msgid "Books by %(name)s" msgstr "Libros de %(name)s" @@ -798,16 +809,21 @@ msgid "Librarything key:" msgstr "Chave en Librarything:" #: bookwyrm/templates/author/edit_author.html:98 +#: bookwyrm/templates/book/edit/edit_book_form.html:332 msgid "Goodreads key:" msgstr "Chave en Goodreads:" #: bookwyrm/templates/author/edit_author.html:105 +msgid "ISFDB:" +msgstr "ISFDB:" + +#: bookwyrm/templates/author/edit_author.html:112 msgid "ISNI:" msgstr "ISNI:" -#: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:139 +#: bookwyrm/templates/author/edit_author.html:122 +#: bookwyrm/templates/book/book.html:209 +#: bookwyrm/templates/book/edit/edit_book.html:142 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:86 #: bookwyrm/templates/groups/form.html:32 @@ -819,19 +835,21 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 -#: bookwyrm/templates/settings/site.html:194 +#: bookwyrm/templates/settings/registration.html:79 +#: bookwyrm/templates/settings/registration_limited.html:76 +#: bookwyrm/templates/settings/site.html:144 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 msgid "Save" msgstr "Gardar" -#: bookwyrm/templates/author/edit_author.html:116 +#: bookwyrm/templates/author/edit_author.html:123 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:210 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:141 #: bookwyrm/templates/book/edit/edit_book.html:144 +#: bookwyrm/templates/book/edit/edit_book.html:147 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 #: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 @@ -855,7 +873,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "Ao cargar os datos vas conectar con %(source_name)s e comprobar se existen metadatos desta persoa autora que non están aquí presentes. Non se sobrescribirán os datos existentes." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 @@ -885,91 +903,91 @@ msgstr "Fallou a carga da portada" msgid "Click to enlarge" msgstr "Preme para agrandar" -#: bookwyrm/templates/book/book.html:179 +#: bookwyrm/templates/book/book.html:186 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s recensión)" msgstr[1] "(%(review_count)s recensións)" -#: bookwyrm/templates/book/book.html:191 +#: bookwyrm/templates/book/book.html:198 msgid "Add Description" msgstr "Engadir descrición" -#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/book.html:205 #: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Descrición:" -#: bookwyrm/templates/book/book.html:214 +#: bookwyrm/templates/book/book.html:221 #, python-format msgid "%(count)s edition" msgid_plural "%(count)s editions" msgstr[0] "%(count)s edición" msgstr[1] "%(count)s edicións" -#: bookwyrm/templates/book/book.html:228 +#: bookwyrm/templates/book/book.html:235 msgid "You have shelved this edition in:" msgstr "Puxeches esta edición no estante:" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:250 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Hai unha edición diferente deste libro no teu estante %(shelf_name)s." -#: bookwyrm/templates/book/book.html:254 +#: bookwyrm/templates/book/book.html:261 msgid "Your reading activity" msgstr "Actividade lectora" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:267 #: bookwyrm/templates/guided_tour/book.html:56 msgid "Add read dates" msgstr "Engadir datas de lectura" -#: bookwyrm/templates/book/book.html:268 +#: bookwyrm/templates/book/book.html:275 msgid "You don't have any reading activity for this book." msgstr "Non tes actividade lectora neste libro." -#: bookwyrm/templates/book/book.html:294 +#: bookwyrm/templates/book/book.html:301 msgid "Your reviews" msgstr "As túas recensións" -#: bookwyrm/templates/book/book.html:300 +#: bookwyrm/templates/book/book.html:307 msgid "Your comments" msgstr "Os teus comentarios" -#: bookwyrm/templates/book/book.html:306 +#: bookwyrm/templates/book/book.html:313 msgid "Your quotes" msgstr "As túas citas" -#: bookwyrm/templates/book/book.html:342 +#: bookwyrm/templates/book/book.html:349 msgid "Subjects" msgstr "Temas" -#: bookwyrm/templates/book/book.html:354 +#: bookwyrm/templates/book/book.html:361 msgid "Places" msgstr "Lugares" -#: bookwyrm/templates/book/book.html:365 +#: bookwyrm/templates/book/book.html:372 #: bookwyrm/templates/groups/group.html:19 #: bookwyrm/templates/guided_tour/lists.html:14 #: bookwyrm/templates/guided_tour/user_books.html:102 #: bookwyrm/templates/guided_tour/user_profile.html:78 -#: bookwyrm/templates/layout.html:101 bookwyrm/templates/lists/curate.html:8 +#: bookwyrm/templates/layout.html:102 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:26 #: bookwyrm/templates/search/layout.html:51 -#: bookwyrm/templates/user/layout.html:85 +#: bookwyrm/templates/user/layout.html:89 msgid "Lists" msgstr "Listas" -#: bookwyrm/templates/book/book.html:377 +#: bookwyrm/templates/book/book.html:384 msgid "Add to list" msgstr "Engadir á lista" -#: bookwyrm/templates/book/book.html:387 +#: bookwyrm/templates/book/book.html:394 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -983,15 +1001,29 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:332 +#: bookwyrm/templates/book/edit/edit_book_form.html:341 msgid "OCLC Number:" msgstr "Número OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:341 +#: bookwyrm/templates/book/edit/edit_book_form.html:350 msgid "ASIN:" msgstr "ASIN:" +#: bookwyrm/templates/book/book_identifiers.html:29 +#: bookwyrm/templates/book/edit/edit_book_form.html:359 +msgid "Audible ASIN:" +msgstr "ASIN Audible:" + +#: bookwyrm/templates/book/book_identifiers.html:36 +#: bookwyrm/templates/book/edit/edit_book_form.html:368 +msgid "ISFDB ID:" +msgstr "ID ISFDB:" + +#: bookwyrm/templates/book/book_identifiers.html:43 +msgid "Goodreads:" +msgstr "Goodreads:" + #: bookwyrm/templates/book/cover_add_modal.html:5 msgid "Add cover" msgstr "Engadir portada" @@ -1058,20 +1090,20 @@ msgstr "Atopa máis información en isni.org" msgid "This is a new author" msgstr "Esta é unha nova autora" -#: bookwyrm/templates/book/edit/edit_book.html:104 +#: bookwyrm/templates/book/edit/edit_book.html:107 #, python-format msgid "Creating a new author: %(name)s" msgstr "Creando nova autora: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:111 +#: bookwyrm/templates/book/edit/edit_book.html:114 msgid "Is this an edition of an existing work?" msgstr "É esta a edición dun traballo existente?" -#: bookwyrm/templates/book/edit/edit_book.html:119 +#: bookwyrm/templates/book/edit/edit_book.html:122 msgid "This is a new work" msgstr "Este é un novo traballo" -#: bookwyrm/templates/book/edit/edit_book.html:128 +#: bookwyrm/templates/book/edit/edit_book.html:131 #: bookwyrm/templates/feed/status.html:21 #: bookwyrm/templates/guided_tour/book.html:44 #: bookwyrm/templates/guided_tour/book.html:68 @@ -1619,7 +1651,7 @@ msgstr "%(username)s citou a%k&x3?g9XUw+Q|K delta 26 icmcaJljF`zj)pCadHNg%rV0keR;Fg#%k&x3?g9XU\n" "Language-Team: Italian\n" "Language: it\n" @@ -171,23 +171,23 @@ msgstr "Cancellazione del moderatore" msgid "Domain block" msgstr "Blocco del dominio" -#: bookwyrm/models/book.py:266 +#: bookwyrm/models/book.py:277 msgid "Audiobook" msgstr "Audiolibro" -#: bookwyrm/models/book.py:267 +#: bookwyrm/models/book.py:278 msgid "eBook" msgstr "eBook" -#: bookwyrm/models/book.py:268 +#: bookwyrm/models/book.py:279 msgid "Graphic novel" msgstr "Graphic novel" -#: bookwyrm/models/book.py:269 +#: bookwyrm/models/book.py:280 msgid "Hardcover" msgstr "Copertina rigida" -#: bookwyrm/models/book.py:270 +#: bookwyrm/models/book.py:281 msgid "Paperback" msgstr "Brossura" @@ -215,7 +215,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:141 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nome utente" @@ -300,7 +300,7 @@ msgstr "Disponibile per il prestito" msgid "Approved" msgstr "Approvato" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:296 msgid "Reviews" msgstr "Recensioni" @@ -332,7 +332,7 @@ msgstr "Timeline dei libri" #: bookwyrm/templates/guided_tour/user_profile.html:101 #: bookwyrm/templates/search/layout.html:22 #: bookwyrm/templates/search/layout.html:43 -#: bookwyrm/templates/user/layout.html:91 +#: bookwyrm/templates/user/layout.html:95 msgid "Books" msgstr "Libri" @@ -490,6 +490,13 @@ msgstr "Invia messaggio diretto" msgid "Code of Conduct" msgstr "Codice di comportamento" +#: bookwyrm/templates/about/impressum.html:4 +#: bookwyrm/templates/about/impressum.html:9 +#: bookwyrm/templates/about/layout.html:54 +#: bookwyrm/templates/snippets/footer.html:34 +msgid "Impressum" +msgstr "" + #: bookwyrm/templates/about/layout.html:11 msgid "Active users:" msgstr "Utenti Attivi:" @@ -517,11 +524,6 @@ msgstr "Informazioni su %(site_name)s" msgid "Privacy Policy" msgstr "Informativa sulla Privacy" -#: bookwyrm/templates/about/layout.html:54 -#: bookwyrm/templates/snippets/footer.html:34 -msgid "Impressum" -msgstr "" - #: bookwyrm/templates/annual_summary/layout.html:7 #: bookwyrm/templates/feed/summary_card.html:8 #, python-format @@ -697,32 +699,41 @@ msgstr "Wikipedia" msgid "View ISNI record" msgstr "Visualizza record ISNI" -#: bookwyrm/templates/author/author.html:84 +#: bookwyrm/templates/author/author.html:87 +#: bookwyrm/templates/book/book.html:164 +msgid "View on ISFDB" +msgstr "" + +#: bookwyrm/templates/author/author.html:92 #: bookwyrm/templates/author/sync_modal.html:5 #: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Carica dati" -#: bookwyrm/templates/author/author.html:88 +#: bookwyrm/templates/author/author.html:96 #: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Visualizza su OpenLibrary" -#: bookwyrm/templates/author/author.html:103 +#: bookwyrm/templates/author/author.html:111 #: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Visualizza su Inventaire" -#: bookwyrm/templates/author/author.html:119 +#: bookwyrm/templates/author/author.html:127 msgid "View on LibraryThing" msgstr "Visualizza su LibraryThing" -#: bookwyrm/templates/author/author.html:127 +#: bookwyrm/templates/author/author.html:135 msgid "View on Goodreads" msgstr "Visualizza su Goodreads" -#: bookwyrm/templates/author/author.html:142 +#: bookwyrm/templates/author/author.html:143 +msgid "View ISFDB entry" +msgstr "" + +#: bookwyrm/templates/author/author.html:158 #, python-format msgid "Books by %(name)s" msgstr "Libri di %(name)s" @@ -798,16 +809,21 @@ msgid "Librarything key:" msgstr "Chiave Librarything:" #: bookwyrm/templates/author/edit_author.html:98 +#: bookwyrm/templates/book/edit/edit_book_form.html:332 msgid "Goodreads key:" msgstr "Chiave Goodreads:" #: bookwyrm/templates/author/edit_author.html:105 +msgid "ISFDB:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:112 msgid "ISNI:" msgstr "ISNI:" -#: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:139 +#: bookwyrm/templates/author/edit_author.html:122 +#: bookwyrm/templates/book/book.html:209 +#: bookwyrm/templates/book/edit/edit_book.html:142 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:86 #: bookwyrm/templates/groups/form.html:32 @@ -819,19 +835,21 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 -#: bookwyrm/templates/settings/site.html:194 +#: bookwyrm/templates/settings/registration.html:79 +#: bookwyrm/templates/settings/registration_limited.html:76 +#: bookwyrm/templates/settings/site.html:144 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 msgid "Save" msgstr "Salva" -#: bookwyrm/templates/author/edit_author.html:116 +#: bookwyrm/templates/author/edit_author.html:123 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:210 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:141 #: bookwyrm/templates/book/edit/edit_book.html:144 +#: bookwyrm/templates/book/edit/edit_book.html:147 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 #: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 @@ -855,7 +873,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "Il caricamento dei dati si collegherà a %(source_name)s e verificherà eventuali metadati relativi a questo autore che non sono presenti qui. I metadati esistenti non vengono sovrascritti." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 @@ -885,91 +903,91 @@ msgstr "Impossibile caricare la copertina" msgid "Click to enlarge" msgstr "Clicca per ingrandire" -#: bookwyrm/templates/book/book.html:179 +#: bookwyrm/templates/book/book.html:186 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s recensione)" msgstr[1] "(%(review_count)s recensioni)" -#: bookwyrm/templates/book/book.html:191 +#: bookwyrm/templates/book/book.html:198 msgid "Add Description" msgstr "Aggiungi descrizione" -#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/book.html:205 #: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Descrizione:" -#: bookwyrm/templates/book/book.html:214 +#: bookwyrm/templates/book/book.html:221 #, python-format msgid "%(count)s edition" msgid_plural "%(count)s editions" msgstr[0] "%(count)s edizione" msgstr[1] "%(count)s edizioni" -#: bookwyrm/templates/book/book.html:228 +#: bookwyrm/templates/book/book.html:235 msgid "You have shelved this edition in:" msgstr "Hai salvato questa edizione in:" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:250 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Una diversa edizione di questo libro è sul tuo scaffale %(shelf_name)s." -#: bookwyrm/templates/book/book.html:254 +#: bookwyrm/templates/book/book.html:261 msgid "Your reading activity" msgstr "Le tue attività di lettura" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:267 #: bookwyrm/templates/guided_tour/book.html:56 msgid "Add read dates" msgstr "Aggiungi data di lettura" -#: bookwyrm/templates/book/book.html:268 +#: bookwyrm/templates/book/book.html:275 msgid "You don't have any reading activity for this book." msgstr "Non hai alcuna attività di lettura per questo libro." -#: bookwyrm/templates/book/book.html:294 +#: bookwyrm/templates/book/book.html:301 msgid "Your reviews" msgstr "Le tue recensioni" -#: bookwyrm/templates/book/book.html:300 +#: bookwyrm/templates/book/book.html:307 msgid "Your comments" msgstr "I tuoi commenti" -#: bookwyrm/templates/book/book.html:306 +#: bookwyrm/templates/book/book.html:313 msgid "Your quotes" msgstr "Le tue citazioni" -#: bookwyrm/templates/book/book.html:342 +#: bookwyrm/templates/book/book.html:349 msgid "Subjects" msgstr "Argomenti" -#: bookwyrm/templates/book/book.html:354 +#: bookwyrm/templates/book/book.html:361 msgid "Places" msgstr "Luoghi" -#: bookwyrm/templates/book/book.html:365 +#: bookwyrm/templates/book/book.html:372 #: bookwyrm/templates/groups/group.html:19 #: bookwyrm/templates/guided_tour/lists.html:14 #: bookwyrm/templates/guided_tour/user_books.html:102 #: bookwyrm/templates/guided_tour/user_profile.html:78 -#: bookwyrm/templates/layout.html:101 bookwyrm/templates/lists/curate.html:8 +#: bookwyrm/templates/layout.html:102 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:26 #: bookwyrm/templates/search/layout.html:51 -#: bookwyrm/templates/user/layout.html:85 +#: bookwyrm/templates/user/layout.html:89 msgid "Lists" msgstr "Liste" -#: bookwyrm/templates/book/book.html:377 +#: bookwyrm/templates/book/book.html:384 msgid "Add to list" msgstr "Aggiungi all'elenco" -#: bookwyrm/templates/book/book.html:387 +#: bookwyrm/templates/book/book.html:394 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -983,15 +1001,29 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:332 +#: bookwyrm/templates/book/edit/edit_book_form.html:341 msgid "OCLC Number:" msgstr "Numero OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:341 +#: bookwyrm/templates/book/edit/edit_book_form.html:350 msgid "ASIN:" msgstr "ASIN:" +#: bookwyrm/templates/book/book_identifiers.html:29 +#: bookwyrm/templates/book/edit/edit_book_form.html:359 +msgid "Audible ASIN:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:36 +#: bookwyrm/templates/book/edit/edit_book_form.html:368 +msgid "ISFDB ID:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:43 +msgid "Goodreads:" +msgstr "" + #: bookwyrm/templates/book/cover_add_modal.html:5 msgid "Add cover" msgstr "Aggiungi copertina" @@ -1058,20 +1090,20 @@ msgstr "Trova maggiori informazioni su isni.org" msgid "This is a new author" msgstr "Questo è un nuovo autore" -#: bookwyrm/templates/book/edit/edit_book.html:104 +#: bookwyrm/templates/book/edit/edit_book.html:107 #, python-format msgid "Creating a new author: %(name)s" msgstr "Creazione di un nuovo autore: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:111 +#: bookwyrm/templates/book/edit/edit_book.html:114 msgid "Is this an edition of an existing work?" msgstr "È un'edizione di un'opera esistente?" -#: bookwyrm/templates/book/edit/edit_book.html:119 +#: bookwyrm/templates/book/edit/edit_book.html:122 msgid "This is a new work" msgstr "Si tratta di un nuovo lavoro" -#: bookwyrm/templates/book/edit/edit_book.html:128 +#: bookwyrm/templates/book/edit/edit_book.html:131 #: bookwyrm/templates/feed/status.html:21 #: bookwyrm/templates/guided_tour/book.html:44 #: bookwyrm/templates/guided_tour/book.html:68 @@ -1619,7 +1651,7 @@ msgstr "%(username)s ha citato \n" "Language-Team: Lithuanian\n" "Language: lt\n" @@ -171,23 +171,23 @@ msgstr "Moderatorius ištrynė" msgid "Domain block" msgstr "Blokuoti pagal domeną" -#: bookwyrm/models/book.py:266 +#: bookwyrm/models/book.py:277 msgid "Audiobook" msgstr "Audioknyga" -#: bookwyrm/models/book.py:267 +#: bookwyrm/models/book.py:278 msgid "eBook" msgstr "Elektroninė knyga" -#: bookwyrm/models/book.py:268 +#: bookwyrm/models/book.py:279 msgid "Graphic novel" msgstr "Grafinė novelė" -#: bookwyrm/models/book.py:269 +#: bookwyrm/models/book.py:280 msgid "Hardcover" msgstr "Knyga kietais viršeliais" -#: bookwyrm/models/book.py:270 +#: bookwyrm/models/book.py:281 msgid "Paperback" msgstr "Knyga minkštais viršeliais" @@ -215,7 +215,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:141 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "naudotojo vardas" @@ -300,7 +300,7 @@ msgstr "Galima pasiskolinti" msgid "Approved" msgstr "Patvirtinti puslapiai" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:296 msgid "Reviews" msgstr "Apžvalgos" @@ -332,7 +332,7 @@ msgstr "Knygų siena" #: bookwyrm/templates/guided_tour/user_profile.html:101 #: bookwyrm/templates/search/layout.html:22 #: bookwyrm/templates/search/layout.html:43 -#: bookwyrm/templates/user/layout.html:91 +#: bookwyrm/templates/user/layout.html:95 msgid "Books" msgstr "Knygos" @@ -490,6 +490,13 @@ msgstr "Siųsti asmeninę žinutę" msgid "Code of Conduct" msgstr "Elgesio kodeksas" +#: bookwyrm/templates/about/impressum.html:4 +#: bookwyrm/templates/about/impressum.html:9 +#: bookwyrm/templates/about/layout.html:54 +#: bookwyrm/templates/snippets/footer.html:34 +msgid "Impressum" +msgstr "" + #: bookwyrm/templates/about/layout.html:11 msgid "Active users:" msgstr "Aktyvūs vartotojai:" @@ -517,11 +524,6 @@ msgstr "Apie %(site_name)s" msgid "Privacy Policy" msgstr "Privatumo politika" -#: bookwyrm/templates/about/layout.html:54 -#: bookwyrm/templates/snippets/footer.html:34 -msgid "Impressum" -msgstr "" - #: bookwyrm/templates/annual_summary/layout.html:7 #: bookwyrm/templates/feed/summary_card.html:8 #, python-format @@ -705,32 +707,41 @@ msgstr "Wikipedia" msgid "View ISNI record" msgstr "Peržiūrėti ISNI įrašą" -#: bookwyrm/templates/author/author.html:84 +#: bookwyrm/templates/author/author.html:87 +#: bookwyrm/templates/book/book.html:164 +msgid "View on ISFDB" +msgstr "" + +#: bookwyrm/templates/author/author.html:92 #: bookwyrm/templates/author/sync_modal.html:5 #: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Įkelti duomenis" -#: bookwyrm/templates/author/author.html:88 +#: bookwyrm/templates/author/author.html:96 #: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Žiūrėti „OpenLibrary“" -#: bookwyrm/templates/author/author.html:103 +#: bookwyrm/templates/author/author.html:111 #: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Žiūrėti „Inventaire“" -#: bookwyrm/templates/author/author.html:119 +#: bookwyrm/templates/author/author.html:127 msgid "View on LibraryThing" msgstr "Žiūrėti „LibraryThing“" -#: bookwyrm/templates/author/author.html:127 +#: bookwyrm/templates/author/author.html:135 msgid "View on Goodreads" msgstr "Žiūrėti „Goodreads“" -#: bookwyrm/templates/author/author.html:142 +#: bookwyrm/templates/author/author.html:143 +msgid "View ISFDB entry" +msgstr "" + +#: bookwyrm/templates/author/author.html:158 #, python-format msgid "Books by %(name)s" msgstr "%(name)s knygos" @@ -806,16 +817,21 @@ msgid "Librarything key:" msgstr "„Librarything“ raktas:" #: bookwyrm/templates/author/edit_author.html:98 +#: bookwyrm/templates/book/edit/edit_book_form.html:332 msgid "Goodreads key:" msgstr "„Goodreads“ raktas:" #: bookwyrm/templates/author/edit_author.html:105 +msgid "ISFDB:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:112 msgid "ISNI:" msgstr "ISNI:" -#: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:139 +#: bookwyrm/templates/author/edit_author.html:122 +#: bookwyrm/templates/book/book.html:209 +#: bookwyrm/templates/book/edit/edit_book.html:142 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:86 #: bookwyrm/templates/groups/form.html:32 @@ -827,19 +843,21 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 -#: bookwyrm/templates/settings/site.html:194 +#: bookwyrm/templates/settings/registration.html:79 +#: bookwyrm/templates/settings/registration_limited.html:76 +#: bookwyrm/templates/settings/site.html:144 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 msgid "Save" msgstr "Išsaugoti" -#: bookwyrm/templates/author/edit_author.html:116 +#: bookwyrm/templates/author/edit_author.html:123 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:210 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:141 #: bookwyrm/templates/book/edit/edit_book.html:144 +#: bookwyrm/templates/book/edit/edit_book.html:147 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 #: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 @@ -863,7 +881,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "Duomenų įkėlimas prisijungs prie %(source_name)s ir patikrins ar nėra naujos informacijos. Esantys metaduomenys nebus perrašomi." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 @@ -893,7 +911,7 @@ msgstr "Nepavyko įkelti viršelio" msgid "Click to enlarge" msgstr "Spustelėkite padidinti" -#: bookwyrm/templates/book/book.html:179 +#: bookwyrm/templates/book/book.html:186 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" @@ -902,17 +920,17 @@ msgstr[1] "(%(review_count)s atsiliepimai)" msgstr[2] "(%(review_count)s atsiliepimų)" msgstr[3] "(%(review_count)s atsiliepimai)" -#: bookwyrm/templates/book/book.html:191 +#: bookwyrm/templates/book/book.html:198 msgid "Add Description" msgstr "Pridėti aprašymą" -#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/book.html:205 #: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Aprašymas:" -#: bookwyrm/templates/book/book.html:214 +#: bookwyrm/templates/book/book.html:221 #, python-format msgid "%(count)s edition" msgid_plural "%(count)s editions" @@ -921,67 +939,67 @@ msgstr[1] "%(count)s leidimai" msgstr[2] "%(count)s leidimai" msgstr[3] "%(count)s leidimai" -#: bookwyrm/templates/book/book.html:228 +#: bookwyrm/templates/book/book.html:235 msgid "You have shelved this edition in:" msgstr "Šis leidimas įdėtas į:" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:250 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "kitas šios knygos leidimas yra jūsų %(shelf_name)s lentynoje." -#: bookwyrm/templates/book/book.html:254 +#: bookwyrm/templates/book/book.html:261 msgid "Your reading activity" msgstr "Jūsų skaitymo veikla" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:267 #: bookwyrm/templates/guided_tour/book.html:56 msgid "Add read dates" msgstr "Pridėti skaitymo datas" -#: bookwyrm/templates/book/book.html:268 +#: bookwyrm/templates/book/book.html:275 msgid "You don't have any reading activity for this book." msgstr "Šios knygos neskaitote." -#: bookwyrm/templates/book/book.html:294 +#: bookwyrm/templates/book/book.html:301 msgid "Your reviews" msgstr "Tavo atsiliepimai" -#: bookwyrm/templates/book/book.html:300 +#: bookwyrm/templates/book/book.html:307 msgid "Your comments" msgstr "Tavo komentarai" -#: bookwyrm/templates/book/book.html:306 +#: bookwyrm/templates/book/book.html:313 msgid "Your quotes" msgstr "Jūsų citatos" -#: bookwyrm/templates/book/book.html:342 +#: bookwyrm/templates/book/book.html:349 msgid "Subjects" msgstr "Temos" -#: bookwyrm/templates/book/book.html:354 +#: bookwyrm/templates/book/book.html:361 msgid "Places" msgstr "Vietos" -#: bookwyrm/templates/book/book.html:365 +#: bookwyrm/templates/book/book.html:372 #: bookwyrm/templates/groups/group.html:19 #: bookwyrm/templates/guided_tour/lists.html:14 #: bookwyrm/templates/guided_tour/user_books.html:102 #: bookwyrm/templates/guided_tour/user_profile.html:78 -#: bookwyrm/templates/layout.html:101 bookwyrm/templates/lists/curate.html:8 +#: bookwyrm/templates/layout.html:102 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:26 #: bookwyrm/templates/search/layout.html:51 -#: bookwyrm/templates/user/layout.html:85 +#: bookwyrm/templates/user/layout.html:89 msgid "Lists" msgstr "Sąrašai" -#: bookwyrm/templates/book/book.html:377 +#: bookwyrm/templates/book/book.html:384 msgid "Add to list" msgstr "Pridėti prie sąrašo" -#: bookwyrm/templates/book/book.html:387 +#: bookwyrm/templates/book/book.html:394 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -995,15 +1013,29 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:332 +#: bookwyrm/templates/book/edit/edit_book_form.html:341 msgid "OCLC Number:" msgstr "OCLC numeris:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:341 +#: bookwyrm/templates/book/edit/edit_book_form.html:350 msgid "ASIN:" msgstr "ASIN:" +#: bookwyrm/templates/book/book_identifiers.html:29 +#: bookwyrm/templates/book/edit/edit_book_form.html:359 +msgid "Audible ASIN:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:36 +#: bookwyrm/templates/book/edit/edit_book_form.html:368 +msgid "ISFDB ID:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:43 +msgid "Goodreads:" +msgstr "" + #: bookwyrm/templates/book/cover_add_modal.html:5 msgid "Add cover" msgstr "Pridėti viršelį" @@ -1070,20 +1102,20 @@ msgstr "Daugiau informacijos isni.org" msgid "This is a new author" msgstr "Tai naujas autorius" -#: bookwyrm/templates/book/edit/edit_book.html:104 +#: bookwyrm/templates/book/edit/edit_book.html:107 #, python-format msgid "Creating a new author: %(name)s" msgstr "Kuriamas naujas autorius: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:111 +#: bookwyrm/templates/book/edit/edit_book.html:114 msgid "Is this an edition of an existing work?" msgstr "Ar tai egzistuojančio darbo leidimas?" -#: bookwyrm/templates/book/edit/edit_book.html:119 +#: bookwyrm/templates/book/edit/edit_book.html:122 msgid "This is a new work" msgstr "Tai naujas darbas" -#: bookwyrm/templates/book/edit/edit_book.html:128 +#: bookwyrm/templates/book/edit/edit_book.html:131 #: bookwyrm/templates/feed/status.html:21 #: bookwyrm/templates/guided_tour/book.html:44 #: bookwyrm/templates/guided_tour/book.html:68 @@ -1635,7 +1667,7 @@ msgstr "%(username)s citavo %<|mJO43au^ya7#Ud^SZfmjeO3vP delta 23 fcmcb5k>%<|mJO43au}E@7#Lfbnr@!8(>fmjeR&C# diff --git a/locale/no_NO/LC_MESSAGES/django.po b/locale/no_NO/LC_MESSAGES/django.po index 5a1073a3a..5b86126ce 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-12-05 02:21+0000\n" -"PO-Revision-Date: 2022-12-05 03:55\n" +"POT-Creation-Date: 2022-12-11 21:08+0000\n" +"PO-Revision-Date: 2022-12-11 22:09\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Norwegian\n" "Language: no\n" @@ -171,23 +171,23 @@ msgstr "Moderatør sletting" msgid "Domain block" msgstr "Domeneblokkering" -#: bookwyrm/models/book.py:266 +#: bookwyrm/models/book.py:277 msgid "Audiobook" msgstr "Lydbok" -#: bookwyrm/models/book.py:267 +#: bookwyrm/models/book.py:278 msgid "eBook" msgstr "e-bok" -#: bookwyrm/models/book.py:268 +#: bookwyrm/models/book.py:279 msgid "Graphic novel" msgstr "Tegneserie" -#: bookwyrm/models/book.py:269 +#: bookwyrm/models/book.py:280 msgid "Hardcover" msgstr "Innbundet" -#: bookwyrm/models/book.py:270 +#: bookwyrm/models/book.py:281 msgid "Paperback" msgstr "Paperback" @@ -215,7 +215,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:141 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "brukernavn" @@ -300,7 +300,7 @@ msgstr "Tilgjengelig for utlån" msgid "Approved" msgstr "Godkjent" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:296 msgid "Reviews" msgstr "Anmeldelser" @@ -332,7 +332,7 @@ msgstr "Boktidslinja" #: bookwyrm/templates/guided_tour/user_profile.html:101 #: bookwyrm/templates/search/layout.html:22 #: bookwyrm/templates/search/layout.html:43 -#: bookwyrm/templates/user/layout.html:91 +#: bookwyrm/templates/user/layout.html:95 msgid "Books" msgstr "Bøker" @@ -490,6 +490,13 @@ msgstr "Send direktemelding" msgid "Code of Conduct" msgstr "Adferdsregler" +#: bookwyrm/templates/about/impressum.html:4 +#: bookwyrm/templates/about/impressum.html:9 +#: bookwyrm/templates/about/layout.html:54 +#: bookwyrm/templates/snippets/footer.html:34 +msgid "Impressum" +msgstr "" + #: bookwyrm/templates/about/layout.html:11 msgid "Active users:" msgstr "Aktive medlemmer:" @@ -517,11 +524,6 @@ msgstr "Om %(site_name)s" msgid "Privacy Policy" msgstr "Personvernerklæring" -#: bookwyrm/templates/about/layout.html:54 -#: bookwyrm/templates/snippets/footer.html:34 -msgid "Impressum" -msgstr "" - #: bookwyrm/templates/annual_summary/layout.html:7 #: bookwyrm/templates/feed/summary_card.html:8 #, python-format @@ -697,32 +699,41 @@ msgstr "Wikipedia" msgid "View ISNI record" msgstr "Vis ISNI -oppføring" -#: bookwyrm/templates/author/author.html:84 +#: bookwyrm/templates/author/author.html:87 +#: bookwyrm/templates/book/book.html:164 +msgid "View on ISFDB" +msgstr "" + +#: bookwyrm/templates/author/author.html:92 #: bookwyrm/templates/author/sync_modal.html:5 #: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Last inn data" -#: bookwyrm/templates/author/author.html:88 +#: bookwyrm/templates/author/author.html:96 #: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Vis på OpenLibrary" -#: bookwyrm/templates/author/author.html:103 +#: bookwyrm/templates/author/author.html:111 #: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Vis på Inventaire" -#: bookwyrm/templates/author/author.html:119 +#: bookwyrm/templates/author/author.html:127 msgid "View on LibraryThing" msgstr "Vis på LibraryThing" -#: bookwyrm/templates/author/author.html:127 +#: bookwyrm/templates/author/author.html:135 msgid "View on Goodreads" msgstr "Vis på Goodreads" -#: bookwyrm/templates/author/author.html:142 +#: bookwyrm/templates/author/author.html:143 +msgid "View ISFDB entry" +msgstr "" + +#: bookwyrm/templates/author/author.html:158 #, python-format msgid "Books by %(name)s" msgstr "Bøker av %(name)s" @@ -798,16 +809,21 @@ msgid "Librarything key:" msgstr "Librarything nøkkel:" #: bookwyrm/templates/author/edit_author.html:98 +#: bookwyrm/templates/book/edit/edit_book_form.html:332 msgid "Goodreads key:" msgstr "Goodreads nøkkel:" #: bookwyrm/templates/author/edit_author.html:105 +msgid "ISFDB:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:112 msgid "ISNI:" msgstr "ISNI:" -#: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:139 +#: bookwyrm/templates/author/edit_author.html:122 +#: bookwyrm/templates/book/book.html:209 +#: bookwyrm/templates/book/edit/edit_book.html:142 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:86 #: bookwyrm/templates/groups/form.html:32 @@ -819,19 +835,21 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 -#: bookwyrm/templates/settings/site.html:194 +#: bookwyrm/templates/settings/registration.html:79 +#: bookwyrm/templates/settings/registration_limited.html:76 +#: bookwyrm/templates/settings/site.html:144 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 msgid "Save" msgstr "Lagre" -#: bookwyrm/templates/author/edit_author.html:116 +#: bookwyrm/templates/author/edit_author.html:123 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:210 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:141 #: bookwyrm/templates/book/edit/edit_book.html:144 +#: bookwyrm/templates/book/edit/edit_book.html:147 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 #: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 @@ -855,7 +873,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "Laster inn data kobler til %(source_name)s og finner metadata om denne forfatteren som enda ikke finnes her. Eksisterende metadata vil ikke bli overskrevet." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 @@ -885,91 +903,91 @@ msgstr "Klarte ikke å laste inn omslag" msgid "Click to enlarge" msgstr "Klikk for å forstørre" -#: bookwyrm/templates/book/book.html:179 +#: bookwyrm/templates/book/book.html:186 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s anmeldelse)" msgstr[1] "(%(review_count)s anmeldelser)" -#: bookwyrm/templates/book/book.html:191 +#: bookwyrm/templates/book/book.html:198 msgid "Add Description" msgstr "Legg til beskrivelse" -#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/book.html:205 #: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Beskrivelse:" -#: bookwyrm/templates/book/book.html:214 +#: bookwyrm/templates/book/book.html:221 #, python-format msgid "%(count)s edition" msgid_plural "%(count)s editions" msgstr[0] "" msgstr[1] "%(count)s utgaver" -#: bookwyrm/templates/book/book.html:228 +#: bookwyrm/templates/book/book.html:235 msgid "You have shelved this edition in:" msgstr "Du har lagt denne utgaven i hylla:" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:250 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "En annen utgave av denne boken ligger i hylla %(shelf_name)s." -#: bookwyrm/templates/book/book.html:254 +#: bookwyrm/templates/book/book.html:261 msgid "Your reading activity" msgstr "Din leseaktivitet" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:267 #: bookwyrm/templates/guided_tour/book.html:56 msgid "Add read dates" msgstr "Legg til lesedatoer" -#: bookwyrm/templates/book/book.html:268 +#: bookwyrm/templates/book/book.html:275 msgid "You don't have any reading activity for this book." msgstr "Du har ikke lagt inn leseaktivitet for denne boka." -#: bookwyrm/templates/book/book.html:294 +#: bookwyrm/templates/book/book.html:301 msgid "Your reviews" msgstr "Dine anmeldelser" -#: bookwyrm/templates/book/book.html:300 +#: bookwyrm/templates/book/book.html:307 msgid "Your comments" msgstr "Dine kommentarer" -#: bookwyrm/templates/book/book.html:306 +#: bookwyrm/templates/book/book.html:313 msgid "Your quotes" msgstr "Dine sitater" -#: bookwyrm/templates/book/book.html:342 +#: bookwyrm/templates/book/book.html:349 msgid "Subjects" msgstr "Emner" -#: bookwyrm/templates/book/book.html:354 +#: bookwyrm/templates/book/book.html:361 msgid "Places" msgstr "Steder" -#: bookwyrm/templates/book/book.html:365 +#: bookwyrm/templates/book/book.html:372 #: bookwyrm/templates/groups/group.html:19 #: bookwyrm/templates/guided_tour/lists.html:14 #: bookwyrm/templates/guided_tour/user_books.html:102 #: bookwyrm/templates/guided_tour/user_profile.html:78 -#: bookwyrm/templates/layout.html:101 bookwyrm/templates/lists/curate.html:8 +#: bookwyrm/templates/layout.html:102 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:26 #: bookwyrm/templates/search/layout.html:51 -#: bookwyrm/templates/user/layout.html:85 +#: bookwyrm/templates/user/layout.html:89 msgid "Lists" msgstr "Lister" -#: bookwyrm/templates/book/book.html:377 +#: bookwyrm/templates/book/book.html:384 msgid "Add to list" msgstr "Legg til i liste" -#: bookwyrm/templates/book/book.html:387 +#: bookwyrm/templates/book/book.html:394 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -983,15 +1001,29 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:332 +#: bookwyrm/templates/book/edit/edit_book_form.html:341 msgid "OCLC Number:" msgstr "OCLC Nummer:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:341 +#: bookwyrm/templates/book/edit/edit_book_form.html:350 msgid "ASIN:" msgstr "ASIN:" +#: bookwyrm/templates/book/book_identifiers.html:29 +#: bookwyrm/templates/book/edit/edit_book_form.html:359 +msgid "Audible ASIN:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:36 +#: bookwyrm/templates/book/edit/edit_book_form.html:368 +msgid "ISFDB ID:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:43 +msgid "Goodreads:" +msgstr "" + #: bookwyrm/templates/book/cover_add_modal.html:5 msgid "Add cover" msgstr "Legg til et omslag" @@ -1058,20 +1090,20 @@ msgstr "Finn mer informasjon på isni.org" msgid "This is a new author" msgstr "Dette er en ny forfatter" -#: bookwyrm/templates/book/edit/edit_book.html:104 +#: bookwyrm/templates/book/edit/edit_book.html:107 #, python-format msgid "Creating a new author: %(name)s" msgstr "Oppretter en ny forfatter: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:111 +#: bookwyrm/templates/book/edit/edit_book.html:114 msgid "Is this an edition of an existing work?" msgstr "Er dette en utgave av et eksisterende verk?" -#: bookwyrm/templates/book/edit/edit_book.html:119 +#: bookwyrm/templates/book/edit/edit_book.html:122 msgid "This is a new work" msgstr "Dette er et nytt verk" -#: bookwyrm/templates/book/edit/edit_book.html:128 +#: bookwyrm/templates/book/edit/edit_book.html:131 #: bookwyrm/templates/feed/status.html:21 #: bookwyrm/templates/guided_tour/book.html:44 #: bookwyrm/templates/guided_tour/book.html:68 @@ -1619,7 +1651,7 @@ msgstr "%(username)s siterte \n" "Language-Team: Polish\n" "Language: pl\n" @@ -171,23 +171,23 @@ msgstr "Usunięte przez moderatora" msgid "Domain block" msgstr "Blokada domeny" -#: bookwyrm/models/book.py:266 +#: bookwyrm/models/book.py:277 msgid "Audiobook" msgstr "Audiobook" -#: bookwyrm/models/book.py:267 +#: bookwyrm/models/book.py:278 msgid "eBook" msgstr "eBook" -#: bookwyrm/models/book.py:268 +#: bookwyrm/models/book.py:279 msgid "Graphic novel" msgstr "Powieść ilustrowana" -#: bookwyrm/models/book.py:269 +#: bookwyrm/models/book.py:280 msgid "Hardcover" msgstr "Twarda oprawa" -#: bookwyrm/models/book.py:270 +#: bookwyrm/models/book.py:281 msgid "Paperback" msgstr "Miękka oprawa" @@ -215,7 +215,7 @@ msgstr "%(value)s nie jest prawidłowym remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s nie jest prawidłową nazwą użytkownika" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:141 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nazwa użytkownika" @@ -300,7 +300,7 @@ msgstr "Do wypożyczenia" msgid "Approved" msgstr "Zatwierdzone" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:296 msgid "Reviews" msgstr "Oceny" @@ -332,7 +332,7 @@ msgstr "" #: bookwyrm/templates/guided_tour/user_profile.html:101 #: bookwyrm/templates/search/layout.html:22 #: bookwyrm/templates/search/layout.html:43 -#: bookwyrm/templates/user/layout.html:91 +#: bookwyrm/templates/user/layout.html:95 msgid "Books" msgstr "Książki" @@ -490,6 +490,13 @@ msgstr "Wyślij bezpośrednią wiadomość" msgid "Code of Conduct" msgstr "Regulamin" +#: bookwyrm/templates/about/impressum.html:4 +#: bookwyrm/templates/about/impressum.html:9 +#: bookwyrm/templates/about/layout.html:54 +#: bookwyrm/templates/snippets/footer.html:34 +msgid "Impressum" +msgstr "" + #: bookwyrm/templates/about/layout.html:11 msgid "Active users:" msgstr "Aktywni użytkownicy:" @@ -517,11 +524,6 @@ msgstr "Informacje o %(site_name)s" msgid "Privacy Policy" msgstr "Polityka prywatności" -#: bookwyrm/templates/about/layout.html:54 -#: bookwyrm/templates/snippets/footer.html:34 -msgid "Impressum" -msgstr "" - #: bookwyrm/templates/annual_summary/layout.html:7 #: bookwyrm/templates/feed/summary_card.html:8 #, python-format @@ -705,32 +707,41 @@ msgstr "Wikipedia" msgid "View ISNI record" msgstr "Zobacz wpis ISNI" -#: bookwyrm/templates/author/author.html:84 +#: bookwyrm/templates/author/author.html:87 +#: bookwyrm/templates/book/book.html:164 +msgid "View on ISFDB" +msgstr "" + +#: bookwyrm/templates/author/author.html:92 #: bookwyrm/templates/author/sync_modal.html:5 #: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Wczytaj dane" -#: bookwyrm/templates/author/author.html:88 +#: bookwyrm/templates/author/author.html:96 #: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Pokaż na OpenLibrary" -#: bookwyrm/templates/author/author.html:103 +#: bookwyrm/templates/author/author.html:111 #: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Pokaż na Inventaire" -#: bookwyrm/templates/author/author.html:119 +#: bookwyrm/templates/author/author.html:127 msgid "View on LibraryThing" msgstr "Pokaż na LibraryThing" -#: bookwyrm/templates/author/author.html:127 +#: bookwyrm/templates/author/author.html:135 msgid "View on Goodreads" msgstr "Pokaż na Goodreads" -#: bookwyrm/templates/author/author.html:142 +#: bookwyrm/templates/author/author.html:143 +msgid "View ISFDB entry" +msgstr "" + +#: bookwyrm/templates/author/author.html:158 #, python-format msgid "Books by %(name)s" msgstr "Książki autorstwa %(name)s" @@ -806,16 +817,21 @@ msgid "Librarything key:" msgstr "Klucz Librarything:" #: bookwyrm/templates/author/edit_author.html:98 +#: bookwyrm/templates/book/edit/edit_book_form.html:332 msgid "Goodreads key:" msgstr "Klucz Goodreads:" #: bookwyrm/templates/author/edit_author.html:105 +msgid "ISFDB:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:112 msgid "ISNI:" msgstr "ISNI:" -#: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:139 +#: bookwyrm/templates/author/edit_author.html:122 +#: bookwyrm/templates/book/book.html:209 +#: bookwyrm/templates/book/edit/edit_book.html:142 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:86 #: bookwyrm/templates/groups/form.html:32 @@ -827,19 +843,21 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 -#: bookwyrm/templates/settings/site.html:194 +#: bookwyrm/templates/settings/registration.html:79 +#: bookwyrm/templates/settings/registration_limited.html:76 +#: bookwyrm/templates/settings/site.html:144 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 msgid "Save" msgstr "Zapisz" -#: bookwyrm/templates/author/edit_author.html:116 +#: bookwyrm/templates/author/edit_author.html:123 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:210 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:141 #: bookwyrm/templates/book/edit/edit_book.html:144 +#: bookwyrm/templates/book/edit/edit_book.html:147 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 #: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 @@ -863,7 +881,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "Wczytanie danych spowoduje połączenie z %(source_name)s i sprawdzenie jakichkolwiek metadanych o tym autorze, które nie są tutaj obecne. Istniejące metadane nie zostaną zastąpione." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 @@ -893,7 +911,7 @@ msgstr "Błąd wczytywania okładki" msgid "Click to enlarge" msgstr "Naciśnij, aby powiększyć" -#: bookwyrm/templates/book/book.html:179 +#: bookwyrm/templates/book/book.html:186 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" @@ -902,17 +920,17 @@ msgstr[1] "(%(review_count)s opinie)" msgstr[2] "(%(review_count)s opinii)" msgstr[3] "(%(review_count)s opinii)" -#: bookwyrm/templates/book/book.html:191 +#: bookwyrm/templates/book/book.html:198 msgid "Add Description" msgstr "Dodaj opis" -#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/book.html:205 #: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Opis:" -#: bookwyrm/templates/book/book.html:214 +#: bookwyrm/templates/book/book.html:221 #, python-format msgid "%(count)s edition" msgid_plural "%(count)s editions" @@ -921,67 +939,67 @@ msgstr[1] "%(count)s edycje" msgstr[2] "%(count)s edycji" msgstr[3] "%(count)s edycji" -#: bookwyrm/templates/book/book.html:228 +#: bookwyrm/templates/book/book.html:235 msgid "You have shelved this edition in:" msgstr "Ta edycja została odłożona do:" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:250 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Inna edycja tej książki znajduje się już na Twojej półce %(shelf_name)s." -#: bookwyrm/templates/book/book.html:254 +#: bookwyrm/templates/book/book.html:261 msgid "Your reading activity" msgstr "Twoja aktywność czytania" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:267 #: bookwyrm/templates/guided_tour/book.html:56 msgid "Add read dates" msgstr "Dodaj daty czytania" -#: bookwyrm/templates/book/book.html:268 +#: bookwyrm/templates/book/book.html:275 msgid "You don't have any reading activity for this book." msgstr "Nie masz żadnej aktywności czytania dla tej książki." -#: bookwyrm/templates/book/book.html:294 +#: bookwyrm/templates/book/book.html:301 msgid "Your reviews" msgstr "Twoje opinie" -#: bookwyrm/templates/book/book.html:300 +#: bookwyrm/templates/book/book.html:307 msgid "Your comments" msgstr "Twoje komentarze" -#: bookwyrm/templates/book/book.html:306 +#: bookwyrm/templates/book/book.html:313 msgid "Your quotes" msgstr "Twoje cytaty" -#: bookwyrm/templates/book/book.html:342 +#: bookwyrm/templates/book/book.html:349 msgid "Subjects" msgstr "Tematy" -#: bookwyrm/templates/book/book.html:354 +#: bookwyrm/templates/book/book.html:361 msgid "Places" msgstr "Miejsca" -#: bookwyrm/templates/book/book.html:365 +#: bookwyrm/templates/book/book.html:372 #: bookwyrm/templates/groups/group.html:19 #: bookwyrm/templates/guided_tour/lists.html:14 #: bookwyrm/templates/guided_tour/user_books.html:102 #: bookwyrm/templates/guided_tour/user_profile.html:78 -#: bookwyrm/templates/layout.html:101 bookwyrm/templates/lists/curate.html:8 +#: bookwyrm/templates/layout.html:102 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:26 #: bookwyrm/templates/search/layout.html:51 -#: bookwyrm/templates/user/layout.html:85 +#: bookwyrm/templates/user/layout.html:89 msgid "Lists" msgstr "Listy" -#: bookwyrm/templates/book/book.html:377 +#: bookwyrm/templates/book/book.html:384 msgid "Add to list" msgstr "Dodaj do listy" -#: bookwyrm/templates/book/book.html:387 +#: bookwyrm/templates/book/book.html:394 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -995,15 +1013,29 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:332 +#: bookwyrm/templates/book/edit/edit_book_form.html:341 msgid "OCLC Number:" msgstr "Numer OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:341 +#: bookwyrm/templates/book/edit/edit_book_form.html:350 msgid "ASIN:" msgstr "ASIN:" +#: bookwyrm/templates/book/book_identifiers.html:29 +#: bookwyrm/templates/book/edit/edit_book_form.html:359 +msgid "Audible ASIN:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:36 +#: bookwyrm/templates/book/edit/edit_book_form.html:368 +msgid "ISFDB ID:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:43 +msgid "Goodreads:" +msgstr "" + #: bookwyrm/templates/book/cover_add_modal.html:5 msgid "Add cover" msgstr "Dodaj okładkę" @@ -1070,20 +1102,20 @@ msgstr "Dowiedz się więcej na isni.org" msgid "This is a new author" msgstr "To jest nowy autor" -#: bookwyrm/templates/book/edit/edit_book.html:104 +#: bookwyrm/templates/book/edit/edit_book.html:107 #, python-format msgid "Creating a new author: %(name)s" msgstr "Tworzenie nowego autora: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:111 +#: bookwyrm/templates/book/edit/edit_book.html:114 msgid "Is this an edition of an existing work?" msgstr "Czy to jest edycja istniejącego dzieła?" -#: bookwyrm/templates/book/edit/edit_book.html:119 +#: bookwyrm/templates/book/edit/edit_book.html:122 msgid "This is a new work" msgstr "To jest nowe dzieło" -#: bookwyrm/templates/book/edit/edit_book.html:128 +#: bookwyrm/templates/book/edit/edit_book.html:131 #: bookwyrm/templates/feed/status.html:21 #: bookwyrm/templates/guided_tour/book.html:44 #: bookwyrm/templates/guided_tour/book.html:68 @@ -1635,7 +1667,7 @@ msgstr "%(username)s cytuje \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt\n" @@ -171,23 +171,23 @@ msgstr "Exclusão de moderador" msgid "Domain block" msgstr "Bloqueio de domínio" -#: bookwyrm/models/book.py:266 +#: bookwyrm/models/book.py:277 msgid "Audiobook" msgstr "Audiolivro" -#: bookwyrm/models/book.py:267 +#: bookwyrm/models/book.py:278 msgid "eBook" msgstr "e-book" -#: bookwyrm/models/book.py:268 +#: bookwyrm/models/book.py:279 msgid "Graphic novel" msgstr "Graphic novel" -#: bookwyrm/models/book.py:269 +#: bookwyrm/models/book.py:280 msgid "Hardcover" msgstr "Capa dura" -#: bookwyrm/models/book.py:270 +#: bookwyrm/models/book.py:281 msgid "Paperback" msgstr "Capa mole" @@ -215,7 +215,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:141 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nome de usuário" @@ -300,7 +300,7 @@ msgstr "Disponível para empréstimo" msgid "Approved" msgstr "Aprovado" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:296 msgid "Reviews" msgstr "Resenhas" @@ -332,7 +332,7 @@ msgstr "Linha do tempo dos livros" #: bookwyrm/templates/guided_tour/user_profile.html:101 #: bookwyrm/templates/search/layout.html:22 #: bookwyrm/templates/search/layout.html:43 -#: bookwyrm/templates/user/layout.html:91 +#: bookwyrm/templates/user/layout.html:95 msgid "Books" msgstr "Livros" @@ -490,6 +490,13 @@ msgstr "Enviar mensagem direta" msgid "Code of Conduct" msgstr "Código de conduta" +#: bookwyrm/templates/about/impressum.html:4 +#: bookwyrm/templates/about/impressum.html:9 +#: bookwyrm/templates/about/layout.html:54 +#: bookwyrm/templates/snippets/footer.html:34 +msgid "Impressum" +msgstr "" + #: bookwyrm/templates/about/layout.html:11 msgid "Active users:" msgstr "Usuários ativos:" @@ -517,11 +524,6 @@ msgstr "Sobre %(site_name)s" msgid "Privacy Policy" msgstr "Política de privacidade" -#: bookwyrm/templates/about/layout.html:54 -#: bookwyrm/templates/snippets/footer.html:34 -msgid "Impressum" -msgstr "" - #: bookwyrm/templates/annual_summary/layout.html:7 #: bookwyrm/templates/feed/summary_card.html:8 #, python-format @@ -697,32 +699,41 @@ msgstr "Wikipédia" msgid "View ISNI record" msgstr "Ver registro ISNI" -#: bookwyrm/templates/author/author.html:84 +#: bookwyrm/templates/author/author.html:87 +#: bookwyrm/templates/book/book.html:164 +msgid "View on ISFDB" +msgstr "" + +#: bookwyrm/templates/author/author.html:92 #: bookwyrm/templates/author/sync_modal.html:5 #: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Carregar informações" -#: bookwyrm/templates/author/author.html:88 +#: bookwyrm/templates/author/author.html:96 #: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Ver na OpenLibrary" -#: bookwyrm/templates/author/author.html:103 +#: bookwyrm/templates/author/author.html:111 #: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Ver no Inventaire" -#: bookwyrm/templates/author/author.html:119 +#: bookwyrm/templates/author/author.html:127 msgid "View on LibraryThing" msgstr "Ver no LibraryThing" -#: bookwyrm/templates/author/author.html:127 +#: bookwyrm/templates/author/author.html:135 msgid "View on Goodreads" msgstr "Ver no Goodreads" -#: bookwyrm/templates/author/author.html:142 +#: bookwyrm/templates/author/author.html:143 +msgid "View ISFDB entry" +msgstr "" + +#: bookwyrm/templates/author/author.html:158 #, python-format msgid "Books by %(name)s" msgstr "Livros de %(name)s" @@ -798,16 +809,21 @@ msgid "Librarything key:" msgstr "Chave Librarything:" #: bookwyrm/templates/author/edit_author.html:98 +#: bookwyrm/templates/book/edit/edit_book_form.html:332 msgid "Goodreads key:" msgstr "Chave Goodreads:" #: bookwyrm/templates/author/edit_author.html:105 +msgid "ISFDB:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:112 msgid "ISNI:" msgstr "ISNI:" -#: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:139 +#: bookwyrm/templates/author/edit_author.html:122 +#: bookwyrm/templates/book/book.html:209 +#: bookwyrm/templates/book/edit/edit_book.html:142 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:86 #: bookwyrm/templates/groups/form.html:32 @@ -819,19 +835,21 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 -#: bookwyrm/templates/settings/site.html:194 +#: bookwyrm/templates/settings/registration.html:79 +#: bookwyrm/templates/settings/registration_limited.html:76 +#: bookwyrm/templates/settings/site.html:144 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 msgid "Save" msgstr "Salvar" -#: bookwyrm/templates/author/edit_author.html:116 +#: bookwyrm/templates/author/edit_author.html:123 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:210 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:141 #: bookwyrm/templates/book/edit/edit_book.html:144 +#: bookwyrm/templates/book/edit/edit_book.html:147 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 #: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 @@ -855,7 +873,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "Para carregar informações nos conectaremos a %(source_name)s e buscaremos metadados que ainda não temos sobre este/a autor/a. Metadados já existentes não serão substituídos." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 @@ -885,91 +903,91 @@ msgstr "Erro ao carregar capa" msgid "Click to enlarge" msgstr "Clique para aumentar" -#: bookwyrm/templates/book/book.html:179 +#: bookwyrm/templates/book/book.html:186 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s resenha)" msgstr[1] "(%(review_count)s resenhas)" -#: bookwyrm/templates/book/book.html:191 +#: bookwyrm/templates/book/book.html:198 msgid "Add Description" msgstr "Adicionar descrição" -#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/book.html:205 #: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Descrição:" -#: bookwyrm/templates/book/book.html:214 +#: bookwyrm/templates/book/book.html:221 #, python-format msgid "%(count)s edition" msgid_plural "%(count)s editions" msgstr[0] "%(count)s edição" msgstr[1] "%(count)s edições" -#: bookwyrm/templates/book/book.html:228 +#: bookwyrm/templates/book/book.html:235 msgid "You have shelved this edition in:" msgstr "Você colocou esta edição na estante em:" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:250 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Uma edição diferente deste livro está em sua estante %(shelf_name)s." -#: bookwyrm/templates/book/book.html:254 +#: bookwyrm/templates/book/book.html:261 msgid "Your reading activity" msgstr "Andamento da sua leitura" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:267 #: bookwyrm/templates/guided_tour/book.html:56 msgid "Add read dates" msgstr "Adicionar registro de leitura" -#: bookwyrm/templates/book/book.html:268 +#: bookwyrm/templates/book/book.html:275 msgid "You don't have any reading activity for this book." msgstr "Você ainda não registrou sua leitura." -#: bookwyrm/templates/book/book.html:294 +#: bookwyrm/templates/book/book.html:301 msgid "Your reviews" msgstr "Suas resenhas" -#: bookwyrm/templates/book/book.html:300 +#: bookwyrm/templates/book/book.html:307 msgid "Your comments" msgstr "Seus comentários" -#: bookwyrm/templates/book/book.html:306 +#: bookwyrm/templates/book/book.html:313 msgid "Your quotes" msgstr "Suas citações" -#: bookwyrm/templates/book/book.html:342 +#: bookwyrm/templates/book/book.html:349 msgid "Subjects" msgstr "Assuntos" -#: bookwyrm/templates/book/book.html:354 +#: bookwyrm/templates/book/book.html:361 msgid "Places" msgstr "Lugares" -#: bookwyrm/templates/book/book.html:365 +#: bookwyrm/templates/book/book.html:372 #: bookwyrm/templates/groups/group.html:19 #: bookwyrm/templates/guided_tour/lists.html:14 #: bookwyrm/templates/guided_tour/user_books.html:102 #: bookwyrm/templates/guided_tour/user_profile.html:78 -#: bookwyrm/templates/layout.html:101 bookwyrm/templates/lists/curate.html:8 +#: bookwyrm/templates/layout.html:102 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:26 #: bookwyrm/templates/search/layout.html:51 -#: bookwyrm/templates/user/layout.html:85 +#: bookwyrm/templates/user/layout.html:89 msgid "Lists" msgstr "Listas" -#: bookwyrm/templates/book/book.html:377 +#: bookwyrm/templates/book/book.html:384 msgid "Add to list" msgstr "Adicionar à lista" -#: bookwyrm/templates/book/book.html:387 +#: bookwyrm/templates/book/book.html:394 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -983,15 +1001,29 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:332 +#: bookwyrm/templates/book/edit/edit_book_form.html:341 msgid "OCLC Number:" msgstr "Número OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:341 +#: bookwyrm/templates/book/edit/edit_book_form.html:350 msgid "ASIN:" msgstr "ASIN:" +#: bookwyrm/templates/book/book_identifiers.html:29 +#: bookwyrm/templates/book/edit/edit_book_form.html:359 +msgid "Audible ASIN:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:36 +#: bookwyrm/templates/book/edit/edit_book_form.html:368 +msgid "ISFDB ID:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:43 +msgid "Goodreads:" +msgstr "" + #: bookwyrm/templates/book/cover_add_modal.html:5 msgid "Add cover" msgstr "Adicionar capa" @@ -1058,20 +1090,20 @@ msgstr "Conheça mais em isni.org" msgid "This is a new author" msgstr "É um/a novo/a autor/a" -#: bookwyrm/templates/book/edit/edit_book.html:104 +#: bookwyrm/templates/book/edit/edit_book.html:107 #, python-format msgid "Creating a new author: %(name)s" msgstr "Criando um/a novo/a autor/a: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:111 +#: bookwyrm/templates/book/edit/edit_book.html:114 msgid "Is this an edition of an existing work?" msgstr "É uma edição de uma obra já registrada?" -#: bookwyrm/templates/book/edit/edit_book.html:119 +#: bookwyrm/templates/book/edit/edit_book.html:122 msgid "This is a new work" msgstr "É uma nova obra" -#: bookwyrm/templates/book/edit/edit_book.html:128 +#: bookwyrm/templates/book/edit/edit_book.html:131 #: bookwyrm/templates/feed/status.html:21 #: bookwyrm/templates/guided_tour/book.html:44 #: bookwyrm/templates/guided_tour/book.html:68 @@ -1619,7 +1651,7 @@ msgstr "%(username)s citou }uwh_e*cQ&fpvS<#@Hw1;A&h~6 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 b52?h3yW?j0r*jM=&A&h~6 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\n" "Language-Team: Portuguese\n" "Language: pt\n" @@ -171,23 +171,23 @@ msgstr "Exclusão do moderador" msgid "Domain block" msgstr "Bloqueio de domínio" -#: bookwyrm/models/book.py:266 +#: bookwyrm/models/book.py:277 msgid "Audiobook" msgstr "Livro-áudio" -#: bookwyrm/models/book.py:267 +#: bookwyrm/models/book.py:278 msgid "eBook" msgstr "eBook" -#: bookwyrm/models/book.py:268 +#: bookwyrm/models/book.py:279 msgid "Graphic novel" msgstr "Novela gráfica" -#: bookwyrm/models/book.py:269 +#: bookwyrm/models/book.py:280 msgid "Hardcover" msgstr "Capa dura" -#: bookwyrm/models/book.py:270 +#: bookwyrm/models/book.py:281 msgid "Paperback" msgstr "Capa mole" @@ -215,7 +215,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:141 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nome de utilizador" @@ -300,7 +300,7 @@ msgstr "Disponível para empréstimo" msgid "Approved" msgstr "Aprovado" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:296 msgid "Reviews" msgstr "Criticas" @@ -332,7 +332,7 @@ msgstr "Cronograma de Livros" #: bookwyrm/templates/guided_tour/user_profile.html:101 #: bookwyrm/templates/search/layout.html:22 #: bookwyrm/templates/search/layout.html:43 -#: bookwyrm/templates/user/layout.html:91 +#: bookwyrm/templates/user/layout.html:95 msgid "Books" msgstr "Livros" @@ -490,6 +490,13 @@ msgstr "Enviar mensagem direta" msgid "Code of Conduct" msgstr "Código de Conduta" +#: bookwyrm/templates/about/impressum.html:4 +#: bookwyrm/templates/about/impressum.html:9 +#: bookwyrm/templates/about/layout.html:54 +#: bookwyrm/templates/snippets/footer.html:34 +msgid "Impressum" +msgstr "" + #: bookwyrm/templates/about/layout.html:11 msgid "Active users:" msgstr "Utilizadores ativos:" @@ -517,11 +524,6 @@ msgstr "Acerca de %(site_name)s" msgid "Privacy Policy" msgstr "Política de Privacidade" -#: bookwyrm/templates/about/layout.html:54 -#: bookwyrm/templates/snippets/footer.html:34 -msgid "Impressum" -msgstr "" - #: bookwyrm/templates/annual_summary/layout.html:7 #: bookwyrm/templates/feed/summary_card.html:8 #, python-format @@ -697,32 +699,41 @@ msgstr "Wikipédia" msgid "View ISNI record" msgstr "Ver registro do ISNI" -#: bookwyrm/templates/author/author.html:84 +#: bookwyrm/templates/author/author.html:87 +#: bookwyrm/templates/book/book.html:164 +msgid "View on ISFDB" +msgstr "Ver no ISFDB" + +#: bookwyrm/templates/author/author.html:92 #: bookwyrm/templates/author/sync_modal.html:5 #: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Carregar dados" -#: bookwyrm/templates/author/author.html:88 +#: bookwyrm/templates/author/author.html:96 #: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Ver na OpenLibrary" -#: bookwyrm/templates/author/author.html:103 +#: bookwyrm/templates/author/author.html:111 #: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Ver no Inventaire" -#: bookwyrm/templates/author/author.html:119 +#: bookwyrm/templates/author/author.html:127 msgid "View on LibraryThing" msgstr "Ver na LibraryThing" -#: bookwyrm/templates/author/author.html:127 +#: bookwyrm/templates/author/author.html:135 msgid "View on Goodreads" msgstr "Ver na Goodreads" -#: bookwyrm/templates/author/author.html:142 +#: bookwyrm/templates/author/author.html:143 +msgid "View ISFDB entry" +msgstr "Ver entrada ISFDB" + +#: bookwyrm/templates/author/author.html:158 #, python-format msgid "Books by %(name)s" msgstr "Livros por %(name)s" @@ -798,16 +809,21 @@ msgid "Librarything key:" msgstr "Chave do Librarything:" #: bookwyrm/templates/author/edit_author.html:98 +#: bookwyrm/templates/book/edit/edit_book_form.html:332 msgid "Goodreads key:" msgstr "Chave do Goodreads:" #: bookwyrm/templates/author/edit_author.html:105 +msgid "ISFDB:" +msgstr "ISFDB:" + +#: bookwyrm/templates/author/edit_author.html:112 msgid "ISNI:" msgstr "ISNI:" -#: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:139 +#: bookwyrm/templates/author/edit_author.html:122 +#: bookwyrm/templates/book/book.html:209 +#: bookwyrm/templates/book/edit/edit_book.html:142 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:86 #: bookwyrm/templates/groups/form.html:32 @@ -819,19 +835,21 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 -#: bookwyrm/templates/settings/site.html:194 +#: bookwyrm/templates/settings/registration.html:79 +#: bookwyrm/templates/settings/registration_limited.html:76 +#: bookwyrm/templates/settings/site.html:144 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 msgid "Save" msgstr "Salvar" -#: bookwyrm/templates/author/edit_author.html:116 +#: bookwyrm/templates/author/edit_author.html:123 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:210 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:141 #: bookwyrm/templates/book/edit/edit_book.html:144 +#: bookwyrm/templates/book/edit/edit_book.html:147 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 #: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 @@ -855,7 +873,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "Carregar os dados irá conectar a %(source_name)s e verificar se há metadados sobre este autor que não estão aqui presentes. Os metadados existentes não serão substituídos." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 @@ -885,91 +903,91 @@ msgstr "Não foi possível carregar a capa" msgid "Click to enlarge" msgstr "Clica para ampliar" -#: bookwyrm/templates/book/book.html:179 +#: bookwyrm/templates/book/book.html:186 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s crítica)" msgstr[1] "(%(review_count)s criticas)" -#: bookwyrm/templates/book/book.html:191 +#: bookwyrm/templates/book/book.html:198 msgid "Add Description" msgstr "Adicionar uma descrição" -#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/book.html:205 #: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Descrição:" -#: bookwyrm/templates/book/book.html:214 +#: bookwyrm/templates/book/book.html:221 #, python-format msgid "%(count)s edition" msgid_plural "%(count)s editions" msgstr[0] "" msgstr[1] "" -#: bookwyrm/templates/book/book.html:228 +#: bookwyrm/templates/book/book.html:235 msgid "You have shelved this edition in:" msgstr "Tu arquivaste esta edição em:" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:250 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Uma edição diferente deste livro está na tua prateleira %(shelf_name)s." -#: bookwyrm/templates/book/book.html:254 +#: bookwyrm/templates/book/book.html:261 msgid "Your reading activity" msgstr "A tua atividade de leitura" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:267 #: bookwyrm/templates/guided_tour/book.html:56 msgid "Add read dates" msgstr "Adicionar datas de leitura" -#: bookwyrm/templates/book/book.html:268 +#: bookwyrm/templates/book/book.html:275 msgid "You don't have any reading activity for this book." msgstr "Não tem nenhuma atividade de leitura para este livro." -#: bookwyrm/templates/book/book.html:294 +#: bookwyrm/templates/book/book.html:301 msgid "Your reviews" msgstr "As tuas criticas" -#: bookwyrm/templates/book/book.html:300 +#: bookwyrm/templates/book/book.html:307 msgid "Your comments" msgstr "Os teus comentários" -#: bookwyrm/templates/book/book.html:306 +#: bookwyrm/templates/book/book.html:313 msgid "Your quotes" msgstr "As tuas citações" -#: bookwyrm/templates/book/book.html:342 +#: bookwyrm/templates/book/book.html:349 msgid "Subjects" msgstr "Temas/Áreas" -#: bookwyrm/templates/book/book.html:354 +#: bookwyrm/templates/book/book.html:361 msgid "Places" msgstr "Lugares" -#: bookwyrm/templates/book/book.html:365 +#: bookwyrm/templates/book/book.html:372 #: bookwyrm/templates/groups/group.html:19 #: bookwyrm/templates/guided_tour/lists.html:14 #: bookwyrm/templates/guided_tour/user_books.html:102 #: bookwyrm/templates/guided_tour/user_profile.html:78 -#: bookwyrm/templates/layout.html:101 bookwyrm/templates/lists/curate.html:8 +#: bookwyrm/templates/layout.html:102 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:26 #: bookwyrm/templates/search/layout.html:51 -#: bookwyrm/templates/user/layout.html:85 +#: bookwyrm/templates/user/layout.html:89 msgid "Lists" msgstr "Listas" -#: bookwyrm/templates/book/book.html:377 +#: bookwyrm/templates/book/book.html:384 msgid "Add to list" msgstr "Adicionar à lista" -#: bookwyrm/templates/book/book.html:387 +#: bookwyrm/templates/book/book.html:394 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -983,15 +1001,29 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:332 +#: bookwyrm/templates/book/edit/edit_book_form.html:341 msgid "OCLC Number:" msgstr "Número OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:341 +#: bookwyrm/templates/book/edit/edit_book_form.html:350 msgid "ASIN:" msgstr "ASIN:" +#: bookwyrm/templates/book/book_identifiers.html:29 +#: bookwyrm/templates/book/edit/edit_book_form.html:359 +msgid "Audible ASIN:" +msgstr "Audível ASEM:" + +#: bookwyrm/templates/book/book_identifiers.html:36 +#: bookwyrm/templates/book/edit/edit_book_form.html:368 +msgid "ISFDB ID:" +msgstr "ISFDB ID:" + +#: bookwyrm/templates/book/book_identifiers.html:43 +msgid "Goodreads:" +msgstr "Goodreads:" + #: bookwyrm/templates/book/cover_add_modal.html:5 msgid "Add cover" msgstr "Adicionar uma capa" @@ -1058,20 +1090,20 @@ msgstr "Podes encontrar mais informações em isni.org" msgid "This is a new author" msgstr "Este é um novo autor" -#: bookwyrm/templates/book/edit/edit_book.html:104 +#: bookwyrm/templates/book/edit/edit_book.html:107 #, python-format msgid "Creating a new author: %(name)s" msgstr "Criar um novo autor: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:111 +#: bookwyrm/templates/book/edit/edit_book.html:114 msgid "Is this an edition of an existing work?" msgstr "Esta é uma edição de um trabalho existente?" -#: bookwyrm/templates/book/edit/edit_book.html:119 +#: bookwyrm/templates/book/edit/edit_book.html:122 msgid "This is a new work" msgstr "Este é um novo trabalho" -#: bookwyrm/templates/book/edit/edit_book.html:128 +#: bookwyrm/templates/book/edit/edit_book.html:131 #: bookwyrm/templates/feed/status.html:21 #: bookwyrm/templates/guided_tour/book.html:44 #: bookwyrm/templates/guided_tour/book.html:68 @@ -1619,7 +1651,7 @@ msgstr "%(username)s citou a1;iP>F9HC8j0i;l delta 26 icmcb8f&KOc_J%Et9O4`XrV0keR;Fg#1;iP>F9HC8xd=%B diff --git a/locale/ro_RO/LC_MESSAGES/django.po b/locale/ro_RO/LC_MESSAGES/django.po index 183d02a6b..9ea4c7ff6 100644 --- a/locale/ro_RO/LC_MESSAGES/django.po +++ b/locale/ro_RO/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: bookwyrm\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-12-05 02:21+0000\n" -"PO-Revision-Date: 2022-12-05 03:56\n" +"POT-Creation-Date: 2022-12-11 21:08+0000\n" +"PO-Revision-Date: 2022-12-11 22:09\n" "Last-Translator: Mouse Reeve \n" "Language-Team: Romanian\n" "Language: ro\n" @@ -171,23 +171,23 @@ msgstr "Șters de moderator" msgid "Domain block" msgstr "Blocat de domeniu" -#: bookwyrm/models/book.py:266 +#: bookwyrm/models/book.py:277 msgid "Audiobook" msgstr "Carte audio" -#: bookwyrm/models/book.py:267 +#: bookwyrm/models/book.py:278 msgid "eBook" msgstr "Carte digitală" -#: bookwyrm/models/book.py:268 +#: bookwyrm/models/book.py:279 msgid "Graphic novel" msgstr "Roman grafic" -#: bookwyrm/models/book.py:269 +#: bookwyrm/models/book.py:280 msgid "Hardcover" msgstr "Copertă dură" -#: bookwyrm/models/book.py:270 +#: bookwyrm/models/book.py:281 msgid "Paperback" msgstr "Broșură" @@ -215,7 +215,7 @@ msgstr "%(value)s nu este un remote_id valid" msgid "%(value)s is not a valid username" msgstr "%(value)s nu este un nume de utilizator valid" -#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:141 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nume de utilizator" @@ -300,7 +300,7 @@ msgstr "Disponibilă pentru împrumut" msgid "Approved" msgstr "Aprovat" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:296 msgid "Reviews" msgstr "Recenzii" @@ -332,7 +332,7 @@ msgstr "Friză cronologică de cărți" #: bookwyrm/templates/guided_tour/user_profile.html:101 #: bookwyrm/templates/search/layout.html:22 #: bookwyrm/templates/search/layout.html:43 -#: bookwyrm/templates/user/layout.html:91 +#: bookwyrm/templates/user/layout.html:95 msgid "Books" msgstr "Cărți" @@ -490,6 +490,13 @@ msgstr "Trimiteți un mesaj direct" msgid "Code of Conduct" msgstr "Cod de conduită" +#: bookwyrm/templates/about/impressum.html:4 +#: bookwyrm/templates/about/impressum.html:9 +#: bookwyrm/templates/about/layout.html:54 +#: bookwyrm/templates/snippets/footer.html:34 +msgid "Impressum" +msgstr "" + #: bookwyrm/templates/about/layout.html:11 msgid "Active users:" msgstr "Utilizatori activi:" @@ -517,11 +524,6 @@ msgstr "Despre %(site_name)s" msgid "Privacy Policy" msgstr "Politica de confidențialitate" -#: bookwyrm/templates/about/layout.html:54 -#: bookwyrm/templates/snippets/footer.html:34 -msgid "Impressum" -msgstr "" - #: bookwyrm/templates/annual_summary/layout.html:7 #: bookwyrm/templates/feed/summary_card.html:8 #, python-format @@ -701,32 +703,41 @@ msgstr "Wikipedia" msgid "View ISNI record" msgstr "Vizualizați intrarea ISNI" -#: bookwyrm/templates/author/author.html:84 +#: bookwyrm/templates/author/author.html:87 +#: bookwyrm/templates/book/book.html:164 +msgid "View on ISFDB" +msgstr "" + +#: bookwyrm/templates/author/author.html:92 #: bookwyrm/templates/author/sync_modal.html:5 #: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Încărcați date" -#: bookwyrm/templates/author/author.html:88 +#: bookwyrm/templates/author/author.html:96 #: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Vizualizați în OpenLibrary" -#: bookwyrm/templates/author/author.html:103 +#: bookwyrm/templates/author/author.html:111 #: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Vizualizați în Inventaire" -#: bookwyrm/templates/author/author.html:119 +#: bookwyrm/templates/author/author.html:127 msgid "View on LibraryThing" msgstr "Vizualizați în LibraryThing" -#: bookwyrm/templates/author/author.html:127 +#: bookwyrm/templates/author/author.html:135 msgid "View on Goodreads" msgstr "Vizualizați în Goodreads" -#: bookwyrm/templates/author/author.html:142 +#: bookwyrm/templates/author/author.html:143 +msgid "View ISFDB entry" +msgstr "" + +#: bookwyrm/templates/author/author.html:158 #, python-format msgid "Books by %(name)s" msgstr "Cărți de %(name)s" @@ -802,16 +813,21 @@ msgid "Librarything key:" msgstr "Cheie LibraryThing:" #: bookwyrm/templates/author/edit_author.html:98 +#: bookwyrm/templates/book/edit/edit_book_form.html:332 msgid "Goodreads key:" msgstr "Cheie GoodReads:" #: bookwyrm/templates/author/edit_author.html:105 +msgid "ISFDB:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:112 msgid "ISNI:" msgstr "ISNI:" -#: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:139 +#: bookwyrm/templates/author/edit_author.html:122 +#: bookwyrm/templates/book/book.html:209 +#: bookwyrm/templates/book/edit/edit_book.html:142 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:86 #: bookwyrm/templates/groups/form.html:32 @@ -823,19 +839,21 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 -#: bookwyrm/templates/settings/site.html:194 +#: bookwyrm/templates/settings/registration.html:79 +#: bookwyrm/templates/settings/registration_limited.html:76 +#: bookwyrm/templates/settings/site.html:144 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 msgid "Save" msgstr "Salvați" -#: bookwyrm/templates/author/edit_author.html:116 +#: bookwyrm/templates/author/edit_author.html:123 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:210 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:141 #: bookwyrm/templates/book/edit/edit_book.html:144 +#: bookwyrm/templates/book/edit/edit_book.html:147 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 #: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 @@ -859,7 +877,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "Încărcatul de date se va conecta la %(source_name)s și verifica orice metadate despre autor care nu sunt prezente aici. Metadatele existente nu vor fi suprascrise." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 @@ -889,7 +907,7 @@ msgstr "Eșec la încărcarea coperții" msgid "Click to enlarge" msgstr "Clic pentru a mări" -#: bookwyrm/templates/book/book.html:179 +#: bookwyrm/templates/book/book.html:186 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" @@ -897,17 +915,17 @@ msgstr[0] "(%(review_count)s recenzie)" msgstr[1] "" msgstr[2] "(%(review_count)s recenzii)" -#: bookwyrm/templates/book/book.html:191 +#: bookwyrm/templates/book/book.html:198 msgid "Add Description" msgstr "Adăugați o descriere" -#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/book.html:205 #: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Descriere:" -#: bookwyrm/templates/book/book.html:214 +#: bookwyrm/templates/book/book.html:221 #, python-format msgid "%(count)s edition" msgid_plural "%(count)s editions" @@ -915,67 +933,67 @@ msgstr[0] "%(count)s ediție" msgstr[1] "" msgstr[2] "%(count)s ediții" -#: bookwyrm/templates/book/book.html:228 +#: bookwyrm/templates/book/book.html:235 msgid "You have shelved this edition in:" msgstr "Ați pus această ediție pe raftul:" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:250 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "O ediție diferită a acestei cărți este pe %(shelf_name)s raftul vostru." -#: bookwyrm/templates/book/book.html:254 +#: bookwyrm/templates/book/book.html:261 msgid "Your reading activity" msgstr "Activitatea dvs. de lectură" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:267 #: bookwyrm/templates/guided_tour/book.html:56 msgid "Add read dates" msgstr "Adăugați date de lectură" -#: bookwyrm/templates/book/book.html:268 +#: bookwyrm/templates/book/book.html:275 msgid "You don't have any reading activity for this book." msgstr "Nu aveți nicio activitate de lectură pentru această carte." -#: bookwyrm/templates/book/book.html:294 +#: bookwyrm/templates/book/book.html:301 msgid "Your reviews" msgstr "Recenziile dvs." -#: bookwyrm/templates/book/book.html:300 +#: bookwyrm/templates/book/book.html:307 msgid "Your comments" msgstr "Comentariile dvs." -#: bookwyrm/templates/book/book.html:306 +#: bookwyrm/templates/book/book.html:313 msgid "Your quotes" msgstr "Citatele dvs." -#: bookwyrm/templates/book/book.html:342 +#: bookwyrm/templates/book/book.html:349 msgid "Subjects" msgstr "Subiecte" -#: bookwyrm/templates/book/book.html:354 +#: bookwyrm/templates/book/book.html:361 msgid "Places" msgstr "Locuri" -#: bookwyrm/templates/book/book.html:365 +#: bookwyrm/templates/book/book.html:372 #: bookwyrm/templates/groups/group.html:19 #: bookwyrm/templates/guided_tour/lists.html:14 #: bookwyrm/templates/guided_tour/user_books.html:102 #: bookwyrm/templates/guided_tour/user_profile.html:78 -#: bookwyrm/templates/layout.html:101 bookwyrm/templates/lists/curate.html:8 +#: bookwyrm/templates/layout.html:102 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:26 #: bookwyrm/templates/search/layout.html:51 -#: bookwyrm/templates/user/layout.html:85 +#: bookwyrm/templates/user/layout.html:89 msgid "Lists" msgstr "Liste" -#: bookwyrm/templates/book/book.html:377 +#: bookwyrm/templates/book/book.html:384 msgid "Add to list" msgstr "Adăugați la listă" -#: bookwyrm/templates/book/book.html:387 +#: bookwyrm/templates/book/book.html:394 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -989,15 +1007,29 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:332 +#: bookwyrm/templates/book/edit/edit_book_form.html:341 msgid "OCLC Number:" msgstr "Număr OCLC:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:341 +#: bookwyrm/templates/book/edit/edit_book_form.html:350 msgid "ASIN:" msgstr "ASIN:" +#: bookwyrm/templates/book/book_identifiers.html:29 +#: bookwyrm/templates/book/edit/edit_book_form.html:359 +msgid "Audible ASIN:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:36 +#: bookwyrm/templates/book/edit/edit_book_form.html:368 +msgid "ISFDB ID:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:43 +msgid "Goodreads:" +msgstr "" + #: bookwyrm/templates/book/cover_add_modal.html:5 msgid "Add cover" msgstr "Adăugați copertă" @@ -1064,20 +1096,20 @@ msgstr "Aflați mai multe la isni.org" msgid "This is a new author" msgstr "Acesta este un autor nou" -#: bookwyrm/templates/book/edit/edit_book.html:104 +#: bookwyrm/templates/book/edit/edit_book.html:107 #, python-format msgid "Creating a new author: %(name)s" msgstr "Creați un autor nou: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:111 +#: bookwyrm/templates/book/edit/edit_book.html:114 msgid "Is this an edition of an existing work?" msgstr "Este această o ediție a unei opere existente?" -#: bookwyrm/templates/book/edit/edit_book.html:119 +#: bookwyrm/templates/book/edit/edit_book.html:122 msgid "This is a new work" msgstr "Aceasta este o operă nouă" -#: bookwyrm/templates/book/edit/edit_book.html:128 +#: bookwyrm/templates/book/edit/edit_book.html:131 #: bookwyrm/templates/feed/status.html:21 #: bookwyrm/templates/guided_tour/book.html:44 #: bookwyrm/templates/guided_tour/book.html:68 @@ -1627,7 +1659,7 @@ msgstr "%(username)s a citat \n" "Language-Team: Swedish\n" "Language: sv\n" @@ -171,23 +171,23 @@ msgstr "Borttagning av moderator" msgid "Domain block" msgstr "Domänblockering" -#: bookwyrm/models/book.py:266 +#: bookwyrm/models/book.py:277 msgid "Audiobook" msgstr "Ljudbok" -#: bookwyrm/models/book.py:267 +#: bookwyrm/models/book.py:278 msgid "eBook" msgstr "eBok" -#: bookwyrm/models/book.py:268 +#: bookwyrm/models/book.py:279 msgid "Graphic novel" msgstr "Grafisk novell" -#: bookwyrm/models/book.py:269 +#: bookwyrm/models/book.py:280 msgid "Hardcover" msgstr "Inbunden" -#: bookwyrm/models/book.py:270 +#: bookwyrm/models/book.py:281 msgid "Paperback" msgstr "Pocketbok" @@ -215,7 +215,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:141 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "användarnamn" @@ -300,7 +300,7 @@ msgstr "Tillgänglig för lån" msgid "Approved" msgstr "Godkänd" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:296 msgid "Reviews" msgstr "Recensioner" @@ -332,7 +332,7 @@ msgstr "Tidslinjer för böcker" #: bookwyrm/templates/guided_tour/user_profile.html:101 #: bookwyrm/templates/search/layout.html:22 #: bookwyrm/templates/search/layout.html:43 -#: bookwyrm/templates/user/layout.html:91 +#: bookwyrm/templates/user/layout.html:95 msgid "Books" msgstr "Böcker" @@ -490,6 +490,13 @@ msgstr "Skicka direktmeddelande" msgid "Code of Conduct" msgstr "Uppförandekod" +#: bookwyrm/templates/about/impressum.html:4 +#: bookwyrm/templates/about/impressum.html:9 +#: bookwyrm/templates/about/layout.html:54 +#: bookwyrm/templates/snippets/footer.html:34 +msgid "Impressum" +msgstr "" + #: bookwyrm/templates/about/layout.html:11 msgid "Active users:" msgstr "Aktiva användare:" @@ -517,11 +524,6 @@ msgstr "Om %(site_name)s" msgid "Privacy Policy" msgstr "Integritetspolicy" -#: bookwyrm/templates/about/layout.html:54 -#: bookwyrm/templates/snippets/footer.html:34 -msgid "Impressum" -msgstr "" - #: bookwyrm/templates/annual_summary/layout.html:7 #: bookwyrm/templates/feed/summary_card.html:8 #, python-format @@ -697,32 +699,41 @@ msgstr "Wikipedia" msgid "View ISNI record" msgstr "Visa ISNI-samling" -#: bookwyrm/templates/author/author.html:84 +#: bookwyrm/templates/author/author.html:87 +#: bookwyrm/templates/book/book.html:164 +msgid "View on ISFDB" +msgstr "" + +#: bookwyrm/templates/author/author.html:92 #: bookwyrm/templates/author/sync_modal.html:5 #: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Ladda data" -#: bookwyrm/templates/author/author.html:88 +#: bookwyrm/templates/author/author.html:96 #: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Visa i OpenLibrary" -#: bookwyrm/templates/author/author.html:103 +#: bookwyrm/templates/author/author.html:111 #: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Visa i Inventaire" -#: bookwyrm/templates/author/author.html:119 +#: bookwyrm/templates/author/author.html:127 msgid "View on LibraryThing" msgstr "Visa i LibraryThing" -#: bookwyrm/templates/author/author.html:127 +#: bookwyrm/templates/author/author.html:135 msgid "View on Goodreads" msgstr "Visa i Goodreads" -#: bookwyrm/templates/author/author.html:142 +#: bookwyrm/templates/author/author.html:143 +msgid "View ISFDB entry" +msgstr "" + +#: bookwyrm/templates/author/author.html:158 #, python-format msgid "Books by %(name)s" msgstr "Böcker av %(name)s" @@ -798,16 +809,21 @@ msgid "Librarything key:" msgstr "Librarything-nyckel:" #: bookwyrm/templates/author/edit_author.html:98 +#: bookwyrm/templates/book/edit/edit_book_form.html:332 msgid "Goodreads key:" msgstr "Goodreads-nyckel:" #: bookwyrm/templates/author/edit_author.html:105 +msgid "ISFDB:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:112 msgid "ISNI:" msgstr "ISNI:" -#: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:139 +#: bookwyrm/templates/author/edit_author.html:122 +#: bookwyrm/templates/book/book.html:209 +#: bookwyrm/templates/book/edit/edit_book.html:142 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:86 #: bookwyrm/templates/groups/form.html:32 @@ -819,19 +835,21 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 -#: bookwyrm/templates/settings/site.html:194 +#: bookwyrm/templates/settings/registration.html:79 +#: bookwyrm/templates/settings/registration_limited.html:76 +#: bookwyrm/templates/settings/site.html:144 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 msgid "Save" msgstr "Spara" -#: bookwyrm/templates/author/edit_author.html:116 +#: bookwyrm/templates/author/edit_author.html:123 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:210 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:141 #: bookwyrm/templates/book/edit/edit_book.html:144 +#: bookwyrm/templates/book/edit/edit_book.html:147 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 #: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 @@ -855,7 +873,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "Att ladda in data kommer att ansluta till %(source_name)s och kontrollera eventuella metadata om den här författaren som inte finns här. Befintliga metadata kommer inte att skrivas över." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 @@ -885,91 +903,91 @@ msgstr "Misslyckades med att ladda omslaget" msgid "Click to enlarge" msgstr "Klicka för att förstora" -#: bookwyrm/templates/book/book.html:179 +#: bookwyrm/templates/book/book.html:186 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s recension)" msgstr[1] "(%(review_count)s recensioner)" -#: bookwyrm/templates/book/book.html:191 +#: bookwyrm/templates/book/book.html:198 msgid "Add Description" msgstr "Lägg till beskrivning" -#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/book.html:205 #: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Beskrivning:" -#: bookwyrm/templates/book/book.html:214 +#: bookwyrm/templates/book/book.html:221 #, python-format msgid "%(count)s edition" msgid_plural "%(count)s editions" msgstr[0] "%(count)s utgåva" msgstr[1] "%(count)s utgåvor" -#: bookwyrm/templates/book/book.html:228 +#: bookwyrm/templates/book/book.html:235 msgid "You have shelved this edition in:" msgstr "Du har lagt den här utgåvan i hylla:" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:250 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "En annorlunda utgåva av den här boken finns i din %(shelf_name)s hylla." -#: bookwyrm/templates/book/book.html:254 +#: bookwyrm/templates/book/book.html:261 msgid "Your reading activity" msgstr "Din läsningsaktivitet" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:267 #: bookwyrm/templates/guided_tour/book.html:56 msgid "Add read dates" msgstr "Lägg till läsdatum" -#: bookwyrm/templates/book/book.html:268 +#: bookwyrm/templates/book/book.html:275 msgid "You don't have any reading activity for this book." msgstr "Du har ingen läsaktivitet för den här boken." -#: bookwyrm/templates/book/book.html:294 +#: bookwyrm/templates/book/book.html:301 msgid "Your reviews" msgstr "Dina recensioner" -#: bookwyrm/templates/book/book.html:300 +#: bookwyrm/templates/book/book.html:307 msgid "Your comments" msgstr "Dina kommentarer" -#: bookwyrm/templates/book/book.html:306 +#: bookwyrm/templates/book/book.html:313 msgid "Your quotes" msgstr "Dina citat" -#: bookwyrm/templates/book/book.html:342 +#: bookwyrm/templates/book/book.html:349 msgid "Subjects" msgstr "Ämnen" -#: bookwyrm/templates/book/book.html:354 +#: bookwyrm/templates/book/book.html:361 msgid "Places" msgstr "Platser" -#: bookwyrm/templates/book/book.html:365 +#: bookwyrm/templates/book/book.html:372 #: bookwyrm/templates/groups/group.html:19 #: bookwyrm/templates/guided_tour/lists.html:14 #: bookwyrm/templates/guided_tour/user_books.html:102 #: bookwyrm/templates/guided_tour/user_profile.html:78 -#: bookwyrm/templates/layout.html:101 bookwyrm/templates/lists/curate.html:8 +#: bookwyrm/templates/layout.html:102 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:26 #: bookwyrm/templates/search/layout.html:51 -#: bookwyrm/templates/user/layout.html:85 +#: bookwyrm/templates/user/layout.html:89 msgid "Lists" msgstr "Listor" -#: bookwyrm/templates/book/book.html:377 +#: bookwyrm/templates/book/book.html:384 msgid "Add to list" msgstr "Lägg till i listan" -#: bookwyrm/templates/book/book.html:387 +#: bookwyrm/templates/book/book.html:394 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -983,15 +1001,29 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:332 +#: bookwyrm/templates/book/edit/edit_book_form.html:341 msgid "OCLC Number:" msgstr "OCLC-nummer:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:341 +#: bookwyrm/templates/book/edit/edit_book_form.html:350 msgid "ASIN:" msgstr "ASIN:" +#: bookwyrm/templates/book/book_identifiers.html:29 +#: bookwyrm/templates/book/edit/edit_book_form.html:359 +msgid "Audible ASIN:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:36 +#: bookwyrm/templates/book/edit/edit_book_form.html:368 +msgid "ISFDB ID:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:43 +msgid "Goodreads:" +msgstr "" + #: bookwyrm/templates/book/cover_add_modal.html:5 msgid "Add cover" msgstr "Lägg till omslag" @@ -1058,20 +1090,20 @@ msgstr "Hitta mer information på isni.org" msgid "This is a new author" msgstr "Det här är en ny författare" -#: bookwyrm/templates/book/edit/edit_book.html:104 +#: bookwyrm/templates/book/edit/edit_book.html:107 #, python-format msgid "Creating a new author: %(name)s" msgstr "Skapar en ny författare: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:111 +#: bookwyrm/templates/book/edit/edit_book.html:114 msgid "Is this an edition of an existing work?" msgstr "Är det här en version av ett redan befintligt verk?" -#: bookwyrm/templates/book/edit/edit_book.html:119 +#: bookwyrm/templates/book/edit/edit_book.html:122 msgid "This is a new work" msgstr "Det här är ett nytt verk" -#: bookwyrm/templates/book/edit/edit_book.html:128 +#: bookwyrm/templates/book/edit/edit_book.html:131 #: bookwyrm/templates/feed/status.html:21 #: bookwyrm/templates/guided_tour/book.html:44 #: bookwyrm/templates/guided_tour/book.html:68 @@ -1619,7 +1651,7 @@ msgstr "%(username)s citerade \n" "Language-Team: Chinese Simplified\n" "Language: zh\n" @@ -171,23 +171,23 @@ msgstr "仲裁员删除" msgid "Domain block" msgstr "域名屏蔽" -#: bookwyrm/models/book.py:266 +#: bookwyrm/models/book.py:277 msgid "Audiobook" msgstr "有声书籍" -#: bookwyrm/models/book.py:267 +#: bookwyrm/models/book.py:278 msgid "eBook" msgstr "电子书" -#: bookwyrm/models/book.py:268 +#: bookwyrm/models/book.py:279 msgid "Graphic novel" msgstr "图像小说" -#: bookwyrm/models/book.py:269 +#: bookwyrm/models/book.py:280 msgid "Hardcover" msgstr "精装" -#: bookwyrm/models/book.py:270 +#: bookwyrm/models/book.py:281 msgid "Paperback" msgstr "平装" @@ -215,7 +215,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:141 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "用户名" @@ -300,7 +300,7 @@ msgstr "可借阅" msgid "Approved" msgstr "已通过" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:296 msgid "Reviews" msgstr "书评" @@ -332,7 +332,7 @@ msgstr "书目时间线" #: bookwyrm/templates/guided_tour/user_profile.html:101 #: bookwyrm/templates/search/layout.html:22 #: bookwyrm/templates/search/layout.html:43 -#: bookwyrm/templates/user/layout.html:91 +#: bookwyrm/templates/user/layout.html:95 msgid "Books" msgstr "书目" @@ -490,6 +490,13 @@ msgstr "发送私信" msgid "Code of Conduct" msgstr "行为准则" +#: bookwyrm/templates/about/impressum.html:4 +#: bookwyrm/templates/about/impressum.html:9 +#: bookwyrm/templates/about/layout.html:54 +#: bookwyrm/templates/snippets/footer.html:34 +msgid "Impressum" +msgstr "免责声明" + #: bookwyrm/templates/about/layout.html:11 msgid "Active users:" msgstr "活跃用户:" @@ -517,11 +524,6 @@ msgstr "关于 %(site_name)s" msgid "Privacy Policy" msgstr "隐私政策" -#: bookwyrm/templates/about/layout.html:54 -#: bookwyrm/templates/snippets/footer.html:34 -msgid "Impressum" -msgstr "免责声明" - #: bookwyrm/templates/annual_summary/layout.html:7 #: bookwyrm/templates/feed/summary_card.html:8 #, python-format @@ -693,32 +695,41 @@ msgstr "维基百科" msgid "View ISNI record" msgstr "查看 ISNI 记录" -#: bookwyrm/templates/author/author.html:84 +#: bookwyrm/templates/author/author.html:87 +#: bookwyrm/templates/book/book.html:164 +msgid "View on ISFDB" +msgstr "" + +#: bookwyrm/templates/author/author.html:92 #: bookwyrm/templates/author/sync_modal.html:5 #: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "加载数据" -#: bookwyrm/templates/author/author.html:88 +#: bookwyrm/templates/author/author.html:96 #: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "在 OpenLibrary 查看" -#: bookwyrm/templates/author/author.html:103 +#: bookwyrm/templates/author/author.html:111 #: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "在 Inventaire 查看" -#: bookwyrm/templates/author/author.html:119 +#: bookwyrm/templates/author/author.html:127 msgid "View on LibraryThing" msgstr "在 LibraryThing 查看" -#: bookwyrm/templates/author/author.html:127 +#: bookwyrm/templates/author/author.html:135 msgid "View on Goodreads" msgstr "在 Goodreads 查看" -#: bookwyrm/templates/author/author.html:142 +#: bookwyrm/templates/author/author.html:143 +msgid "View ISFDB entry" +msgstr "" + +#: bookwyrm/templates/author/author.html:158 #, python-format msgid "Books by %(name)s" msgstr "%(name)s 所著的书" @@ -794,16 +805,21 @@ msgid "Librarything key:" msgstr "Librarything key:" #: bookwyrm/templates/author/edit_author.html:98 +#: bookwyrm/templates/book/edit/edit_book_form.html:332 msgid "Goodreads key:" msgstr "Goodreads key:" #: bookwyrm/templates/author/edit_author.html:105 +msgid "ISFDB:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:112 msgid "ISNI:" msgstr "ISNI:" -#: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:139 +#: bookwyrm/templates/author/edit_author.html:122 +#: bookwyrm/templates/book/book.html:209 +#: bookwyrm/templates/book/edit/edit_book.html:142 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:86 #: bookwyrm/templates/groups/form.html:32 @@ -815,19 +831,21 @@ msgstr "ISNI:" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 -#: bookwyrm/templates/settings/site.html:194 +#: bookwyrm/templates/settings/registration.html:79 +#: bookwyrm/templates/settings/registration_limited.html:76 +#: bookwyrm/templates/settings/site.html:144 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 msgid "Save" msgstr "保存" -#: bookwyrm/templates/author/edit_author.html:116 +#: bookwyrm/templates/author/edit_author.html:123 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:210 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:141 #: bookwyrm/templates/book/edit/edit_book.html:144 +#: bookwyrm/templates/book/edit/edit_book.html:147 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 #: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 @@ -851,7 +869,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "加载数据会连接到 %(source_name)s 并检查这里还没有记录的与作者相关的元数据。现存的元数据不会被覆盖。" #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 @@ -881,89 +899,89 @@ msgstr "加载封面失败" msgid "Click to enlarge" msgstr "点击放大" -#: bookwyrm/templates/book/book.html:179 +#: bookwyrm/templates/book/book.html:186 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s 则书评)" -#: bookwyrm/templates/book/book.html:191 +#: bookwyrm/templates/book/book.html:198 msgid "Add Description" msgstr "添加描述" -#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/book.html:205 #: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "描述:" -#: bookwyrm/templates/book/book.html:214 +#: bookwyrm/templates/book/book.html:221 #, python-format msgid "%(count)s edition" msgid_plural "%(count)s editions" msgstr[0] "%(count)s 版次" -#: bookwyrm/templates/book/book.html:228 +#: bookwyrm/templates/book/book.html:235 msgid "You have shelved this edition in:" msgstr "此版本已在你的书架上:" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:250 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "本书的 另一个版本 在你的 %(shelf_name)s 书架上。" -#: bookwyrm/templates/book/book.html:254 +#: bookwyrm/templates/book/book.html:261 msgid "Your reading activity" msgstr "你的阅读活动" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:267 #: bookwyrm/templates/guided_tour/book.html:56 msgid "Add read dates" msgstr "添加阅读日期" -#: bookwyrm/templates/book/book.html:268 +#: bookwyrm/templates/book/book.html:275 msgid "You don't have any reading activity for this book." msgstr "你还没有任何这本书的阅读活动。" -#: bookwyrm/templates/book/book.html:294 +#: bookwyrm/templates/book/book.html:301 msgid "Your reviews" msgstr "你的书评" -#: bookwyrm/templates/book/book.html:300 +#: bookwyrm/templates/book/book.html:307 msgid "Your comments" msgstr "你的评论" -#: bookwyrm/templates/book/book.html:306 +#: bookwyrm/templates/book/book.html:313 msgid "Your quotes" msgstr "你的引用" -#: bookwyrm/templates/book/book.html:342 +#: bookwyrm/templates/book/book.html:349 msgid "Subjects" msgstr "主题" -#: bookwyrm/templates/book/book.html:354 +#: bookwyrm/templates/book/book.html:361 msgid "Places" msgstr "地点" -#: bookwyrm/templates/book/book.html:365 +#: bookwyrm/templates/book/book.html:372 #: bookwyrm/templates/groups/group.html:19 #: bookwyrm/templates/guided_tour/lists.html:14 #: bookwyrm/templates/guided_tour/user_books.html:102 #: bookwyrm/templates/guided_tour/user_profile.html:78 -#: bookwyrm/templates/layout.html:101 bookwyrm/templates/lists/curate.html:8 +#: bookwyrm/templates/layout.html:102 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:26 #: bookwyrm/templates/search/layout.html:51 -#: bookwyrm/templates/user/layout.html:85 +#: bookwyrm/templates/user/layout.html:89 msgid "Lists" msgstr "列表" -#: bookwyrm/templates/book/book.html:377 +#: bookwyrm/templates/book/book.html:384 msgid "Add to list" msgstr "添加到列表" -#: bookwyrm/templates/book/book.html:387 +#: bookwyrm/templates/book/book.html:394 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -977,15 +995,29 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:332 +#: bookwyrm/templates/book/edit/edit_book_form.html:341 msgid "OCLC Number:" msgstr "OCLC 号:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:341 +#: bookwyrm/templates/book/edit/edit_book_form.html:350 msgid "ASIN:" msgstr "ASIN:" +#: bookwyrm/templates/book/book_identifiers.html:29 +#: bookwyrm/templates/book/edit/edit_book_form.html:359 +msgid "Audible ASIN:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:36 +#: bookwyrm/templates/book/edit/edit_book_form.html:368 +msgid "ISFDB ID:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:43 +msgid "Goodreads:" +msgstr "" + #: bookwyrm/templates/book/cover_add_modal.html:5 msgid "Add cover" msgstr "添加封面" @@ -1052,20 +1084,20 @@ msgstr "在 isni.org 查找更多信息" msgid "This is a new author" msgstr "这是一位新的作者" -#: bookwyrm/templates/book/edit/edit_book.html:104 +#: bookwyrm/templates/book/edit/edit_book.html:107 #, python-format msgid "Creating a new author: %(name)s" msgstr "正在创建新的作者: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:111 +#: bookwyrm/templates/book/edit/edit_book.html:114 msgid "Is this an edition of an existing work?" msgstr "这是已存在的作品的一个版本吗?" -#: bookwyrm/templates/book/edit/edit_book.html:119 +#: bookwyrm/templates/book/edit/edit_book.html:122 msgid "This is a new work" msgstr "这是一个新的作品。" -#: bookwyrm/templates/book/edit/edit_book.html:128 +#: bookwyrm/templates/book/edit/edit_book.html:131 #: bookwyrm/templates/feed/status.html:21 #: bookwyrm/templates/guided_tour/book.html:44 #: bookwyrm/templates/guided_tour/book.html:68 @@ -1611,7 +1643,7 @@ msgstr "%(username)s 引用了 \n" "Language-Team: Chinese Traditional\n" "Language: zh\n" @@ -171,23 +171,23 @@ msgstr "" msgid "Domain block" msgstr "" -#: bookwyrm/models/book.py:266 +#: bookwyrm/models/book.py:277 msgid "Audiobook" msgstr "" -#: bookwyrm/models/book.py:267 +#: bookwyrm/models/book.py:278 msgid "eBook" msgstr "" -#: bookwyrm/models/book.py:268 +#: bookwyrm/models/book.py:279 msgid "Graphic novel" msgstr "" -#: bookwyrm/models/book.py:269 +#: bookwyrm/models/book.py:280 msgid "Hardcover" msgstr "" -#: bookwyrm/models/book.py:270 +#: bookwyrm/models/book.py:281 msgid "Paperback" msgstr "" @@ -215,7 +215,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:141 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "使用者名稱" @@ -300,7 +300,7 @@ msgstr "" msgid "Approved" msgstr "" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:296 msgid "Reviews" msgstr "書評" @@ -332,7 +332,7 @@ msgstr "" #: bookwyrm/templates/guided_tour/user_profile.html:101 #: bookwyrm/templates/search/layout.html:22 #: bookwyrm/templates/search/layout.html:43 -#: bookwyrm/templates/user/layout.html:91 +#: bookwyrm/templates/user/layout.html:95 msgid "Books" msgstr "書目" @@ -490,6 +490,13 @@ msgstr "發送私信" msgid "Code of Conduct" msgstr "行為準則" +#: bookwyrm/templates/about/impressum.html:4 +#: bookwyrm/templates/about/impressum.html:9 +#: bookwyrm/templates/about/layout.html:54 +#: bookwyrm/templates/snippets/footer.html:34 +msgid "Impressum" +msgstr "" + #: bookwyrm/templates/about/layout.html:11 msgid "Active users:" msgstr "" @@ -517,11 +524,6 @@ msgstr "關於 %(site_name)s" msgid "Privacy Policy" msgstr "隱私政策" -#: bookwyrm/templates/about/layout.html:54 -#: bookwyrm/templates/snippets/footer.html:34 -msgid "Impressum" -msgstr "" - #: bookwyrm/templates/annual_summary/layout.html:7 #: bookwyrm/templates/feed/summary_card.html:8 #, python-format @@ -693,32 +695,41 @@ msgstr "維基百科" msgid "View ISNI record" msgstr "" -#: bookwyrm/templates/author/author.html:84 +#: bookwyrm/templates/author/author.html:87 +#: bookwyrm/templates/book/book.html:164 +msgid "View on ISFDB" +msgstr "" + +#: bookwyrm/templates/author/author.html:92 #: bookwyrm/templates/author/sync_modal.html:5 #: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "" -#: bookwyrm/templates/author/author.html:88 +#: bookwyrm/templates/author/author.html:96 #: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "在 OpenLibrary 檢視" -#: bookwyrm/templates/author/author.html:103 +#: bookwyrm/templates/author/author.html:111 #: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "在 Inventaire 檢視" -#: bookwyrm/templates/author/author.html:119 +#: bookwyrm/templates/author/author.html:127 msgid "View on LibraryThing" msgstr "" -#: bookwyrm/templates/author/author.html:127 +#: bookwyrm/templates/author/author.html:135 msgid "View on Goodreads" msgstr "" -#: bookwyrm/templates/author/author.html:142 +#: bookwyrm/templates/author/author.html:143 +msgid "View ISFDB entry" +msgstr "" + +#: bookwyrm/templates/author/author.html:158 #, python-format msgid "Books by %(name)s" msgstr "%(name)s 所著的書" @@ -794,16 +805,21 @@ msgid "Librarything key:" msgstr "Librarything key:" #: bookwyrm/templates/author/edit_author.html:98 +#: bookwyrm/templates/book/edit/edit_book_form.html:332 msgid "Goodreads key:" msgstr "Goodreads key:" #: bookwyrm/templates/author/edit_author.html:105 +msgid "ISFDB:" +msgstr "" + +#: bookwyrm/templates/author/edit_author.html:112 msgid "ISNI:" msgstr "" -#: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:139 +#: bookwyrm/templates/author/edit_author.html:122 +#: bookwyrm/templates/book/book.html:209 +#: bookwyrm/templates/book/edit/edit_book.html:142 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:86 #: bookwyrm/templates/groups/form.html:32 @@ -815,19 +831,21 @@ msgstr "" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 -#: bookwyrm/templates/settings/site.html:194 +#: bookwyrm/templates/settings/registration.html:79 +#: bookwyrm/templates/settings/registration_limited.html:76 +#: bookwyrm/templates/settings/site.html:144 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 msgid "Save" msgstr "儲存" -#: bookwyrm/templates/author/edit_author.html:116 +#: bookwyrm/templates/author/edit_author.html:123 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:210 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:141 #: bookwyrm/templates/book/edit/edit_book.html:144 +#: bookwyrm/templates/book/edit/edit_book.html:147 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 #: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 @@ -851,7 +869,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "" #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 @@ -881,89 +899,89 @@ msgstr "載入封面失敗" msgid "Click to enlarge" msgstr "" -#: bookwyrm/templates/book/book.html:179 +#: bookwyrm/templates/book/book.html:186 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s 則書評)" -#: bookwyrm/templates/book/book.html:191 +#: bookwyrm/templates/book/book.html:198 msgid "Add Description" msgstr "新增描述" -#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/book.html:205 #: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "描述:" -#: bookwyrm/templates/book/book.html:214 +#: bookwyrm/templates/book/book.html:221 #, python-format msgid "%(count)s edition" msgid_plural "%(count)s editions" msgstr[0] "" -#: bookwyrm/templates/book/book.html:228 +#: bookwyrm/templates/book/book.html:235 msgid "You have shelved this edition in:" msgstr "" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:250 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "本書的 另一個版本 在你的 %(shelf_name)s 書架上。" -#: bookwyrm/templates/book/book.html:254 +#: bookwyrm/templates/book/book.html:261 msgid "Your reading activity" msgstr "你的閱讀活動" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:267 #: bookwyrm/templates/guided_tour/book.html:56 msgid "Add read dates" msgstr "新增閱讀日期" -#: bookwyrm/templates/book/book.html:268 +#: bookwyrm/templates/book/book.html:275 msgid "You don't have any reading activity for this book." msgstr "你還未閱讀這本書。" -#: bookwyrm/templates/book/book.html:294 +#: bookwyrm/templates/book/book.html:301 msgid "Your reviews" msgstr "你的書評" -#: bookwyrm/templates/book/book.html:300 +#: bookwyrm/templates/book/book.html:307 msgid "Your comments" msgstr "你的評論" -#: bookwyrm/templates/book/book.html:306 +#: bookwyrm/templates/book/book.html:313 msgid "Your quotes" msgstr "你的引用" -#: bookwyrm/templates/book/book.html:342 +#: bookwyrm/templates/book/book.html:349 msgid "Subjects" msgstr "主題" -#: bookwyrm/templates/book/book.html:354 +#: bookwyrm/templates/book/book.html:361 msgid "Places" msgstr "地點" -#: bookwyrm/templates/book/book.html:365 +#: bookwyrm/templates/book/book.html:372 #: bookwyrm/templates/groups/group.html:19 #: bookwyrm/templates/guided_tour/lists.html:14 #: bookwyrm/templates/guided_tour/user_books.html:102 #: bookwyrm/templates/guided_tour/user_profile.html:78 -#: bookwyrm/templates/layout.html:101 bookwyrm/templates/lists/curate.html:8 +#: bookwyrm/templates/layout.html:102 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:26 #: bookwyrm/templates/search/layout.html:51 -#: bookwyrm/templates/user/layout.html:85 +#: bookwyrm/templates/user/layout.html:89 msgid "Lists" msgstr "列表" -#: bookwyrm/templates/book/book.html:377 +#: bookwyrm/templates/book/book.html:384 msgid "Add to list" msgstr "新增到列表" -#: bookwyrm/templates/book/book.html:387 +#: bookwyrm/templates/book/book.html:394 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -977,15 +995,29 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:332 +#: bookwyrm/templates/book/edit/edit_book_form.html:341 msgid "OCLC Number:" msgstr "OCLC 號:" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:341 +#: bookwyrm/templates/book/edit/edit_book_form.html:350 msgid "ASIN:" msgstr "ASIN:" +#: bookwyrm/templates/book/book_identifiers.html:29 +#: bookwyrm/templates/book/edit/edit_book_form.html:359 +msgid "Audible ASIN:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:36 +#: bookwyrm/templates/book/edit/edit_book_form.html:368 +msgid "ISFDB ID:" +msgstr "" + +#: bookwyrm/templates/book/book_identifiers.html:43 +msgid "Goodreads:" +msgstr "" + #: bookwyrm/templates/book/cover_add_modal.html:5 msgid "Add cover" msgstr "新增封面" @@ -1052,20 +1084,20 @@ msgstr "" msgid "This is a new author" msgstr "這是一位新的作者" -#: bookwyrm/templates/book/edit/edit_book.html:104 +#: bookwyrm/templates/book/edit/edit_book.html:107 #, python-format msgid "Creating a new author: %(name)s" msgstr "正在建立新的作者: %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:111 +#: bookwyrm/templates/book/edit/edit_book.html:114 msgid "Is this an edition of an existing work?" msgstr "這是已存在的作品的另一個版本嗎?" -#: bookwyrm/templates/book/edit/edit_book.html:119 +#: bookwyrm/templates/book/edit/edit_book.html:122 msgid "This is a new work" msgstr "這是一個新的作品。" -#: bookwyrm/templates/book/edit/edit_book.html:128 +#: bookwyrm/templates/book/edit/edit_book.html:131 #: bookwyrm/templates/feed/status.html:21 #: bookwyrm/templates/guided_tour/book.html:44 #: bookwyrm/templates/guided_tour/book.html:68 @@ -1611,7 +1643,7 @@ msgstr "" #: bookwyrm/templates/discover/discover.html:4 #: bookwyrm/templates/discover/discover.html:10 -#: bookwyrm/templates/layout.html:104 +#: bookwyrm/templates/layout.html:105 msgid "Discover" msgstr "" @@ -1734,7 +1766,16 @@ msgstr "如果你沒有請求重設密碼,你可以忽略這封郵件。" msgid "Reset your %(site_name)s password" msgstr "重置你在 %(site_name)s 的密碼" -#: bookwyrm/templates/embed-layout.html:20 bookwyrm/templates/layout.html:40 +#: bookwyrm/templates/email/test/html_content.html:6 +#: bookwyrm/templates/email/test/text_content.html:4 +msgid "This is a test email." +msgstr "" + +#: bookwyrm/templates/email/test/subject.html:2 +msgid "Test email" +msgstr "" + +#: bookwyrm/templates/embed-layout.html:20 bookwyrm/templates/layout.html:41 #: bookwyrm/templates/setup/layout.html:15 #: bookwyrm/templates/two_factor_auth/two_factor_login.html:18 #: bookwyrm/templates/two_factor_auth/two_factor_prompt.html:18 @@ -1873,7 +1914,7 @@ msgid "What are you reading?" msgstr "你在閱讀什麼?" #: bookwyrm/templates/get_started/books.html:9 -#: bookwyrm/templates/layout.html:48 bookwyrm/templates/lists/list.html:213 +#: bookwyrm/templates/layout.html:49 bookwyrm/templates/lists/list.html:213 msgid "Search for a book" msgstr "搜尋書目" @@ -1892,8 +1933,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:54 -#: bookwyrm/templates/layout.html:55 bookwyrm/templates/lists/list.html:217 +#: bookwyrm/templates/groups/members.html:16 bookwyrm/templates/layout.html:55 +#: bookwyrm/templates/layout.html:56 bookwyrm/templates/lists/list.html:217 #: bookwyrm/templates/search/layout.html:5 #: bookwyrm/templates/search/layout.html:10 msgid "Search" @@ -2369,8 +2410,8 @@ msgid "The bell will light up when you have a new notification. When it does, cl msgstr "" #: bookwyrm/templates/guided_tour/home.html:177 -#: bookwyrm/templates/layout.html:85 bookwyrm/templates/layout.html:117 -#: bookwyrm/templates/layout.html:118 +#: bookwyrm/templates/layout.html:86 bookwyrm/templates/layout.html:118 +#: bookwyrm/templates/layout.html:119 #: bookwyrm/templates/notifications/notifications_page.html:5 #: bookwyrm/templates/notifications/notifications_page.html:10 msgid "Notifications" @@ -2533,7 +2574,7 @@ msgstr "" #: bookwyrm/templates/guided_tour/user_groups.html:11 #: bookwyrm/templates/guided_tour/user_profile.html:55 -#: bookwyrm/templates/user/layout.html:79 +#: bookwyrm/templates/user/layout.html:83 msgid "Groups" msgstr "" @@ -2587,7 +2628,7 @@ msgid "This tab shows everything you have read towards your annual reading goal, msgstr "" #: bookwyrm/templates/guided_tour/user_profile.html:32 -#: bookwyrm/templates/user/layout.html:73 +#: bookwyrm/templates/user/layout.html:77 msgid "Reading Goal" msgstr "閱讀目標" @@ -2940,7 +2981,7 @@ msgid "Login" msgstr "登入" #: bookwyrm/templates/landing/login.html:7 -#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:149 +#: bookwyrm/templates/landing/login.html:36 bookwyrm/templates/layout.html:150 #: bookwyrm/templates/ostatus/error.html:37 msgid "Log in" msgstr "登入" @@ -2951,7 +2992,7 @@ msgstr "" #: bookwyrm/templates/landing/login.html:21 #: bookwyrm/templates/landing/reactivate.html:17 -#: bookwyrm/templates/layout.html:140 bookwyrm/templates/ostatus/error.html:28 +#: bookwyrm/templates/layout.html:141 bookwyrm/templates/ostatus/error.html:28 #: bookwyrm/templates/snippets/register_form.html:4 msgid "Username:" msgstr "使用者名稱:" @@ -2959,13 +3000,13 @@ msgstr "使用者名稱:" #: bookwyrm/templates/landing/login.html:27 #: bookwyrm/templates/landing/password_reset.html:26 #: bookwyrm/templates/landing/reactivate.html:23 -#: bookwyrm/templates/layout.html:144 bookwyrm/templates/ostatus/error.html:32 +#: bookwyrm/templates/layout.html:145 bookwyrm/templates/ostatus/error.html:32 #: bookwyrm/templates/preferences/2fa.html:91 #: bookwyrm/templates/snippets/register_form.html:45 msgid "Password:" msgstr "密碼:" -#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:146 +#: bookwyrm/templates/landing/login.html:39 bookwyrm/templates/layout.html:147 #: bookwyrm/templates/ostatus/error.html:34 msgid "Forgot your password?" msgstr "忘記了密碼?" @@ -3008,35 +3049,35 @@ msgstr "" msgid "%(site_name)s search" msgstr "" -#: bookwyrm/templates/layout.html:46 +#: bookwyrm/templates/layout.html:47 msgid "Search for a book, user, or list" msgstr "" -#: bookwyrm/templates/layout.html:61 bookwyrm/templates/layout.html:62 +#: bookwyrm/templates/layout.html:62 bookwyrm/templates/layout.html:63 msgid "Scan Barcode" msgstr "" -#: bookwyrm/templates/layout.html:76 +#: bookwyrm/templates/layout.html:77 msgid "Main navigation menu" msgstr "主導航選單" -#: bookwyrm/templates/layout.html:98 +#: bookwyrm/templates/layout.html:99 msgid "Feed" msgstr "動態" -#: bookwyrm/templates/layout.html:145 bookwyrm/templates/ostatus/error.html:33 +#: bookwyrm/templates/layout.html:146 bookwyrm/templates/ostatus/error.html:33 msgid "password" msgstr "密碼" -#: bookwyrm/templates/layout.html:157 +#: bookwyrm/templates/layout.html:158 msgid "Join" msgstr "加入" -#: bookwyrm/templates/layout.html:191 +#: bookwyrm/templates/layout.html:192 msgid "Successfully posted status" msgstr "" -#: bookwyrm/templates/layout.html:192 +#: bookwyrm/templates/layout.html:193 msgid "Error posting status" msgstr "" @@ -3873,7 +3914,7 @@ msgstr "使用者資料" #: bookwyrm/templates/preferences/edit_user.html:13 #: bookwyrm/templates/preferences/edit_user.html:64 #: bookwyrm/templates/settings/site.html:11 -#: bookwyrm/templates/settings/site.html:90 +#: bookwyrm/templates/settings/site.html:89 #: bookwyrm/templates/setup/config.html:91 msgid "Display" msgstr "" @@ -4158,7 +4199,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:97 +#: bookwyrm/templates/settings/layout.html:99 msgid "Announcements" msgstr "公告" @@ -4540,6 +4581,58 @@ msgstr[0] "" msgid "No email domains currently blocked" msgstr "" +#: bookwyrm/templates/settings/email_config.html:6 +#: bookwyrm/templates/settings/email_config.html:8 +#: bookwyrm/templates/settings/layout.html:90 +msgid "Email Configuration" +msgstr "" + +#: bookwyrm/templates/settings/email_config.html:16 +msgid "Error sending test email:" +msgstr "" + +#: bookwyrm/templates/settings/email_config.html:24 +msgid "Successfully sent test email." +msgstr "" + +#: bookwyrm/templates/settings/email_config.html:32 +#: bookwyrm/templates/setup/config.html:102 +msgid "Email sender:" +msgstr "" + +#: bookwyrm/templates/settings/email_config.html:39 +msgid "Email backend:" +msgstr "" + +#: bookwyrm/templates/settings/email_config.html:46 +msgid "Host:" +msgstr "" + +#: bookwyrm/templates/settings/email_config.html:53 +msgid "Host user:" +msgstr "" + +#: bookwyrm/templates/settings/email_config.html:60 +msgid "Port:" +msgstr "" + +#: bookwyrm/templates/settings/email_config.html:67 +msgid "Use TLS:" +msgstr "" + +#: bookwyrm/templates/settings/email_config.html:74 +msgid "Use SSL:" +msgstr "" + +#: bookwyrm/templates/settings/email_config.html:83 +#, python-format +msgid "Send test email to %(email)s" +msgstr "" + +#: bookwyrm/templates/settings/email_config.html:90 +msgid "Send test email" +msgstr "" + #: bookwyrm/templates/settings/federation/edit_instance.html:3 #: bookwyrm/templates/settings/federation/edit_instance.html:6 #: bookwyrm/templates/settings/federation/edit_instance.html:15 @@ -4923,22 +5016,31 @@ msgstr "" msgid "System" msgstr "" -#: bookwyrm/templates/settings/layout.html:88 +#: bookwyrm/templates/settings/layout.html:86 msgid "Celery status" msgstr "" -#: bookwyrm/templates/settings/layout.html:93 +#: bookwyrm/templates/settings/layout.html:95 msgid "Instance Settings" msgstr "實例設定" -#: bookwyrm/templates/settings/layout.html:101 +#: bookwyrm/templates/settings/layout.html:103 #: bookwyrm/templates/settings/site.html:4 #: bookwyrm/templates/settings/site.html:6 msgid "Site Settings" msgstr "網站設定" -#: bookwyrm/templates/settings/layout.html:106 -#: bookwyrm/templates/settings/site.html:108 +#: bookwyrm/templates/settings/layout.html:109 +#: bookwyrm/templates/settings/layout.html:112 +#: bookwyrm/templates/settings/registration.html:4 +#: bookwyrm/templates/settings/registration.html:6 +#: bookwyrm/templates/settings/registration_limited.html:4 +#: bookwyrm/templates/settings/registration_limited.html:6 +msgid "Registration" +msgstr "註冊" + +#: bookwyrm/templates/settings/layout.html:118 +#: bookwyrm/templates/settings/site.html:107 #: bookwyrm/templates/settings/themes.html:4 #: bookwyrm/templates/settings/themes.html:6 msgid "Themes" @@ -4977,6 +5079,58 @@ msgstr "" msgid "No links available for this domain." msgstr "" +#: bookwyrm/templates/settings/registration.html:13 +#: bookwyrm/templates/settings/registration_limited.html:13 +#: bookwyrm/templates/settings/site.html:21 +msgid "Settings saved" +msgstr "" + +#: bookwyrm/templates/settings/registration.html:22 +#: bookwyrm/templates/settings/registration_limited.html:22 +#: bookwyrm/templates/settings/site.html:30 +msgid "Unable to save settings" +msgstr "" + +#: bookwyrm/templates/settings/registration.html:38 +msgid "Allow registration" +msgstr "" + +#: bookwyrm/templates/settings/registration.html:44 +msgid "Require users to confirm email address" +msgstr "" + +#: bookwyrm/templates/settings/registration.html:46 +msgid "(Recommended if registration is open)" +msgstr "" + +#: bookwyrm/templates/settings/registration.html:51 +msgid "Allow invite requests" +msgstr "" + +#: bookwyrm/templates/settings/registration.html:55 +#: bookwyrm/templates/settings/registration_limited.html:42 +msgid "Invite request text:" +msgstr "" + +#: bookwyrm/templates/settings/registration.html:63 +#: bookwyrm/templates/settings/registration_limited.html:50 +msgid "Set a question for invite requests" +msgstr "" + +#: bookwyrm/templates/settings/registration.html:68 +#: bookwyrm/templates/settings/registration_limited.html:55 +msgid "Question:" +msgstr "" + +#: bookwyrm/templates/settings/registration.html:73 +#: bookwyrm/templates/settings/registration_limited.html:67 +msgid "Registration closed text:" +msgstr "註冊關閉文字:" + +#: bookwyrm/templates/settings/registration_limited.html:29 +msgid "Registration is enabled on this instance" +msgstr "" + #: bookwyrm/templates/settings/reports/report.html:12 msgid "Back to reports" msgstr "回到舉報" @@ -5074,132 +5228,87 @@ msgid "No reports found." msgstr "沒有找到舉報" #: bookwyrm/templates/settings/site.html:10 -#: bookwyrm/templates/settings/site.html:44 +#: bookwyrm/templates/settings/site.html:43 msgid "Instance Info" msgstr "實例資訊" #: bookwyrm/templates/settings/site.html:12 -#: bookwyrm/templates/settings/site.html:123 +#: bookwyrm/templates/settings/site.html:122 msgid "Footer Content" msgstr "頁尾內容" -#: bookwyrm/templates/settings/site.html:13 -#: bookwyrm/templates/settings/site.html:147 -msgid "Registration" -msgstr "註冊" - -#: 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:47 +#: bookwyrm/templates/settings/site.html:46 msgid "Instance Name:" msgstr "實例名稱" -#: bookwyrm/templates/settings/site.html:51 +#: bookwyrm/templates/settings/site.html:50 msgid "Tagline:" msgstr "標語" -#: bookwyrm/templates/settings/site.html:55 +#: bookwyrm/templates/settings/site.html:54 msgid "Instance description:" msgstr "實例描述:" -#: bookwyrm/templates/settings/site.html:59 +#: bookwyrm/templates/settings/site.html:58 msgid "Short description:" msgstr "" -#: bookwyrm/templates/settings/site.html:60 +#: bookwyrm/templates/settings/site.html:59 msgid "Used when the instance is previewed on joinbookwyrm.com. Does not support HTML or Markdown." msgstr "" -#: bookwyrm/templates/settings/site.html:64 +#: bookwyrm/templates/settings/site.html:63 msgid "Code of conduct:" msgstr "行為準則:" -#: bookwyrm/templates/settings/site.html:68 +#: bookwyrm/templates/settings/site.html:67 msgid "Privacy Policy:" msgstr "隱私政策:" -#: bookwyrm/templates/settings/site.html:73 +#: bookwyrm/templates/settings/site.html:72 msgid "Impressum:" msgstr "" -#: bookwyrm/templates/settings/site.html:78 +#: bookwyrm/templates/settings/site.html:77 msgid "Include impressum:" msgstr "" -#: bookwyrm/templates/settings/site.html:92 +#: bookwyrm/templates/settings/site.html:91 msgid "Images" msgstr "圖片" -#: bookwyrm/templates/settings/site.html:95 +#: bookwyrm/templates/settings/site.html:94 msgid "Logo:" msgstr "圖示:" -#: bookwyrm/templates/settings/site.html:99 +#: bookwyrm/templates/settings/site.html:98 msgid "Logo small:" msgstr "小號圖示:" -#: bookwyrm/templates/settings/site.html:103 +#: bookwyrm/templates/settings/site.html:102 msgid "Favicon:" msgstr "Favicon:" -#: bookwyrm/templates/settings/site.html:111 +#: bookwyrm/templates/settings/site.html:110 msgid "Default theme:" msgstr "" -#: bookwyrm/templates/settings/site.html:126 +#: bookwyrm/templates/settings/site.html:125 msgid "Support link:" msgstr "支援連結:" -#: bookwyrm/templates/settings/site.html:130 +#: bookwyrm/templates/settings/site.html:129 msgid "Support title:" msgstr "支援標題:" -#: bookwyrm/templates/settings/site.html:134 +#: bookwyrm/templates/settings/site.html:133 msgid "Admin email:" msgstr "管理員郵件:" -#: bookwyrm/templates/settings/site.html:138 +#: bookwyrm/templates/settings/site.html:137 msgid "Additional info:" msgstr "附加資訊:" -#: bookwyrm/templates/settings/site.html:152 -msgid "Allow registration" -msgstr "" - -#: bookwyrm/templates/settings/site.html:158 -msgid "Require users to confirm email address" -msgstr "" - -#: bookwyrm/templates/settings/site.html:160 -msgid "(Recommended if registration is open)" -msgstr "" - -#: bookwyrm/templates/settings/site.html:165 -msgid "Allow invite requests" -msgstr "" - -#: bookwyrm/templates/settings/site.html:171 -msgid "Set a question for invite requests" -msgstr "" - -#: bookwyrm/templates/settings/site.html:176 -msgid "Question:" -msgstr "" - -#: bookwyrm/templates/settings/site.html:181 -msgid "Registration closed text:" -msgstr "註冊關閉文字:" - -#: bookwyrm/templates/settings/site.html:185 -msgid "Invite request text:" -msgstr "" - #: bookwyrm/templates/settings/themes.html:10 msgid "Set instance default theme" msgstr "" @@ -5460,10 +5569,6 @@ msgstr "" 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 "" @@ -6198,6 +6303,11 @@ msgstr "" msgid "Follow Requests" msgstr "關注請求" +#: bookwyrm/templates/user/layout.html:71 +#: bookwyrm/templates/user/reviews_comments.html:10 +msgid "Reviews and Comments" +msgstr "" + #: bookwyrm/templates/user/lists.html:11 #, python-format msgid "Lists: %(username)s" @@ -6222,6 +6332,10 @@ msgstr "正在關注" msgid "%(username)s isn't following any users" msgstr "%(username)s 沒有關注任何使用者" +#: bookwyrm/templates/user/reviews_comments.html:24 +msgid "No reviews or comments yet!" +msgstr "" + #: bookwyrm/templates/user/user.html:16 msgid "Edit profile" msgstr "編輯使用者資料" From 0354eb9828adac43dac2a349662cf7be8d6c97ca Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 16 Dec 2022 14:11:15 -0800 Subject: [PATCH 03/43] Don't add imported reviews to timelines Generally they're so backdated that they don't add, and they put too much load on the instance. --- bookwyrm/activitystreams.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bookwyrm/activitystreams.py b/bookwyrm/activitystreams.py index 1765f7e34..80774e28d 100644 --- a/bookwyrm/activitystreams.py +++ b/bookwyrm/activitystreams.py @@ -318,6 +318,10 @@ def add_status_on_create_command(sender, instance, created): if instance.published_date < timezone.now() - timedelta( days=1 ) or instance.created_date < instance.published_date - timedelta(days=1): + # a backdated status from a local user is an import, don't add it + if instance.user.local: + return + # an out of date remote status is a low priority but should be added priority = LOW add_status_task.apply_async( From 427d0c4fc89aac8c4c18cd97317bb897fd903710 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 16 Dec 2022 14:20:50 -0800 Subject: [PATCH 04/43] Create a separate celery queue for imports --- bookwyrm/models/import_job.py | 6 +++--- bookwyrm/tasks.py | 2 ++ docker-compose.yml | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/bookwyrm/models/import_job.py b/bookwyrm/models/import_job.py index d8cfad314..b009048d9 100644 --- a/bookwyrm/models/import_job.py +++ b/bookwyrm/models/import_job.py @@ -19,7 +19,7 @@ from bookwyrm.models import ( Review, ReviewRating, ) -from bookwyrm.tasks import app, LOW +from bookwyrm.tasks import app, LOW, IMPORTS from .fields import PrivacyLevels @@ -328,7 +328,7 @@ class ImportItem(models.Model): ) -@app.task(queue=LOW) +@app.task(queue=IMPORTS) def start_import_task(job_id): """trigger the child tasks for each row""" job = ImportJob.objects.get(id=job_id) @@ -345,7 +345,7 @@ def start_import_task(job_id): job.save() -@app.task(queue=LOW) +@app.task(queue=IMPORTS) def import_item_task(item_id): """resolve a row into a book""" item = ImportItem.objects.get(id=item_id) diff --git a/bookwyrm/tasks.py b/bookwyrm/tasks.py index 09e1d267e..ec018e179 100644 --- a/bookwyrm/tasks.py +++ b/bookwyrm/tasks.py @@ -14,3 +14,5 @@ app = Celery( LOW = "low_priority" MEDIUM = "medium_priority" HIGH = "high_priority" +# import items get their own queue because they're such a pain in the ass +IMPORTS = "imports" diff --git a/docker-compose.yml b/docker-compose.yml index 59d4137d2..e98128544 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -62,7 +62,7 @@ services: build: . networks: - main - command: celery -A celerywyrm worker -l info -Q high_priority,medium_priority,low_priority + command: celery -A celerywyrm worker -l info -Q high_priority,medium_priority,low_priority,imports volumes: - .:/app - static_volume:/app/static From 3972d1cc7b74d4565d396714f683ac900638a7b6 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 16 Dec 2022 14:41:35 -0800 Subject: [PATCH 05/43] Don't mark imports as active until their job task runs --- bookwyrm/models/import_job.py | 5 +++-- bookwyrm/templates/import/import_status.html | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/bookwyrm/models/import_job.py b/bookwyrm/models/import_job.py index d8cfad314..6aef7c1a7 100644 --- a/bookwyrm/models/import_job.py +++ b/bookwyrm/models/import_job.py @@ -74,8 +74,7 @@ class ImportJob(models.Model): task = start_import_task.delay(self.id) self.task_id = task.id - self.status = "active" - self.save(update_fields=["status", "task_id"]) + self.save(update_fields=["task_id"]) def complete_job(self): """Report that the job has completed""" @@ -332,6 +331,8 @@ class ImportItem(models.Model): def start_import_task(job_id): """trigger the child tasks for each row""" job = ImportJob.objects.get(id=job_id) + job.status = "active" + job.save(update_fields=["status"]) # don't start the job if it was stopped from the UI if job.complete: return diff --git a/bookwyrm/templates/import/import_status.html b/bookwyrm/templates/import/import_status.html index 757ed49a9..02bd1fdf0 100644 --- a/bookwyrm/templates/import/import_status.html +++ b/bookwyrm/templates/import/import_status.html @@ -41,7 +41,7 @@ - {% if not job.complete and show_progress %} + {% if job.status == "active" and show_progress %}

    +K;9U~yn%NM~eVP;`L!u+x!|;S&P`!$L=h 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 jZuy=ukA3^$Z;V&@wr^u)y3DeD9v71?\n" "Language-Team: French\n" "Language: fr\n" @@ -171,23 +171,23 @@ msgstr "Suppression par un modérateur" msgid "Domain block" msgstr "Blocage de domaine" -#: bookwyrm/models/book.py:266 +#: bookwyrm/models/book.py:277 msgid "Audiobook" msgstr "Livre audio" -#: bookwyrm/models/book.py:267 +#: bookwyrm/models/book.py:278 msgid "eBook" msgstr "eBook" -#: bookwyrm/models/book.py:268 +#: bookwyrm/models/book.py:279 msgid "Graphic novel" msgstr "Roman graphique" -#: bookwyrm/models/book.py:269 +#: bookwyrm/models/book.py:280 msgid "Hardcover" msgstr "Livre relié" -#: bookwyrm/models/book.py:270 +#: bookwyrm/models/book.py:281 msgid "Paperback" msgstr "Livre broché" @@ -215,7 +215,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:141 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:142 #: bookwyrm/templates/ostatus/error.html:29 msgid "username" msgstr "nom du compte :" @@ -300,7 +300,7 @@ msgstr "Disponible à l’emprunt" msgid "Approved" msgstr "Approuvé" -#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:289 +#: bookwyrm/models/user.py:32 bookwyrm/templates/book/book.html:296 msgid "Reviews" msgstr "Critiques" @@ -332,7 +332,7 @@ msgstr "Actualité de mes livres" #: bookwyrm/templates/guided_tour/user_profile.html:101 #: bookwyrm/templates/search/layout.html:22 #: bookwyrm/templates/search/layout.html:43 -#: bookwyrm/templates/user/layout.html:91 +#: bookwyrm/templates/user/layout.html:95 msgid "Books" msgstr "Livres" @@ -490,6 +490,13 @@ msgstr "Envoyer un message direct" msgid "Code of Conduct" msgstr "Code de conduite" +#: bookwyrm/templates/about/impressum.html:4 +#: bookwyrm/templates/about/impressum.html:9 +#: bookwyrm/templates/about/layout.html:54 +#: bookwyrm/templates/snippets/footer.html:34 +msgid "Impressum" +msgstr "Mentions légales" + #: bookwyrm/templates/about/layout.html:11 msgid "Active users:" msgstr "Comptes actifs :" @@ -517,11 +524,6 @@ msgstr "À propos de %(site_name)s" msgid "Privacy Policy" msgstr "Politique de vie privée" -#: bookwyrm/templates/about/layout.html:54 -#: bookwyrm/templates/snippets/footer.html:34 -msgid "Impressum" -msgstr "Mentions légales" - #: bookwyrm/templates/annual_summary/layout.html:7 #: bookwyrm/templates/feed/summary_card.html:8 #, python-format @@ -697,32 +699,41 @@ msgstr "Wikipedia" msgid "View ISNI record" msgstr "Voir l’enregistrement ISNI" -#: bookwyrm/templates/author/author.html:84 +#: bookwyrm/templates/author/author.html:87 +#: bookwyrm/templates/book/book.html:164 +msgid "View on ISFDB" +msgstr "Voir sur ISFDB" + +#: bookwyrm/templates/author/author.html:92 #: bookwyrm/templates/author/sync_modal.html:5 #: bookwyrm/templates/book/book.html:131 #: bookwyrm/templates/book/sync_modal.html:5 msgid "Load data" msgstr "Charger les données" -#: bookwyrm/templates/author/author.html:88 +#: bookwyrm/templates/author/author.html:96 #: bookwyrm/templates/book/book.html:135 msgid "View on OpenLibrary" msgstr "Voir sur OpenLibrary" -#: bookwyrm/templates/author/author.html:103 +#: bookwyrm/templates/author/author.html:111 #: bookwyrm/templates/book/book.html:149 msgid "View on Inventaire" msgstr "Voir sur Inventaire" -#: bookwyrm/templates/author/author.html:119 +#: bookwyrm/templates/author/author.html:127 msgid "View on LibraryThing" msgstr "Voir sur LibraryThing" -#: bookwyrm/templates/author/author.html:127 +#: bookwyrm/templates/author/author.html:135 msgid "View on Goodreads" msgstr "Voir sur Goodreads" -#: bookwyrm/templates/author/author.html:142 +#: bookwyrm/templates/author/author.html:143 +msgid "View ISFDB entry" +msgstr "Voir l'entrée ISFDB" + +#: bookwyrm/templates/author/author.html:158 #, python-format msgid "Books by %(name)s" msgstr "Livres de %(name)s" @@ -798,16 +809,21 @@ msgid "Librarything key:" msgstr "Clé Librarything :" #: bookwyrm/templates/author/edit_author.html:98 +#: bookwyrm/templates/book/edit/edit_book_form.html:332 msgid "Goodreads key:" msgstr "Clé Goodreads :" #: bookwyrm/templates/author/edit_author.html:105 +msgid "ISFDB:" +msgstr "ISFDB:" + +#: bookwyrm/templates/author/edit_author.html:112 msgid "ISNI:" msgstr "ISNI :" -#: bookwyrm/templates/author/edit_author.html:115 -#: bookwyrm/templates/book/book.html:202 -#: bookwyrm/templates/book/edit/edit_book.html:139 +#: bookwyrm/templates/author/edit_author.html:122 +#: bookwyrm/templates/book/book.html:209 +#: bookwyrm/templates/book/edit/edit_book.html:142 #: bookwyrm/templates/book/file_links/add_link_modal.html:60 #: bookwyrm/templates/book/file_links/edit_links.html:86 #: bookwyrm/templates/groups/form.html:32 @@ -819,19 +835,21 @@ msgstr "ISNI :" #: bookwyrm/templates/settings/announcements/edit_announcement.html:120 #: bookwyrm/templates/settings/federation/edit_instance.html:98 #: bookwyrm/templates/settings/federation/instance.html:105 -#: bookwyrm/templates/settings/site.html:194 +#: bookwyrm/templates/settings/registration.html:79 +#: bookwyrm/templates/settings/registration_limited.html:76 +#: bookwyrm/templates/settings/site.html:144 #: bookwyrm/templates/settings/users/user_moderation_actions.html:69 #: bookwyrm/templates/shelf/form.html:25 #: bookwyrm/templates/snippets/reading_modals/layout.html:18 msgid "Save" msgstr "Enregistrer" -#: bookwyrm/templates/author/edit_author.html:116 +#: bookwyrm/templates/author/edit_author.html:123 #: bookwyrm/templates/author/sync_modal.html:23 -#: bookwyrm/templates/book/book.html:203 +#: bookwyrm/templates/book/book.html:210 #: bookwyrm/templates/book/cover_add_modal.html:33 -#: bookwyrm/templates/book/edit/edit_book.html:141 #: bookwyrm/templates/book/edit/edit_book.html:144 +#: bookwyrm/templates/book/edit/edit_book.html:147 #: bookwyrm/templates/book/file_links/add_link_modal.html:59 #: bookwyrm/templates/book/file_links/verification_modal.html:25 #: bookwyrm/templates/book/sync_modal.html:23 @@ -855,7 +873,7 @@ msgid "Loading data will connect to %(source_name)s and check f msgstr "Le chargement des données se connectera à %(source_name)s et vérifiera les métadonnées de cet auteur ou autrice qui ne sont pas présentes ici. Les métadonnées existantes ne seront pas écrasées." #: bookwyrm/templates/author/sync_modal.html:24 -#: bookwyrm/templates/book/edit/edit_book.html:126 +#: bookwyrm/templates/book/edit/edit_book.html:129 #: bookwyrm/templates/book/sync_modal.html:24 #: bookwyrm/templates/groups/members.html:29 #: bookwyrm/templates/landing/password_reset.html:52 @@ -885,91 +903,91 @@ msgstr "La couverture n’a pu être chargée" msgid "Click to enlarge" msgstr "Cliquez pour élargir" -#: bookwyrm/templates/book/book.html:179 +#: bookwyrm/templates/book/book.html:186 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s critique)" msgstr[1] "(%(review_count)s critiques)" -#: bookwyrm/templates/book/book.html:191 +#: bookwyrm/templates/book/book.html:198 msgid "Add Description" msgstr "Ajouter une description" -#: bookwyrm/templates/book/book.html:198 +#: bookwyrm/templates/book/book.html:205 #: bookwyrm/templates/book/edit/edit_book_form.html:42 #: bookwyrm/templates/lists/form.html:13 bookwyrm/templates/shelf/form.html:17 msgid "Description:" msgstr "Description :" -#: bookwyrm/templates/book/book.html:214 +#: bookwyrm/templates/book/book.html:221 #, python-format msgid "%(count)s edition" msgid_plural "%(count)s editions" msgstr[0] "%(count)s édition" msgstr[1] "%(count)s éditions" -#: bookwyrm/templates/book/book.html:228 +#: bookwyrm/templates/book/book.html:235 msgid "You have shelved this edition in:" msgstr "Vous avez rangé cette édition dans :" -#: bookwyrm/templates/book/book.html:243 +#: bookwyrm/templates/book/book.html:250 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Une édition différente de ce livre existe sur votre étagère %(shelf_name)s." -#: bookwyrm/templates/book/book.html:254 +#: bookwyrm/templates/book/book.html:261 msgid "Your reading activity" msgstr "Votre activité de lecture" -#: bookwyrm/templates/book/book.html:260 +#: bookwyrm/templates/book/book.html:267 #: bookwyrm/templates/guided_tour/book.html:56 msgid "Add read dates" msgstr "Ajouter des dates de lecture" -#: bookwyrm/templates/book/book.html:268 +#: bookwyrm/templates/book/book.html:275 msgid "You don't have any reading activity for this book." msgstr "Vous n’avez aucune activité de lecture pour ce livre" -#: bookwyrm/templates/book/book.html:294 +#: bookwyrm/templates/book/book.html:301 msgid "Your reviews" msgstr "Vos critiques" -#: bookwyrm/templates/book/book.html:300 +#: bookwyrm/templates/book/book.html:307 msgid "Your comments" msgstr "Vos commentaires" -#: bookwyrm/templates/book/book.html:306 +#: bookwyrm/templates/book/book.html:313 msgid "Your quotes" msgstr "Vos citations" -#: bookwyrm/templates/book/book.html:342 +#: bookwyrm/templates/book/book.html:349 msgid "Subjects" msgstr "Sujets" -#: bookwyrm/templates/book/book.html:354 +#: bookwyrm/templates/book/book.html:361 msgid "Places" msgstr "Lieux" -#: bookwyrm/templates/book/book.html:365 +#: bookwyrm/templates/book/book.html:372 #: bookwyrm/templates/groups/group.html:19 #: bookwyrm/templates/guided_tour/lists.html:14 #: bookwyrm/templates/guided_tour/user_books.html:102 #: bookwyrm/templates/guided_tour/user_profile.html:78 -#: bookwyrm/templates/layout.html:101 bookwyrm/templates/lists/curate.html:8 +#: bookwyrm/templates/layout.html:102 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:26 #: bookwyrm/templates/search/layout.html:51 -#: bookwyrm/templates/user/layout.html:85 +#: bookwyrm/templates/user/layout.html:89 msgid "Lists" msgstr "Listes" -#: bookwyrm/templates/book/book.html:377 +#: bookwyrm/templates/book/book.html:384 msgid "Add to list" msgstr "Ajouter à la liste" -#: bookwyrm/templates/book/book.html:387 +#: bookwyrm/templates/book/book.html:394 #: bookwyrm/templates/book/cover_add_modal.html:32 #: bookwyrm/templates/lists/add_item_modal.html:39 #: bookwyrm/templates/lists/list.html:255 @@ -983,15 +1001,29 @@ msgid "ISBN:" msgstr "ISBN :" #: bookwyrm/templates/book/book_identifiers.html:15 -#: bookwyrm/templates/book/edit/edit_book_form.html:332 +#: bookwyrm/templates/book/edit/edit_book_form.html:341 msgid "OCLC Number:" msgstr "Numéro OCLC :" #: bookwyrm/templates/book/book_identifiers.html:22 -#: bookwyrm/templates/book/edit/edit_book_form.html:341 +#: bookwyrm/templates/book/edit/edit_book_form.html:350 msgid "ASIN:" msgstr "ASIN :" +#: bookwyrm/templates/book/book_identifiers.html:29 +#: bookwyrm/templates/book/edit/edit_book_form.html:359 +msgid "Audible ASIN:" +msgstr "ASIN Audible:" + +#: bookwyrm/templates/book/book_identifiers.html:36 +#: bookwyrm/templates/book/edit/edit_book_form.html:368 +msgid "ISFDB ID:" +msgstr "ISFDB ID:" + +#: bookwyrm/templates/book/book_identifiers.html:43 +msgid "Goodreads:" +msgstr "Goodreads:" + #: bookwyrm/templates/book/cover_add_modal.html:5 msgid "Add cover" msgstr "Ajouter une couverture" @@ -1058,20 +1090,20 @@ msgstr "Trouver plus d’informations sur isni.org" msgid "This is a new author" msgstr "Il s’agit d’un nouvel auteur ou d’une nouvelle autrice." -#: bookwyrm/templates/book/edit/edit_book.html:104 +#: bookwyrm/templates/book/edit/edit_book.html:107 #, python-format msgid "Creating a new author: %(name)s" msgstr "Création d’un nouvel auteur/autrice : %(name)s" -#: bookwyrm/templates/book/edit/edit_book.html:111 +#: bookwyrm/templates/book/edit/edit_book.html:114 msgid "Is this an edition of an existing work?" msgstr "Est‑ce l’édition d’un ouvrage existant ?" -#: bookwyrm/templates/book/edit/edit_book.html:119 +#: bookwyrm/templates/book/edit/edit_book.html:122 msgid "This is a new work" msgstr "Il s’agit d’un nouvel ouvrage." -#: bookwyrm/templates/book/edit/edit_book.html:128 +#: bookwyrm/templates/book/edit/edit_book.html:131 #: bookwyrm/templates/feed/status.html:21 #: bookwyrm/templates/guided_tour/book.html:44 #: bookwyrm/templates/guided_tour/book.html:68 @@ -1619,7 +1651,7 @@ msgstr "%(username)s a cité un passage de Aj{18-EK?a67#M?~wp zP+?$TxKhZ#pvAzz@UxJCL6m`kL8XX+L6(7m!K#RX!JC1BA)<(Z!HI!^VM!4KgAD@% z!}B5r20f6vVg`mV1_p-UVg`nI1_p*z#S9FG7#QjqxJnopUNJB*oGoEskY-?D*ip*B zU<9(Ll!3v8fq{X&3}T^A83ThD0|P^O83Th70|P@}83Thc0|UdxG6n_*1_p+wWef}f z3=9lvn{SpQS zh6QyD3?SOIo`GR80|UdWdIp9LP!KmTFmy67Fo-uYFuY}8U|875z_6TwfuX;NfkBFi zfx)~P5~o3}3=A6?7#LQzGBB)WU|@)DgV5~l3=FFn7#KFUGcfcsFfhb*Ffe3-LbQW{ zVLm9WbTZU4tOU8JlL1UG>SAD6!N9=a)6Kxp%fP_!wVQ$A00RRu+sfuWRvfuU*<1A`7I z)h~jiDcQx4G*KV47?K_KE@og*VPs&qx0r#!9F*FZGB7wZFfdpzWnidcU|^_U3UR=% zrI73vvJ8?Pr!He)s05W8%NQ66LD_FP1A{*U1H+8v3=EnK3=A)pLvn}E3I+yN1_lO8 zC~d!jfk7CQ|6NxwFt9N&Fhs6kVBlb2U`SZOz`)DEz>v9ufq@;AkD>f}sJdRL_!KCA z&I$$w9tH-6#Va5_-T+m92&(P^)Z7~@7#Nrt7#JR|faIR1D;OAr80r}qxL1N*!XUR2 zlFf`(LJYKB32~6uN=SAJUJ1#Tu`40jE*C0avl5bhTcPI6hN@o=rFTNjJ-ia)v2#%K z@2q5C5CG->mmmfM1H&(<2JTf53q)5jFsOry&Q%bH_^e`J;AUW82weqt4k?yY8E&}U#^c)c3p5a~6LqTP25 zB*YrlFw`>$F)%PpTf@L$3MxR>Ffc4)U|_hv29hY7)-o`df#P;8B-P(q3vrZRh#V zoVP$M^41{sIuAuNt~ad`hB-D zFdS!KV2IfYu~=mr#9XayV0-ErEVnT*Sb%E1Z4d=5+aNCMg7T+tgIG8hO0U=kap>l4 zki>X!8zki3Y=ZZGBx=5|QPm~V#^#qQfd1zkM@!`AH(2fW?Rz%UI| zg6&{nFlJ<6*t-LgdOz-j7^Juh;xPSPkdo167Xw2a0|P_DE=Y^!{w_#}*zbmfRM2jS zhmv@xl>a9}6-?g^iHdo8{6kRwX{h?EyCFWl zyBp%r_q!nu`3vO>?19M3?SVAq4E8|k4(~k-4E3PwSG5OHoAvI2Xyo4usjrpxLL9Vd zFT~}$_Cg$XYA?jV%X=9ZfHx&&p$8!4Ld$`ANL+n50BI~T9)vhR@gOA5Ob3Reb#C1@*;|Rp(la4?V(>$p9 z14keonF~iCEvL5-ix@nPLhK1R3Q-?<6y(5q28QaR5Q{pGf?dQg6D+~Nu<$6vLFwiKo&7Dmee)P32p>cF@1W{_K*d>)L*xaZv^11fI}UM};cV!*NIy?1XCAe;kr4&L4;P;4zf`bQ}^wj3*#I6gmM3 z3564oC{RBENh>ZVAo^lYKpG%9Cm>PLe1f4K+~(_n3QRo#@$oz;f5iz%P;NW{>00eP z!N8!+z`$_*1SAfbPeKx*>Pbj$usF%UAj!bM;Cm9{kaVbg-bqNvHlBopK<`NghM5cu z40BIH>woi85R2?jL0sy73KC>tryvF=L**+@K|-eC6vPK@ryvgQKLrV)nNWJ|DM%b2 zgwn@OL89jLDM&eU4a)yk4>gGKG{ga1ry&Ljorbtr?KH$8MyDY@wm%IqDDgDJhdHMq z*|PXFq=C_W8sdR9ry&m9eHs!)M@~b^gR7?@QS};XPW?})K`dt=7IU9rUF<}HfrP-EGmxO$cm@)u2chb3oq;&~-5E$C{svXYaTXFX5@#U}QiAdg&q6$A4H2(r za6b!iS=d>K1vzIS2G*Q~#BIx2NKj5c3-QsMvk;4xo`pDgJ5>MavyhN^cotH5y*Uf< zdCfV9k9*HSJT&_p#GV7^Kn|;CV7PD&qVfJYNMG;OIY<{N@jOK1wDXWSUveJepjGD~ zKG+MTPeRpQJr8MIK0XhzSnL8MiqtPKFqDJ3=@%d&x$FW&|LzM644k0+fBXU@bzi&y z>5RSyNiZ-l6kmk2|7$NoG%URcanQz#kPz7qI$S6oqUCXA&7y2;q(rTSifaZ2p6d{K>FW@Om|w4l_`K#iB+<2AXJD`c_5ZI!Lg37GNYGxp&cJXC z)OoxPv1r8&h`ud1AVIzN2E?KZHz0}m0aX0k4T!~@HzDdIZbA~R_DzVx?dxwsd=hvQ z;sye)Am>|<#Fl;w;?n+GkhHMq7R0A3Zb1^w##<1FZiCWCZb2M;399ZP)S_3n zAVK`=7Q|upw;>_vc^eXfA-BO%TF;Ph8xj<`w;?X9zYQtr`fo!tZiFag*nJx^baLW0 zqzDzi1BpxXI}is1-+>sMbO#bbd3PXnLH!*_$j!V1@#y+H5D#9y1G2ZCf#KO5NEH0I z1MwmMU5G&1q7NY+lX(bnu<=7koCiIG=!<#?t^X6C z0yz&ME-ZQoaY+3`hy$iPgaqlbhmaC(`$JIIiGkr2RK3z82JjfK{v(J5agQMS(jGzD z6%~&lQ8oDyq+PK75hP8WdBji;9-F=T2x7t0N04!VZ%_p~k0Iiwk0Bb|9z%lI|1l(l zq8>xyG6hPPKZZEG>oH`YaXysK`2=FI+!Kfgt)aBXlX{3jp-&(|68{7egsD#;7L`1K zbWfq~&L)WA1SAc^i0qU zC!Rwregf6U`~qU0=nF_x$iIN336mF)5Vm;%Nt{kEz#&@C;Q0cQeZpTbFo5P9Hokzw z5&KI>?IrROG6p3664DI!dkG1l&Xnn&uR9=Iku%3ZI>oufBqyHKb0v@j+aTW!ovtC0IVbyDh1>LV96AzPLLqNqd zhwX#%FF-AL@&;1Ey?z66FzZ{0M?~L3e5m&pk~mG?LR!tSZy^rqd<*h91HKrx$MR6V29$3A`{y6+uBJ-EF-4QjxKcMzZMd$_8t;M^P%EP-a~x8 z`aQ&Fo8Lo<>_hJ%4*3VA1wTOaseFKhq~-_6WR%$lNa9QX014@7A0Xx|ss8{e5H^2+ z43VDt04WFlKn>9P2vKPM5$dy#5Ql_)gjf&YqXdzCs25e1ya`&nHOGDSm?Rb)kHxPY?(BeS$b3_7fxovpzvAD)Mbw7j6t!Hrg3@Pa%KSL}m{|pJT=Fbp|wtR;8{P1Up&o6(5 zMA7Zfklga*GsNKkpCR?U<`+m@+kXLDz~K1>G650y1(G{jzd-Dn_XT8rJp;okFoS_% z=NCwkdEyJiqE}xa7Jd2x@#*g`5T9~ zoPojbC&c{NpA7Zjxt{!=5TDilgcvaKC&VFhe?n@%wLc*taOx+dAUO{;=<82Nh_U>F zSitiOGVU+=3o^zl`wNl?yMIB7@O8f+=I#Fl3E?}x>LH2f=`TnKF#LvC%>5gpK>9bt z#VWrcL1_$?cl-@;aNuu9)TRE0B-*~;kSN*z8{)8|zai6eXMaP=3Bx}Shq(NKgivTb zlo9_264aT0AP(vJ0||+#e;`4-@DHS<+x7<%0=NG_EMWW#aTw=ch(pEyLL9F47ZSw! ze<2n*{)J4{djEx#6N~;rrs?bV{Drjp|Nn(l66*gTK^FWEVnNwIhyiu~ATICt2Qhf& zKZu2^|3N}**FQ)|p85yL-%tNRn(2T3K|Cb$AL1eP{}2Zo{|B32&*1nUVu0s=Na~D) z@)Q0;s?CD`ko?;L(ZI0&Kg5UIq3RC&hdAuQe@Hp<5UTz^)Iv1|M)3Tg5tO!PUj85qF}4t_B(f~V(&7#YDUCbStD!7C;l85tR*K>0r&Dp17;F<=HG#D%*U z8No{}4ly!h8ob+EfYlF4kkwMI)P(Q z^;ek~!E?ipm>3!AK}#yWFhP9A%?vR}h#8_$ni*oDCNm>=0fI3z#6fnBzYF;)- zP+7AX*&r^T#|Cl0S~iG7cR=a=Y>W(E3=9m%ptK-6BX}J^3_ByZLvocJ z64Wdlj0_PB3=B#f5PPaQ7#TJ(FfdH!sAmMP@o?j01W!apb3)=MkCTzXlYxPug_9Ay z0^%GeBY1s41Q#QND+2?=Z7xRef&xWuh!1aaGlFK^7=(Ek!PE68cpxF9%*zO#6?fxh z1h1~y!3%NFRbEE$Dw)sqybuSN@iBsDKE3%MLH>>p;^QBDjNoZ=W`2mzIr$-JLx3M5 zF2N5;v~v86;JIOaeny6wj0_Cc{E#TQD!>SyAABmn2yR`!5?}-`T5%ABq@DVyf{frM z*djqj@M4oaf{fs4@{fWLjb8;JY2p`@W)_0*d4wPi6%~RwNFGY73qdT_7h(i2GO-te z1bMO$#G}KT>@F@o3itc3_L91()J>@3uRTTt;QLJ%Ln6@nzr&rp4g z!Vn83gdvGjLm1+~U}1>EVuT@aogxg;CoTdJR~2DoI10-Dx*`w_pP}?05lGOpib6C9 zh(c1YoG2rBe(-}RBSSO;14FwQB!nJ|K^*)-45I!kl+P><5f>0=1TSooh4L-MAtB)= z&IlR*ixy`DFCa=4hd8819FlmZf)s$JRK+1aKP1iwo=!g@&In$V@ECLM44@&|D0N5_E>?#W*@x5_!3&(~zp68W$7szp7{Ntxmj)wv zN_K|^q%yjp0rAN%4Ty$nO-Ar~puL)m;Hel3Ek^KiyA&-*P*2r@gy3o|M(`rF-CB^4 zd8h>`s*SWEX`)t}5wswwo?)UkB#!rKL*n+dHY8}TLHUogAqB}>ZAS14C_x=Yh9U+A zhHM>3P~Ovl=(Ey=M3Jj5BqW1%AtA9`7a}jI2l1$i9>n40dZ3U8t$5R8WC#Q;wbFy8 zetkypS}lEjh(qS;LwvSU9}+VA^&t+vuMf$7Z}cHi@mU{I#yc25@_VcS$N~n2N&`q5 zT4Df6Q>zRZ!Nc;K3>X;AtZMc8$uFMjUgjL z8Uq8vCPPN>l1xb>M(`k%oe?8=aap<%B&fF;F@l$HF&Z;6_%bjsxEe$FlZ_$fT{mWg z%>O+whFJW@7*g&2H--eIf(eALX997MzX?QRs0qX;aZvFz6G)Kem@tADFwTJTznU;I zOk!YQP&9?;+hPi-9rv0-(wc-BV?8*Px|u=Ks@-z0+OitEg=P-p=CWI!zV@th7e0g z5V~7K3Z4RMaOz~3ZVjoNj#xwD^0qak`ed_#r0QrJNPA$74aA|JY#15x7#JATZ5bJg zLD|(7l6|@C7{QBN&)Y$=;VyfK`kVFkki^610Lezt4v-?Z#{uGyg$|71<#;C?APoiv zM@TAmc4P!kR7`V(B+9Ff5FdVZgjBa2P7wVHPK@AXx$aI7eUqIaK7Z!K$Y9OLz);WW z4Dq3>3nRl7&^jF#hyjMK5Q9BkAwJD?g#_I$S4g6};|kHo=myE>5^j(*VCM$Wm*oa2 z%Ddbk7OrrEP&jS+lE*^~F#jBe=AP%+hWCSllP4r|0FK*@WVg#=>-QWdMSI@u@ z<;@6QZ2H)n5xmN^&fDybN*gBArVKV~*!zL5$!@<)mOp`SB;1kzpYN14C8_BY5#DPbftH@lZyFZ43+ywPB15vqAaaBpg!a zUkGPp*bf@tkAP?hiDYEh%fP_EAH~S90JK6niV?h)GcTGEyh`>-G$X@7&}3B%Bf}mB z1_u9Fh0R{#J z*(64WZcw{D2~v$}CNna$GcYi0NM>ZnU|?XdNP!r%Folt!m4SglI~AgSV=5zfp|Ncm zBZC`g>2(?-!yg6)hWBZZ5POr($Y9OHz_2s}QcgU~Vyp+3e0JH8vVCDTBys%ChFBDy z1IdO5au~s@Ti@nDqQXBH(h^#m3rQhl-cv35*N#$)oU3fKffu1xHP&PLg$o2g0!|AqHbzAq*h#1 z4hixb<pd<`Q*J$Od5mXU#*k%8e+EhED<(E9v3NMbr#4{`YgXe;@CJw*I% zJtQc9)I*xx|De5Si3Uh}LAL=?SNJtRLZF}l;(!SakTf)-fsvsFv@f86u^!ydw`ha} zWn?2Hkz_Z569+?6BShouMo82wZiG~ys~RC8bFvW<6?YmTU9q1~@qdjFp9(fX(u`CS zB;>T4Ac@D@0#xD@1)>E5wI2t&9x$3=9ktS|M#dhBnB6hD#eG!(7ll zf;L8m1W^62(+(*LdpjU;eX;}MfEyi5$0l8n zsIu;Y_}CdLAJzqNa8?&2ii*1+9Uq8 zkf6KW1qp%IQ2yU8NL2B5LlU8CHzRm|kXtt-kydp>M#ZLdL(+_3448}I2+Duc1F4*tdLcfE>4i8TwHFc+rM(b?C-g!r;_ZW2pxy_mbX@u%ZOe>4 zh&>bgAW=0FM1%7G@;-1-Fl+@0FfcG2?1RMV`94Uw@Bk_=)DKZ7*AFp3s~-{q7Es!& zAJRFE>4)?Qr}je{B1ifm<{3?Zw49tLKtd{U0wY5`Cj$dRlu1s6m}f8%;&7LV5OqNl z86oTc<0nE4ESd;$X$6$-oCpchSrZ|x;w=*)7M+|3iQ}6SA=&lUL`c*LPl7~|<|K$m zjG(k5ln$5#@p=3th{MV!LGyp#B#6QDCqYWA^^+hLoSy`-_yd$?oeXJUNKJ->gwte* z&wM5`f|u&>0_iffPl5P&>lBDX&P`ziZ&>;^1>&H%sSrA2DkKdQLHP@(LPB=+R7fJ+GZkWP z{gJ5dL1>9MlR`KNl*#W;&!@uxmP`M|EvFD9zO~F!0TQBr=g15RG~>AU<@P0SW5J8IUwk zGy@V+?K2=gn>_>4_FFUqQYjsu0rB~>8IUyeX9grHWM)Dfsx}jnHq2*2Jm?G(2j%~O znUFM)I1^$}@k~eqWYSDXeSUZ*B(=T-X#nlYoCQgog0nzAU|=ws1#y_gEJ#%O%z{`L zGmDX7HmG?&3*unT*$@W^%!YVSW;P>a{lETfNC-I1hQx8qY>2@rvmtSu1*MB;Lqeiv zHpIe-Py?4jrTUse)?gngfZNNpm2z;VP&BXXZd0cn_-o`5Z`*{0+(%oC`5WVJ;*D4CX>SU_O@- zyvWsOZat)Tx@0aSh>y>Ogv324{bMe~r$X}}E?1ie;p@$V1fkPBNG=JT2k}6{Jcxtx zp>zdQUE@56!=}uGIAA?g{zyGk;Osm|VtE9Wcry>;@~=<>Sm#4RKw>^5C=KRAx?GO) zAr3wZrJv7-_>^%0L_fy@h=U~-Kpd*G0MgktU%<%V4%*gt6snMSAtcUa7eeAtc_G9{ zmJ1;Uc`SsuJYpdugFPrwLDj8Y2(j?+LP#g|6jWXIB1lLyEP|x=&P9+Ap0)_mr(C-T z+#aZBFj)*4TCrRVu`p#Z#KPjm5QCc+Lmbovm0z$J5>o3IL$c@2#gO5&ON$}7;_70E zh2Iu~Enr|?0&xfjlonh9@u<`ikU8}X3<^si7HL5x43|KLWXzX9#&BAeFoJhD{#e2Y zUdLOs6w;)6wG>kH>Meux1*a{8gv^&^kUpi!a!5D5b~!ZdtbjOBZw16Y{}qf39H9Ik zwgM7|@hc!cuUr8Ms?HSk?0T?rWg3}0Ih37YJ+5FeMWg@i=oT8M=mPtLK4^EwGba)SPL0ieY_SD$A;@5 z4zXMZk#|}L(HFW75&}8vARg;j2Pxv`)vtrNmg}i!+MAV_e1H6>me3AUJvo<|Md_DC~SZ@z<2}19lqj}LlOz^W=N%>x*0St$H3sf88VtBx&@M7FK>b5j+;>W02QM%KEL4xH+*E zGK%$cE5v6G+aLoK!P_7Pw{3&uioR`-?6!IvB$@E~|2K6z#KrSL0t^fctD*d@Q2O9@NOn65rC)4^#5MB{NS9202gKn$J0KP>-2q7> z$D#DK9T4-M?tp~A#~qL;`@Vybp&oQJ0?$r}0Wv!waca5~6f_JB?mHogC2c2UxGjGt z#3%E2LM+;_6JpS%osh)!d?zG|enZu9?}Et7?1EJ5hPxmIR@g3xgIabm)`JI?ChUUv zX!S0LPme=2JlX{bGWOk&C{WoA=}MXJhNw%}4N0WcyCFTL`MV+c`{Hg$(Er&D8Is}J z1F_I?4@95u9*B7vd+H%BuHFM_vvu!*7_fQ|q@cOB2jYN-dmxGHA5^2-UU2GVu-pp? zDYv~4b5i$0g1B@qBym>ng+xWuUdX`a#J!O5#kYGQ4h*W_2dTXh_CYF-jxkqQ2+7(B#!9O*+4^(u!TX~gspBrSLz0_U1~hP*?N0%0Ol;p#&W2kkio@#)1wkRZN! z2ol6U4nZv9I1KTj@?l8SXdQ-(6$c%LL|y%1hy%I~L&}HAhari4)nQ0lJA4?F?dusB z?jMFElJ8IjdPg8Wa6bYuAmj+dr?E#M2B#l^__*i@#K5{E5D!d00txz!M<5P=as=YQ zH&FS{Q1f_?LL4A=6q^5yjzSE!ISR4R{V2o%0Y@QG5_=Sq>Why;65|}G_)e(4^G6{L zx&<;2bil|_NSuFw(%+6kT0(!Ie8yuC53wI(gzWzpJO(j9@)#twsvd&`waGEaY?lj^ zKNCu?JO;5~=P^iB?LP(?L%MPdlD`FxLmX~*9Fo{Vjzgj_?Kor(x%D`t3wHcCBV_&m z|KpH2;y(dNm1-v-A!2y~l6YKBKtd+;1US(!#GQbINaG2JPgX(Yw?OsnJpl>&6Hxu< zq4Ez-Kpgb)1jN4IC+Z?iQGv@2pFG)V;>70|0G2XJ1kVLon zBqRhLoP>0{WllkcTD(s|(njVfNI}(n3S$29Q;@-_ZS|)hLG|hsBzrKNhFBzW8WI9> zry+5!c^Wdk=5`vQuIMzx;ccfushELb(rJi+t4>2g=-z3F!x_&&wE?h zqV>5@M%fvNkL%AsH1y3Ng*f!w zSxDl0bQTg)&(A_aK;#@)zMet(93um063YA>B+g3DLE@(79K=DB&q1=&!gG*Bx$+z& z|L;5p=}25T2XS!pd5A-E&qK_qI1jO?{yb#ON8fpfe$@+*G-Y}L#II*yaJvAhx5F+# zhR@2u5)2F*EhwF*K*>vx)U9+0qS5;j#7D80ATCe21o3I za0ycTy}bk}kmN5zLdfDWBvA)nhD24yWr)QyFGC!*;xaV<@3{;y_{e2Q_Pcr+k|3^3YwW7!s$QY6R6-bnnUV%8I_6j2dXu)B}6^MS;tB??txC#j=ODOGr6_Q9puR(Kl^?K;Gzi>^cBZo_qmMF*}!e01?TBr2XkUil4(LtCNzz8jFJoO1&bHH+(SKoZ4{8<3zme*+S< z%r_x4_f3ccgl|IPOzkG5D7Cr?u{iQ3#GuBTkdT;m6Jqh2n-Gh3-GqeTK`4FpCd6Ym zZ$dm&|LP{BEdK-5z;p|uk@FTrqrfeQybM%a=@!Id&07!$1>S-Lb?Plh3##cBBqSEy zf(%}5yajRC^;?jreR~Viu@Soswx^!K_BNzoaJdc9Sa=%}WDU0=F73Px$yT#&LqcRZ zRNea9kVLodHY9|s??8OycL%~xxC4ob;yaKMu=x%||Li*u4=ug}GPjs&4KvHuilrDY%X;{=gfD9~bcmNrQ z`1t^miVGh?%8vyPA^rVB4k2w-A>dcne9jN8UoR&z-jr3qHMtR8qX}AVKK%4q{;NJIK&Y z@;iu+b>2fl)cQRm!(#>p2Iuz>52}BF(1sr%`s%GeKwByw7#W^}Hlclh^#21tLY7SP zeu5a3_6d^T^FBcw)bt4w6*HjXt3E+|ybmgVAFA%-Cx}JtpCLuB_-6>;^)py~Jwxbc zNYIvjh6HW zuMmsZe1)Wy15o-hRNb?$5Ql#L3USE4uMmfce1k-#>^DXRWl;XN_y+Mw%r{6{Nc#q{ zsOTFc=ds%#R%U2 zum2kob*q0vO2{X_85zzqFff?@fs~-Ee<9_D)n7)2v!HVX|1#Et3xwEzj0`s!7#KeO zgRIp){hyJ6hmnDyj)4ih=ChlT3A~ZuDI*iZ8wLgjc_t?C@;V-7CWczj5lqZX-~~tj zn3=$9$z55Pz$>C-SeU@eZd+KGz@y!}SeU>&DwtTA7(i!D>ax}|fp;=^vNC~JB;>F% zffu8FWMu-cc+z8I0x!AV#>NER>F|t=3A|xhlAQ^>++LHN3B2dSl${B@d^emO;*izs zOyE`ZpV*neOFMWtn82G*>^PXf6CU1BI;tMZ$mD<+RKdXn-l;H)g9$v?{F#FZyx2UO z6Qc1rClh%2{54J{@J54IoJ`;qPOe-K2kqiw0K>-!@$6x#SL+II5!h`rDYd4 z#33)anZPTr>c4SA436Ys0`Gvx;9&x<+pXqd0uRkDS2pts zK+N+OfH*ipfC;?)CS8CDyym1<0Az1H1H(K4Ch$&$^-v9$1t39rM}P^u>*a+2#HXJH zAVJC~2#FFsK_je{qAR)6~hzY!S?Sl{`go1>b7(fS= zMhY`Q#{X9dL*i(&FeL7t2}2Zmi9o~yMIhoWB9O%QLWBvtyXA)n6Zj}qby0{<+eIN! zI6)NRp~a$*#C=?piGdMxEC(Y4!(t`|26sjVhEUK^h@kl&(0n2~76qvW9V!W08OzAP zaFvCDVLvkiLpw8M-`{p728OFpO{`1|3|yd7MnDIaFf%YLWMW|OVPs$sXJlY-VP#;L z0<{RLoWX&GfngI91H%&*28J6f450E4A~lx=~#!kp5LH3=9jQ@?btQ z0|P(QAt3%4Mh4JULJ*UIn~8zp95Vw$6C(q|b!G;JbS4Id7G?$pHc+U6{9nz;!0;Zd z6hh2kVqo~f%)rpY#K16LApVwoPy4R zHD_c1FXbv>Vqlod$iTqP$iVP|k%2)1>Pe8=*DPTFGcbs;LiXf=1VM*~{$^odhyb~c zfq}u1nSo&f)aQxJ3=C_S85rh3`Jhws!WbDC)-y9O#3DJuni+D6iZe31_o1B28J!5bi~TQ5XJVA85p{tY|y!_AO}8S zVqj=zVqj=sVgN5p%7t2djD>-rpOJy#Cn&_285o?H85lH}85n*rGBCVlVqlmIbu?&U z>Kmw@g&_O4u`n=9Wno~@XJug64OIlHR6v%2Dw_w)ke!a4EDQ`>EDQ|OnHU&;F*7hU zK-IorW?*PzVPLRfWnehW%m7}J`-z!>p%)Y~3=9m{m>C$(LOpSp1#(jEd?p6)zL8}L zEDQ{ytPBjzj0_B?paz0024Oo^1_rmujUmGI|Do=cVqsudz{tQ*&d31XCGrK7(O4N6 z;+P;u68f=1&P>?B%)l^_fq~&TBLl;CMg|5QRt5%;O_eMR3<1mx3?CU87?_b#0?0NH z{=~w-un!vX-mDA^-_2rNMRr|1H%+X$VpK;P{)D9e?T?gW?%sC zpOau_VE7D@fa2>=`Wzzzr0K%M!0-}u?k*z(gBaBNqD+t@a5Y#M7+y0nFw6yQl70-e z#F&YJVI!37&dR`$&BDN7$P77_7-aT45P^h`F*AVo(M)G%V31&BU`S+QU?_w-5~hqB z8WQYG3=AevM}XukSs55QKz4yLDM;Wv6J*yv=xE}Tj0_BxEDQ`;ObiT7NSfSP7#PH$ zv7O8eIn1*G%D)fFS1b$+4;dL4Tv-?xbQu{K&VkO(1#ReIU|pnL-j zfkRLlq!u)Q^MR3pVILy{!(V0w22EB5hE+@q3_C#aznPJN;WPsSg8&Ny!wyCUh9`^+ z49P5zQ=o#OhA#n`0>$x+kb|6UK*7fVIUjQdR2?7GQY~n(gS6aaVqlPCVqkd63^^^- ziQMKx$qxGBCt5F);Xp5-T$U!zHL(01E@dFBS%dJN3*A;C8G#GXp~~ zBLjmF)B&KSoP24Uf1_o(H28OlF3=C7585s6~3h9503=HNh3=HXv3=9@53=Ef;7#RMs zFfgz|4Ven{nJOa#!#hR>h6PY@kYzBu4ywi$>X;KC$HAh2iGkq_NFM_OLljgUNS`jm zoO{XzN=627&tMND14Ahb z14AE@qd@0n2e2|Q_=7fWFflMJhdSUq3j>1?Gvw$pkb_Ma85kxpGcdS8EjYr$z>vwr zz@P@@gVbDRVqjPU)qk}fYKa~r1H&Ii1_m1z2GBknhGS3#4y+6e>!Iw2P@nif4O