From 337f1ac7d22a25207bd592a682a144e7bbbf1f23 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Fri, 27 Aug 2021 12:12:33 -0700 Subject: [PATCH 01/20] Update locale files --- locale/de_DE/LC_MESSAGES/django.mo | Bin 24142 -> 23969 bytes locale/de_DE/LC_MESSAGES/django.po | 233 ++++++++++++++------------ locale/en_US/LC_MESSAGES/django.po | 219 +++++++++++++------------ locale/es/LC_MESSAGES/django.mo | Bin 48511 -> 48314 bytes locale/es/LC_MESSAGES/django.po | 235 +++++++++++++++------------ locale/fr_FR/LC_MESSAGES/django.mo | Bin 46658 -> 46454 bytes locale/fr_FR/LC_MESSAGES/django.po | 235 +++++++++++++++------------ locale/zh_Hans/LC_MESSAGES/django.mo | Bin 45604 -> 45438 bytes locale/zh_Hans/LC_MESSAGES/django.po | 235 +++++++++++++++------------ locale/zh_Hant/LC_MESSAGES/django.mo | Bin 40493 -> 40319 bytes locale/zh_Hant/LC_MESSAGES/django.po | 235 +++++++++++++++------------ 11 files changed, 768 insertions(+), 624 deletions(-) diff --git a/locale/de_DE/LC_MESSAGES/django.mo b/locale/de_DE/LC_MESSAGES/django.mo index 543d5355901e12d226dbe40f6d72ce8e7cf616f3..d2d1bc5f38eb929a0f31f3d60009f75aa7c43b5d 100644 GIT binary patch delta 6953 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 delta 7117 zcmZ3uoAKNp#`=3gEK?a67#IQ=85m?37#QYoF)$niu|+|m3=9e~3=G8#3=E1g3=FLd z3=C6c7#R2%7#O5w85pz}7#Or<85lrHLuDBlq!}0(vSk?<3>X*~+GQCS_!$@&cE~a? zh%+!SoRDQ;kY!+Ccp%Hb5W>K~@K2V3L5+c-o*`HcB2gvBz@Wsyz%WCOfkBahfnm2C z#NfMf3=EPC3=E&;7#K_#7#MivAqG0hGce>cFfc?x=~MCy40#L;3|0yZ48aTx3@a5F z7#tWF82&0SFqkqhFxV+FFlaI`Fq9}VFbFd+Fw9eAU|?gYXJFW*$iTqCz`(Fmk%57k zfq~(WA_D^_0|Ub`MTieBK=}_8AwGWv*2uu{Q;~sz2NXz33=F&=hbciEF0I7CV8p<{ zV5`Kyz|O$HP@n{|h=HL(iGe|gfq|i3iGhKIfq`L?5(5K&Jp%*7bR`A`ZUzR1gWHuM4()@A&r@b#U}a!nSPhlm zs0?w)4k&#<8Dh=}Wd??Nkb$?9Awly-8R9}Q6^Ox_DiEI;s6ZTOrvkCqO9f&;I8;0n zDqgC>z#z}Sz|f=uv2YPoeihW5ZBTQMs4y^yFfcHjR$-_I2jK&#g10J=xc#ldz#zfE zz#yy&NmM$j5Q{xjAwCUNWni#iU|>j9g;+EXD!xn=;^1vi{t;D(!>_19qVxfjeg&n! zsMbRa{-?^oz{SA8z^w-1i>W~@QdWbA8>=xeNP!ZO8pPsAHAq^Rqy}-oLMXiwN^gY9 z?^J_Wd_s+ZL4kpR;SyB*vl=ALG1aR>;+R_Z1^b%=$*P<|4W zp99rb4b?YM9b)hdbx0~-2o>L|4)Mqybw~&uhllc4fTG$0|iO9Px+>KP7cFfgby zFfcrUYUI&`SR|#%zz_{8V4(aqO^AWhG$9UK3gvIqgrxQZnh+l!(}X0hTbhuNe6I3LcZAFtMe zbn3n_pufOgB$|`!zV2U23-aQ20?8G20>8%x7UWmaUe*5fq@}f8)8we zHpF2~+7ONNpz8K&Lo7V54e|j4!&PmF4IPSk<;AYTU(q>Va|pqvUdV2%#N;)Oa8i`MBtLTP| zgHBzDf&ID=pG?<ATBk4l-;cc5RFTr3O7ULcN;()cG>_E z0#^(m4!I2#e`)~9|L>ssSPUWN@EAg(NXihRU)_*_A(DZC!2lv(&(LKEamfrr1_m)u zEocY{>V1ZgY;wwwfx(M`f#C;~b~b|45q(CGT(Zmv;^W;$kOs^-BL)U11_p-LPa6l>d25AsUoSAwD%S zg;-E)3USaxQ-}}dLFtvIkf7dT3h~h?Q;5YEOc@w_85kIDm@+W(~NZv#K53y0nuP)0cpEA zL+Ke7kfzpK3rMZ#XbFjmDocpNdMzRPCtE@sIL8ta^h==Pt1TJo!A-9%P>H>kknD2A zl7S(Cfq~&3RHMBW#2|Mo1_n1q28IAD28ISu%gLI7p_74uLBa+SB8zMwseFeGB>O$F zfuxCVHVh1Ap!S3`Iy5F636OxkZk5>2Qj$B z4pM}+*)cF!GcYjBw}Zs#Z94{r8U_Z2-*yZPA z80;As7-Z`m85lGe7#Lz5A#vX32=VDGM@XD6c7)`Hbx`?Tju4B_IYJ!r+!5mQpN^13 z%I^g6p{x@mSLr!H8XmSz3=Fmm3=DBj5cB3ZLF}nt;RI>fY;=Oe(HSR*1y`IP2EKKI z1l4aRNQo!x3~{K0Go(?f;|$4$dz~TbFF8ZXg$K?MhrDuzq@CZ+5D#& zt1BcbnB5o{EJ1aM8^k<+H;6+c+`v9%$Z>;&NTnOZLtSnR41A#cKi3W7lQmEUd!P!= zLirEeAQpUdgM<*XJH#LfcSz4k)186Aih+T_-5u(1cZdTfxBAQr@WKpd9l0ZBU*9uRXH zp!z3!KzzR31LBY^9+0%OAFBSk2ekgb?*WOsmr#osJRxz!?g?>-uqVVIbx(-TO*|oK z#MKkxfM}??Tu+Eajh+yTdZ6?YPl(U=K+U}f<=^$Jhgk3lD#7Lj>D3B(L7GmsUJxJU zctH%P_hMj3V_;yI;svqbw-=s7F$ZsmK6fY`;|&S9LMUBT?+tNr zvp2*?ecq6eSmF%{`rY0TAK!o)@X{L+m;byWiIKwxqF%`d5;c}SkdSltfuyNmABaPe zeIV+yd?1Or1*)%pt`DSvu*HXgL7#zv;SN**k1xa^RbPlt4SgXRJ$)f1Vv;W;dv^Ll z65Tdmh|iDuLZa%1FCrvLzF+1K35k>b5Q`uALxTFXKg8j`q2kN|5D)MK zKtf0?01}m|0g$LN3t(VS0Ofy|0Eh!pp&AMUAO=+jKuWIW07w+92!O=(fdG)p85piZ z#qR|`9P$mS|9=1^L^%T?7V`%}Dkr%>h<>|3NSzQG$iPq!8lx$LO0)$+TsAilV!`S_ z28JRA28K<65C^ITLF5gCAaQLErGtVXK1+qlmjyx6NJ|hTBv%JPLTpD6B$r$af`sJL zAclHytCS-c;scXlhy}J#+B+DcFftet_cg(gAngl=7&Ido;?Olv{hNa!4&4(B3BeP= z5FcNFia&?y`wTUYJ)|C-3K=9rAPo+=5QxF`A&|5%IRsKWu7HXk4q;%h0}aK5FfjNq zFffRPLhAA4P)Ook912Mb2SXt~z6ce670STi&A`CG5e9KkNEpPS+4W(NxGE2W_@p)r z;=`6ONOtK9gE(kr7$juYLixL)2AvOs#PKsI|7#c|vGRmNJYXFTF()7#qAofd(g4W{ zXJAMH4Myz>hiH(Gfb@X;A|NfFq6mmjCPpwY1Tio$ER2A-{7VERPPro?v_vGtVXBc3 z3ymWoLGKX>@mN4414AeS14CFO14AGK1H+m~28J-u_+KQr%~;P68U-14>x+UII4O#O zAqv!_ih?No1?2}uGceeI42XtU_%a$2Qs1K?O)JJ2NE0q0hJhiTfq`L93}pOICKlqb z*jPvi7sW!-T4gNAq1g-!O;CX@C_OnAV(=WOhGnskkXakcz>vYfz;H1Z5~Nmf5QALf z7#J8CAWd!12q0WqT-@^7#J9qGC&%wSD-R?CchL_HuQs94iel7 zYI`#G83=9mrCfkZhd#(mGei;}Td>9!R%orgt@tJ{v zp&!&SVuVyZl?)6F`#}S+3=9m+j0_AbK*m5ZsCxop?w!0)Ou7CO0|UcP1_lNdMo2Ro zB;yDgBVu4+U}R)qcnNB9g9I5M?R`+o8ZlN4g)%TOyoIt^ zpgImRFfjB&#Xy~S&`g0mBLl-MsMz(%S0&^n7lY;z7#J8lKm`~B14A`bmS-}rq`$s&x9qVFpM1A{A64QRqZ5vm3>M(57J!0?QLfk6Q(raQS( zQeIFH%9DoD%O2Vn{Ffe#BGBDf#HTfAC>=+h; zrezoy7|ag9al5g9KC@G|&%fF#cy?U{Ga*6z-t* z6-cQXBLhP_hyhA{j11sD`fHH47#SFZ7#SFhp=L}1F5hELK*@(P>rB@6h}q|hAp5`MordB3=9m9KpkPw2rN_vG)n_weghFu{Dpymp$f`&Wn^GD24%A`LaM2Uo8L<7 z^6``;XJqE3D>&unXBTf4*V1QE3ra06%_%8n2u@8bO3qM#auw3@ixiYpH3~~piz+pX zl{VYy>B\n" "Language-Team: English \n" @@ -94,29 +94,29 @@ msgstr "%(value)s ist keine gültige remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s ist kein gültiger Username" -#: bookwyrm/models/fields.py:174 bookwyrm/templates/layout.html:164 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:164 msgid "username" msgstr "Username" -#: bookwyrm/models/fields.py:179 +#: bookwyrm/models/fields.py:186 msgid "A user with that username already exists." msgstr "Dieser Benutzename ist bereits vergeben." -#: bookwyrm/settings.py:123 +#: bookwyrm/settings.py:124 msgid "Home Timeline" msgstr "" -#: bookwyrm/settings.py:123 +#: bookwyrm/settings.py:124 msgid "Home" msgstr "" -#: bookwyrm/settings.py:124 +#: bookwyrm/settings.py:125 #, fuzzy #| msgid "Title" msgid "Books Timeline" msgstr "Titel" -#: bookwyrm/settings.py:124 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:125 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:81 #, fuzzy @@ -124,27 +124,27 @@ msgstr "Titel" msgid "Books" msgstr "Buch" -#: bookwyrm/settings.py:170 +#: bookwyrm/settings.py:171 msgid "English" msgstr "Englisch" -#: bookwyrm/settings.py:171 +#: bookwyrm/settings.py:172 msgid "German" msgstr "Deutsch" -#: bookwyrm/settings.py:172 +#: bookwyrm/settings.py:173 msgid "Spanish" msgstr "Spanisch" -#: bookwyrm/settings.py:173 +#: bookwyrm/settings.py:174 msgid "French" msgstr "Französisch" -#: bookwyrm/settings.py:174 +#: bookwyrm/settings.py:175 msgid "Simplified Chinese" msgstr "Vereinfachtes Chinesisch" -#: bookwyrm/settings.py:175 +#: bookwyrm/settings.py:176 msgid "Traditional Chinese" msgstr "" @@ -239,7 +239,7 @@ msgid "Last edited by:" msgstr "Zuletzt bearbeitet von:" #: bookwyrm/templates/author/edit_author.html:31 -#: bookwyrm/templates/book/edit_book.html:117 +#: bookwyrm/templates/book/edit_book.html:124 msgid "Metadata" msgstr "Metadaten" @@ -251,9 +251,9 @@ msgid "Name:" msgstr "" #: bookwyrm/templates/author/edit_author.html:43 -#: bookwyrm/templates/book/edit_book.html:162 -#: bookwyrm/templates/book/edit_book.html:171 -#: bookwyrm/templates/book/edit_book.html:214 +#: bookwyrm/templates/book/edit_book.html:169 +#: bookwyrm/templates/book/edit_book.html:178 +#: bookwyrm/templates/book/edit_book.html:221 #, fuzzy #| msgid "Separate multiple publishers with commas." msgid "Separate multiple values with commas." @@ -284,7 +284,7 @@ msgid "Openlibrary key:" msgstr "" #: bookwyrm/templates/author/edit_author.html:89 -#: bookwyrm/templates/book/edit_book.html:293 +#: bookwyrm/templates/book/edit_book.html:300 #, fuzzy #| msgid "View on OpenLibrary" msgid "Inventaire ID:" @@ -300,8 +300,9 @@ msgstr "" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/book/book.html:141 -#: bookwyrm/templates/book/edit_book.html:321 -#: bookwyrm/templates/book/readthrough.html:77 +#: bookwyrm/templates/book/edit_book.html:328 +#: bookwyrm/templates/book/readthrough.html:76 +#: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/form.html:42 #: bookwyrm/templates/preferences/edit_user.html:78 #: bookwyrm/templates/settings/announcement_form.html:69 @@ -317,8 +318,8 @@ msgstr "Speichern" #: bookwyrm/templates/author/edit_author.html:117 #: bookwyrm/templates/book/book.html:142 bookwyrm/templates/book/book.html:191 #: bookwyrm/templates/book/cover_modal.html:32 -#: bookwyrm/templates/book/edit_book.html:322 -#: bookwyrm/templates/book/readthrough.html:78 +#: bookwyrm/templates/book/edit_book.html:329 +#: bookwyrm/templates/book/readthrough.html:77 #: bookwyrm/templates/moderation/report_modal.html:34 #: bookwyrm/templates/settings/federated_server.html:99 #: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 @@ -361,7 +362,7 @@ msgid "Add Description" msgstr "Beschreibung hinzufügen" #: bookwyrm/templates/book/book.html:137 -#: bookwyrm/templates/book/edit_book.html:136 +#: bookwyrm/templates/book/edit_book.html:143 #: bookwyrm/templates/lists/form.html:12 msgid "Description:" msgstr "Beschreibung:" @@ -457,24 +458,24 @@ msgid "ISBN:" msgstr "" #: bookwyrm/templates/book/book_identifiers.html:14 -#: bookwyrm/templates/book/edit_book.html:301 +#: bookwyrm/templates/book/edit_book.html:308 msgid "OCLC Number:" msgstr "OCLC Nummer:" #: bookwyrm/templates/book/book_identifiers.html:21 -#: bookwyrm/templates/book/edit_book.html:309 +#: bookwyrm/templates/book/edit_book.html:316 msgid "ASIN:" msgstr "" #: bookwyrm/templates/book/cover_modal.html:17 -#: bookwyrm/templates/book/edit_book.html:229 +#: bookwyrm/templates/book/edit_book.html:236 #, fuzzy #| msgid "Add cover" msgid "Upload cover:" msgstr "Cover hinzufügen" #: bookwyrm/templates/book/cover_modal.html:23 -#: bookwyrm/templates/book/edit_book.html:235 +#: bookwyrm/templates/book/edit_book.html:242 msgid "Load cover from url:" msgstr "Cover von URL laden:" @@ -492,144 +493,144 @@ msgstr "Editionen von %(book_title)s" msgid "Add Book" msgstr "Bücher hinzufügen" -#: bookwyrm/templates/book/edit_book.html:54 +#: bookwyrm/templates/book/edit_book.html:61 msgid "Confirm Book Info" msgstr "Buchinfo bestätigen" -#: bookwyrm/templates/book/edit_book.html:62 +#: bookwyrm/templates/book/edit_book.html:69 #, python-format msgid "Is \"%(name)s\" an existing author?" msgstr "Existiert \"%(name)s\" bereits als Autor:in?" -#: bookwyrm/templates/book/edit_book.html:71 +#: bookwyrm/templates/book/edit_book.html:78 #, fuzzy, python-format #| msgid "Start \"%(book_title)s\"" msgid "Author of %(book_title)s" msgstr "\"%(book_title)s\" beginnen" -#: bookwyrm/templates/book/edit_book.html:75 +#: bookwyrm/templates/book/edit_book.html:82 msgid "This is a new author" msgstr "Neue:r Autor:in" -#: bookwyrm/templates/book/edit_book.html:82 +#: bookwyrm/templates/book/edit_book.html:89 #, python-format msgid "Creating a new author: %(name)s" msgstr "Neu als Autor:in erstellen: %(name)s" -#: bookwyrm/templates/book/edit_book.html:89 +#: bookwyrm/templates/book/edit_book.html:96 msgid "Is this an edition of an existing work?" msgstr "Ist das eine Edition eines vorhandenen Werkes?" -#: bookwyrm/templates/book/edit_book.html:97 +#: bookwyrm/templates/book/edit_book.html:104 msgid "This is a new work" msgstr "Dies ist ein neues Werk." -#: bookwyrm/templates/book/edit_book.html:104 +#: bookwyrm/templates/book/edit_book.html:111 #: bookwyrm/templates/password_reset.html:30 msgid "Confirm" msgstr "Bestätigen" -#: bookwyrm/templates/book/edit_book.html:106 +#: bookwyrm/templates/book/edit_book.html:113 #: bookwyrm/templates/feed/status.html:8 msgid "Back" msgstr "Zurück" -#: bookwyrm/templates/book/edit_book.html:120 +#: bookwyrm/templates/book/edit_book.html:127 #: bookwyrm/templates/snippets/create_status/review.html:18 msgid "Title:" msgstr "Titel:" -#: bookwyrm/templates/book/edit_book.html:128 +#: bookwyrm/templates/book/edit_book.html:135 msgid "Subtitle:" msgstr "Untertitel:" -#: bookwyrm/templates/book/edit_book.html:144 +#: bookwyrm/templates/book/edit_book.html:151 msgid "Series:" msgstr "Serie:" -#: bookwyrm/templates/book/edit_book.html:152 +#: bookwyrm/templates/book/edit_book.html:159 msgid "Series number:" msgstr "Seriennummer:" -#: bookwyrm/templates/book/edit_book.html:160 +#: bookwyrm/templates/book/edit_book.html:167 #, fuzzy #| msgid "Pages:" msgid "Languages:" msgstr "Seiten:" -#: bookwyrm/templates/book/edit_book.html:169 +#: bookwyrm/templates/book/edit_book.html:176 #, fuzzy #| msgid "Published" msgid "Publisher:" msgstr "Veröffentlicht" -#: bookwyrm/templates/book/edit_book.html:178 +#: bookwyrm/templates/book/edit_book.html:185 msgid "First published date:" msgstr "Erstveröffentlichungsdatum:" -#: bookwyrm/templates/book/edit_book.html:186 +#: bookwyrm/templates/book/edit_book.html:193 msgid "Published date:" msgstr "Veröffentlichungsdatum:" -#: bookwyrm/templates/book/edit_book.html:195 +#: bookwyrm/templates/book/edit_book.html:202 #, fuzzy #| msgid "Author" msgid "Authors" msgstr "Autor*in" -#: bookwyrm/templates/book/edit_book.html:202 +#: bookwyrm/templates/book/edit_book.html:209 #, fuzzy, python-format #| msgid "Lists: %(username)s" msgid "Remove %(name)s" msgstr "Listen: %(username)s" -#: bookwyrm/templates/book/edit_book.html:205 +#: bookwyrm/templates/book/edit_book.html:212 #, fuzzy, python-format #| msgid "Lists: %(username)s" msgid "Author page for %(name)s" msgstr "Listen: %(username)s" -#: bookwyrm/templates/book/edit_book.html:212 +#: bookwyrm/templates/book/edit_book.html:219 #, fuzzy #| msgid "Edit Author" msgid "Add Authors:" msgstr "Autor*in editieren" -#: bookwyrm/templates/book/edit_book.html:213 +#: bookwyrm/templates/book/edit_book.html:220 msgid "John Doe, Jane Smith" msgstr "" -#: bookwyrm/templates/book/edit_book.html:220 +#: bookwyrm/templates/book/edit_book.html:227 #: bookwyrm/templates/user/shelf/shelf.html:78 msgid "Cover" msgstr "" -#: bookwyrm/templates/book/edit_book.html:248 +#: bookwyrm/templates/book/edit_book.html:255 msgid "Physical Properties" msgstr "Physikalische Eigenschaften" -#: bookwyrm/templates/book/edit_book.html:250 +#: bookwyrm/templates/book/edit_book.html:257 #: bookwyrm/templates/book/format_filter.html:5 msgid "Format:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:258 +#: bookwyrm/templates/book/edit_book.html:265 msgid "Pages:" msgstr "Seiten:" -#: bookwyrm/templates/book/edit_book.html:267 +#: bookwyrm/templates/book/edit_book.html:274 msgid "Book Identifiers" msgstr "Buchidentifikatoren" -#: bookwyrm/templates/book/edit_book.html:269 +#: bookwyrm/templates/book/edit_book.html:276 msgid "ISBN 13:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:277 +#: bookwyrm/templates/book/edit_book.html:284 msgid "ISBN 10:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:285 +#: bookwyrm/templates/book/edit_book.html:292 msgid "Openlibrary ID:" msgstr "" @@ -697,31 +698,37 @@ msgstr "bewertet" msgid "Progress Updates:" msgstr "Fortschrittsupdates:" -#: bookwyrm/templates/book/readthrough.html:14 +#: bookwyrm/templates/book/readthrough.html:13 msgid "finished" msgstr "Abgeschlossen" -#: bookwyrm/templates/book/readthrough.html:25 +#: bookwyrm/templates/book/readthrough.html:24 msgid "Show all updates" msgstr "Zeige alle Updates" -#: bookwyrm/templates/book/readthrough.html:41 +#: bookwyrm/templates/book/readthrough.html:40 msgid "Delete this progress update" msgstr "Dieses Fortschrittsupdate löschen" -#: bookwyrm/templates/book/readthrough.html:52 +#: bookwyrm/templates/book/readthrough.html:51 msgid "started" msgstr "Angefangen" -#: bookwyrm/templates/book/readthrough.html:59 -#: bookwyrm/templates/book/readthrough.html:73 +#: bookwyrm/templates/book/readthrough.html:58 +#: bookwyrm/templates/book/readthrough.html:72 msgid "Edit read dates" msgstr "Lesedaten bearbeiten" -#: bookwyrm/templates/book/readthrough.html:63 +#: bookwyrm/templates/book/readthrough.html:62 msgid "Delete these read dates" msgstr "Diese Lesedaten löschen" +#: bookwyrm/templates/book/search_filter.html:5 +#, fuzzy +#| msgid "Search Results" +msgid "Search editions" +msgstr "Suchergebnisse" + #: bookwyrm/templates/components/inline_form.html:8 #: bookwyrm/templates/components/modal.html:11 #: bookwyrm/templates/feed/layout.html:71 @@ -1064,22 +1071,22 @@ msgid "There are no books here right now! Try searching for a book to get starte msgstr "Hier sind noch keine Bücher! Versuche nach Büchern zu suchen um loszulegen" #: bookwyrm/templates/feed/layout.html:25 -#: bookwyrm/templates/user/shelf/shelf.html:29 +#: bookwyrm/templates/user/shelf/shelf.html:31 #, fuzzy #| msgid "Read" msgid "To Read" msgstr "Auf der Leseliste" #: bookwyrm/templates/feed/layout.html:26 -#: bookwyrm/templates/user/shelf/shelf.html:29 +#: bookwyrm/templates/user/shelf/shelf.html:31 #, fuzzy #| msgid "Start reading" msgid "Currently Reading" msgstr "Gerade lesend" #: bookwyrm/templates/feed/layout.html:27 -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:16 -#: bookwyrm/templates/user/shelf/shelf.html:29 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:17 +#: bookwyrm/templates/user/shelf/shelf.html:31 msgid "Read" msgstr "Gelesen" @@ -1094,6 +1101,10 @@ msgstr "%(year)s Leseziel" msgid "Who to follow" msgstr "" +#: bookwyrm/templates/feed/suggested_users.html:5 +msgid "View directory" +msgstr "" + #: bookwyrm/templates/get_started/book_preview.html:6 #, fuzzy, python-format #| msgid "Want to Read \"%(book_title)s\"" @@ -1112,7 +1123,6 @@ msgid "Search for a book" msgstr "Nach einem Buch suchen" #: bookwyrm/templates/get_started/books.html:11 -#: bookwyrm/templates/isbn_search_results.html:17 #, python-format msgid "No books found for \"%(query)s\"" msgstr "Keine Bücher für \"%(query)s\" gefunden" @@ -1274,7 +1284,7 @@ msgid "%(username)s's %(year)s Books" msgstr "%(username)ss %(year)s Bücher" #: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9 -#: bookwyrm/templates/user/shelf/shelf.html:40 +#: bookwyrm/templates/user/shelf/shelf.html:42 msgid "Import Books" msgstr "Bücher importieren" @@ -1328,7 +1338,7 @@ msgstr "Import gestartet:" msgid "Import completed:" msgstr "Import abgeschlossen:" -#: bookwyrm/templates/import_status.html:25 +#: bookwyrm/templates/import_status.html:24 msgid "TASK FAILED" msgstr "AUFGABE GESCHEITERT" @@ -1405,19 +1415,6 @@ msgstr "Zugiff verweigert" msgid "Sorry! This invite code is no longer valid." msgstr "Sorry! Dieser Einladecode ist mehr gültig." -#: bookwyrm/templates/isbn_search_results.html:4 -msgid "Search Results" -msgstr "Suchergebnisse" - -#: bookwyrm/templates/isbn_search_results.html:9 -#, python-format -msgid "Search Results for \"%(query)s\"" -msgstr "Suchergebnisse für \"%(query)s\"" - -#: bookwyrm/templates/isbn_search_results.html:14 -msgid "Matching Books" -msgstr "Passende Bücher" - #: bookwyrm/templates/landing/about.html:7 #, python-format msgid "About %(site_name)s" @@ -1563,6 +1560,10 @@ msgstr "%(site_name)s auf %(suppo msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm ist open source Software. Du kannst dich auf GitHub beteiligen oder etwas melden." +#: bookwyrm/templates/lists/bookmark_button.html:30 +msgid "Un-save" +msgstr "" + #: bookwyrm/templates/lists/create_form.html:5 #: bookwyrm/templates/lists/lists.html:20 msgid "Create List" @@ -1715,10 +1716,28 @@ msgstr "Keine passenden Bücher zu \"%(query)s\" gefunden" msgid "Suggest" msgstr "Vorschlagen" +#: bookwyrm/templates/lists/list_items.html:15 +#, fuzzy +#| msgid "Save" +msgid "Saved" +msgstr "Speichern" + #: bookwyrm/templates/lists/lists.html:14 bookwyrm/templates/user/lists.html:9 msgid "Your Lists" msgstr "Deine Listen" +#: bookwyrm/templates/lists/lists.html:35 +#, fuzzy +#| msgid "Lists" +msgid "All Lists" +msgstr "Listen" + +#: bookwyrm/templates/lists/lists.html:39 +#, fuzzy +#| msgid "Create List" +msgid "Saved Lists" +msgstr "Liste erstellen" + #: bookwyrm/templates/login.html:4 msgid "Login" msgstr "" @@ -2232,31 +2251,31 @@ msgstr "Aktivität" msgid "Create Announcement" msgstr "Ankündigungen" -#: bookwyrm/templates/settings/announcements.html:22 +#: bookwyrm/templates/settings/announcements.html:21 #, fuzzy #| msgid "Added:" msgid "Date added" msgstr "Hinzugefügt:" -#: bookwyrm/templates/settings/announcements.html:26 +#: bookwyrm/templates/settings/announcements.html:25 #, fuzzy #| msgid "reviewed" msgid "Preview" msgstr "bewertete" -#: bookwyrm/templates/settings/announcements.html:30 +#: bookwyrm/templates/settings/announcements.html:29 #, fuzzy #| msgid "Started" msgid "Start date" msgstr "Gestartet" -#: bookwyrm/templates/settings/announcements.html:34 +#: bookwyrm/templates/settings/announcements.html:33 #, fuzzy #| msgid "Edit read dates" msgid "End date" msgstr "Lesedaten bearbeiten" -#: bookwyrm/templates/settings/announcements.html:38 +#: bookwyrm/templates/settings/announcements.html:37 #: bookwyrm/templates/settings/federation.html:30 #: bookwyrm/templates/settings/manage_invite_requests.html:44 #: bookwyrm/templates/settings/status_filter.html:5 @@ -2264,13 +2283,13 @@ msgstr "Lesedaten bearbeiten" msgid "Status" msgstr "" -#: bookwyrm/templates/settings/announcements.html:48 +#: bookwyrm/templates/settings/announcements.html:47 #, fuzzy #| msgid "Activity" msgid "active" msgstr "Aktivität" -#: bookwyrm/templates/settings/announcements.html:48 +#: bookwyrm/templates/settings/announcements.html:47 #, fuzzy #| msgid "Activity" msgid "inactive" @@ -2666,7 +2685,7 @@ msgid_plural "and %(remainder_count_display)s others" msgstr[0] "" msgstr[1] "" -#: bookwyrm/templates/snippets/book_cover.html:32 +#: bookwyrm/templates/snippets/book_cover.html:61 #, fuzzy #| msgid "Add cover" msgid "No cover" @@ -2803,13 +2822,13 @@ msgstr "Diese Lesedaten löschen?" msgid "You are deleting this readthrough and its %(count)s associated progress updates." msgstr "Du löscht diesen Leseforschritt und %(count)s zugehörige Fortschrittsupdates." -#: bookwyrm/templates/snippets/fav_button.html:10 -#: bookwyrm/templates/snippets/fav_button.html:12 +#: bookwyrm/templates/snippets/fav_button.html:16 +#: bookwyrm/templates/snippets/fav_button.html:17 msgid "Like" msgstr "" -#: bookwyrm/templates/snippets/fav_button.html:18 -#: bookwyrm/templates/snippets/fav_button.html:19 +#: bookwyrm/templates/snippets/fav_button.html:30 +#: bookwyrm/templates/snippets/fav_button.html:31 #, fuzzy #| msgid "Un-like status" msgid "Un-like" @@ -3021,7 +3040,7 @@ msgid "(Optional)" msgstr "" #: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:5 -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:47 #, fuzzy #| msgid "Progress" msgid "Update progress" @@ -3069,15 +3088,15 @@ msgstr "Mehr Regale" msgid "Start reading" msgstr "Zu lesen beginnen" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:19 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:21 msgid "Finish reading" msgstr "Lesen abschließen" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:25 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:27 msgid "Want to read" msgstr "Auf Leseliste setzen" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:57 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:59 #, fuzzy, python-format #| msgid "Lists: %(username)s" msgid "Remove from %(name)s" @@ -3273,13 +3292,13 @@ msgstr "Regal bearbeiten" msgid "Update shelf" msgstr "Regal aktualisieren" -#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:56 +#: bookwyrm/templates/user/shelf/shelf.html:27 bookwyrm/views/shelf.py:56 #, fuzzy #| msgid "books" msgid "All books" msgstr "Bücher" -#: bookwyrm/templates/user/shelf/shelf.html:38 +#: bookwyrm/templates/user/shelf/shelf.html:40 msgid "Create shelf" msgstr "Regal erstellen" @@ -3453,11 +3472,11 @@ msgstr "" msgid "Access level:" msgstr "" -#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:22 +#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:28 msgid "File exceeds maximum size: 10MB" msgstr "" -#: bookwyrm/templatetags/utilities.py:30 +#: bookwyrm/templatetags/utilities.py:31 #, python-format msgid "%(title)s: %(subtitle)s" msgstr "" @@ -3488,6 +3507,12 @@ msgstr "" msgid "Status updates from {obj.display_name}" msgstr "" +#~ msgid "Search Results for \"%(query)s\"" +#~ msgstr "Suchergebnisse für \"%(query)s\"" + +#~ msgid "Matching Books" +#~ msgstr "Passende Bücher" + #, fuzzy #~| msgid "Federated Servers" #~ msgid "Federated Timeline" diff --git a/locale/en_US/LC_MESSAGES/django.po b/locale/en_US/LC_MESSAGES/django.po index ac2acf350..65c402b1f 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: 2021-08-16 21:26+0000\n" +"POT-Creation-Date: 2021-08-27 19:11+0000\n" "PO-Revision-Date: 2021-02-28 17:19-0800\n" "Last-Translator: Mouse Reeve \n" "Language-Team: English \n" @@ -84,53 +84,53 @@ msgstr "" msgid "%(value)s is not a valid username" msgstr "" -#: bookwyrm/models/fields.py:174 bookwyrm/templates/layout.html:164 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:164 msgid "username" msgstr "" -#: bookwyrm/models/fields.py:179 +#: bookwyrm/models/fields.py:186 msgid "A user with that username already exists." msgstr "" -#: bookwyrm/settings.py:123 +#: bookwyrm/settings.py:124 msgid "Home Timeline" msgstr "" -#: bookwyrm/settings.py:123 +#: bookwyrm/settings.py:124 msgid "Home" msgstr "" -#: bookwyrm/settings.py:124 +#: bookwyrm/settings.py:125 msgid "Books Timeline" msgstr "" -#: bookwyrm/settings.py:124 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:125 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:81 msgid "Books" msgstr "" -#: bookwyrm/settings.py:170 +#: bookwyrm/settings.py:171 msgid "English" msgstr "" -#: bookwyrm/settings.py:171 +#: bookwyrm/settings.py:172 msgid "German" msgstr "" -#: bookwyrm/settings.py:172 +#: bookwyrm/settings.py:173 msgid "Spanish" msgstr "" -#: bookwyrm/settings.py:173 +#: bookwyrm/settings.py:174 msgid "French" msgstr "" -#: bookwyrm/settings.py:174 +#: bookwyrm/settings.py:175 msgid "Simplified Chinese" msgstr "" -#: bookwyrm/settings.py:175 +#: bookwyrm/settings.py:176 msgid "Traditional Chinese" msgstr "" @@ -219,7 +219,7 @@ msgid "Last edited by:" msgstr "" #: bookwyrm/templates/author/edit_author.html:31 -#: bookwyrm/templates/book/edit_book.html:117 +#: bookwyrm/templates/book/edit_book.html:124 msgid "Metadata" msgstr "" @@ -231,9 +231,9 @@ msgid "Name:" msgstr "" #: bookwyrm/templates/author/edit_author.html:43 -#: bookwyrm/templates/book/edit_book.html:162 -#: bookwyrm/templates/book/edit_book.html:171 -#: bookwyrm/templates/book/edit_book.html:214 +#: bookwyrm/templates/book/edit_book.html:169 +#: bookwyrm/templates/book/edit_book.html:178 +#: bookwyrm/templates/book/edit_book.html:221 msgid "Separate multiple values with commas." msgstr "" @@ -262,7 +262,7 @@ msgid "Openlibrary key:" msgstr "" #: bookwyrm/templates/author/edit_author.html:89 -#: bookwyrm/templates/book/edit_book.html:293 +#: bookwyrm/templates/book/edit_book.html:300 msgid "Inventaire ID:" msgstr "" @@ -276,8 +276,9 @@ msgstr "" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/book/book.html:141 -#: bookwyrm/templates/book/edit_book.html:321 -#: bookwyrm/templates/book/readthrough.html:77 +#: bookwyrm/templates/book/edit_book.html:328 +#: bookwyrm/templates/book/readthrough.html:76 +#: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/form.html:42 #: bookwyrm/templates/preferences/edit_user.html:78 #: bookwyrm/templates/settings/announcement_form.html:69 @@ -293,8 +294,8 @@ msgstr "" #: bookwyrm/templates/author/edit_author.html:117 #: bookwyrm/templates/book/book.html:142 bookwyrm/templates/book/book.html:191 #: bookwyrm/templates/book/cover_modal.html:32 -#: bookwyrm/templates/book/edit_book.html:322 -#: bookwyrm/templates/book/readthrough.html:78 +#: bookwyrm/templates/book/edit_book.html:329 +#: bookwyrm/templates/book/readthrough.html:77 #: bookwyrm/templates/moderation/report_modal.html:34 #: bookwyrm/templates/settings/federated_server.html:99 #: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 @@ -335,7 +336,7 @@ msgid "Add Description" msgstr "" #: bookwyrm/templates/book/book.html:137 -#: bookwyrm/templates/book/edit_book.html:136 +#: bookwyrm/templates/book/edit_book.html:143 #: bookwyrm/templates/lists/form.html:12 msgid "Description:" msgstr "" @@ -418,22 +419,22 @@ msgid "ISBN:" msgstr "" #: bookwyrm/templates/book/book_identifiers.html:14 -#: bookwyrm/templates/book/edit_book.html:301 +#: bookwyrm/templates/book/edit_book.html:308 msgid "OCLC Number:" msgstr "" #: bookwyrm/templates/book/book_identifiers.html:21 -#: bookwyrm/templates/book/edit_book.html:309 +#: bookwyrm/templates/book/edit_book.html:316 msgid "ASIN:" msgstr "" #: bookwyrm/templates/book/cover_modal.html:17 -#: bookwyrm/templates/book/edit_book.html:229 +#: bookwyrm/templates/book/edit_book.html:236 msgid "Upload cover:" msgstr "" #: bookwyrm/templates/book/cover_modal.html:23 -#: bookwyrm/templates/book/edit_book.html:235 +#: bookwyrm/templates/book/edit_book.html:242 msgid "Load cover from url:" msgstr "" @@ -448,133 +449,133 @@ msgstr "" msgid "Add Book" msgstr "" -#: bookwyrm/templates/book/edit_book.html:54 +#: bookwyrm/templates/book/edit_book.html:61 msgid "Confirm Book Info" msgstr "" -#: bookwyrm/templates/book/edit_book.html:62 +#: bookwyrm/templates/book/edit_book.html:69 #, python-format msgid "Is \"%(name)s\" an existing author?" msgstr "" -#: bookwyrm/templates/book/edit_book.html:71 +#: bookwyrm/templates/book/edit_book.html:78 #, python-format msgid "Author of %(book_title)s" msgstr "" -#: bookwyrm/templates/book/edit_book.html:75 +#: bookwyrm/templates/book/edit_book.html:82 msgid "This is a new author" msgstr "" -#: bookwyrm/templates/book/edit_book.html:82 +#: bookwyrm/templates/book/edit_book.html:89 #, python-format msgid "Creating a new author: %(name)s" msgstr "" -#: bookwyrm/templates/book/edit_book.html:89 +#: bookwyrm/templates/book/edit_book.html:96 msgid "Is this an edition of an existing work?" msgstr "" -#: bookwyrm/templates/book/edit_book.html:97 +#: bookwyrm/templates/book/edit_book.html:104 msgid "This is a new work" msgstr "" -#: bookwyrm/templates/book/edit_book.html:104 +#: bookwyrm/templates/book/edit_book.html:111 #: bookwyrm/templates/password_reset.html:30 msgid "Confirm" msgstr "" -#: bookwyrm/templates/book/edit_book.html:106 +#: bookwyrm/templates/book/edit_book.html:113 #: bookwyrm/templates/feed/status.html:8 msgid "Back" msgstr "" -#: bookwyrm/templates/book/edit_book.html:120 +#: bookwyrm/templates/book/edit_book.html:127 #: bookwyrm/templates/snippets/create_status/review.html:18 msgid "Title:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:128 +#: bookwyrm/templates/book/edit_book.html:135 msgid "Subtitle:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:144 +#: bookwyrm/templates/book/edit_book.html:151 msgid "Series:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:152 +#: bookwyrm/templates/book/edit_book.html:159 msgid "Series number:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:160 +#: bookwyrm/templates/book/edit_book.html:167 msgid "Languages:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:169 +#: bookwyrm/templates/book/edit_book.html:176 msgid "Publisher:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:178 +#: bookwyrm/templates/book/edit_book.html:185 msgid "First published date:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:186 +#: bookwyrm/templates/book/edit_book.html:193 msgid "Published date:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:195 +#: bookwyrm/templates/book/edit_book.html:202 msgid "Authors" msgstr "" -#: bookwyrm/templates/book/edit_book.html:202 +#: bookwyrm/templates/book/edit_book.html:209 #, python-format msgid "Remove %(name)s" msgstr "" -#: bookwyrm/templates/book/edit_book.html:205 +#: bookwyrm/templates/book/edit_book.html:212 #, python-format msgid "Author page for %(name)s" msgstr "" -#: bookwyrm/templates/book/edit_book.html:212 +#: bookwyrm/templates/book/edit_book.html:219 msgid "Add Authors:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:213 +#: bookwyrm/templates/book/edit_book.html:220 msgid "John Doe, Jane Smith" msgstr "" -#: bookwyrm/templates/book/edit_book.html:220 +#: bookwyrm/templates/book/edit_book.html:227 #: bookwyrm/templates/user/shelf/shelf.html:78 msgid "Cover" msgstr "" -#: bookwyrm/templates/book/edit_book.html:248 +#: bookwyrm/templates/book/edit_book.html:255 msgid "Physical Properties" msgstr "" -#: bookwyrm/templates/book/edit_book.html:250 +#: bookwyrm/templates/book/edit_book.html:257 #: bookwyrm/templates/book/format_filter.html:5 msgid "Format:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:258 +#: bookwyrm/templates/book/edit_book.html:265 msgid "Pages:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:267 +#: bookwyrm/templates/book/edit_book.html:274 msgid "Book Identifiers" msgstr "" -#: bookwyrm/templates/book/edit_book.html:269 +#: bookwyrm/templates/book/edit_book.html:276 msgid "ISBN 13:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:277 +#: bookwyrm/templates/book/edit_book.html:284 msgid "ISBN 10:" msgstr "" -#: bookwyrm/templates/book/edit_book.html:285 +#: bookwyrm/templates/book/edit_book.html:292 msgid "Openlibrary ID:" msgstr "" @@ -640,31 +641,35 @@ msgstr "" msgid "Progress Updates:" msgstr "" -#: bookwyrm/templates/book/readthrough.html:14 +#: bookwyrm/templates/book/readthrough.html:13 msgid "finished" msgstr "" -#: bookwyrm/templates/book/readthrough.html:25 +#: bookwyrm/templates/book/readthrough.html:24 msgid "Show all updates" msgstr "" -#: bookwyrm/templates/book/readthrough.html:41 +#: bookwyrm/templates/book/readthrough.html:40 msgid "Delete this progress update" msgstr "" -#: bookwyrm/templates/book/readthrough.html:52 +#: bookwyrm/templates/book/readthrough.html:51 msgid "started" msgstr "" -#: bookwyrm/templates/book/readthrough.html:59 -#: bookwyrm/templates/book/readthrough.html:73 +#: bookwyrm/templates/book/readthrough.html:58 +#: bookwyrm/templates/book/readthrough.html:72 msgid "Edit read dates" msgstr "" -#: bookwyrm/templates/book/readthrough.html:63 +#: bookwyrm/templates/book/readthrough.html:62 msgid "Delete these read dates" msgstr "" +#: bookwyrm/templates/book/search_filter.html:5 +msgid "Search editions" +msgstr "" + #: bookwyrm/templates/components/inline_form.html:8 #: bookwyrm/templates/components/modal.html:11 #: bookwyrm/templates/feed/layout.html:71 @@ -972,18 +977,18 @@ msgid "There are no books here right now! Try searching for a book to get starte msgstr "" #: bookwyrm/templates/feed/layout.html:25 -#: bookwyrm/templates/user/shelf/shelf.html:29 +#: bookwyrm/templates/user/shelf/shelf.html:31 msgid "To Read" msgstr "" #: bookwyrm/templates/feed/layout.html:26 -#: bookwyrm/templates/user/shelf/shelf.html:29 +#: bookwyrm/templates/user/shelf/shelf.html:31 msgid "Currently Reading" msgstr "" #: bookwyrm/templates/feed/layout.html:27 -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:16 -#: bookwyrm/templates/user/shelf/shelf.html:29 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:17 +#: bookwyrm/templates/user/shelf/shelf.html:31 msgid "Read" msgstr "" @@ -998,6 +1003,10 @@ msgstr "" msgid "Who to follow" msgstr "" +#: bookwyrm/templates/feed/suggested_users.html:5 +msgid "View directory" +msgstr "" + #: bookwyrm/templates/get_started/book_preview.html:6 #, python-format msgid "Have you read %(book_title)s?" @@ -1013,7 +1022,6 @@ msgid "Search for a book" msgstr "" #: bookwyrm/templates/get_started/books.html:11 -#: bookwyrm/templates/isbn_search_results.html:17 #, python-format msgid "No books found for \"%(query)s\"" msgstr "" @@ -1161,7 +1169,7 @@ msgid "%(username)s's %(year)s Books" msgstr "" #: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9 -#: bookwyrm/templates/user/shelf/shelf.html:40 +#: bookwyrm/templates/user/shelf/shelf.html:42 msgid "Import Books" msgstr "" @@ -1211,7 +1219,7 @@ msgstr "" msgid "Import completed:" msgstr "" -#: bookwyrm/templates/import_status.html:25 +#: bookwyrm/templates/import_status.html:24 msgid "TASK FAILED" msgstr "" @@ -1286,19 +1294,6 @@ msgstr "" msgid "Sorry! This invite code is no longer valid." msgstr "" -#: bookwyrm/templates/isbn_search_results.html:4 -msgid "Search Results" -msgstr "" - -#: bookwyrm/templates/isbn_search_results.html:9 -#, python-format -msgid "Search Results for \"%(query)s\"" -msgstr "" - -#: bookwyrm/templates/isbn_search_results.html:14 -msgid "Matching Books" -msgstr "" - #: bookwyrm/templates/landing/about.html:7 #, python-format msgid "About %(site_name)s" @@ -1438,6 +1433,10 @@ msgstr "" msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "" +#: bookwyrm/templates/lists/bookmark_button.html:30 +msgid "Un-save" +msgstr "" + #: bookwyrm/templates/lists/create_form.html:5 #: bookwyrm/templates/lists/lists.html:20 msgid "Create List" @@ -1577,10 +1576,22 @@ msgstr "" msgid "Suggest" msgstr "" +#: bookwyrm/templates/lists/list_items.html:15 +msgid "Saved" +msgstr "" + #: bookwyrm/templates/lists/lists.html:14 bookwyrm/templates/user/lists.html:9 msgid "Your Lists" msgstr "" +#: bookwyrm/templates/lists/lists.html:35 +msgid "All Lists" +msgstr "" + +#: bookwyrm/templates/lists/lists.html:39 +msgid "Saved Lists" +msgstr "" + #: bookwyrm/templates/login.html:4 msgid "Login" msgstr "" @@ -2045,23 +2056,23 @@ msgstr "" msgid "Create Announcement" msgstr "" -#: bookwyrm/templates/settings/announcements.html:22 +#: bookwyrm/templates/settings/announcements.html:21 msgid "Date added" msgstr "" -#: bookwyrm/templates/settings/announcements.html:26 +#: bookwyrm/templates/settings/announcements.html:25 msgid "Preview" msgstr "" -#: bookwyrm/templates/settings/announcements.html:30 +#: bookwyrm/templates/settings/announcements.html:29 msgid "Start date" msgstr "" -#: bookwyrm/templates/settings/announcements.html:34 +#: bookwyrm/templates/settings/announcements.html:33 msgid "End date" msgstr "" -#: bookwyrm/templates/settings/announcements.html:38 +#: bookwyrm/templates/settings/announcements.html:37 #: bookwyrm/templates/settings/federation.html:30 #: bookwyrm/templates/settings/manage_invite_requests.html:44 #: bookwyrm/templates/settings/status_filter.html:5 @@ -2069,11 +2080,11 @@ msgstr "" msgid "Status" msgstr "" -#: bookwyrm/templates/settings/announcements.html:48 +#: bookwyrm/templates/settings/announcements.html:47 msgid "active" msgstr "" -#: bookwyrm/templates/settings/announcements.html:48 +#: bookwyrm/templates/settings/announcements.html:47 msgid "inactive" msgstr "" @@ -2414,7 +2425,7 @@ msgid_plural "and %(remainder_count_display)s others" msgstr[0] "" msgstr[1] "" -#: bookwyrm/templates/snippets/book_cover.html:32 +#: bookwyrm/templates/snippets/book_cover.html:61 msgid "No cover" msgstr "" @@ -2534,13 +2545,13 @@ msgstr "" msgid "You are deleting this readthrough and its %(count)s associated progress updates." msgstr "" -#: bookwyrm/templates/snippets/fav_button.html:10 -#: bookwyrm/templates/snippets/fav_button.html:12 +#: bookwyrm/templates/snippets/fav_button.html:16 +#: bookwyrm/templates/snippets/fav_button.html:17 msgid "Like" msgstr "" -#: bookwyrm/templates/snippets/fav_button.html:18 -#: bookwyrm/templates/snippets/fav_button.html:19 +#: bookwyrm/templates/snippets/fav_button.html:30 +#: bookwyrm/templates/snippets/fav_button.html:31 msgid "Un-like" msgstr "" @@ -2739,7 +2750,7 @@ msgid "(Optional)" msgstr "" #: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:5 -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:47 msgid "Update progress" msgstr "" @@ -2781,15 +2792,15 @@ msgstr "" msgid "Start reading" msgstr "" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:19 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:21 msgid "Finish reading" msgstr "" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:25 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:27 msgid "Want to read" msgstr "" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:57 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:59 #, python-format msgid "Remove from %(name)s" msgstr "" @@ -2967,11 +2978,11 @@ msgstr "" msgid "Update shelf" msgstr "" -#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:56 +#: bookwyrm/templates/user/shelf/shelf.html:27 bookwyrm/views/shelf.py:56 msgid "All books" msgstr "" -#: bookwyrm/templates/user/shelf/shelf.html:38 +#: bookwyrm/templates/user/shelf/shelf.html:40 msgid "Create shelf" msgstr "" @@ -3126,11 +3137,11 @@ msgstr "" msgid "Access level:" msgstr "" -#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:22 +#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:28 msgid "File exceeds maximum size: 10MB" msgstr "" -#: bookwyrm/templatetags/utilities.py:30 +#: bookwyrm/templatetags/utilities.py:31 #, python-format msgid "%(title)s: %(subtitle)s" msgstr "" diff --git a/locale/es/LC_MESSAGES/django.mo b/locale/es/LC_MESSAGES/django.mo index a7b3e18120821a785b3e99b14f41b1656528ffb5..5123134bf4e165fda9181a0412c7b36a57f34130 100644 GIT binary patch delta 13921 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 delta 14097 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 diff --git a/locale/es/LC_MESSAGES/django.po b/locale/es/LC_MESSAGES/django.po index 04497a2a1..076e65f03 100644 --- a/locale/es/LC_MESSAGES/django.po +++ b/locale/es/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: 2021-08-16 21:26+0000\n" +"POT-Creation-Date: 2021-08-27 19:11+0000\n" "PO-Revision-Date: 2021-03-19 11:49+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -84,53 +84,53 @@ 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:174 bookwyrm/templates/layout.html:164 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:164 msgid "username" msgstr "nombre de usuario" -#: bookwyrm/models/fields.py:179 +#: bookwyrm/models/fields.py:186 msgid "A user with that username already exists." msgstr "Ya existe un usuario con ese nombre." -#: bookwyrm/settings.py:123 +#: bookwyrm/settings.py:124 msgid "Home Timeline" msgstr "Línea temporal de hogar" -#: bookwyrm/settings.py:123 +#: bookwyrm/settings.py:124 msgid "Home" msgstr "Hogar" -#: bookwyrm/settings.py:124 +#: bookwyrm/settings.py:125 msgid "Books Timeline" msgstr "Línea temporal de libros" -#: bookwyrm/settings.py:124 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:125 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:81 msgid "Books" msgstr "Libros" -#: bookwyrm/settings.py:170 +#: bookwyrm/settings.py:171 msgid "English" msgstr "Inglés" -#: bookwyrm/settings.py:171 +#: bookwyrm/settings.py:172 msgid "German" msgstr "Aléman" -#: bookwyrm/settings.py:172 +#: bookwyrm/settings.py:173 msgid "Spanish" msgstr "Español" -#: bookwyrm/settings.py:173 +#: bookwyrm/settings.py:174 msgid "French" msgstr "Francés" -#: bookwyrm/settings.py:174 +#: bookwyrm/settings.py:175 msgid "Simplified Chinese" msgstr "Chino simplificado" -#: bookwyrm/settings.py:175 +#: bookwyrm/settings.py:176 msgid "Traditional Chinese" msgstr "Chino tradicional" @@ -219,7 +219,7 @@ msgid "Last edited by:" msgstr "Editado más recientemente por:" #: bookwyrm/templates/author/edit_author.html:31 -#: bookwyrm/templates/book/edit_book.html:117 +#: bookwyrm/templates/book/edit_book.html:124 msgid "Metadata" msgstr "Metadatos" @@ -231,9 +231,9 @@ msgid "Name:" msgstr "Nombre:" #: bookwyrm/templates/author/edit_author.html:43 -#: bookwyrm/templates/book/edit_book.html:162 -#: bookwyrm/templates/book/edit_book.html:171 -#: bookwyrm/templates/book/edit_book.html:214 +#: bookwyrm/templates/book/edit_book.html:169 +#: bookwyrm/templates/book/edit_book.html:178 +#: bookwyrm/templates/book/edit_book.html:221 msgid "Separate multiple values with commas." msgstr "Separar varios valores con comas." @@ -262,7 +262,7 @@ msgid "Openlibrary key:" msgstr "Clave OpenLibrary:" #: bookwyrm/templates/author/edit_author.html:89 -#: bookwyrm/templates/book/edit_book.html:293 +#: bookwyrm/templates/book/edit_book.html:300 msgid "Inventaire ID:" msgstr "ID Inventaire:" @@ -276,8 +276,9 @@ msgstr "Clave Goodreads:" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/book/book.html:141 -#: bookwyrm/templates/book/edit_book.html:321 -#: bookwyrm/templates/book/readthrough.html:77 +#: bookwyrm/templates/book/edit_book.html:328 +#: bookwyrm/templates/book/readthrough.html:76 +#: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/form.html:42 #: bookwyrm/templates/preferences/edit_user.html:78 #: bookwyrm/templates/settings/announcement_form.html:69 @@ -293,8 +294,8 @@ msgstr "Guardar" #: bookwyrm/templates/author/edit_author.html:117 #: bookwyrm/templates/book/book.html:142 bookwyrm/templates/book/book.html:191 #: bookwyrm/templates/book/cover_modal.html:32 -#: bookwyrm/templates/book/edit_book.html:322 -#: bookwyrm/templates/book/readthrough.html:78 +#: bookwyrm/templates/book/edit_book.html:329 +#: bookwyrm/templates/book/readthrough.html:77 #: bookwyrm/templates/moderation/report_modal.html:34 #: bookwyrm/templates/settings/federated_server.html:99 #: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 @@ -335,7 +336,7 @@ msgid "Add Description" msgstr "Agregar descripción" #: bookwyrm/templates/book/book.html:137 -#: bookwyrm/templates/book/edit_book.html:136 +#: bookwyrm/templates/book/edit_book.html:143 #: bookwyrm/templates/lists/form.html:12 msgid "Description:" msgstr "Descripción:" @@ -418,22 +419,22 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:14 -#: bookwyrm/templates/book/edit_book.html:301 +#: bookwyrm/templates/book/edit_book.html:308 msgid "OCLC Number:" msgstr "Número OCLC:" #: bookwyrm/templates/book/book_identifiers.html:21 -#: bookwyrm/templates/book/edit_book.html:309 +#: bookwyrm/templates/book/edit_book.html:316 msgid "ASIN:" msgstr "ASIN:" #: bookwyrm/templates/book/cover_modal.html:17 -#: bookwyrm/templates/book/edit_book.html:229 +#: bookwyrm/templates/book/edit_book.html:236 msgid "Upload cover:" msgstr "Subir portada:" #: bookwyrm/templates/book/cover_modal.html:23 -#: bookwyrm/templates/book/edit_book.html:235 +#: bookwyrm/templates/book/edit_book.html:242 msgid "Load cover from url:" msgstr "Agregar portada de url:" @@ -448,133 +449,133 @@ msgstr "Editar \"%(book_title)s\"" msgid "Add Book" msgstr "Agregar libro" -#: bookwyrm/templates/book/edit_book.html:54 +#: bookwyrm/templates/book/edit_book.html:61 msgid "Confirm Book Info" msgstr "Confirmar información de libro" -#: bookwyrm/templates/book/edit_book.html:62 +#: bookwyrm/templates/book/edit_book.html:69 #, python-format msgid "Is \"%(name)s\" an existing author?" msgstr "¿Es \"%(name)s\" un autor ya existente?" -#: bookwyrm/templates/book/edit_book.html:71 +#: bookwyrm/templates/book/edit_book.html:78 #, python-format msgid "Author of %(book_title)s" msgstr "Autor de %(book_title)s" -#: bookwyrm/templates/book/edit_book.html:75 +#: bookwyrm/templates/book/edit_book.html:82 msgid "This is a new author" msgstr "Este es un autor nuevo" -#: bookwyrm/templates/book/edit_book.html:82 +#: bookwyrm/templates/book/edit_book.html:89 #, python-format msgid "Creating a new author: %(name)s" msgstr "Creando un autor nuevo: %(name)s" -#: bookwyrm/templates/book/edit_book.html:89 +#: bookwyrm/templates/book/edit_book.html:96 msgid "Is this an edition of an existing work?" msgstr "¿Es esta una edición de una obra ya existente?" -#: bookwyrm/templates/book/edit_book.html:97 +#: bookwyrm/templates/book/edit_book.html:104 msgid "This is a new work" msgstr "Esta es una obra nueva" -#: bookwyrm/templates/book/edit_book.html:104 +#: bookwyrm/templates/book/edit_book.html:111 #: bookwyrm/templates/password_reset.html:30 msgid "Confirm" msgstr "Confirmar" -#: bookwyrm/templates/book/edit_book.html:106 +#: bookwyrm/templates/book/edit_book.html:113 #: bookwyrm/templates/feed/status.html:8 msgid "Back" msgstr "Volver" -#: bookwyrm/templates/book/edit_book.html:120 +#: bookwyrm/templates/book/edit_book.html:127 #: bookwyrm/templates/snippets/create_status/review.html:18 msgid "Title:" msgstr "Título:" -#: bookwyrm/templates/book/edit_book.html:128 +#: bookwyrm/templates/book/edit_book.html:135 msgid "Subtitle:" msgstr "Subtítulo:" -#: bookwyrm/templates/book/edit_book.html:144 +#: bookwyrm/templates/book/edit_book.html:151 msgid "Series:" msgstr "Serie:" -#: bookwyrm/templates/book/edit_book.html:152 +#: bookwyrm/templates/book/edit_book.html:159 msgid "Series number:" msgstr "Número de serie:" -#: bookwyrm/templates/book/edit_book.html:160 +#: bookwyrm/templates/book/edit_book.html:167 msgid "Languages:" msgstr "Idiomas:" -#: bookwyrm/templates/book/edit_book.html:169 +#: bookwyrm/templates/book/edit_book.html:176 msgid "Publisher:" msgstr "Editorial:" -#: bookwyrm/templates/book/edit_book.html:178 +#: bookwyrm/templates/book/edit_book.html:185 msgid "First published date:" msgstr "Fecha de primera publicación:" -#: bookwyrm/templates/book/edit_book.html:186 +#: bookwyrm/templates/book/edit_book.html:193 msgid "Published date:" msgstr "Fecha de publicación:" -#: bookwyrm/templates/book/edit_book.html:195 +#: bookwyrm/templates/book/edit_book.html:202 msgid "Authors" msgstr "Autores" -#: bookwyrm/templates/book/edit_book.html:202 +#: bookwyrm/templates/book/edit_book.html:209 #, python-format msgid "Remove %(name)s" msgstr "Quitar %(name)s" -#: bookwyrm/templates/book/edit_book.html:205 +#: bookwyrm/templates/book/edit_book.html:212 #, python-format msgid "Author page for %(name)s" msgstr "Página de autor por %(name)s" -#: bookwyrm/templates/book/edit_book.html:212 +#: bookwyrm/templates/book/edit_book.html:219 msgid "Add Authors:" msgstr "Agregar Autores:" -#: bookwyrm/templates/book/edit_book.html:213 +#: bookwyrm/templates/book/edit_book.html:220 msgid "John Doe, Jane Smith" msgstr "Juan Nadie, Natalia Natalia" -#: bookwyrm/templates/book/edit_book.html:220 +#: bookwyrm/templates/book/edit_book.html:227 #: bookwyrm/templates/user/shelf/shelf.html:78 msgid "Cover" msgstr "Portada:" -#: bookwyrm/templates/book/edit_book.html:248 +#: bookwyrm/templates/book/edit_book.html:255 msgid "Physical Properties" msgstr "Propiedades físicas:" -#: bookwyrm/templates/book/edit_book.html:250 +#: bookwyrm/templates/book/edit_book.html:257 #: bookwyrm/templates/book/format_filter.html:5 msgid "Format:" msgstr "Formato:" -#: bookwyrm/templates/book/edit_book.html:258 +#: bookwyrm/templates/book/edit_book.html:265 msgid "Pages:" msgstr "Páginas:" -#: bookwyrm/templates/book/edit_book.html:267 +#: bookwyrm/templates/book/edit_book.html:274 msgid "Book Identifiers" msgstr "Identificadores de libro" -#: bookwyrm/templates/book/edit_book.html:269 +#: bookwyrm/templates/book/edit_book.html:276 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit_book.html:277 +#: bookwyrm/templates/book/edit_book.html:284 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit_book.html:285 +#: bookwyrm/templates/book/edit_book.html:292 msgid "Openlibrary ID:" msgstr "ID OpenLibrary:" @@ -640,31 +641,37 @@ msgstr "lo calificó con" msgid "Progress Updates:" msgstr "Actualizaciones de progreso:" -#: bookwyrm/templates/book/readthrough.html:14 +#: bookwyrm/templates/book/readthrough.html:13 msgid "finished" msgstr "terminado" -#: bookwyrm/templates/book/readthrough.html:25 +#: bookwyrm/templates/book/readthrough.html:24 msgid "Show all updates" msgstr "Mostrar todas las actualizaciones" -#: bookwyrm/templates/book/readthrough.html:41 +#: bookwyrm/templates/book/readthrough.html:40 msgid "Delete this progress update" msgstr "Eliminar esta actualización de progreso" -#: bookwyrm/templates/book/readthrough.html:52 +#: bookwyrm/templates/book/readthrough.html:51 msgid "started" msgstr "empezado" -#: bookwyrm/templates/book/readthrough.html:59 -#: bookwyrm/templates/book/readthrough.html:73 +#: bookwyrm/templates/book/readthrough.html:58 +#: bookwyrm/templates/book/readthrough.html:72 msgid "Edit read dates" msgstr "Editar fechas de lectura" -#: bookwyrm/templates/book/readthrough.html:63 +#: bookwyrm/templates/book/readthrough.html:62 msgid "Delete these read dates" msgstr "Eliminar estas fechas de lectura" +#: bookwyrm/templates/book/search_filter.html:5 +#, fuzzy +#| msgid "Search Results" +msgid "Search editions" +msgstr "Resultados de búsqueda" + #: bookwyrm/templates/components/inline_form.html:8 #: bookwyrm/templates/components/modal.html:11 #: bookwyrm/templates/feed/layout.html:71 @@ -973,18 +980,18 @@ msgid "There are no books here right now! Try searching for a book to get starte msgstr "¡No hay ningún libro aqui ahorita! Busca a un libro para empezar" #: bookwyrm/templates/feed/layout.html:25 -#: bookwyrm/templates/user/shelf/shelf.html:29 +#: bookwyrm/templates/user/shelf/shelf.html:31 msgid "To Read" msgstr "Para leer" #: bookwyrm/templates/feed/layout.html:26 -#: bookwyrm/templates/user/shelf/shelf.html:29 +#: bookwyrm/templates/user/shelf/shelf.html:31 msgid "Currently Reading" msgstr "Leyendo actualmente" #: bookwyrm/templates/feed/layout.html:27 -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:16 -#: bookwyrm/templates/user/shelf/shelf.html:29 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:17 +#: bookwyrm/templates/user/shelf/shelf.html:31 msgid "Read" msgstr "Leido" @@ -999,6 +1006,12 @@ msgstr "%(year)s Meta de lectura" msgid "Who to follow" msgstr "A quién seguir" +#: bookwyrm/templates/feed/suggested_users.html:5 +#, fuzzy +#| msgid "Directory" +msgid "View directory" +msgstr "Directorio" + #: bookwyrm/templates/get_started/book_preview.html:6 #, python-format msgid "Have you read %(book_title)s?" @@ -1014,7 +1027,6 @@ msgid "Search for a book" msgstr "Buscar libros" #: bookwyrm/templates/get_started/books.html:11 -#: bookwyrm/templates/isbn_search_results.html:17 #, python-format msgid "No books found for \"%(query)s\"" msgstr "No se encontró ningún libro correspondiente a \"%(query)s\"" @@ -1162,7 +1174,7 @@ msgid "%(username)s's %(year)s Books" msgstr "Los libros de %(username)s para %(year)s" #: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9 -#: bookwyrm/templates/user/shelf/shelf.html:40 +#: bookwyrm/templates/user/shelf/shelf.html:42 msgid "Import Books" msgstr "Importar libros" @@ -1212,7 +1224,7 @@ msgstr "Importación ha empezado:" msgid "Import completed:" msgstr "Importación ha terminado:" -#: bookwyrm/templates/import_status.html:25 +#: bookwyrm/templates/import_status.html:24 msgid "TASK FAILED" msgstr "TAREA FALLÓ" @@ -1287,19 +1299,6 @@ msgstr "Permiso denegado" msgid "Sorry! This invite code is no longer valid." msgstr "¡Disculpa! Este código de invitación no queda válido." -#: bookwyrm/templates/isbn_search_results.html:4 -msgid "Search Results" -msgstr "Resultados de búsqueda" - -#: bookwyrm/templates/isbn_search_results.html:9 -#, python-format -msgid "Search Results for \"%(query)s\"" -msgstr "Resultados de búsqueda por \"%(query)s\"" - -#: bookwyrm/templates/isbn_search_results.html:14 -msgid "Matching Books" -msgstr "Libros correspondientes" - #: bookwyrm/templates/landing/about.html:7 #, python-format msgid "About %(site_name)s" @@ -1439,6 +1438,10 @@ msgstr "Apoyar %(site_name)s en % msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm es software de código abierto. Puedes contribuir o reportar problemas en GitHub." +#: bookwyrm/templates/lists/bookmark_button.html:30 +msgid "Un-save" +msgstr "" + #: bookwyrm/templates/lists/create_form.html:5 #: bookwyrm/templates/lists/lists.html:20 msgid "Create List" @@ -1578,10 +1581,28 @@ msgstr "No se encontró ningún libro correspondiente a la búsqueda: \"%(query) msgid "Suggest" msgstr "Sugerir" +#: bookwyrm/templates/lists/list_items.html:15 +#, fuzzy +#| msgid "Save" +msgid "Saved" +msgstr "Guardar" + #: bookwyrm/templates/lists/lists.html:14 bookwyrm/templates/user/lists.html:9 msgid "Your Lists" msgstr "Tus listas" +#: bookwyrm/templates/lists/lists.html:35 +#, fuzzy +#| msgid "Lists" +msgid "All Lists" +msgstr "Listas" + +#: bookwyrm/templates/lists/lists.html:39 +#, fuzzy +#| msgid "Create List" +msgid "Saved Lists" +msgstr "Crear lista" + #: bookwyrm/templates/login.html:4 msgid "Login" msgstr "Iniciar sesión" @@ -2046,23 +2067,23 @@ msgstr "Activ@:" msgid "Create Announcement" msgstr "Crear anuncio" -#: bookwyrm/templates/settings/announcements.html:22 +#: bookwyrm/templates/settings/announcements.html:21 msgid "Date added" msgstr "Fecha agregada" -#: bookwyrm/templates/settings/announcements.html:26 +#: bookwyrm/templates/settings/announcements.html:25 msgid "Preview" msgstr "Vista preliminar" -#: bookwyrm/templates/settings/announcements.html:30 +#: bookwyrm/templates/settings/announcements.html:29 msgid "Start date" msgstr "Fecha de inicio" -#: bookwyrm/templates/settings/announcements.html:34 +#: bookwyrm/templates/settings/announcements.html:33 msgid "End date" msgstr "Fecha final" -#: bookwyrm/templates/settings/announcements.html:38 +#: bookwyrm/templates/settings/announcements.html:37 #: bookwyrm/templates/settings/federation.html:30 #: bookwyrm/templates/settings/manage_invite_requests.html:44 #: bookwyrm/templates/settings/status_filter.html:5 @@ -2070,11 +2091,11 @@ msgstr "Fecha final" msgid "Status" msgstr "Status" -#: bookwyrm/templates/settings/announcements.html:48 +#: bookwyrm/templates/settings/announcements.html:47 msgid "active" msgstr "activo" -#: bookwyrm/templates/settings/announcements.html:48 +#: bookwyrm/templates/settings/announcements.html:47 msgid "inactive" msgstr "inactivo" @@ -2415,7 +2436,7 @@ msgid_plural "and %(remainder_count_display)s others" msgstr[0] "" msgstr[1] "" -#: bookwyrm/templates/snippets/book_cover.html:32 +#: bookwyrm/templates/snippets/book_cover.html:61 msgid "No cover" msgstr "Sin portada" @@ -2535,13 +2556,13 @@ msgstr "¿Eliminar estas fechas de lectura?" msgid "You are deleting this readthrough and its %(count)s associated progress updates." msgstr "Estás eliminando esta lectura y sus %(count)s actualizaciones de progreso asociados." -#: bookwyrm/templates/snippets/fav_button.html:10 -#: bookwyrm/templates/snippets/fav_button.html:12 +#: bookwyrm/templates/snippets/fav_button.html:16 +#: bookwyrm/templates/snippets/fav_button.html:17 msgid "Like" msgstr "Me gusta" -#: bookwyrm/templates/snippets/fav_button.html:18 -#: bookwyrm/templates/snippets/fav_button.html:19 +#: bookwyrm/templates/snippets/fav_button.html:30 +#: bookwyrm/templates/snippets/fav_button.html:31 msgid "Un-like" msgstr "Quitar me gusta" @@ -2741,7 +2762,7 @@ msgid "(Optional)" msgstr "" #: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:5 -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:47 msgid "Update progress" msgstr "Progreso de actualización" @@ -2783,15 +2804,15 @@ msgstr "Más estantes" msgid "Start reading" msgstr "Empezar leer" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:19 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:21 msgid "Finish reading" msgstr "Terminar de leer" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:25 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:27 msgid "Want to read" msgstr "Quiero leer" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:57 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:59 #, python-format msgid "Remove from %(name)s" msgstr "Quitar de %(name)s" @@ -2969,11 +2990,11 @@ msgstr "Editar estante" msgid "Update shelf" msgstr "Actualizar estante" -#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:56 +#: bookwyrm/templates/user/shelf/shelf.html:27 bookwyrm/views/shelf.py:56 msgid "All books" msgstr "Todos los libros" -#: bookwyrm/templates/user/shelf/shelf.html:38 +#: bookwyrm/templates/user/shelf/shelf.html:40 msgid "Create shelf" msgstr "Crear estante" @@ -3128,11 +3149,11 @@ msgstr "Des-suspender usuario" msgid "Access level:" msgstr "Nivel de acceso:" -#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:22 +#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:28 msgid "File exceeds maximum size: 10MB" msgstr "Archivo excede el tamaño máximo: 10MB" -#: bookwyrm/templatetags/utilities.py:30 +#: bookwyrm/templatetags/utilities.py:31 #, python-format msgid "%(title)s: %(subtitle)s" msgstr "%(title)s: %(subtitle)s" @@ -3159,6 +3180,12 @@ msgstr "Un enlace para reestablecer tu contraseña se enviará a %s" msgid "Status updates from {obj.display_name}" msgstr "" +#~ msgid "Search Results for \"%(query)s\"" +#~ msgstr "Resultados de búsqueda por \"%(query)s\"" + +#~ msgid "Matching Books" +#~ msgstr "Libros correspondientes" + #~ msgid "Local Timeline" #~ msgstr "Línea temporal local" diff --git a/locale/fr_FR/LC_MESSAGES/django.mo b/locale/fr_FR/LC_MESSAGES/django.mo index 75ac69ebf3b80ff1bbba48c262ed1cbafa631bf5..a28c903f6b91ebac632e7edd76d69c8000dc0242 100644 GIT binary patch delta 13176 zcmX@~hUwcYruutAEK?a67#M1p7#L(27#RKtGcbfQGcepy2Z=H;7??6J6f-a|7@9IL zv@$R-EH!0d;A3E5&^BXW&|+X5rgSR;Y13v>pJwuH-1A{mN14EBF1A_ts1H%$? z1_mDn28N?haUlx^23ZCM1}zH)h7bk@1`i7c1~mo-hPhDjBNhw{A`A=+k1QA%lo%Ko zzFRObC^9fGNLfN0W@E{~Aj!bM5M;@~V8Xz_kYfq4Z=odvgDOKk1H(>B1_mPr28R2V z3=H`U3=Be65W2~Vfgz89f#H)C14A$a14E)U149)91H)Ep28Kum1_lEgh|jugAU-{9 z!@yt)a)=GYBNDa@44MoK43@SK2PfMyFt9Q(Fm%~6FbFd+FiZf^^&lVHGBB_)Ffi<} zWnkc7U|`s9%fP_Pz`$_AmVtqtfq~%~RQ?{6{}jr93*~=->ic8Mz`)GFz`$z9z`(=6 zz`$t-F;C2nfq|2OfkEC59OMj|P`;%d14BJX!WpW;*A5c5QFaUr+zbp1nRW~eh71f0 zrFIYpF1KS~5MW?nSZ4?E$$qH5qfmX9pcX!~gE-_B)S`D#i+@1XbJ#=76}4xm2M4{o zJtVHG>=_t@KtW><@xfwyNJwn3hd6AXJ;dO%_K-NfXb*|H&ro%04v-Ktae(;P#sT7R zHwTEhz77z52@VVl5)2FsO%C-C4YQ#d7dtR8urM$%tagAnXoCa9A;+K^E;~Si@Qnk+ zVSk|Nxf~%O#_tFT8EHp|xr&Yub()S4512bb%y)Bygrs-9BP83zI6@LtI#l67M+Sxo z3=9kxpav#7F)#=+FfgP$K`f|rf;g-m%I|T4ICzp1#K$X~AP!yc1aZKAsQR-|^|zqv z>K{NAK6iq+=(`idT~LoD!t(osj6artLwNcQ*zHIUB*60|Zd5Fcx}KrA+ein~L_ zgIyr{5?mMlqj%Tp7d;?l z_6?{-KcNP4ctTt%=m`ljB~OTY3r~oT?L8rJ?hoZBdO|!>=m~LfHI&~4vW%AU^f;Ky_gTgLRB9~ked2H%6MBJ1_n?YCf)~28M%v5T8GQ>VE-M_YTVc1vQ7kpMk-gfq_BPACgvl{h|3k${*5Z%kc*V2?Ik1 zl%5EsXZb_Q@WuWR2W|6*v=vW74SE5kzxqQ$jwt}*5uN~u$AkhPA)*if2_e-0h5(ohb)6?SRVi}_#l*j8cN>{fP~2V07&-z9RP8lOdzCj zY8VLdSWFJ|n<>;G+m5Et(Ygaqx8K#0pv2SS4CW*{VppFs_H7YK3S zk3a^7ECvP!#vn*#lM@6nXLb<8#|wiXW&N@sNZQ#S1WC;2gCP1J)CWNI6B*@qyA z#lM0eLB$aaNefcJ5OsRNkZffd3^CY0m;u~i$q0rxG#5%&1w&d!?ZFVA?h1x@;CwK| z;_JbXL|gwL7~-<`!Jy_a1H*r)Le&t62Hg;d2GbCTgX}^e4h;x_I4CLv5|@b~3=Aru zYBvNDFccC*8$%&3JO)*8CX|6e znSp`fGF1M1CN&H0pSn}BEli5Juw{OgWPZihCWb`hchtf zFfcGMM?lmYKxvBzNXR-wK+=$F1VmqC1jGXg5ey9VpsrC7RG=pU62$W&AQr8TfW+N) zr~!wd;@6-CKZ<~)ndcD@5Aa4p93T@3F-Ij5(p)!;WMIf;U|=wfgm`2zlwK3bP!I0m zY>k9ui@i{d=OQ6Nb{k4Rjf7bA9!iTwK`gS4f+RlYC`g(Ji-I^LB?@9uaTLUynkYzJ z&=$qOpbhH4L_tc_TT#&b{}-x|H5%d&{%A-LDMUjoGKz*6Y!wYjWS-HGvOh8!5<->H zkPvH$hB#ybRNp+P`eo6Opx+h^sb%*<<*(L9LtJ_ns^D2P#Kmu+;@_hoX@MaIl9-gB zv_%ZWVSX_X3&Ua{`ch&b4$O;zL_u8)#Qg3UNdICARQkdn_hj)B32fq@|@4&uY*agbcKKMoQ_SK=Ub z#`8D^1}6pv29|iRd_9AEJR}HX;vv~DJsuKNx$zJmmc&C+aZNnLL5)zlD<0zG$xwB3 z;~_p@8V^bBTcPSsLe*V@^6x;^J&gy2P(1^~SEvM20>nb@1W1qyCqNvg2<7V}fHW{L zSV3v`1c(Dd5+DwXgYwf8ARZ}9fOw=l0h0LYpz4-E>GcT=41%Eizas$>7pD>+aeNbM z;d_t*1_p+|36LPr!bc`kuGLqq)1R08HOk!Y&V_;x7mjtO)bdw>eKOq@1BGQly z$yUFUA!9r0DG-YyQXuB$r9iT8T?)kfB`J_J^fiT{9y}D{kP0cmLQ)|vZ%l;*eIJyb znaaRW1R5zxg*4H`(;)K2X%L^(r9l#HPa4GH8EFu6)}=wBV0RiM5g$r}M9teYNXUFn zt7l;FWnf_Vod#*sd8R}7GtwbGeU{F^z{J47AejL%P$mQ715GGhmB9dNRWY2-fDA54 zXF{SPAQPfKGLwNpgMon|4JzKB332F*Ovqr?l6olPXC`Ej$uA4iSX`6^iSyf85FftF zg0yh{WI=o&n+>r@IUC{=ootA>NjAjCR#3hpRGoV^149%81496mzZ$BpeoHnaaqP}! zU`SwKV7Ll3&@2aHfn5#*gEu1sgL@7GLn8wN!{l5Bh8dtnWFDlvSeFOM|3~v6`Tk2D zBx-o_A?*P1d`N9)oDT_MpL|GKnw<|G1FC2El@CcIIt7sG)20BDio**aK~z@&G2n6m zBoVzSU|j#S%7>pSh7(Ny;FjO!wFsK$YFqAMbFwBF}!X*q0;S3B69VHA59SjT%4@wvq zB0!^LrI1{5s1%a;_{$g=JVE-)Am-(lLDInDGKj;@ltDuFM;QZy6e#~QmP1@9Qx1`^ zD2F5-$8v~)e&vujO@Y$c<&ZcpDu={*RXHTc8_FRCQa4n7YB{6~(fH>e}1*AMU zUjZq|-d8}P^j`(U;e3@4zGx-HV%17W!DU;?P!H~r_*XJ8m@zOgv{ypncwZ&Nf+v*_ zpZ>3egbaHXM590zgs)TuX=-U#F)+A+x@1+55Svp435iWr5R3OzK^%6b3S$0ks6NK( zdPvY{S3`ViQw<5qfNF@#qpKm=E~y$4bj{U}j>NQTh)=dc#m`nl9QvRd;(!-W{y!+q zRs*qzuLdG7Ujqp_(|V|Ybq&OYfi;lqkpR`OzXp=sF4RCAlvxXLXhAI`1X^k#4(qLj zloJbTA-Q2)EyO_=YatH33Dx(p77~K2brAFF#p@snI2Pf-nNg z&!~e~SW*WG;`Ta7cAZ!UDMxld=}UEx?D+;N&jlK31I;7ULpq^e_2BGS&(H*If-SFy z1pRvGkj$=nh))mJLxSuoG^$?LLmc=A$`@>aI9#a#B5vFO(dW^?z+l6`z!1{_$=)*? zAldO`1H|Ef8$clevb+%zM3Rk=TwvG;i3*QKh)=_z{H#WZ1(i^KUn9h#xlsPbMu@=& z8X<}7R3ju?e}J0L(*#kk(gaCE7EKHcN}&87-UP{RRZS2Jr#C@@d{q-9j(0UdqT+B9 z#HZ(*7#J);1yB>jLaAnmyh<}9Dh--JK4W08XojfwYKEkZ=w^tynavP$E1MY@>OoT_ zP0bLWEop|hY-ckhPH#XB`VXZATObB2w?G_f+5!nN4=6vr1>%t+sCa)1Bm|bVFfceW zFfbfyfuwqtR){%Vtqk?x$s?Ioh!2cfAuhCQh4{p;6_O^xS|L%A*b1o&3R)pS+zFLm z-wJ6X?t+@LzZDWPr(2Ha5qCSp0@-$myg@s}!8Yv>4}`Wu)TcnjYwFt}KAhSP zaq)t7ND!@Rhgh_s9TF0k+94L)YKLYks6|{IkfK?(0}|Ik9T0~ncR=)&cR+kz-vM#Z zG$_5O1LEQObsY>084L^z+o2j1Iw3)((FrLa>^dO|T{|Hb`*lJr$mxXS_Xeo=tWJmn zcXUFE?o&|lr=5_fV(x;NquB*Vk?d>Vi}*`??@O zd9MrNfbU(9T9UgPVxdGgM4xdt#HZffkPb=D028KXTd!Ywhk}){Ny%2L3_cAcpf`;pQA&K>WFSPy7(gz6vu|7x;8TCPe-ntLsBd0z{10t#q(n@ab zgCwR6eUK2?-v_BZ&-6iZ4|6}nhr<032g&wB%+>3MIK;dk(iRNuht~fapc04sA*ugi zKP0GlCO|amOn?+1rV}9Y&J!R(o;Lv!x1AFp7OkHE@$rEPprB=7xH16}*Uu+FqV7G^ zJdTMFzTiZLdInX{-0nn(#(;?sAEr!%w9zI`ge0m{Q29F(AyM&RA|%BAOoTW@ViF`o zj3+@t%4rfL3bH3b=7Jh0L2}ccNsvzLy-5&rcqZ3_Qz3)IWQc(NWJu6iPlou|6-ozB zhWIdXGQ>wkP`V1LuW2#^Lk|N3L*HabqLZEi3AuzR5cQc;AZ@?GDG-OxodPLOcGgdU zSa=Rf-r_ zAj^rb803=5&aKj?*C_;|Jl_GlWA0Ql>+EmOCAiJ&LD8LZ)Im z#3xPDAziU0(;-o_d^#j;Y@H5q(DCVz5V}4c;*fXKArAgO9n#?7o&hn>c?LwE?+j2# z)H5)|&wyx1p8-jP6;OpeGaxRVHUkoO^JhRp>hugqX@a@V zgcLj(Ga(@`3#x9@Oi1r{|4ar3El~Z>H473{rn4Xl1E6%qEJ%x`VHU*YTV_EVv~Lz9 zmmG)kzszD_SPB{^m<4GUES?Q<(B0V(eXnLiLgLG8NLpc-12IQt4s`rqbq=INGoJ&= zw_#8PnR6gPRRk4pnFC2g)8{~fdgC03!6)WGLg>mIh({RaLP}2Qxsb%GHW%U$o4E`O zr3?%VZgU|awP!9vJ$RwP*}0JXdvh+N;CV3@l07))f#QgPL3SR*#j5ilMXugFh=mRF zAaTED9>jt@^B_@p3`*aE>U%d25+dK{K|+pYJ|tHd&aa20_VoD>1E$W0IAs2Oh)>te zhvbSA^C1p+Iv)~3@8&~7fN=rDArcE9`dk)3_`(865Z!56pwoo0dW>I<^!NH7}Mz z66<%Ue&%JML|@Oqz_$z%$GXcP26-)m1XdAi3u5GKj<9FN0dV3=)FO%OUm{EN5Wg1m%B+C%OOD?vm6oyg;4R{K;J(zt=&cjB`C?SWjR*gzpUMY=Ty; zd98i#*xfzm61h+s!N_-2%U==7|cMBx(SwU&1Ef9x$ZGnt0gl&Q3Hpi_{jpw#NhElF? zfsAS~ZiTo!YAYmhrfg+kU<5VQ7#JA(86ok#laYa;d9tF0c>O9yaBgOZ1PzulFfhb3 zFfbT1F)&<$EFuJxpf>e;Mh1o~Mh1rapx9?*V5nkZU=U(tVCVoD4H{ysmw|!dA;?%J28K{Z z28IGg28OQ5A2r15Q=pb4LREsy=7EYGW@KR4%)r3#j*)>u3@ZPbk%8d}X!rukZv$xn zEpudKU}yrZ%VK0;&|qX>FlA(55M^Rumdnf?z@Wqk$zn!OgF)s6 zGeL64LWiWQk4g*Rxv1+;t(BwPx$`9G+)2?`1(1_myu89ShID;OCV z&VZJ=Lir$ly^IVD!4N*Eo?&1JU}6BZ&A?Lh21W*k z5GDqOBa93TH=+76m>3wcm>3xLf_m>v3=Hd_;-DFxY$otZQ^3wg z9!b;>$_A}m1{rq_>JMVlt?V$8)Mh1rV$q)6!J);;I7>XDf7>+|#f((1e$iVQLfq{Vwl3R=FNMj1LCjI~;14BOpWL_JzM7^33 zvbe605z^3l3pEjB={wL8bOr_nK_*BOLfq`Kw;lRb^3HT9Sn7$TS$ z7^IjO7*2sIGf-qOGB9{EFfc?xt?_4KV6dIsYb0J@0-C;rngg08de6YXz{kYEP|X18 zO@b<8PbLP2I7S8rH6}8x1OVgOPzD87c=-C(Ojauz`VrA!G7SW9j-ds49>Q2%9iM+K4|v z0m#I_;LpgwaD;(@K?c;uU}OOA^XLRAWME)$05!d!CUbxqR-mj7(vM^&3nDIrm0e!Px{~G*nA~osrlyq36eaUKh6o11OWen BeBA&5 delta 13370 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 DObn{% diff --git a/locale/fr_FR/LC_MESSAGES/django.po b/locale/fr_FR/LC_MESSAGES/django.po index 46416931e..81130aa34 100644 --- a/locale/fr_FR/LC_MESSAGES/django.po +++ b/locale/fr_FR/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-16 21:26+0000\n" +"POT-Creation-Date: 2021-08-27 19:11+0000\n" "PO-Revision-Date: 2021-04-05 12:44+0100\n" "Last-Translator: Fabien Basmaison \n" "Language-Team: Mouse Reeve \n" @@ -84,55 +84,55 @@ 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:174 bookwyrm/templates/layout.html:164 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:164 msgid "username" msgstr "nom du compte :" -#: bookwyrm/models/fields.py:179 +#: bookwyrm/models/fields.py:186 msgid "A user with that username already exists." msgstr "Ce nom est déjà associé à un compte." -#: bookwyrm/settings.py:123 +#: bookwyrm/settings.py:124 msgid "Home Timeline" msgstr "Mon fil d’actualité" -#: bookwyrm/settings.py:123 +#: bookwyrm/settings.py:124 msgid "Home" msgstr "Accueil" -#: bookwyrm/settings.py:124 +#: bookwyrm/settings.py:125 #, fuzzy #| msgid "Book Title" msgid "Books Timeline" msgstr "Titre du livre" -#: bookwyrm/settings.py:124 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:125 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:81 msgid "Books" msgstr "Livres" -#: bookwyrm/settings.py:170 +#: bookwyrm/settings.py:171 msgid "English" msgstr "English" -#: bookwyrm/settings.py:171 +#: bookwyrm/settings.py:172 msgid "German" msgstr "Deutsch" -#: bookwyrm/settings.py:172 +#: bookwyrm/settings.py:173 msgid "Spanish" msgstr "Español" -#: bookwyrm/settings.py:173 +#: bookwyrm/settings.py:174 msgid "French" msgstr "Français" -#: bookwyrm/settings.py:174 +#: bookwyrm/settings.py:175 msgid "Simplified Chinese" msgstr "简化字" -#: bookwyrm/settings.py:175 +#: bookwyrm/settings.py:176 #, fuzzy #| msgid "Additional info:" msgid "Traditional Chinese" @@ -223,7 +223,7 @@ msgid "Last edited by:" msgstr "Dernière modification par :" #: bookwyrm/templates/author/edit_author.html:31 -#: bookwyrm/templates/book/edit_book.html:117 +#: bookwyrm/templates/book/edit_book.html:124 msgid "Metadata" msgstr "Métadonnées" @@ -235,9 +235,9 @@ msgid "Name:" msgstr "Nom :" #: bookwyrm/templates/author/edit_author.html:43 -#: bookwyrm/templates/book/edit_book.html:162 -#: bookwyrm/templates/book/edit_book.html:171 -#: bookwyrm/templates/book/edit_book.html:214 +#: bookwyrm/templates/book/edit_book.html:169 +#: bookwyrm/templates/book/edit_book.html:178 +#: bookwyrm/templates/book/edit_book.html:221 msgid "Separate multiple values with commas." msgstr "Séparez plusieurs valeurs par une virgule." @@ -266,7 +266,7 @@ msgid "Openlibrary key:" msgstr "Clé Openlibrary :" #: bookwyrm/templates/author/edit_author.html:89 -#: bookwyrm/templates/book/edit_book.html:293 +#: bookwyrm/templates/book/edit_book.html:300 msgid "Inventaire ID:" msgstr "Identifiant Inventaire :" @@ -280,8 +280,9 @@ msgstr "Clé Goodreads :" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/book/book.html:141 -#: bookwyrm/templates/book/edit_book.html:321 -#: bookwyrm/templates/book/readthrough.html:77 +#: bookwyrm/templates/book/edit_book.html:328 +#: bookwyrm/templates/book/readthrough.html:76 +#: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/form.html:42 #: bookwyrm/templates/preferences/edit_user.html:78 #: bookwyrm/templates/settings/announcement_form.html:69 @@ -297,8 +298,8 @@ msgstr "Enregistrer" #: bookwyrm/templates/author/edit_author.html:117 #: bookwyrm/templates/book/book.html:142 bookwyrm/templates/book/book.html:191 #: bookwyrm/templates/book/cover_modal.html:32 -#: bookwyrm/templates/book/edit_book.html:322 -#: bookwyrm/templates/book/readthrough.html:78 +#: bookwyrm/templates/book/edit_book.html:329 +#: bookwyrm/templates/book/readthrough.html:77 #: bookwyrm/templates/moderation/report_modal.html:34 #: bookwyrm/templates/settings/federated_server.html:99 #: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 @@ -339,7 +340,7 @@ msgid "Add Description" msgstr "Ajouter une description" #: bookwyrm/templates/book/book.html:137 -#: bookwyrm/templates/book/edit_book.html:136 +#: bookwyrm/templates/book/edit_book.html:143 #: bookwyrm/templates/lists/form.html:12 msgid "Description:" msgstr "Description :" @@ -422,22 +423,22 @@ msgid "ISBN:" msgstr "ISBN :" #: bookwyrm/templates/book/book_identifiers.html:14 -#: bookwyrm/templates/book/edit_book.html:301 +#: bookwyrm/templates/book/edit_book.html:308 msgid "OCLC Number:" msgstr "Numéro OCLC :" #: bookwyrm/templates/book/book_identifiers.html:21 -#: bookwyrm/templates/book/edit_book.html:309 +#: bookwyrm/templates/book/edit_book.html:316 msgid "ASIN:" msgstr "ASIN :" #: bookwyrm/templates/book/cover_modal.html:17 -#: bookwyrm/templates/book/edit_book.html:229 +#: bookwyrm/templates/book/edit_book.html:236 msgid "Upload cover:" msgstr "Charger une couverture :" #: bookwyrm/templates/book/cover_modal.html:23 -#: bookwyrm/templates/book/edit_book.html:235 +#: bookwyrm/templates/book/edit_book.html:242 msgid "Load cover from url:" msgstr "Charger la couverture depuis une URL :" @@ -452,133 +453,133 @@ msgstr "Modifier « %(book_title)s »" msgid "Add Book" msgstr "Ajouter un livre" -#: bookwyrm/templates/book/edit_book.html:54 +#: bookwyrm/templates/book/edit_book.html:61 msgid "Confirm Book Info" msgstr "Confirmer les informations de ce livre" -#: bookwyrm/templates/book/edit_book.html:62 +#: bookwyrm/templates/book/edit_book.html:69 #, python-format msgid "Is \"%(name)s\" an existing author?" msgstr "Est‑ce que l’auteur/autrice « %(name)s » existe déjà ?" -#: bookwyrm/templates/book/edit_book.html:71 +#: bookwyrm/templates/book/edit_book.html:78 #, python-format msgid "Author of %(book_title)s" msgstr "Auteur/autrice de %(book_title)s" -#: bookwyrm/templates/book/edit_book.html:75 +#: bookwyrm/templates/book/edit_book.html:82 msgid "This is a new author" msgstr "Il s’agit d’un nouvel auteur ou d’une nouvelle autrice." -#: bookwyrm/templates/book/edit_book.html:82 +#: bookwyrm/templates/book/edit_book.html:89 #, python-format msgid "Creating a new author: %(name)s" msgstr "Création d’un nouvel auteur/autrice : %(name)s" -#: bookwyrm/templates/book/edit_book.html:89 +#: bookwyrm/templates/book/edit_book.html:96 msgid "Is this an edition of an existing work?" msgstr "Est‑ce l’édition d’un ouvrage existant ?" -#: bookwyrm/templates/book/edit_book.html:97 +#: bookwyrm/templates/book/edit_book.html:104 msgid "This is a new work" msgstr "Il s’agit d’un nouvel ouvrage." -#: bookwyrm/templates/book/edit_book.html:104 +#: bookwyrm/templates/book/edit_book.html:111 #: bookwyrm/templates/password_reset.html:30 msgid "Confirm" msgstr "Confirmer" -#: bookwyrm/templates/book/edit_book.html:106 +#: bookwyrm/templates/book/edit_book.html:113 #: bookwyrm/templates/feed/status.html:8 msgid "Back" msgstr "Retour" -#: bookwyrm/templates/book/edit_book.html:120 +#: bookwyrm/templates/book/edit_book.html:127 #: bookwyrm/templates/snippets/create_status/review.html:18 msgid "Title:" msgstr "Titre :" -#: bookwyrm/templates/book/edit_book.html:128 +#: bookwyrm/templates/book/edit_book.html:135 msgid "Subtitle:" msgstr "Sous‑titre :" -#: bookwyrm/templates/book/edit_book.html:144 +#: bookwyrm/templates/book/edit_book.html:151 msgid "Series:" msgstr "Série :" -#: bookwyrm/templates/book/edit_book.html:152 +#: bookwyrm/templates/book/edit_book.html:159 msgid "Series number:" msgstr "Numéro dans la série :" -#: bookwyrm/templates/book/edit_book.html:160 +#: bookwyrm/templates/book/edit_book.html:167 msgid "Languages:" msgstr "Langues :" -#: bookwyrm/templates/book/edit_book.html:169 +#: bookwyrm/templates/book/edit_book.html:176 msgid "Publisher:" msgstr "Éditeur :" -#: bookwyrm/templates/book/edit_book.html:178 +#: bookwyrm/templates/book/edit_book.html:185 msgid "First published date:" msgstr "Première date de publication :" -#: bookwyrm/templates/book/edit_book.html:186 +#: bookwyrm/templates/book/edit_book.html:193 msgid "Published date:" msgstr "Date de publication :" -#: bookwyrm/templates/book/edit_book.html:195 +#: bookwyrm/templates/book/edit_book.html:202 msgid "Authors" msgstr "Auteurs ou autrices" -#: bookwyrm/templates/book/edit_book.html:202 +#: bookwyrm/templates/book/edit_book.html:209 #, python-format msgid "Remove %(name)s" msgstr "Retirer %(name)s" -#: bookwyrm/templates/book/edit_book.html:205 +#: bookwyrm/templates/book/edit_book.html:212 #, python-format msgid "Author page for %(name)s" msgstr "Page de %(name)s" -#: bookwyrm/templates/book/edit_book.html:212 +#: bookwyrm/templates/book/edit_book.html:219 msgid "Add Authors:" msgstr "Ajouter des auteurs ou autrices :" -#: bookwyrm/templates/book/edit_book.html:213 +#: bookwyrm/templates/book/edit_book.html:220 msgid "John Doe, Jane Smith" msgstr "Claude Dupont, Dominique Durand" -#: bookwyrm/templates/book/edit_book.html:220 +#: bookwyrm/templates/book/edit_book.html:227 #: bookwyrm/templates/user/shelf/shelf.html:78 msgid "Cover" msgstr "Couverture" -#: bookwyrm/templates/book/edit_book.html:248 +#: bookwyrm/templates/book/edit_book.html:255 msgid "Physical Properties" msgstr "Propriétés physiques" -#: bookwyrm/templates/book/edit_book.html:250 +#: bookwyrm/templates/book/edit_book.html:257 #: bookwyrm/templates/book/format_filter.html:5 msgid "Format:" msgstr "Format :" -#: bookwyrm/templates/book/edit_book.html:258 +#: bookwyrm/templates/book/edit_book.html:265 msgid "Pages:" msgstr "Pages :" -#: bookwyrm/templates/book/edit_book.html:267 +#: bookwyrm/templates/book/edit_book.html:274 msgid "Book Identifiers" msgstr "Identifiants du livre" -#: bookwyrm/templates/book/edit_book.html:269 +#: bookwyrm/templates/book/edit_book.html:276 msgid "ISBN 13:" msgstr "ISBN 13 :" -#: bookwyrm/templates/book/edit_book.html:277 +#: bookwyrm/templates/book/edit_book.html:284 msgid "ISBN 10:" msgstr "ISBN 10 :" -#: bookwyrm/templates/book/edit_book.html:285 +#: bookwyrm/templates/book/edit_book.html:292 msgid "Openlibrary ID:" msgstr "Identifiant Openlibrary :" @@ -644,31 +645,37 @@ msgstr "l’a noté" msgid "Progress Updates:" msgstr "Progression :" -#: bookwyrm/templates/book/readthrough.html:14 +#: bookwyrm/templates/book/readthrough.html:13 msgid "finished" msgstr "terminé" -#: bookwyrm/templates/book/readthrough.html:25 +#: bookwyrm/templates/book/readthrough.html:24 msgid "Show all updates" msgstr "Montrer toutes les progressions" -#: bookwyrm/templates/book/readthrough.html:41 +#: bookwyrm/templates/book/readthrough.html:40 msgid "Delete this progress update" msgstr "Supprimer cette mise à jour" -#: bookwyrm/templates/book/readthrough.html:52 +#: bookwyrm/templates/book/readthrough.html:51 msgid "started" msgstr "commencé" -#: bookwyrm/templates/book/readthrough.html:59 -#: bookwyrm/templates/book/readthrough.html:73 +#: bookwyrm/templates/book/readthrough.html:58 +#: bookwyrm/templates/book/readthrough.html:72 msgid "Edit read dates" msgstr "Modifier les date de lecture" -#: bookwyrm/templates/book/readthrough.html:63 +#: bookwyrm/templates/book/readthrough.html:62 msgid "Delete these read dates" msgstr "Supprimer ces dates de lecture" +#: bookwyrm/templates/book/search_filter.html:5 +#, fuzzy +#| msgid "Search Results" +msgid "Search editions" +msgstr "Résultats de recherche" + #: bookwyrm/templates/components/inline_form.html:8 #: bookwyrm/templates/components/modal.html:11 #: bookwyrm/templates/feed/layout.html:71 @@ -983,18 +990,18 @@ msgid "There are no books here right now! Try searching for a book to get starte msgstr "Aucun livre ici pour l’instant ! Cherchez un livre pour commencer" #: bookwyrm/templates/feed/layout.html:25 -#: bookwyrm/templates/user/shelf/shelf.html:29 +#: bookwyrm/templates/user/shelf/shelf.html:31 msgid "To Read" msgstr "À lire" #: bookwyrm/templates/feed/layout.html:26 -#: bookwyrm/templates/user/shelf/shelf.html:29 +#: bookwyrm/templates/user/shelf/shelf.html:31 msgid "Currently Reading" msgstr "Lectures en cours" #: bookwyrm/templates/feed/layout.html:27 -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:16 -#: bookwyrm/templates/user/shelf/shelf.html:29 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:17 +#: bookwyrm/templates/user/shelf/shelf.html:31 msgid "Read" msgstr "Lu" @@ -1009,6 +1016,12 @@ msgstr "Défi lecture pour %(year)s" msgid "Who to follow" msgstr "À qui s’abonner" +#: bookwyrm/templates/feed/suggested_users.html:5 +#, fuzzy +#| msgid "Directory" +msgid "View directory" +msgstr "Répertoire" + #: bookwyrm/templates/get_started/book_preview.html:6 #, python-format msgid "Have you read %(book_title)s?" @@ -1024,7 +1037,6 @@ msgid "Search for a book" msgstr "Chercher un livre" #: bookwyrm/templates/get_started/books.html:11 -#: bookwyrm/templates/isbn_search_results.html:17 #, python-format msgid "No books found for \"%(query)s\"" msgstr "Aucun livre trouvé pour « %(query)s »" @@ -1172,7 +1184,7 @@ msgid "%(username)s's %(year)s Books" msgstr "Livres de %(username)s en %(year)s" #: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9 -#: bookwyrm/templates/user/shelf/shelf.html:40 +#: bookwyrm/templates/user/shelf/shelf.html:42 msgid "Import Books" msgstr "Importer des livres" @@ -1224,7 +1236,7 @@ msgstr "Début de l’importation :" msgid "Import completed:" msgstr "Fin de l’importation :" -#: bookwyrm/templates/import_status.html:25 +#: bookwyrm/templates/import_status.html:24 msgid "TASK FAILED" msgstr "la tâche a échoué" @@ -1301,19 +1313,6 @@ msgstr "Autorisation refusée" msgid "Sorry! This invite code is no longer valid." msgstr "Cette invitation n’est plus valide ; désolé !" -#: bookwyrm/templates/isbn_search_results.html:4 -msgid "Search Results" -msgstr "Résultats de recherche" - -#: bookwyrm/templates/isbn_search_results.html:9 -#, python-format -msgid "Search Results for \"%(query)s\"" -msgstr "Résultats de recherche pour « %(query)s »" - -#: bookwyrm/templates/isbn_search_results.html:14 -msgid "Matching Books" -msgstr "Livres correspondants" - #: bookwyrm/templates/landing/about.html:7 #, python-format msgid "About %(site_name)s" @@ -1453,6 +1452,10 @@ msgstr "Soutenez %(site_name)s avec GitHub." msgstr "BookWyrm est un logiciel libre. Vous pouvez contribuer ou faire des rapports de bogues via GitHub." +#: bookwyrm/templates/lists/bookmark_button.html:30 +msgid "Un-save" +msgstr "" + #: bookwyrm/templates/lists/create_form.html:5 #: bookwyrm/templates/lists/lists.html:20 msgid "Create List" @@ -1592,10 +1595,28 @@ msgstr "Aucun livre trouvé pour la requête « %(query)s »" msgid "Suggest" msgstr "Suggérer" +#: bookwyrm/templates/lists/list_items.html:15 +#, fuzzy +#| msgid "Save" +msgid "Saved" +msgstr "Enregistrer" + #: bookwyrm/templates/lists/lists.html:14 bookwyrm/templates/user/lists.html:9 msgid "Your Lists" msgstr "Vos listes" +#: bookwyrm/templates/lists/lists.html:35 +#, fuzzy +#| msgid "Lists" +msgid "All Lists" +msgstr "Listes" + +#: bookwyrm/templates/lists/lists.html:39 +#, fuzzy +#| msgid "Create List" +msgid "Saved Lists" +msgstr "Créer une liste" + #: bookwyrm/templates/login.html:4 msgid "Login" msgstr "Connexion" @@ -2067,23 +2088,23 @@ msgstr "Active :" msgid "Create Announcement" msgstr "Ajouter une annonce" -#: bookwyrm/templates/settings/announcements.html:22 +#: bookwyrm/templates/settings/announcements.html:21 msgid "Date added" msgstr "Date d’ajout" -#: bookwyrm/templates/settings/announcements.html:26 +#: bookwyrm/templates/settings/announcements.html:25 msgid "Preview" msgstr "Aperçu" -#: bookwyrm/templates/settings/announcements.html:30 +#: bookwyrm/templates/settings/announcements.html:29 msgid "Start date" msgstr "Date de début" -#: bookwyrm/templates/settings/announcements.html:34 +#: bookwyrm/templates/settings/announcements.html:33 msgid "End date" msgstr "Date de fin" -#: bookwyrm/templates/settings/announcements.html:38 +#: bookwyrm/templates/settings/announcements.html:37 #: bookwyrm/templates/settings/federation.html:30 #: bookwyrm/templates/settings/manage_invite_requests.html:44 #: bookwyrm/templates/settings/status_filter.html:5 @@ -2091,11 +2112,11 @@ msgstr "Date de fin" msgid "Status" msgstr "Statut" -#: bookwyrm/templates/settings/announcements.html:48 +#: bookwyrm/templates/settings/announcements.html:47 msgid "active" msgstr "active" -#: bookwyrm/templates/settings/announcements.html:48 +#: bookwyrm/templates/settings/announcements.html:47 msgid "inactive" msgstr "inactive" @@ -2436,7 +2457,7 @@ msgid_plural "and %(remainder_count_display)s others" msgstr[0] "" msgstr[1] "" -#: bookwyrm/templates/snippets/book_cover.html:32 +#: bookwyrm/templates/snippets/book_cover.html:61 msgid "No cover" msgstr "Pas de couverture" @@ -2559,13 +2580,13 @@ msgstr "Supprimer ces dates de lecture ?" msgid "You are deleting this readthrough and its %(count)s associated progress updates." msgstr "Vous avez supprimé ce résumé et ses %(count)s progressions associées." -#: bookwyrm/templates/snippets/fav_button.html:10 -#: bookwyrm/templates/snippets/fav_button.html:12 +#: bookwyrm/templates/snippets/fav_button.html:16 +#: bookwyrm/templates/snippets/fav_button.html:17 msgid "Like" msgstr "Ajouter aux favoris" -#: bookwyrm/templates/snippets/fav_button.html:18 -#: bookwyrm/templates/snippets/fav_button.html:19 +#: bookwyrm/templates/snippets/fav_button.html:30 +#: bookwyrm/templates/snippets/fav_button.html:31 msgid "Un-like" msgstr "Retirer des favoris" @@ -2768,7 +2789,7 @@ msgid "(Optional)" msgstr "" #: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:5 -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:47 msgid "Update progress" msgstr "Progression de la mise à jour" @@ -2810,15 +2831,15 @@ msgstr "Plus d’étagères" msgid "Start reading" msgstr "Commencer la lecture" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:19 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:21 msgid "Finish reading" msgstr "Terminer la lecture" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:25 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:27 msgid "Want to read" msgstr "Je veux le lire" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:57 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:59 #, python-format msgid "Remove from %(name)s" msgstr "Retirer de %(name)s" @@ -3005,11 +3026,11 @@ msgstr "Modifier l’étagère" msgid "Update shelf" msgstr "Mettre l’étagère à jour" -#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:56 +#: bookwyrm/templates/user/shelf/shelf.html:27 bookwyrm/views/shelf.py:56 msgid "All books" msgstr "Tous les livres" -#: bookwyrm/templates/user/shelf/shelf.html:38 +#: bookwyrm/templates/user/shelf/shelf.html:40 msgid "Create shelf" msgstr "Créer une étagère" @@ -3167,11 +3188,11 @@ msgstr "Rétablir le compte" msgid "Access level:" msgstr "Niveau d’accès :" -#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:22 +#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:28 msgid "File exceeds maximum size: 10MB" msgstr "Ce fichier dépasse la taille limite : 10 Mo" -#: bookwyrm/templatetags/utilities.py:30 +#: bookwyrm/templatetags/utilities.py:31 #, python-format msgid "%(title)s: %(subtitle)s" msgstr "%(title)s (%(subtitle)s)" @@ -3198,6 +3219,12 @@ msgstr "Un lien de réinitialisation a été envoyé à %s." msgid "Status updates from {obj.display_name}" msgstr "" +#~ msgid "Search Results for \"%(query)s\"" +#~ msgstr "Résultats de recherche pour « %(query)s »" + +#~ msgid "Matching Books" +#~ msgstr "Livres correspondants" + #~ msgid "Local Timeline" #~ msgstr "Fil d’actualité local" diff --git a/locale/zh_Hans/LC_MESSAGES/django.mo b/locale/zh_Hans/LC_MESSAGES/django.mo index 6739399271062a1ccaacee0d377727c4a396f406..bfcd3d0193b9e570a7d650349aacef21d15e309b 100644 GIT binary patch delta 13966 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 diff --git a/locale/zh_Hans/LC_MESSAGES/django.po b/locale/zh_Hans/LC_MESSAGES/django.po index 75def3735..df3ee019e 100644 --- a/locale/zh_Hans/LC_MESSAGES/django.po +++ b/locale/zh_Hans/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-16 21:26+0000\n" +"POT-Creation-Date: 2021-08-27 19:11+0000\n" "PO-Revision-Date: 2021-03-20 00:56+0000\n" "Last-Translator: Kana \n" "Language-Team: Mouse Reeve \n" @@ -84,53 +84,53 @@ msgstr "%(value)s 不是有效的 remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s 不是有效的用户名" -#: bookwyrm/models/fields.py:174 bookwyrm/templates/layout.html:164 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:164 msgid "username" msgstr "用户名" -#: bookwyrm/models/fields.py:179 +#: bookwyrm/models/fields.py:186 msgid "A user with that username already exists." msgstr "已经存在使用该用户名的用户。" -#: bookwyrm/settings.py:123 +#: bookwyrm/settings.py:124 msgid "Home Timeline" msgstr "主页时间线" -#: bookwyrm/settings.py:123 +#: bookwyrm/settings.py:124 msgid "Home" msgstr "主页" -#: bookwyrm/settings.py:124 +#: bookwyrm/settings.py:125 msgid "Books Timeline" msgstr "书目时间线" -#: bookwyrm/settings.py:124 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:125 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:81 msgid "Books" msgstr "书目" -#: bookwyrm/settings.py:170 +#: bookwyrm/settings.py:171 msgid "English" msgstr "English(英语)" -#: bookwyrm/settings.py:171 +#: bookwyrm/settings.py:172 msgid "German" msgstr "Deutsch(德语)" -#: bookwyrm/settings.py:172 +#: bookwyrm/settings.py:173 msgid "Spanish" msgstr "Español(西班牙语)" -#: bookwyrm/settings.py:173 +#: bookwyrm/settings.py:174 msgid "French" msgstr "Français(法语)" -#: bookwyrm/settings.py:174 +#: bookwyrm/settings.py:175 msgid "Simplified Chinese" msgstr "简体中文" -#: bookwyrm/settings.py:175 +#: bookwyrm/settings.py:176 msgid "Traditional Chinese" msgstr "繁體中文(繁体中文)" @@ -219,7 +219,7 @@ msgid "Last edited by:" msgstr "最后编辑人:" #: bookwyrm/templates/author/edit_author.html:31 -#: bookwyrm/templates/book/edit_book.html:117 +#: bookwyrm/templates/book/edit_book.html:124 msgid "Metadata" msgstr "元数据" @@ -231,9 +231,9 @@ msgid "Name:" msgstr "名称:" #: bookwyrm/templates/author/edit_author.html:43 -#: bookwyrm/templates/book/edit_book.html:162 -#: bookwyrm/templates/book/edit_book.html:171 -#: bookwyrm/templates/book/edit_book.html:214 +#: bookwyrm/templates/book/edit_book.html:169 +#: bookwyrm/templates/book/edit_book.html:178 +#: bookwyrm/templates/book/edit_book.html:221 msgid "Separate multiple values with commas." msgstr "请用英文逗号(,)分隔多个值。" @@ -262,7 +262,7 @@ msgid "Openlibrary key:" msgstr "Openlibrary key:" #: bookwyrm/templates/author/edit_author.html:89 -#: bookwyrm/templates/book/edit_book.html:293 +#: bookwyrm/templates/book/edit_book.html:300 msgid "Inventaire ID:" msgstr "Inventaire ID:" @@ -276,8 +276,9 @@ msgstr "Goodreads key:" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/book/book.html:141 -#: bookwyrm/templates/book/edit_book.html:321 -#: bookwyrm/templates/book/readthrough.html:77 +#: bookwyrm/templates/book/edit_book.html:328 +#: bookwyrm/templates/book/readthrough.html:76 +#: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/form.html:42 #: bookwyrm/templates/preferences/edit_user.html:78 #: bookwyrm/templates/settings/announcement_form.html:69 @@ -293,8 +294,8 @@ msgstr "保存" #: bookwyrm/templates/author/edit_author.html:117 #: bookwyrm/templates/book/book.html:142 bookwyrm/templates/book/book.html:191 #: bookwyrm/templates/book/cover_modal.html:32 -#: bookwyrm/templates/book/edit_book.html:322 -#: bookwyrm/templates/book/readthrough.html:78 +#: bookwyrm/templates/book/edit_book.html:329 +#: bookwyrm/templates/book/readthrough.html:77 #: bookwyrm/templates/moderation/report_modal.html:34 #: bookwyrm/templates/settings/federated_server.html:99 #: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 @@ -334,7 +335,7 @@ msgid "Add Description" msgstr "添加描述" #: bookwyrm/templates/book/book.html:137 -#: bookwyrm/templates/book/edit_book.html:136 +#: bookwyrm/templates/book/edit_book.html:143 #: bookwyrm/templates/lists/form.html:12 msgid "Description:" msgstr "描述:" @@ -417,22 +418,22 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:14 -#: bookwyrm/templates/book/edit_book.html:301 +#: bookwyrm/templates/book/edit_book.html:308 msgid "OCLC Number:" msgstr "OCLC 号:" #: bookwyrm/templates/book/book_identifiers.html:21 -#: bookwyrm/templates/book/edit_book.html:309 +#: bookwyrm/templates/book/edit_book.html:316 msgid "ASIN:" msgstr "ASIN:" #: bookwyrm/templates/book/cover_modal.html:17 -#: bookwyrm/templates/book/edit_book.html:229 +#: bookwyrm/templates/book/edit_book.html:236 msgid "Upload cover:" msgstr "上传封面:" #: bookwyrm/templates/book/cover_modal.html:23 -#: bookwyrm/templates/book/edit_book.html:235 +#: bookwyrm/templates/book/edit_book.html:242 msgid "Load cover from url:" msgstr "从网址加载封面:" @@ -447,133 +448,133 @@ msgstr "编辑《%(book_title)s》" msgid "Add Book" msgstr "添加书目" -#: bookwyrm/templates/book/edit_book.html:54 +#: bookwyrm/templates/book/edit_book.html:61 msgid "Confirm Book Info" msgstr "确认书目信息" -#: bookwyrm/templates/book/edit_book.html:62 +#: bookwyrm/templates/book/edit_book.html:69 #, python-format msgid "Is \"%(name)s\" an existing author?" msgstr "“%(name)s” 是已存在的作者吗?" -#: bookwyrm/templates/book/edit_book.html:71 +#: bookwyrm/templates/book/edit_book.html:78 #, python-format msgid "Author of %(book_title)s" msgstr "%(book_title)s 的作者" -#: bookwyrm/templates/book/edit_book.html:75 +#: bookwyrm/templates/book/edit_book.html:82 msgid "This is a new author" msgstr "这是一位新的作者" -#: bookwyrm/templates/book/edit_book.html:82 +#: bookwyrm/templates/book/edit_book.html:89 #, python-format msgid "Creating a new author: %(name)s" msgstr "正在创建新的作者: %(name)s" -#: bookwyrm/templates/book/edit_book.html:89 +#: bookwyrm/templates/book/edit_book.html:96 msgid "Is this an edition of an existing work?" msgstr "这是已存在的作品的一个版本吗?" -#: bookwyrm/templates/book/edit_book.html:97 +#: bookwyrm/templates/book/edit_book.html:104 msgid "This is a new work" msgstr "这是一个新的作品。" -#: bookwyrm/templates/book/edit_book.html:104 +#: bookwyrm/templates/book/edit_book.html:111 #: bookwyrm/templates/password_reset.html:30 msgid "Confirm" msgstr "确认" -#: bookwyrm/templates/book/edit_book.html:106 +#: bookwyrm/templates/book/edit_book.html:113 #: bookwyrm/templates/feed/status.html:8 msgid "Back" msgstr "返回" -#: bookwyrm/templates/book/edit_book.html:120 +#: bookwyrm/templates/book/edit_book.html:127 #: bookwyrm/templates/snippets/create_status/review.html:18 msgid "Title:" msgstr "标题:" -#: bookwyrm/templates/book/edit_book.html:128 +#: bookwyrm/templates/book/edit_book.html:135 msgid "Subtitle:" msgstr "副标题:" -#: bookwyrm/templates/book/edit_book.html:144 +#: bookwyrm/templates/book/edit_book.html:151 msgid "Series:" msgstr "系列:" -#: bookwyrm/templates/book/edit_book.html:152 +#: bookwyrm/templates/book/edit_book.html:159 msgid "Series number:" msgstr "系列编号:" -#: bookwyrm/templates/book/edit_book.html:160 +#: bookwyrm/templates/book/edit_book.html:167 msgid "Languages:" msgstr "语言:" -#: bookwyrm/templates/book/edit_book.html:169 +#: bookwyrm/templates/book/edit_book.html:176 msgid "Publisher:" msgstr "出版社:" -#: bookwyrm/templates/book/edit_book.html:178 +#: bookwyrm/templates/book/edit_book.html:185 msgid "First published date:" msgstr "初版时间:" -#: bookwyrm/templates/book/edit_book.html:186 +#: bookwyrm/templates/book/edit_book.html:193 msgid "Published date:" msgstr "出版时间:" -#: bookwyrm/templates/book/edit_book.html:195 +#: bookwyrm/templates/book/edit_book.html:202 msgid "Authors" msgstr "作者" -#: bookwyrm/templates/book/edit_book.html:202 +#: bookwyrm/templates/book/edit_book.html:209 #, python-format msgid "Remove %(name)s" msgstr "移除 %(name)s" -#: bookwyrm/templates/book/edit_book.html:205 +#: bookwyrm/templates/book/edit_book.html:212 #, python-format msgid "Author page for %(name)s" msgstr "%(name)s 的作者页面" -#: bookwyrm/templates/book/edit_book.html:212 +#: bookwyrm/templates/book/edit_book.html:219 msgid "Add Authors:" msgstr "添加作者:" -#: bookwyrm/templates/book/edit_book.html:213 +#: bookwyrm/templates/book/edit_book.html:220 msgid "John Doe, Jane Smith" msgstr "张三, 李四" -#: bookwyrm/templates/book/edit_book.html:220 +#: bookwyrm/templates/book/edit_book.html:227 #: bookwyrm/templates/user/shelf/shelf.html:78 msgid "Cover" msgstr "封面" -#: bookwyrm/templates/book/edit_book.html:248 +#: bookwyrm/templates/book/edit_book.html:255 msgid "Physical Properties" msgstr "实体性质" -#: bookwyrm/templates/book/edit_book.html:250 +#: bookwyrm/templates/book/edit_book.html:257 #: bookwyrm/templates/book/format_filter.html:5 msgid "Format:" msgstr "格式:" -#: bookwyrm/templates/book/edit_book.html:258 +#: bookwyrm/templates/book/edit_book.html:265 msgid "Pages:" msgstr "页数:" -#: bookwyrm/templates/book/edit_book.html:267 +#: bookwyrm/templates/book/edit_book.html:274 msgid "Book Identifiers" msgstr "书目标识号" -#: bookwyrm/templates/book/edit_book.html:269 +#: bookwyrm/templates/book/edit_book.html:276 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit_book.html:277 +#: bookwyrm/templates/book/edit_book.html:284 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit_book.html:285 +#: bookwyrm/templates/book/edit_book.html:292 msgid "Openlibrary ID:" msgstr "Openlibrary ID:" @@ -639,31 +640,37 @@ msgstr "评价了" msgid "Progress Updates:" msgstr "进度更新:" -#: bookwyrm/templates/book/readthrough.html:14 +#: bookwyrm/templates/book/readthrough.html:13 msgid "finished" msgstr "已完成" -#: bookwyrm/templates/book/readthrough.html:25 +#: bookwyrm/templates/book/readthrough.html:24 msgid "Show all updates" msgstr "显示所有更新" -#: bookwyrm/templates/book/readthrough.html:41 +#: bookwyrm/templates/book/readthrough.html:40 msgid "Delete this progress update" msgstr "删除此进度更新" -#: bookwyrm/templates/book/readthrough.html:52 +#: bookwyrm/templates/book/readthrough.html:51 msgid "started" msgstr "已开始" -#: bookwyrm/templates/book/readthrough.html:59 -#: bookwyrm/templates/book/readthrough.html:73 +#: bookwyrm/templates/book/readthrough.html:58 +#: bookwyrm/templates/book/readthrough.html:72 msgid "Edit read dates" msgstr "编辑阅读日期" -#: bookwyrm/templates/book/readthrough.html:63 +#: bookwyrm/templates/book/readthrough.html:62 msgid "Delete these read dates" msgstr "删除这些阅读日期" +#: bookwyrm/templates/book/search_filter.html:5 +#, fuzzy +#| msgid "Search Results" +msgid "Search editions" +msgstr "搜索结果" + #: bookwyrm/templates/components/inline_form.html:8 #: bookwyrm/templates/components/modal.html:11 #: bookwyrm/templates/feed/layout.html:71 @@ -969,18 +976,18 @@ msgid "There are no books here right now! Try searching for a book to get starte msgstr "现在这里还没有任何书目!尝试着从搜索某本书开始吧" #: bookwyrm/templates/feed/layout.html:25 -#: bookwyrm/templates/user/shelf/shelf.html:29 +#: bookwyrm/templates/user/shelf/shelf.html:31 msgid "To Read" msgstr "想读" #: bookwyrm/templates/feed/layout.html:26 -#: bookwyrm/templates/user/shelf/shelf.html:29 +#: bookwyrm/templates/user/shelf/shelf.html:31 msgid "Currently Reading" msgstr "在读" #: bookwyrm/templates/feed/layout.html:27 -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:16 -#: bookwyrm/templates/user/shelf/shelf.html:29 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:17 +#: bookwyrm/templates/user/shelf/shelf.html:31 msgid "Read" msgstr "读过" @@ -995,6 +1002,12 @@ msgstr "%(year)s 阅读目标" msgid "Who to follow" msgstr "可以关注的人" +#: bookwyrm/templates/feed/suggested_users.html:5 +#, fuzzy +#| msgid "Directory" +msgid "View directory" +msgstr "目录" + #: bookwyrm/templates/get_started/book_preview.html:6 #, python-format msgid "Have you read %(book_title)s?" @@ -1010,7 +1023,6 @@ msgid "Search for a book" msgstr "搜索书目" #: bookwyrm/templates/get_started/books.html:11 -#: bookwyrm/templates/isbn_search_results.html:17 #, python-format msgid "No books found for \"%(query)s\"" msgstr "没有找到 \"%(query)s\" 的书目" @@ -1158,7 +1170,7 @@ msgid "%(username)s's %(year)s Books" msgstr "%(username)s 在 %(year)s 的书目" #: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9 -#: bookwyrm/templates/user/shelf/shelf.html:40 +#: bookwyrm/templates/user/shelf/shelf.html:42 msgid "Import Books" msgstr "导入书目" @@ -1208,7 +1220,7 @@ msgstr "导入开始:" msgid "Import completed:" msgstr "导入完成:" -#: bookwyrm/templates/import_status.html:25 +#: bookwyrm/templates/import_status.html:24 msgid "TASK FAILED" msgstr "任务失败" @@ -1283,19 +1295,6 @@ msgstr "没有权限" msgid "Sorry! This invite code is no longer valid." msgstr "抱歉!此邀请码已不再有效。" -#: bookwyrm/templates/isbn_search_results.html:4 -msgid "Search Results" -msgstr "搜索结果" - -#: bookwyrm/templates/isbn_search_results.html:9 -#, python-format -msgid "Search Results for \"%(query)s\"" -msgstr "\"%(query)s\" 的搜索结果" - -#: bookwyrm/templates/isbn_search_results.html:14 -msgid "Matching Books" -msgstr "匹配的书目" - #: bookwyrm/templates/landing/about.html:7 #, python-format msgid "About %(site_name)s" @@ -1435,6 +1434,10 @@ msgstr "在 %(support_title)s msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm 是开源软件。你可以在 GitHub 贡献或报告问题。" +#: bookwyrm/templates/lists/bookmark_button.html:30 +msgid "Un-save" +msgstr "" + #: bookwyrm/templates/lists/create_form.html:5 #: bookwyrm/templates/lists/lists.html:20 msgid "Create List" @@ -1574,10 +1577,28 @@ msgstr "没有符合 “%(query)s” 请求的书目" msgid "Suggest" msgstr "推荐" +#: bookwyrm/templates/lists/list_items.html:15 +#, fuzzy +#| msgid "Save" +msgid "Saved" +msgstr "保存" + #: bookwyrm/templates/lists/lists.html:14 bookwyrm/templates/user/lists.html:9 msgid "Your Lists" msgstr "你的列表" +#: bookwyrm/templates/lists/lists.html:35 +#, fuzzy +#| msgid "Lists" +msgid "All Lists" +msgstr "列表" + +#: bookwyrm/templates/lists/lists.html:39 +#, fuzzy +#| msgid "Create List" +msgid "Saved Lists" +msgstr "创建列表" + #: bookwyrm/templates/login.html:4 msgid "Login" msgstr "登录" @@ -2043,23 +2064,23 @@ msgstr "活跃:" msgid "Create Announcement" msgstr "创建公告" -#: bookwyrm/templates/settings/announcements.html:22 +#: bookwyrm/templates/settings/announcements.html:21 msgid "Date added" msgstr "添加日期:" -#: bookwyrm/templates/settings/announcements.html:26 +#: bookwyrm/templates/settings/announcements.html:25 msgid "Preview" msgstr "预览" -#: bookwyrm/templates/settings/announcements.html:30 +#: bookwyrm/templates/settings/announcements.html:29 msgid "Start date" msgstr "开始日期" -#: bookwyrm/templates/settings/announcements.html:34 +#: bookwyrm/templates/settings/announcements.html:33 msgid "End date" msgstr "结束日期" -#: bookwyrm/templates/settings/announcements.html:38 +#: bookwyrm/templates/settings/announcements.html:37 #: bookwyrm/templates/settings/federation.html:30 #: bookwyrm/templates/settings/manage_invite_requests.html:44 #: bookwyrm/templates/settings/status_filter.html:5 @@ -2067,11 +2088,11 @@ msgstr "结束日期" msgid "Status" msgstr "状态" -#: bookwyrm/templates/settings/announcements.html:48 +#: bookwyrm/templates/settings/announcements.html:47 msgid "active" msgstr "活跃" -#: bookwyrm/templates/settings/announcements.html:48 +#: bookwyrm/templates/settings/announcements.html:47 msgid "inactive" msgstr "停用" @@ -2411,7 +2432,7 @@ msgid "and %(remainder_count_display)s other" msgid_plural "and %(remainder_count_display)s others" msgstr[0] "与其它 %(remainder_count_display)s 位" -#: bookwyrm/templates/snippets/book_cover.html:32 +#: bookwyrm/templates/snippets/book_cover.html:61 msgid "No cover" msgstr "没有封面" @@ -2531,13 +2552,13 @@ msgstr "删除这些阅读日期吗?" msgid "You are deleting this readthrough and its %(count)s associated progress updates." msgstr "你正要删除这篇阅读经过以及与之相关的 %(count)s 次进度更新。" -#: bookwyrm/templates/snippets/fav_button.html:10 -#: bookwyrm/templates/snippets/fav_button.html:12 +#: bookwyrm/templates/snippets/fav_button.html:16 +#: bookwyrm/templates/snippets/fav_button.html:17 msgid "Like" msgstr "喜欢" -#: bookwyrm/templates/snippets/fav_button.html:18 -#: bookwyrm/templates/snippets/fav_button.html:19 +#: bookwyrm/templates/snippets/fav_button.html:30 +#: bookwyrm/templates/snippets/fav_button.html:31 msgid "Un-like" msgstr "取消喜欢" @@ -2732,7 +2753,7 @@ msgid "(Optional)" msgstr "" #: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:5 -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:47 msgid "Update progress" msgstr "更新进度" @@ -2774,15 +2795,15 @@ msgstr "更多书架" msgid "Start reading" msgstr "开始阅读" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:19 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:21 msgid "Finish reading" msgstr "完成阅读" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:25 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:27 msgid "Want to read" msgstr "想要阅读" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:57 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:59 #, python-format msgid "Remove from %(name)s" msgstr "从 %(name)s 移除" @@ -2958,11 +2979,11 @@ msgstr "编辑书架" msgid "Update shelf" msgstr "更新书架" -#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:56 +#: bookwyrm/templates/user/shelf/shelf.html:27 bookwyrm/views/shelf.py:56 msgid "All books" msgstr "所有书目" -#: bookwyrm/templates/user/shelf/shelf.html:38 +#: bookwyrm/templates/user/shelf/shelf.html:40 msgid "Create shelf" msgstr "创建书架" @@ -3115,11 +3136,11 @@ msgstr "取消停用用户" msgid "Access level:" msgstr "访问级别:" -#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:22 +#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:28 msgid "File exceeds maximum size: 10MB" msgstr "文件超过了最大大小: 10MB" -#: bookwyrm/templatetags/utilities.py:30 +#: bookwyrm/templatetags/utilities.py:31 #, python-format msgid "%(title)s: %(subtitle)s" msgstr "%(title)s:%(subtitle)s" @@ -3146,6 +3167,12 @@ msgstr "密码重置连接已发送给 %s" msgid "Status updates from {obj.display_name}" msgstr "" +#~ msgid "Search Results for \"%(query)s\"" +#~ msgstr "\"%(query)s\" 的搜索结果" + +#~ msgid "Matching Books" +#~ msgstr "匹配的书目" + #~ msgid "Local Timeline" #~ msgstr "本地时间线" diff --git a/locale/zh_Hant/LC_MESSAGES/django.mo b/locale/zh_Hant/LC_MESSAGES/django.mo index a1075ef48305939c29071de898e0eb30fd353541..0ee84d693016951a6bbb114392d6d72e833bebd6 100644 GIT binary patch delta 13224 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 P43mAEWjFV9eijA*T?#t= diff --git a/locale/zh_Hant/LC_MESSAGES/django.po b/locale/zh_Hant/LC_MESSAGES/django.po index 2a39f3887..c8224be61 100644 --- a/locale/zh_Hant/LC_MESSAGES/django.po +++ b/locale/zh_Hant/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: 2021-08-16 21:26+0000\n" +"POT-Creation-Date: 2021-08-27 19:11+0000\n" "PO-Revision-Date: 2021-06-30 10:36+0000\n" "Last-Translator: Grace Cheng \n" "Language-Team: LANGUAGE \n" @@ -84,55 +84,55 @@ msgstr "%(value)s 不是有效的 remote_id" msgid "%(value)s is not a valid username" msgstr "%(value)s 不是有效的使用者名稱" -#: bookwyrm/models/fields.py:174 bookwyrm/templates/layout.html:164 +#: bookwyrm/models/fields.py:181 bookwyrm/templates/layout.html:164 msgid "username" msgstr "使用者名稱" -#: bookwyrm/models/fields.py:179 +#: bookwyrm/models/fields.py:186 msgid "A user with that username already exists." msgstr "已經存在使用該名稱的使用者。" -#: bookwyrm/settings.py:123 +#: bookwyrm/settings.py:124 msgid "Home Timeline" msgstr "主頁時間線" -#: bookwyrm/settings.py:123 +#: bookwyrm/settings.py:124 msgid "Home" msgstr "主頁" -#: bookwyrm/settings.py:124 +#: bookwyrm/settings.py:125 #, fuzzy #| msgid "Book Title" msgid "Books Timeline" msgstr "書名" -#: bookwyrm/settings.py:124 bookwyrm/templates/search/layout.html:21 +#: bookwyrm/settings.py:125 bookwyrm/templates/search/layout.html:21 #: bookwyrm/templates/search/layout.html:42 #: bookwyrm/templates/user/layout.html:81 msgid "Books" msgstr "書目" -#: bookwyrm/settings.py:170 +#: bookwyrm/settings.py:171 msgid "English" msgstr "English(英語)" -#: bookwyrm/settings.py:171 +#: bookwyrm/settings.py:172 msgid "German" msgstr "Deutsch(德語)" -#: bookwyrm/settings.py:172 +#: bookwyrm/settings.py:173 msgid "Spanish" msgstr "Español(西班牙語)" -#: bookwyrm/settings.py:173 +#: bookwyrm/settings.py:174 msgid "French" msgstr "Français(法語)" -#: bookwyrm/settings.py:174 +#: bookwyrm/settings.py:175 msgid "Simplified Chinese" msgstr "簡體中文" -#: bookwyrm/settings.py:175 +#: bookwyrm/settings.py:176 #, fuzzy #| msgid "Tranditional Chinese" msgid "Traditional Chinese" @@ -225,7 +225,7 @@ msgid "Last edited by:" msgstr "最後編輯者:" #: bookwyrm/templates/author/edit_author.html:31 -#: bookwyrm/templates/book/edit_book.html:117 +#: bookwyrm/templates/book/edit_book.html:124 msgid "Metadata" msgstr "元資料" @@ -237,9 +237,9 @@ msgid "Name:" msgstr "名稱:" #: bookwyrm/templates/author/edit_author.html:43 -#: bookwyrm/templates/book/edit_book.html:162 -#: bookwyrm/templates/book/edit_book.html:171 -#: bookwyrm/templates/book/edit_book.html:214 +#: bookwyrm/templates/book/edit_book.html:169 +#: bookwyrm/templates/book/edit_book.html:178 +#: bookwyrm/templates/book/edit_book.html:221 msgid "Separate multiple values with commas." msgstr "請用逗號(,)分隔多個值。" @@ -268,7 +268,7 @@ msgid "Openlibrary key:" msgstr "Openlibrary key:" #: bookwyrm/templates/author/edit_author.html:89 -#: bookwyrm/templates/book/edit_book.html:293 +#: bookwyrm/templates/book/edit_book.html:300 msgid "Inventaire ID:" msgstr "Inventaire ID:" @@ -282,8 +282,9 @@ msgstr "Goodreads key:" #: bookwyrm/templates/author/edit_author.html:116 #: bookwyrm/templates/book/book.html:141 -#: bookwyrm/templates/book/edit_book.html:321 -#: bookwyrm/templates/book/readthrough.html:77 +#: bookwyrm/templates/book/edit_book.html:328 +#: bookwyrm/templates/book/readthrough.html:76 +#: bookwyrm/templates/lists/bookmark_button.html:15 #: bookwyrm/templates/lists/form.html:42 #: bookwyrm/templates/preferences/edit_user.html:78 #: bookwyrm/templates/settings/announcement_form.html:69 @@ -299,8 +300,8 @@ msgstr "儲存" #: bookwyrm/templates/author/edit_author.html:117 #: bookwyrm/templates/book/book.html:142 bookwyrm/templates/book/book.html:191 #: bookwyrm/templates/book/cover_modal.html:32 -#: bookwyrm/templates/book/edit_book.html:322 -#: bookwyrm/templates/book/readthrough.html:78 +#: bookwyrm/templates/book/edit_book.html:329 +#: bookwyrm/templates/book/readthrough.html:77 #: bookwyrm/templates/moderation/report_modal.html:34 #: bookwyrm/templates/settings/federated_server.html:99 #: bookwyrm/templates/snippets/delete_readthrough_modal.html:17 @@ -340,7 +341,7 @@ msgid "Add Description" msgstr "新增描述" #: bookwyrm/templates/book/book.html:137 -#: bookwyrm/templates/book/edit_book.html:136 +#: bookwyrm/templates/book/edit_book.html:143 #: bookwyrm/templates/lists/form.html:12 msgid "Description:" msgstr "描述:" @@ -423,22 +424,22 @@ msgid "ISBN:" msgstr "ISBN:" #: bookwyrm/templates/book/book_identifiers.html:14 -#: bookwyrm/templates/book/edit_book.html:301 +#: bookwyrm/templates/book/edit_book.html:308 msgid "OCLC Number:" msgstr "OCLC 號:" #: bookwyrm/templates/book/book_identifiers.html:21 -#: bookwyrm/templates/book/edit_book.html:309 +#: bookwyrm/templates/book/edit_book.html:316 msgid "ASIN:" msgstr "ASIN:" #: bookwyrm/templates/book/cover_modal.html:17 -#: bookwyrm/templates/book/edit_book.html:229 +#: bookwyrm/templates/book/edit_book.html:236 msgid "Upload cover:" msgstr "上載封面:" #: bookwyrm/templates/book/cover_modal.html:23 -#: bookwyrm/templates/book/edit_book.html:235 +#: bookwyrm/templates/book/edit_book.html:242 msgid "Load cover from url:" msgstr "從網址載入封面:" @@ -453,135 +454,135 @@ msgstr "編輯 \"%(book_title)s\"" msgid "Add Book" msgstr "新增書目" -#: bookwyrm/templates/book/edit_book.html:54 +#: bookwyrm/templates/book/edit_book.html:61 msgid "Confirm Book Info" msgstr "確認書目資料" -#: bookwyrm/templates/book/edit_book.html:62 +#: bookwyrm/templates/book/edit_book.html:69 #, python-format msgid "Is \"%(name)s\" an existing author?" msgstr "\"%(name)s\" 是已存在的作者嗎?" -#: bookwyrm/templates/book/edit_book.html:71 +#: bookwyrm/templates/book/edit_book.html:78 #, python-format msgid "Author of %(book_title)s" msgstr "%(book_title)s 的作者" -#: bookwyrm/templates/book/edit_book.html:75 +#: bookwyrm/templates/book/edit_book.html:82 msgid "This is a new author" msgstr "這是一位新的作者" -#: bookwyrm/templates/book/edit_book.html:82 +#: bookwyrm/templates/book/edit_book.html:89 #, python-format msgid "Creating a new author: %(name)s" msgstr "正在建立新的作者: %(name)s" -#: bookwyrm/templates/book/edit_book.html:89 +#: bookwyrm/templates/book/edit_book.html:96 msgid "Is this an edition of an existing work?" msgstr "這是已存在的作品的另一個版本嗎?" -#: bookwyrm/templates/book/edit_book.html:97 +#: bookwyrm/templates/book/edit_book.html:104 msgid "This is a new work" msgstr "這是一個新的作品。" -#: bookwyrm/templates/book/edit_book.html:104 +#: bookwyrm/templates/book/edit_book.html:111 #: bookwyrm/templates/password_reset.html:30 msgid "Confirm" msgstr "確認" -#: bookwyrm/templates/book/edit_book.html:106 +#: bookwyrm/templates/book/edit_book.html:113 #: bookwyrm/templates/feed/status.html:8 msgid "Back" msgstr "返回" -#: bookwyrm/templates/book/edit_book.html:120 +#: bookwyrm/templates/book/edit_book.html:127 #: bookwyrm/templates/snippets/create_status/review.html:18 msgid "Title:" msgstr "標題:" -#: bookwyrm/templates/book/edit_book.html:128 +#: bookwyrm/templates/book/edit_book.html:135 msgid "Subtitle:" msgstr "副標題:" -#: bookwyrm/templates/book/edit_book.html:144 +#: bookwyrm/templates/book/edit_book.html:151 msgid "Series:" msgstr "系列:" -#: bookwyrm/templates/book/edit_book.html:152 +#: bookwyrm/templates/book/edit_book.html:159 msgid "Series number:" msgstr "系列編號:" -#: bookwyrm/templates/book/edit_book.html:160 +#: bookwyrm/templates/book/edit_book.html:167 msgid "Languages:" msgstr "語言:" -#: bookwyrm/templates/book/edit_book.html:169 +#: bookwyrm/templates/book/edit_book.html:176 msgid "Publisher:" msgstr "出版社:" -#: bookwyrm/templates/book/edit_book.html:178 +#: bookwyrm/templates/book/edit_book.html:185 msgid "First published date:" msgstr "初版時間:" -#: bookwyrm/templates/book/edit_book.html:186 +#: bookwyrm/templates/book/edit_book.html:193 msgid "Published date:" msgstr "出版時間:" -#: bookwyrm/templates/book/edit_book.html:195 +#: bookwyrm/templates/book/edit_book.html:202 msgid "Authors" msgstr "作者" -#: bookwyrm/templates/book/edit_book.html:202 +#: bookwyrm/templates/book/edit_book.html:209 #, fuzzy, python-format #| msgid "Remove from %(name)s" msgid "Remove %(name)s" msgstr "從 %(name)s 移除" -#: bookwyrm/templates/book/edit_book.html:205 +#: bookwyrm/templates/book/edit_book.html:212 #, fuzzy, python-format #| msgid "Remove from %(name)s" msgid "Author page for %(name)s" msgstr "從 %(name)s 移除" -#: bookwyrm/templates/book/edit_book.html:212 +#: bookwyrm/templates/book/edit_book.html:219 msgid "Add Authors:" msgstr "新增作者:" -#: bookwyrm/templates/book/edit_book.html:213 +#: bookwyrm/templates/book/edit_book.html:220 msgid "John Doe, Jane Smith" msgstr "John Doe, Jane Smith" -#: bookwyrm/templates/book/edit_book.html:220 +#: bookwyrm/templates/book/edit_book.html:227 #: bookwyrm/templates/user/shelf/shelf.html:78 msgid "Cover" msgstr "封面" -#: bookwyrm/templates/book/edit_book.html:248 +#: bookwyrm/templates/book/edit_book.html:255 msgid "Physical Properties" msgstr "實體性質" -#: bookwyrm/templates/book/edit_book.html:250 +#: bookwyrm/templates/book/edit_book.html:257 #: bookwyrm/templates/book/format_filter.html:5 msgid "Format:" msgstr "格式:" -#: bookwyrm/templates/book/edit_book.html:258 +#: bookwyrm/templates/book/edit_book.html:265 msgid "Pages:" msgstr "頁數:" -#: bookwyrm/templates/book/edit_book.html:267 +#: bookwyrm/templates/book/edit_book.html:274 msgid "Book Identifiers" msgstr "書目標識號" -#: bookwyrm/templates/book/edit_book.html:269 +#: bookwyrm/templates/book/edit_book.html:276 msgid "ISBN 13:" msgstr "ISBN 13:" -#: bookwyrm/templates/book/edit_book.html:277 +#: bookwyrm/templates/book/edit_book.html:284 msgid "ISBN 10:" msgstr "ISBN 10:" -#: bookwyrm/templates/book/edit_book.html:285 +#: bookwyrm/templates/book/edit_book.html:292 msgid "Openlibrary ID:" msgstr "Openlibrary ID:" @@ -647,31 +648,37 @@ msgstr "評價了" msgid "Progress Updates:" msgstr "進度更新:" -#: bookwyrm/templates/book/readthrough.html:14 +#: bookwyrm/templates/book/readthrough.html:13 msgid "finished" msgstr "已完成" -#: bookwyrm/templates/book/readthrough.html:25 +#: bookwyrm/templates/book/readthrough.html:24 msgid "Show all updates" msgstr "顯示所有更新" -#: bookwyrm/templates/book/readthrough.html:41 +#: bookwyrm/templates/book/readthrough.html:40 msgid "Delete this progress update" msgstr "刪除此進度更新" -#: bookwyrm/templates/book/readthrough.html:52 +#: bookwyrm/templates/book/readthrough.html:51 msgid "started" msgstr "已開始" -#: bookwyrm/templates/book/readthrough.html:59 -#: bookwyrm/templates/book/readthrough.html:73 +#: bookwyrm/templates/book/readthrough.html:58 +#: bookwyrm/templates/book/readthrough.html:72 msgid "Edit read dates" msgstr "編輯閱讀日期" -#: bookwyrm/templates/book/readthrough.html:63 +#: bookwyrm/templates/book/readthrough.html:62 msgid "Delete these read dates" msgstr "刪除這些閱讀日期" +#: bookwyrm/templates/book/search_filter.html:5 +#, fuzzy +#| msgid "Search Results" +msgid "Search editions" +msgstr "搜尋結果" + #: bookwyrm/templates/components/inline_form.html:8 #: bookwyrm/templates/components/modal.html:11 #: bookwyrm/templates/feed/layout.html:71 @@ -994,18 +1001,18 @@ msgid "There are no books here right now! Try searching for a book to get starte msgstr "現在這裡還沒有任何書目!嘗試著從搜尋某本書開始吧" #: bookwyrm/templates/feed/layout.html:25 -#: bookwyrm/templates/user/shelf/shelf.html:29 +#: bookwyrm/templates/user/shelf/shelf.html:31 msgid "To Read" msgstr "想讀" #: bookwyrm/templates/feed/layout.html:26 -#: bookwyrm/templates/user/shelf/shelf.html:29 +#: bookwyrm/templates/user/shelf/shelf.html:31 msgid "Currently Reading" msgstr "在讀" #: bookwyrm/templates/feed/layout.html:27 -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:16 -#: bookwyrm/templates/user/shelf/shelf.html:29 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:17 +#: bookwyrm/templates/user/shelf/shelf.html:31 msgid "Read" msgstr "讀過" @@ -1020,6 +1027,12 @@ msgstr "%(year)s 閱讀目標" msgid "Who to follow" msgstr "可以關注的人" +#: bookwyrm/templates/feed/suggested_users.html:5 +#, fuzzy +#| msgid "Directory" +msgid "View directory" +msgstr "目錄" + #: bookwyrm/templates/get_started/book_preview.html:6 #, python-format msgid "Have you read %(book_title)s?" @@ -1035,7 +1048,6 @@ msgid "Search for a book" msgstr "搜尋書目" #: bookwyrm/templates/get_started/books.html:11 -#: bookwyrm/templates/isbn_search_results.html:17 #, python-format msgid "No books found for \"%(query)s\"" msgstr "沒有找到 \"%(query)s\" 的書目" @@ -1183,7 +1195,7 @@ msgid "%(username)s's %(year)s Books" msgstr "%(username)s 在 %(year)s 的書目" #: bookwyrm/templates/import.html:5 bookwyrm/templates/import.html:9 -#: bookwyrm/templates/user/shelf/shelf.html:40 +#: bookwyrm/templates/user/shelf/shelf.html:42 msgid "Import Books" msgstr "匯入書目" @@ -1235,7 +1247,7 @@ msgstr "匯入開始:" msgid "Import completed:" msgstr "匯入完成:" -#: bookwyrm/templates/import_status.html:25 +#: bookwyrm/templates/import_status.html:24 msgid "TASK FAILED" msgstr "任務失敗" @@ -1312,19 +1324,6 @@ msgstr "沒有權限" msgid "Sorry! This invite code is no longer valid." msgstr "抱歉!此邀請碼已不再有效。" -#: bookwyrm/templates/isbn_search_results.html:4 -msgid "Search Results" -msgstr "搜尋結果" - -#: bookwyrm/templates/isbn_search_results.html:9 -#, python-format -msgid "Search Results for \"%(query)s\"" -msgstr "\"%(query)s\" 的搜尋結果" - -#: bookwyrm/templates/isbn_search_results.html:14 -msgid "Matching Books" -msgstr "匹配的書目" - #: bookwyrm/templates/landing/about.html:7 #, python-format msgid "About %(site_name)s" @@ -1464,6 +1463,10 @@ msgstr "在 %(support_title)s msgid "BookWyrm's source code is freely available. You can contribute or report issues on GitHub." msgstr "BookWyrm 是開源軟體。你可以在 GitHub 貢獻或報告問題。" +#: bookwyrm/templates/lists/bookmark_button.html:30 +msgid "Un-save" +msgstr "" + #: bookwyrm/templates/lists/create_form.html:5 #: bookwyrm/templates/lists/lists.html:20 msgid "Create List" @@ -1603,10 +1606,28 @@ msgstr "沒有符合 \"%(query)s\" 請求的書目" msgid "Suggest" msgstr "推薦" +#: bookwyrm/templates/lists/list_items.html:15 +#, fuzzy +#| msgid "Save" +msgid "Saved" +msgstr "儲存" + #: bookwyrm/templates/lists/lists.html:14 bookwyrm/templates/user/lists.html:9 msgid "Your Lists" msgstr "你的列表" +#: bookwyrm/templates/lists/lists.html:35 +#, fuzzy +#| msgid "Lists" +msgid "All Lists" +msgstr "列表" + +#: bookwyrm/templates/lists/lists.html:39 +#, fuzzy +#| msgid "Create List" +msgid "Saved Lists" +msgstr "建立列表" + #: bookwyrm/templates/login.html:4 msgid "Login" msgstr "登入" @@ -2078,23 +2099,23 @@ msgstr "活躍:" msgid "Create Announcement" msgstr "建立公告" -#: bookwyrm/templates/settings/announcements.html:22 +#: bookwyrm/templates/settings/announcements.html:21 msgid "Date added" msgstr "新增日期:" -#: bookwyrm/templates/settings/announcements.html:26 +#: bookwyrm/templates/settings/announcements.html:25 msgid "Preview" msgstr "預覽" -#: bookwyrm/templates/settings/announcements.html:30 +#: bookwyrm/templates/settings/announcements.html:29 msgid "Start date" msgstr "開始日期" -#: bookwyrm/templates/settings/announcements.html:34 +#: bookwyrm/templates/settings/announcements.html:33 msgid "End date" msgstr "結束日期" -#: bookwyrm/templates/settings/announcements.html:38 +#: bookwyrm/templates/settings/announcements.html:37 #: bookwyrm/templates/settings/federation.html:30 #: bookwyrm/templates/settings/manage_invite_requests.html:44 #: bookwyrm/templates/settings/status_filter.html:5 @@ -2102,11 +2123,11 @@ msgstr "結束日期" msgid "Status" msgstr "狀態" -#: bookwyrm/templates/settings/announcements.html:48 +#: bookwyrm/templates/settings/announcements.html:47 msgid "active" msgstr "啟用" -#: bookwyrm/templates/settings/announcements.html:48 +#: bookwyrm/templates/settings/announcements.html:47 msgid "inactive" msgstr "停用" @@ -2450,7 +2471,7 @@ msgid "and %(remainder_count_display)s other" msgid_plural "and %(remainder_count_display)s others" msgstr[0] "" -#: bookwyrm/templates/snippets/book_cover.html:32 +#: bookwyrm/templates/snippets/book_cover.html:61 msgid "No cover" msgstr "沒有封面" @@ -2573,13 +2594,13 @@ msgstr "刪除這些閱讀日期嗎?" msgid "You are deleting this readthrough and its %(count)s associated progress updates." msgstr "你正要刪除這篇閱讀經過以及與之相關的 %(count)s 次進度更新。" -#: bookwyrm/templates/snippets/fav_button.html:10 -#: bookwyrm/templates/snippets/fav_button.html:12 +#: bookwyrm/templates/snippets/fav_button.html:16 +#: bookwyrm/templates/snippets/fav_button.html:17 msgid "Like" msgstr "喜歡" -#: bookwyrm/templates/snippets/fav_button.html:18 -#: bookwyrm/templates/snippets/fav_button.html:19 +#: bookwyrm/templates/snippets/fav_button.html:30 +#: bookwyrm/templates/snippets/fav_button.html:31 msgid "Un-like" msgstr "取消喜歡" @@ -2778,7 +2799,7 @@ msgid "(Optional)" msgstr "" #: bookwyrm/templates/snippets/reading_modals/progress_update_modal.html:5 -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:45 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:47 msgid "Update progress" msgstr "更新進度" @@ -2820,15 +2841,15 @@ msgstr "更多書架" msgid "Start reading" msgstr "開始閱讀" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:19 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:21 msgid "Finish reading" msgstr "完成閱讀" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:25 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:27 msgid "Want to read" msgstr "想要閱讀" -#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:57 +#: bookwyrm/templates/snippets/shelve_button/shelve_button_options.html:59 #, python-format msgid "Remove from %(name)s" msgstr "從 %(name)s 移除" @@ -3013,11 +3034,11 @@ msgstr "編輯書架" msgid "Update shelf" msgstr "更新書架" -#: bookwyrm/templates/user/shelf/shelf.html:25 bookwyrm/views/shelf.py:56 +#: bookwyrm/templates/user/shelf/shelf.html:27 bookwyrm/views/shelf.py:56 msgid "All books" msgstr "所有書目" -#: bookwyrm/templates/user/shelf/shelf.html:38 +#: bookwyrm/templates/user/shelf/shelf.html:40 msgid "Create shelf" msgstr "建立書架" @@ -3173,11 +3194,11 @@ msgstr "取消停用使用者" msgid "Access level:" msgstr "訪問權限:" -#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:22 +#: bookwyrm/templates/widgets/clearable_file_input_with_warning.html:28 msgid "File exceeds maximum size: 10MB" msgstr "檔案超過了最大大小: 10MB" -#: bookwyrm/templatetags/utilities.py:30 +#: bookwyrm/templatetags/utilities.py:31 #, python-format msgid "%(title)s: %(subtitle)s" msgstr "" @@ -3204,6 +3225,12 @@ msgstr "密碼重置連結已傳送給 %s" msgid "Status updates from {obj.display_name}" msgstr "" +#~ msgid "Search Results for \"%(query)s\"" +#~ msgstr "\"%(query)s\" 的搜尋結果" + +#~ msgid "Matching Books" +#~ msgstr "匹配的書目" + #~ msgid "Local Timeline" #~ msgstr "本地時間線" From 92b96afc2d27561aa683acf261f15aee9393210e Mon Sep 17 00:00:00 2001 From: D Anzorge Date: Fri, 27 Aug 2021 21:27:54 +0200 Subject: [PATCH 02/20] Make webfinger match usernames in case insensitive manner --- bookwyrm/tests/views/test_wellknown.py | 10 ++++++++++ bookwyrm/views/wellknown.py | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/bookwyrm/tests/views/test_wellknown.py b/bookwyrm/tests/views/test_wellknown.py index 4a3eb579f..fcbcc12b7 100644 --- a/bookwyrm/tests/views/test_wellknown.py +++ b/bookwyrm/tests/views/test_wellknown.py @@ -51,6 +51,16 @@ class UserViews(TestCase): data = json.loads(result.getvalue()) self.assertEqual(data["subject"], "acct:mouse@local.com") + def test_webfinger_case_sensitivty(self): + """ensure that webfinger queries are not case sensitive""" + request = self.factory.get("", {"resource": "acct:MoUsE@local.com"}) + request.user = self.anonymous_user + + result = views.webfinger(request) + self.assertIsInstance(result, JsonResponse) + data = json.loads(result.getvalue()) + self.assertEqual(data["subject"], "acct:mouse@local.com") + def test_nodeinfo_pointer(self): """just tells you where nodeinfo is""" request = self.factory.get("") diff --git a/bookwyrm/views/wellknown.py b/bookwyrm/views/wellknown.py index 2462c5a49..9c76beafa 100644 --- a/bookwyrm/views/wellknown.py +++ b/bookwyrm/views/wellknown.py @@ -20,7 +20,7 @@ def webfinger(request): username = resource.replace("acct:", "") try: - user = models.User.objects.get(username=username) + user = models.User.objects.get(username__iexact=username) except models.User.DoesNotExist: return HttpResponseNotFound("No account found") From 4fb834f10f697de65b3a62c9cfbb4896c9d22a04 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 28 Aug 2021 09:42:03 -0700 Subject: [PATCH 03/20] Simpler feed verification logic --- bookwyrm/views/feed.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/bookwyrm/views/feed.py b/bookwyrm/views/feed.py index 7a46ca57d..d17de8f96 100644 --- a/bookwyrm/views/feed.py +++ b/bookwyrm/views/feed.py @@ -96,15 +96,11 @@ class Status(View): try: user = get_user_from_username(request.user, username) status = models.Status.objects.select_subclasses().get( - id=status_id, deleted=False + user=user, id=status_id, deleted=False ) except (ValueError, models.Status.DoesNotExist): return HttpResponseNotFound() - # the url should have the poster's username in it - if user != status.user: - return HttpResponseNotFound() - # make sure the user is authorized to see the status if not status.visible_to_user(request.user): return HttpResponseNotFound() From e1af13d03830b22acace8587a1f3cfb1368e4b69 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 28 Aug 2021 09:55:06 -0700 Subject: [PATCH 04/20] Adds test --- bookwyrm/tests/views/test_feed.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/bookwyrm/tests/views/test_feed.py b/bookwyrm/tests/views/test_feed.py index 666c3e02b..e13dd7f8a 100644 --- a/bookwyrm/tests/views/test_feed.py +++ b/bookwyrm/tests/views/test_feed.py @@ -82,6 +82,27 @@ class FeedViews(TestCase): self.assertEqual(result.status_code, 404) + def test_status_page_not_found_wrong_user(self, *_): + """there are so many views, this just makes sure it LOADS""" + view = views.Status.as_view() + another_user = models.User.objects.create_user( + "rat@local.com", + "rat@rat.rat", + "password", + local=True, + localname="rat", + ) + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + status = models.Status.objects.create(content="hi", user=another_user) + + request = self.factory.get("") + request.user = self.local_user + with patch("bookwyrm.views.feed.is_api_request") as is_api: + is_api.return_value = False + result = view(request, "mouse", status.id) + + self.assertEqual(result.status_code, 404) + def test_status_page_with_image(self, *_): """there are so many views, this just makes sure it LOADS""" view = views.Status.as_view() From f308b7793ddfd0a5ea7e7a82c9aae3e63e524e2c Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 28 Aug 2021 10:08:41 -0700 Subject: [PATCH 05/20] Adds test for followers only privacy level --- bookwyrm/tests/models/test_fields.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/bookwyrm/tests/models/test_fields.py b/bookwyrm/tests/models/test_fields.py index 2520a2fd2..80b78231c 100644 --- a/bookwyrm/tests/models/test_fields.py +++ b/bookwyrm/tests/models/test_fields.py @@ -185,6 +185,17 @@ class ModelFields(TestCase): instance.set_field_from_activity(model_instance, data) self.assertEqual(model_instance.privacy_field, "unlisted") + data.to = ["http://user_remote/followers"] + data.cc = [] + instance.set_field_from_activity(model_instance, data) + self.assertEqual(model_instance.privacy_field, "followers") + + data.to = ["http://user_remote/followers"] + data.cc = ["http://mentioned_user/remote_id"] + instance.set_field_from_activity(model_instance, data) + self.assertEqual(model_instance.privacy_field, "followers") + + @patch("bookwyrm.models.activitypub_mixin.ObjectMixin.broadcast") @patch("bookwyrm.activitystreams.ActivityStream.add_status") def test_privacy_field_set_activity_from_field(self, *_): From e9d951e4cd1fd51323814951b5e82b0bc289b607 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 28 Aug 2021 10:33:57 -0700 Subject: [PATCH 06/20] Add user model field for followers url --- .../migrations/0086_auto_20210828_1724.py | 26 +++++++++++++++++++ bookwyrm/models/user.py | 7 +++-- 2 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 bookwyrm/migrations/0086_auto_20210828_1724.py diff --git a/bookwyrm/migrations/0086_auto_20210828_1724.py b/bookwyrm/migrations/0086_auto_20210828_1724.py new file mode 100644 index 000000000..35b17758b --- /dev/null +++ b/bookwyrm/migrations/0086_auto_20210828_1724.py @@ -0,0 +1,26 @@ +# Generated by Django 3.2.4 on 2021-08-28 17:24 + +import bookwyrm.models.fields +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('bookwyrm', '0085_user_saved_lists'), + ] + + operations = [ + migrations.AddField( + model_name='user', + name='followers_url', + field=bookwyrm.models.fields.CharField(default='/followers', max_length=255), + preserve_default=False, + ), + migrations.AlterField( + model_name='user', + name='followers', + field=models.ManyToManyField(through='bookwyrm.UserFollows', to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/bookwyrm/models/user.py b/bookwyrm/models/user.py index 0ef23d3f0..1f501dfc0 100644 --- a/bookwyrm/models/user.py +++ b/bookwyrm/models/user.py @@ -82,13 +82,12 @@ class User(OrderedCollectionPageMixin, AbstractUser): preview_image = models.ImageField( upload_to="previews/avatars/", blank=True, null=True ) - followers = fields.ManyToManyField( + followers_url = fields.CharField(max_length=255, activitypub_field="followers") + followers = models.ManyToManyField( "self", - link_only=True, symmetrical=False, through="UserFollows", through_fields=("user_object", "user_subject"), - related_name="following", ) follow_requests = models.ManyToManyField( "self", @@ -228,7 +227,7 @@ class User(OrderedCollectionPageMixin, AbstractUser): def to_followers_activity(self, **kwargs): """activitypub followers list""" - remote_id = "%s/followers" % self.remote_id + remote_id = self.followers_url return self.to_ordered_collection( self.followers.order_by("-updated_date").all(), remote_id=remote_id, From 53d9ff87d90ef783de7d9b777b2822d6e9b6d65e Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 28 Aug 2021 10:40:52 -0700 Subject: [PATCH 07/20] Look up followers url to determine post privacy --- bookwyrm/activitypub/base_activity.py | 2 ++ bookwyrm/models/fields.py | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/bookwyrm/activitypub/base_activity.py b/bookwyrm/activitypub/base_activity.py index d20e7e944..52b1b1f27 100644 --- a/bookwyrm/activitypub/base_activity.py +++ b/bookwyrm/activitypub/base_activity.py @@ -275,6 +275,8 @@ def resolve_remote_id( ): """take a remote_id and return an instance, creating if necessary""" if model: # a bonus check we can do if we already know the model + if isinstance(model, str): + model = apps.get_model(f"bookwyrm.{model}", require_ready=True) result = model.find_existing_by_remote_id(remote_id) if result and not refresh: return result if not get_activity else result.to_activity_dataclass() diff --git a/bookwyrm/models/fields.py b/bookwyrm/models/fields.py index 6ed5aa5e6..8f4fd28e6 100644 --- a/bookwyrm/models/fields.py +++ b/bookwyrm/models/fields.py @@ -224,8 +224,14 @@ class PrivacyField(ActivitypubFieldMixin, models.CharField): original = getattr(instance, self.name) to = data.to cc = data.cc + + # we need to figure out who this is to get their followers link + user = activitypub.resolve_remote_id(self.attributedTo, model="User") + if to == [self.public]: setattr(instance, self.name, "public") + elif to == [user.followers_url]: + setattr(instance, self.name, "followers") elif cc == []: setattr(instance, self.name, "direct") elif self.public in cc: From dc72df73392f8a3b27adbee13836367fa4e35c78 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 28 Aug 2021 10:41:16 -0700 Subject: [PATCH 08/20] Generate likely followers url for existing users --- .../migrations/0086_auto_20210828_1724.py | 37 +++++++++++++++---- bookwyrm/models/user.py | 1 + bookwyrm/tests/models/test_fields.py | 1 - 3 files changed, 31 insertions(+), 8 deletions(-) diff --git a/bookwyrm/migrations/0086_auto_20210828_1724.py b/bookwyrm/migrations/0086_auto_20210828_1724.py index 35b17758b..212477118 100644 --- a/bookwyrm/migrations/0086_auto_20210828_1724.py +++ b/bookwyrm/migrations/0086_auto_20210828_1724.py @@ -3,24 +3,47 @@ import bookwyrm.models.fields from django.conf import settings from django.db import migrations, models +from django.db.models import F, Value, CharField +from django.db.models.functions import Concat + + +def forwards_func(apps, schema_editor): + """generate followers url""" + db_alias = schema_editor.connection.alias + apps.get_model("bookwyrm", "User").objects.using(db_alias).annotate( + generated_url=Concat( + F("remote_id"), Value("/followers"), output_field=CharField() + ) + ).update(followers_url=models.F("generated_url")) + + +def reverse_func(apps, schema_editor): + """noop""" class Migration(migrations.Migration): dependencies = [ - ('bookwyrm', '0085_user_saved_lists'), + ("bookwyrm", "0085_user_saved_lists"), ] operations = [ migrations.AddField( - model_name='user', - name='followers_url', - field=bookwyrm.models.fields.CharField(default='/followers', max_length=255), + model_name="user", + name="followers_url", + field=bookwyrm.models.fields.CharField( + default="/followers", max_length=255 + ), preserve_default=False, ), + migrations.RunPython(forwards_func, reverse_func), migrations.AlterField( - model_name='user', - name='followers', - field=models.ManyToManyField(through='bookwyrm.UserFollows', to=settings.AUTH_USER_MODEL), + model_name="user", + name="followers", + field=models.ManyToManyField( + related_name="following", + through="bookwyrm.UserFollows", + to=settings.AUTH_USER_MODEL, + ), ), ] diff --git a/bookwyrm/models/user.py b/bookwyrm/models/user.py index 1f501dfc0..460a72995 100644 --- a/bookwyrm/models/user.py +++ b/bookwyrm/models/user.py @@ -88,6 +88,7 @@ class User(OrderedCollectionPageMixin, AbstractUser): symmetrical=False, through="UserFollows", through_fields=("user_object", "user_subject"), + related_name="following", ) follow_requests = models.ManyToManyField( "self", diff --git a/bookwyrm/tests/models/test_fields.py b/bookwyrm/tests/models/test_fields.py index 80b78231c..00318846c 100644 --- a/bookwyrm/tests/models/test_fields.py +++ b/bookwyrm/tests/models/test_fields.py @@ -195,7 +195,6 @@ class ModelFields(TestCase): instance.set_field_from_activity(model_instance, data) self.assertEqual(model_instance.privacy_field, "followers") - @patch("bookwyrm.models.activitypub_mixin.ObjectMixin.broadcast") @patch("bookwyrm.activitystreams.ActivityStream.add_status") def test_privacy_field_set_activity_from_field(self, *_): From 4f94d99c88303306a15193ffd409ecf72bb4fcd5 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 28 Aug 2021 11:16:39 -0700 Subject: [PATCH 09/20] Use None instead of empty string for activitypub null value --- bookwyrm/activitypub/note.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bookwyrm/activitypub/note.py b/bookwyrm/activitypub/note.py index 556ef1853..aca62d7c5 100644 --- a/bookwyrm/activitypub/note.py +++ b/bookwyrm/activitypub/note.py @@ -30,8 +30,8 @@ class Note(ActivityObject): to: List[str] = field(default_factory=lambda: []) cc: List[str] = field(default_factory=lambda: []) replies: Dict = field(default_factory=lambda: {}) - inReplyTo: str = "" - summary: str = "" + inReplyTo: str = None + summary: str = None tag: List[Link] = field(default_factory=lambda: []) attachment: List[Document] = field(default_factory=lambda: []) sensitive: bool = False From 2c26b041196fc93458699ac58d398973c8d8ea26 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 28 Aug 2021 11:30:54 -0700 Subject: [PATCH 10/20] Uses correct object to determine author --- bookwyrm/models/fields.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/models/fields.py b/bookwyrm/models/fields.py index 8f4fd28e6..76cedea05 100644 --- a/bookwyrm/models/fields.py +++ b/bookwyrm/models/fields.py @@ -226,7 +226,7 @@ class PrivacyField(ActivitypubFieldMixin, models.CharField): cc = data.cc # we need to figure out who this is to get their followers link - user = activitypub.resolve_remote_id(self.attributedTo, model="User") + user = activitypub.resolve_remote_id(data.attributedTo, model="User") if to == [self.public]: setattr(instance, self.name, "public") From e4b5890992f887b1d418be7f68a5dd8ae55c2276 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 28 Aug 2021 11:41:33 -0700 Subject: [PATCH 11/20] Updates field tests --- bookwyrm/tests/models/test_fields.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/bookwyrm/tests/models/test_fields.py b/bookwyrm/tests/models/test_fields.py index 00318846c..6730d37b9 100644 --- a/bookwyrm/tests/models/test_fields.py +++ b/bookwyrm/tests/models/test_fields.py @@ -146,6 +146,15 @@ class ModelFields(TestCase): def test_privacy_field_set_field_from_activity(self, _): """translate between to/cc fields and privacy""" + with patch("bookwyrm.models.user.set_remote_server.delay"): + test_user = User.objects.create_user( + username="test_user@example.com", + local=False, + remote_id="https://example.com/test_user", + inbox="https://example.com/users/test_user/inbox", + followers_url="https://example.com/users/test_user/followers", + ) + @dataclass(init=False) class TestActivity(ActivityObject): """real simple mock""" @@ -154,6 +163,7 @@ class ModelFields(TestCase): cc: List[str] id: str = "http://hi.com" type: str = "Test" + attributedTo: str = test_user.remote_id class TestPrivacyModel(ActivitypubMixin, BookWyrmModel): """real simple mock model because BookWyrmModel is abstract""" @@ -185,7 +195,7 @@ class ModelFields(TestCase): instance.set_field_from_activity(model_instance, data) self.assertEqual(model_instance.privacy_field, "unlisted") - data.to = ["http://user_remote/followers"] + data.to = [test_user.followers_url] data.cc = [] instance.set_field_from_activity(model_instance, data) self.assertEqual(model_instance.privacy_field, "followers") From 1e675384bcf3e6a86fb126e02ad471f8c0bd9fb6 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 28 Aug 2021 11:58:41 -0700 Subject: [PATCH 12/20] Updates user model test --- bookwyrm/tests/models/test_user_model.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/bookwyrm/tests/models/test_user_model.py b/bookwyrm/tests/models/test_user_model.py index 177b2ad62..1b3a50644 100644 --- a/bookwyrm/tests/models/test_user_model.py +++ b/bookwyrm/tests/models/test_user_model.py @@ -5,11 +5,12 @@ from django.test import TestCase import responses from bookwyrm import models -from bookwyrm.settings import DOMAIN +from bookwyrm.settings import USE_HTTPS, DOMAIN # pylint: disable=missing-class-docstring # pylint: disable=missing-function-docstring class User(TestCase): + protocol = "https://" if USE_HTTPS else "http://" def setUp(self): with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"): self.user = models.User.objects.create_user( @@ -24,13 +25,13 @@ class User(TestCase): def test_computed_fields(self): """username instead of id here""" - expected_id = "https://%s/user/mouse" % DOMAIN + expected_id = f"{self.protocol}{DOMAIN}/user/mouse" self.assertEqual(self.user.remote_id, expected_id) - self.assertEqual(self.user.username, "mouse@%s" % DOMAIN) + self.assertEqual(self.user.username, f"mouse@{DOMAIN}") self.assertEqual(self.user.localname, "mouse") - self.assertEqual(self.user.shared_inbox, "https://%s/inbox" % DOMAIN) - self.assertEqual(self.user.inbox, "%s/inbox" % expected_id) - self.assertEqual(self.user.outbox, "%s/outbox" % expected_id) + self.assertEqual(self.user.shared_inbox, f"{self.protocol}{DOMAIN}/inbox") + self.assertEqual(self.user.inbox, f"{expected_id}/inbox") + self.assertEqual(self.user.outbox, f"{expected_id}/outbox") self.assertIsNotNone(self.user.key_pair.private_key) self.assertIsNotNone(self.user.key_pair.public_key) From 9c4fd1e602a0e92b222dd92359f14463ba6b1f15 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 28 Aug 2021 12:06:03 -0700 Subject: [PATCH 13/20] Set user default values --- bookwyrm/models/user.py | 9 +++++---- bookwyrm/tests/models/test_user_model.py | 1 + 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/bookwyrm/models/user.py b/bookwyrm/models/user.py index 460a72995..92301d384 100644 --- a/bookwyrm/models/user.py +++ b/bookwyrm/models/user.py @@ -275,10 +275,11 @@ class User(OrderedCollectionPageMixin, AbstractUser): return # populate fields for local users - self.remote_id = "%s/user/%s" % (site_link(), self.localname) - self.inbox = "%s/inbox" % self.remote_id - self.shared_inbox = "%s/inbox" % site_link() - self.outbox = "%s/outbox" % self.remote_id + self.remote_id = "{:s}/user/{:s}".format(site_link(), self.localname) + self.followers_url = "{:s}/followers".format(self.remote_id) + self.inbox = "{:s}/inbox".format(self.remote_id) + self.shared_inbox = "{:s}/inbox".format(site_link()) + self.outbox = "{:s}/outbox".format(self.remote_id) # an id needs to be set before we can proceed with related models super().save(*args, **kwargs) diff --git a/bookwyrm/tests/models/test_user_model.py b/bookwyrm/tests/models/test_user_model.py index 1b3a50644..f717b8079 100644 --- a/bookwyrm/tests/models/test_user_model.py +++ b/bookwyrm/tests/models/test_user_model.py @@ -32,6 +32,7 @@ class User(TestCase): self.assertEqual(self.user.shared_inbox, f"{self.protocol}{DOMAIN}/inbox") self.assertEqual(self.user.inbox, f"{expected_id}/inbox") self.assertEqual(self.user.outbox, f"{expected_id}/outbox") + self.assertEqual(self.user.followers_url, f"{expected_id}/followers") self.assertIsNotNone(self.user.key_pair.private_key) self.assertIsNotNone(self.user.key_pair.public_key) From a5dcc0e5e4759d71d7a7aeacd644413f3668ba01 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 28 Aug 2021 12:08:24 -0700 Subject: [PATCH 14/20] Support multiple possible fields that indicate user ownership --- bookwyrm/models/fields.py | 3 ++- bookwyrm/tests/models/test_user_model.py | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/bookwyrm/models/fields.py b/bookwyrm/models/fields.py index 76cedea05..ef0f3746e 100644 --- a/bookwyrm/models/fields.py +++ b/bookwyrm/models/fields.py @@ -226,7 +226,8 @@ class PrivacyField(ActivitypubFieldMixin, models.CharField): cc = data.cc # we need to figure out who this is to get their followers link - user = activitypub.resolve_remote_id(data.attributedTo, model="User") + user_field = "attributedTo" if hasattr(data, "attributedTo") else "owner" + user = activitypub.resolve_remote_id(getattr(data, user_field), model="User") if to == [self.public]: setattr(instance, self.name, "public") diff --git a/bookwyrm/tests/models/test_user_model.py b/bookwyrm/tests/models/test_user_model.py index f717b8079..230c503b0 100644 --- a/bookwyrm/tests/models/test_user_model.py +++ b/bookwyrm/tests/models/test_user_model.py @@ -11,6 +11,7 @@ from bookwyrm.settings import USE_HTTPS, DOMAIN # pylint: disable=missing-function-docstring class User(TestCase): protocol = "https://" if USE_HTTPS else "http://" + def setUp(self): with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"): self.user = models.User.objects.create_user( From 8629c4450c8eb54e8bcb76bf27ddb3cc6496429e Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sat, 28 Aug 2021 12:20:43 -0700 Subject: [PATCH 15/20] Adds test for user followers field from AP --- bookwyrm/tests/activitypub/test_person.py | 1 + 1 file changed, 1 insertion(+) diff --git a/bookwyrm/tests/activitypub/test_person.py b/bookwyrm/tests/activitypub/test_person.py index 67aaf891e..2722aaefd 100644 --- a/bookwyrm/tests/activitypub/test_person.py +++ b/bookwyrm/tests/activitypub/test_person.py @@ -25,3 +25,4 @@ class Person(TestCase): self.assertEqual(user.username, "mouse@example.com") self.assertEqual(user.remote_id, "https://example.com/user/mouse") self.assertFalse(user.local) + self.assertEqual(user.followers_url, "https://example.com/user/mouse/followers") From 9eea60b35c353eedce88300386482b63d359e7d1 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 29 Aug 2021 07:36:59 -0700 Subject: [PATCH 16/20] Fixes call to followers url in serialization --- bookwyrm/models/fields.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/bookwyrm/models/fields.py b/bookwyrm/models/fields.py index ef0f3746e..d7bcd99dd 100644 --- a/bookwyrm/models/fields.py +++ b/bookwyrm/models/fields.py @@ -248,9 +248,7 @@ class PrivacyField(ActivitypubFieldMixin, models.CharField): mentions = [u.remote_id for u in instance.mention_users.all()] # this is a link to the followers list # pylint: disable=protected-access - followers = instance.user.__class__._meta.get_field( - "followers" - ).field_to_activity(instance.user.followers) + followers = instance.user.followers_url if instance.privacy == "public": activity["to"] = [self.public] activity["cc"] = [followers] + mentions From 0569bce610686c00c2b174c6282abbdbd6109f36 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 29 Aug 2021 07:37:21 -0700 Subject: [PATCH 17/20] Cleaner string formatting in user model --- bookwyrm/models/user.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/bookwyrm/models/user.py b/bookwyrm/models/user.py index 92301d384..0745dffa2 100644 --- a/bookwyrm/models/user.py +++ b/bookwyrm/models/user.py @@ -275,11 +275,12 @@ class User(OrderedCollectionPageMixin, AbstractUser): return # populate fields for local users - self.remote_id = "{:s}/user/{:s}".format(site_link(), self.localname) - self.followers_url = "{:s}/followers".format(self.remote_id) - self.inbox = "{:s}/inbox".format(self.remote_id) - self.shared_inbox = "{:s}/inbox".format(site_link()) - self.outbox = "{:s}/outbox".format(self.remote_id) + link = site_link() + self.remote_id = f"{link}/user/{self.localname}" + self.followers_url = f"{self.remote_id}/followers" + self.inbox = f"{self.remote_id}/inbox" + self.shared_inbox = f"{link}/inbox" + self.outbox = f"{self.remote_id}/outbox" # an id needs to be set before we can proceed with related models super().save(*args, **kwargs) From 76ba56f6564fd0fde4449dc30bbd7baeb832851f Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 29 Aug 2021 08:14:53 -0700 Subject: [PATCH 18/20] Fixes admin permissions --- bookwyrm/templates/layout.html | 6 +++--- bookwyrm/templates/settings/admin_layout.html | 6 ++++++ bookwyrm/views/user_admin.py | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/bookwyrm/templates/layout.html b/bookwyrm/templates/layout.html index 2b8364ec9..43ca81c74 100644 --- a/bookwyrm/templates/layout.html +++ b/bookwyrm/templates/layout.html @@ -109,17 +109,17 @@ {% trans 'Settings' %} - {% if perms.bookwyrm.create_invites or perms.moderate_users %} + {% if perms.bookwyrm.create_invites or perms.moderate_user %} {% endif %} - {% if perms.bookwyrm.create_invites %} + {% if perms.bookwyrm.create_invites and not site.allow_registration %}
  • {% trans 'Invites' %}
  • {% endif %} - {% if perms.bookwyrm.moderate_users %} + {% if perms.bookwyrm.moderate_user %}
  • {% trans 'Admin' %} diff --git a/bookwyrm/templates/settings/admin_layout.html b/bookwyrm/templates/settings/admin_layout.html index 9e57076bf..6d6516476 100644 --- a/bookwyrm/templates/settings/admin_layout.html +++ b/bookwyrm/templates/settings/admin_layout.html @@ -21,23 +21,29 @@ {% if perms.bookwyrm.create_invites %} {% endif %} {% if perms.bookwyrm.edit_instance_settings %} diff --git a/bookwyrm/views/user_admin.py b/bookwyrm/views/user_admin.py index 7cfefb0f4..3a9ea3392 100644 --- a/bookwyrm/views/user_admin.py +++ b/bookwyrm/views/user_admin.py @@ -13,7 +13,7 @@ from bookwyrm.settings import PAGE_LENGTH # pylint: disable= no-self-use @method_decorator(login_required, name="dispatch") @method_decorator( - permission_required("bookwyrm.moderate_users", raise_exception=True), + permission_required("bookwyrm.moderate_user", raise_exception=True), name="dispatch", ) class UserAdminList(View): From 8c8b1168d4ece787b9b5445babffe3c91e0b8a4a Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 29 Aug 2021 08:22:14 -0700 Subject: [PATCH 19/20] Support attribution field on boosts --- bookwyrm/models/fields.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/bookwyrm/models/fields.py b/bookwyrm/models/fields.py index d7bcd99dd..406845316 100644 --- a/bookwyrm/models/fields.py +++ b/bookwyrm/models/fields.py @@ -226,7 +226,12 @@ class PrivacyField(ActivitypubFieldMixin, models.CharField): cc = data.cc # we need to figure out who this is to get their followers link - user_field = "attributedTo" if hasattr(data, "attributedTo") else "owner" + for field in ["attributedTo", "owner", "actor"]: + if hasattr(data, field): + user_field = getattr(data, field) + break + if not user_field: + raise ValidationError("No user field found for privacy", data) user = activitypub.resolve_remote_id(getattr(data, user_field), model="User") if to == [self.public]: From 082c2708a774f6f2e5bf3e520b5eae82fce7cb87 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 29 Aug 2021 08:50:46 -0700 Subject: [PATCH 20/20] Fixes attribution field logic --- bookwyrm/models/fields.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/models/fields.py b/bookwyrm/models/fields.py index 406845316..cc5a7bb55 100644 --- a/bookwyrm/models/fields.py +++ b/bookwyrm/models/fields.py @@ -228,7 +228,7 @@ class PrivacyField(ActivitypubFieldMixin, models.CharField): # we need to figure out who this is to get their followers link for field in ["attributedTo", "owner", "actor"]: if hasattr(data, field): - user_field = getattr(data, field) + user_field = field break if not user_field: raise ValidationError("No user field found for privacy", data)