From c894f5ef3546e3d6d5bb2a24d52ead1826662a6c Mon Sep 17 00:00:00 2001 From: Fabien Basmaison Date: Wed, 26 May 2021 13:21:06 +0200 Subject: [PATCH 1/8] Update subtitle behaviour: - on Book - Remove problematic punctuation (locale and multiple punctuation if the title ends with `?`, `!` or similar). - Update view. - Use proper semantic to split combined title into `name`, `alternativeHeadline` and series-related microdata. - The author is not a subtitle, just data. - Use parenthesis in the `get_title` filter instead of punctuation. --- bookwyrm/templates/book/book.html | 39 ++++++++++++++++++------------ bookwyrm/templatetags/utilities.py | 2 +- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/bookwyrm/templates/book/book.html b/bookwyrm/templates/book/book.html index af223020..94f326e6 100644 --- a/bookwyrm/templates/book/book.html +++ b/bookwyrm/templates/book/book.html @@ -8,28 +8,35 @@
-

- - {{ book.title }}{% if book.subtitle %}: - {{ book.subtitle }} +

+ {{ book.title }} +

+ + {% if book.subtitle or book.series %} +

+ {% if book.subtitle %} + + + {{ book.subtitle }} {% endif %} - - {% if book.series %} - - + {% if book.series %} + + - ({{ book.series }} {% if book.series_number %} #{{ book.series_number }}{% endif %}) - -
- {% endif %} -

+ {% endif %} +

+ {% endif %} + {% if book.authors %} -

- {% trans "by" %} {% include 'snippets/authors.html' with book=book %} -

+
+ {% trans "by" %} {% include 'snippets/authors.html' with book=book %} +
{% endif %}
diff --git a/bookwyrm/templatetags/utilities.py b/bookwyrm/templatetags/utilities.py index 68befa54..ae66ca6e 100644 --- a/bookwyrm/templatetags/utilities.py +++ b/bookwyrm/templatetags/utilities.py @@ -25,7 +25,7 @@ def get_title(book): return "" title = book.title if len(title) < 6 and book.subtitle: - title = "{:s}: {:s}".format(title, book.subtitle) + title = "{:s} ({:s})".format(title, book.subtitle) return title From 5047b8bf94f8979ad8d3144a0526dc8321a2b9ba Mon Sep 17 00:00:00 2001 From: Fabien Basmaison Date: Wed, 9 Jun 2021 11:12:38 +0200 Subject: [PATCH 2/8] Do not break document structure with ratings. --- bookwyrm/templates/book/book.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bookwyrm/templates/book/book.html b/bookwyrm/templates/book/book.html index 94f326e6..d1f7604e 100644 --- a/bookwyrm/templates/book/book.html +++ b/bookwyrm/templates/book/book.html @@ -92,7 +92,7 @@
-

+

{% with full=book|book_description itemprop='abstract' %} {% include 'snippets/trimmed_text.html' %} From f58c1d11384fce7c48f1064a6d107fcfd6b8b952 Mon Sep 17 00:00:00 2001 From: Fabien Basmaison Date: Wed, 9 Jun 2021 12:20:34 +0200 Subject: [PATCH 3/8] Tweak styles for subtitle: - Make it bold as the title while preserving consistency with other subtitles. - Pull the author closer to the subtitle to preserve a descending visual and typographic scales. --- bookwyrm/templates/book/book.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bookwyrm/templates/book/book.html b/bookwyrm/templates/book/book.html index d1f7604e..992a5b88 100644 --- a/bookwyrm/templates/book/book.html +++ b/bookwyrm/templates/book/book.html @@ -13,14 +13,16 @@ {% if book.subtitle or book.series %} -

+

{% if book.subtitle %} - {{ book.subtitle }} + + {{ book.subtitle }} + {% endif %} {% if book.series %} From 0ecea5710b097f863910d16a72d0522ae8143056 Mon Sep 17 00:00:00 2001 From: Fabien Basmaison Date: Wed, 9 Jun 2021 18:51:20 +0200 Subject: [PATCH 4/8] Use gettext to add subtitle to short titles (use variable for length). --- bookwyrm/templatetags/utilities.py | 10 ++-- locale/fr_FR/LC_MESSAGES/django.mo | Bin 45874 -> 45939 bytes locale/fr_FR/LC_MESSAGES/django.po | 71 +++++++++++++++-------------- 3 files changed, 45 insertions(+), 36 deletions(-) diff --git a/bookwyrm/templatetags/utilities.py b/bookwyrm/templatetags/utilities.py index b589499f..7e4de378 100644 --- a/bookwyrm/templatetags/utilities.py +++ b/bookwyrm/templatetags/utilities.py @@ -2,6 +2,7 @@ import os from uuid import uuid4 from django import template +from django.utils.translation import gettext_lazy as _ register = template.Library() @@ -20,13 +21,16 @@ def get_user_identifier(user): @register.filter(name="book_title") -def get_title(book): +def get_title(book, too_short=6): """display the subtitle if the title is short""" if not book: return "" title = book.title - if len(title) < 6 and book.subtitle: - title = "{:s} ({:s})".format(title, book.subtitle) + if len(title) < too_short and book.subtitle: + title = _("%(title)s: %(subtitle)s") % { + "title": title, + "subtitle": book.subtitle + } return title diff --git a/locale/fr_FR/LC_MESSAGES/django.mo b/locale/fr_FR/LC_MESSAGES/django.mo index fa138f7853a2b9fa56548ad14535f214aeb7ec5c..3d622ac662185de82e67b3026ad6d339fb8dab0a 100644 GIT binary patch delta 13672 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 W1!@$ulBjY|m5eN(xqs-eM*jyy(RUmG delta 13612 zcmZA62YAj`|Htv4kPsn3BteWANdzHAV#VIX-dcN)+7!iY)~Kr1uB~dfHCk=+&_Ssh z#Zy&kl$N4Z+8RZT|NC>Fuj}u6e%E#SI^VO;`HkFdZ~q#wZJfhTY})=T!hP&|w!@JEcmz!cBRiqRO2aTtlUu_kuJ7Wg(M z;qMscc|I?HMbC?(pcKYnT};E?SO9lm8$6D27+cAer(tg50ayfmSQyu$7W5V7#UGKi zdv`Dj6DoUNF|38?=e@_b?uHgh{9cRj~$*Pzz~k z_QV9@QK%zch1&TJ)P(7%3BN!+^EOQhdRi!#^`)nPcQ z;W*TUv&|(|z8*7Cz6~NQbP_e;dDKR(nzzhq6R99 z8mJ2DS*VM8*g9A|5Oo4R)H5*+wWD8q$O&g7c3rN@krD_Q!z6xMUA%xv*1S52DV%Ie$>exLEYLPd}K866)b>v zP!r~Aa{^FUzJ}WQ zJ=8;#rLl{1qn?R4%!?_g1+*|bT73`HNeoAgHxsq7MW}J#wfc`y3pk3j^LZD@1XFMW z)!`m$!oVi(NF%T?aRH3S8mNb-FY08*qb8h;TG$(?{!8!$+=v=KQ<^*aPz)i?i(z{I zW63n5AQ}A+6KWyrP%GbwnrJ_&;~~`BaLUTVn!15=qxuy>EvPi=)}*4If!e5rx5FYh zQ1#63%_XCb3s4ihgSv+wU_so4dbqwv4R{{a?iY)1p$5K-{7CY$vYTvJ8?}Mvs1HB_*3GPLm@WB?GzgB*X0`2g;HT(@Vz~86^KEl!%*wPJ90kzXAsJ{U>6)c6{pgP<$pP)`CsJ(kuLQp#> zgqko8_0%V$7TyMRGJPzbggV)`P!q30-MTI43n#P7Dh{D0I)!>@&Y~vB(7`Pz2Wp@^ zm=R;~B}_n_&|-5nY6F{4Z^L#}zrE;x#>_JvIDbv_3k5Qm-^A)z2KDe&MBUrQsD*Su zP1F}P&`^xWaaa=9qWXVp^`}q^xQIHLzpOrECpTV5C(d6FRXz#|VF}dHG)5g&Ths!& zqXr&=YX36o7ROV#;^fN0zh!Mmm%&R^!8u&44qCoy+sY5twq5`O+ zOGFJ^1=)mG2i1NB>SVT{+NEP8evR6|1ysM^ums-5L@f9sn?zrlWfo&;3Vz1An6tCn zSv%C*F&K4Arec0vg#3i}c3S;C)X9Z(aj#h<>V)#6Hdqw(Y?VYUD9P#bDwENUYoi*b zp?2N|^>Fq=br^$cH`(IXQ0*3=cD~Nax1+{MN1f1K)WVKid=}OIx?k@9Ju(_NV^=p( zc2pdR`e4MMb`pp2n21_XTeA!5;p&UJ6=PBNcqVEAE3JMj>I6SSo#+V+_mTOPj0Sj! z8aP`w_a6`9=#I@GPYg{3fKFSqa{)X`Tn8{%-{ z*2r_{9q7gTuLebWyPYJWp4zIYi5s9!pflSWepQ{0Tr@V>`G#$g3Kgt`?^Q5~}M^St61fhw<#T4)2TiLJ2>E-5{#{y3R(-_$|;R3;PnlKXJ1M12Q7LVejTV^(~G(U^I# z`+-svb=0Y-hw3#fi@%{B!u&(rU&~S$N8A8)LW40D_hBpM_pXyEKtbwI_p`VY>I*gj zOX317jbES^a0`oJ$S`-bNvQh%sDYPYdHf8=;NLhB2lC{}i^$(Kuk8q4QT_dYk4zc` zDb(trn~IHaDQci!usBAIato@7x&?zUAC5vTY@U^GMLjbgVFd0)-I~+pPpDh+EBb%` z-z1|WzJtN|)EWej)-M#k4VVLyQ4djl)UD}g@i2@eo`$(`8R`?g4a4y$R=`Ubf{`z~ zg%?4e9!q1Y3{a5!q^Q!Ji^QN&9zCvL}zxDQkCU(_uq$GPidI-qts0(D}q zp!!X-c+nWnKY@Z(6x7FWFamRobte&rT1XOVVKq?`G)MItg*us4sGV*@o#a=jg&)Hh zJcT;Bf3P5CY^5O9<|WRs1v#GBclam81Fs|xls!#f?8n-REOHAqics6s2{4`5Y$93qwf7o z)IDB-I=M|2e~OxCKk6AfjdAGvnT%e);0f+t#-m=ZuBZv7p^kJ8YU0JH1+7G#)DF}F z4x$!t#^RgiQ!CFg(e;bPRN7U>GJ5|ICj#B!+UUbi}cC%PLsh z05x$tiwB|>s9US{b5Y~2Ks`GfFdC0yl-~dABz4Fz$vqqqScJF&=EwG^qZ^4j(iy0G zw-|NQt5GMg6)WQ&)P(<_>ND`2)k$VYZ7c%SJ|43(w^xab2Ck19xE&V8uBe?&#)7yA zbSQ*e|Jj+!`In;LAO%|SUDQ!$o92Fi z6haN$0(CO|u>=lB-Le%{z8!T^=~x(#p(gwb^$a~m|Itr(s}w3Du= z4uetUucCIk3bpdh7>FODCQ3)0$T`#mm$3leLv1AYtM1bqkGkhCq89!Vs^4TE8SQ)) zYDKHft*9M;g8lGIREH8X+|iZ8AmWCocFj=}cR)=r8uQ|8D_@6N;9ks!C#~Ffi%cv9 z*=M?e%425YRMf)iq8^qPP!G||s1sUXWJkQlfV+e5>)JaxFEu{TC&OemQa0+yUlTr6(GgiSbP_Nm)n1}`5bOSX(J)G?= z9*lZs#-VmR&3p@U5U)l()Z5KZQ49L=P0pXE&^tCl?cA##> z=cw24H0ng|q8`Sg3!EiTJ1dJ}Sj}u|^_@`*?uA9sH;Rnz#ZuJM{2^+>Bd8NOWAV=x z-$L!^KJsRHPf%~mtcC7m=At&V1OqS~bxZbOPCSfS*m>lHeBK{qw4zLl+{z=cB5`5V zQFlaj?1?&&QK^4{pbLjnVOr{7GFJM`m zh*7u=brJ_H{@(lp%Tpe>#7$foHE|u(Taae)SbUdw3hH-3@uhCO9;gKm!4SRwW69{@ zn2s7~4MyQ+)XMjwR(>1xWea@Uy{5%b?JJ_{Yg&0L%uC!GBhiO?CKjPiW-aE!Z_)q% z|E`mXpx_Q_Wm%VT%$OT>)U#0oEJMAn8&DsbU6>nBp>ECZs0H1|miP!YVYB7#o{vL~ zKO1%H7A)udmDxyvI_^dt`F_+<{uh(+DXL@g3b%k7s2w)L{MZlGe>&#Exu~75K`r1D z)WR=Y{cY63gI03>8aR5TJAqi#>r@q^u{LJKE>_+jwbP-flNp2RKMS>y`KW<6Sov;? z4_JKG;wz}P;-Qa>cARAuKMpVg^)L=c{nc8C8aN%bpl?wV{DxZCQ`AXiUF|+(6|o-i zcx;7xu{=hsasP#+5$fJA#%k!>K}Hk)iG?wIt^02?$(V=uO>;Bqz2Ar0@i(ZG_zv~{ zpG7U`BI*|Wj(X3Zpf(Wtj4KM-=;zZQFU4a@X9d%@fP&+t{ zx~I2M69lYtw=NR3fC8xcBvii|sJEmkYT;ec|NsB{lF<>4Kuxq7wZmMcq^wNFDWpgU@VL$L;qN6oVv{r~^}2$@0@oI-WHhZ;C!y<12@ z)DDVcBTT{8I0+}oAM^tQNv%MHQFl&?e8$8B|QNml@;uQ=g zp7w#y{l}xZRr|<9cICc z7GFm_g!g=wd4k$O&<^(>5OSejzhS73voQhZV+Y)W+Ck(__mIY524daL*T{U1AL2w6 za`8xcS4l@mr6~K0)RDZeRRI6w>P#v{{;)rC|L6wSXxN8zhWtPrNtq85 zMAAi)uFf`27pqrUpp|__8IO?v%3<|4@B;IDiB`au*ndqXrr7I=MMz~yp$xQuvW?_J z$p4I~Hu!tw&yaL=GkwS(Q}4dT88Cs=gR&0v%cRC!Bh|1AnYt8mOT7&$G^rPLB}hCz{_DT|vplIEb-L0VUN-s-CcR4eZGX7)vPfV5jUqP%u`%#o_;0;F{EnXwafhperrW%-lT|3cFB zV+L+?4Ki=}L!_c8`EsPMtkI{K+48U8AnLR}{VjNtbd#j(7^%1_xPEZ>KVq}#)0*^) zl@+kD8sbwuX!*%x!_ro<6Vn(-@Aqs{8}gMYn@fHh-X?V>ts|W#Ri!>2bxk8Bk=l^{ zrEC~=)5&K+T`h1o1msihm8Y^g`Jeo?d|HWz5FaEC(;(!t zlXMMm1Nr}ADz0v^@;k^MBK<&`LrS(jsvAhksrkE8F`o47T1%!k@i64`@4rHcW3BTh z@=eKq{#>6P#JxznXk86ASX~q1?!>xYCY7Lk1o0a3MKCeHRjR?WYZZ-7kba)uGBMn@ znA}a$K~h;-@1|LQ(sB|XeQzqM4yo{SBb6rq9c6*^dH(v8pebpV6)wTt&$X#cyoJ<+ z{(0PZ?glk@ZgBPe#yaT-+8q_x6=oKteNNh3BJN9ml9i`Y){ne?)Cbv^`)#a27FRT{ zP(DR3Xff+N#}w_Ue2KKzI;-p~`74+S3z3eJ7LY2Dbj>GSAfJo$E$IMpCmf7lkqVN} zNYZr+hq91b`apk6!4jN@k5tR`n6#dn;~IDc4~C|@6%&ZQDhKlN>p`;gyi;||0 z|Ckg(eiiDfN4_AwjsGFdBwv%%iZq(IKI#f5T_t{YT_ZDql$H5{@Ed;xPsMy1jVAco z8uun&nEcDnb?#56exwQhPXGUprnLEzuq3G<_0O(~WQq~j!(p^Jjd8^F$yXsi+}g(J zsVGcAOOmeD#O3UQ=s?w!E3 zlnt@CD*1Tw>qs#qUsoFI3a28{^8XUwB@L$RCsI37M&g0gpTZHu&#qBqekX2^+ej(o zOJhZA6HlL(q;S$c%F9unm(+-S>j3*~H>5I!G=sut*9|huNJD5`*9NOge4Uh;wqvk4 zDV0>4_yyV&!nVY^<`EyZek<_{%d4(0X$^4$eH9uLd`}QT=X#{Zb8=)lG>7NhwaUbeBg%2^xA2AOuv$|XE*CSst z3N~BeXj^?OaXa$o)X~bSSew3PdCCV^oto9M`~&KfNm+KDuW&VB=edeGEA0##`cj?$ E1MnGciU0rr diff --git a/locale/fr_FR/LC_MESSAGES/django.po b/locale/fr_FR/LC_MESSAGES/django.po index 53b4a54a..d29afc1c 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-06-07 14:09+0000\n" +"POT-Creation-Date: 2021-06-09 16:46+0000\n" "PO-Revision-Date: 2021-04-05 12:44+0100\n" "Last-Translator: Fabien Basmaison \n" "Language-Team: Mouse Reeve \n" @@ -91,23 +91,23 @@ msgstr "nom du compte :" msgid "A user with that username already exists." msgstr "Ce nom est déjà associé à un compte." -#: bookwyrm/settings.py:160 +#: bookwyrm/settings.py:156 msgid "English" msgstr "English" -#: bookwyrm/settings.py:161 +#: bookwyrm/settings.py:157 msgid "German" msgstr "Deutsch" -#: bookwyrm/settings.py:162 +#: bookwyrm/settings.py:158 msgid "Spanish" msgstr "Español" -#: bookwyrm/settings.py:163 +#: bookwyrm/settings.py:159 msgid "French" msgstr "Français" -#: bookwyrm/settings.py:164 +#: bookwyrm/settings.py:160 msgid "Simplified Chinese" msgstr "简化字" @@ -154,12 +154,12 @@ msgid "Wikipedia" msgstr "Wikipedia" #: bookwyrm/templates/author/author.html:69 -#: bookwyrm/templates/book/book.html:78 +#: bookwyrm/templates/book/book.html:87 msgid "View on OpenLibrary" msgstr "Voir sur OpenLibrary" #: bookwyrm/templates/author/author.html:77 -#: bookwyrm/templates/book/book.html:81 +#: bookwyrm/templates/book/book.html:90 msgid "View on Inventaire" msgstr "Voir sur Inventaire" @@ -252,7 +252,7 @@ msgid "Goodreads key:" msgstr "Clé Goodreads :" #: bookwyrm/templates/author/edit_author.html:116 -#: bookwyrm/templates/book/book.html:124 +#: bookwyrm/templates/book/book.html:133 #: bookwyrm/templates/book/edit_book.html:321 #: bookwyrm/templates/lists/form.html:42 #: bookwyrm/templates/preferences/edit_user.html:70 @@ -269,7 +269,7 @@ msgid "Save" msgstr "Enregistrer" #: bookwyrm/templates/author/edit_author.html:117 -#: bookwyrm/templates/book/book.html:125 bookwyrm/templates/book/book.html:174 +#: bookwyrm/templates/book/book.html:134 bookwyrm/templates/book/book.html:183 #: bookwyrm/templates/book/cover_modal.html:32 #: bookwyrm/templates/book/edit_book.html:322 #: bookwyrm/templates/moderation/report_modal.html:34 @@ -284,98 +284,98 @@ msgstr "Enregistrer" msgid "Cancel" msgstr "Annuler" -#: bookwyrm/templates/book/book.html:31 +#: bookwyrm/templates/book/book.html:40 #: bookwyrm/templates/discover/large-book.html:25 #: bookwyrm/templates/discover/small-book.html:19 msgid "by" msgstr "par" -#: bookwyrm/templates/book/book.html:39 bookwyrm/templates/book/book.html:40 +#: bookwyrm/templates/book/book.html:48 bookwyrm/templates/book/book.html:49 msgid "Edit Book" msgstr "Modifier le livre" -#: bookwyrm/templates/book/book.html:57 +#: bookwyrm/templates/book/book.html:66 #: bookwyrm/templates/book/cover_modal.html:5 msgid "Add cover" msgstr "Ajouter une couverture" -#: bookwyrm/templates/book/book.html:61 +#: bookwyrm/templates/book/book.html:70 msgid "Failed to load cover" msgstr "La couverture n’a pu être chargée" -#: bookwyrm/templates/book/book.html:101 +#: bookwyrm/templates/book/book.html:110 #, python-format msgid "(%(review_count)s review)" msgid_plural "(%(review_count)s reviews)" msgstr[0] "(%(review_count)s critique)" msgstr[1] "(%(review_count)s critiques)" -#: bookwyrm/templates/book/book.html:113 +#: bookwyrm/templates/book/book.html:122 msgid "Add Description" msgstr "Ajouter une description" -#: bookwyrm/templates/book/book.html:120 +#: bookwyrm/templates/book/book.html:129 #: bookwyrm/templates/book/edit_book.html:136 #: bookwyrm/templates/lists/form.html:12 msgid "Description:" msgstr "Description :" -#: bookwyrm/templates/book/book.html:134 +#: bookwyrm/templates/book/book.html:143 #, python-format msgid "%(count)s editions" msgstr "%(count)s éditions" -#: bookwyrm/templates/book/book.html:142 +#: bookwyrm/templates/book/book.html:151 #, python-format msgid "This edition is on your %(shelf_name)s shelf." msgstr "Cette édition est sur votre étagère %(shelf_name)s." -#: bookwyrm/templates/book/book.html:148 +#: bookwyrm/templates/book/book.html:157 #, python-format msgid "A different edition of this book is on your %(shelf_name)s shelf." msgstr "Une édition différente de ce livre existe sur votre étagère %(shelf_name)s." -#: bookwyrm/templates/book/book.html:159 +#: bookwyrm/templates/book/book.html:168 msgid "Your reading activity" msgstr "Votre activité de lecture" -#: bookwyrm/templates/book/book.html:162 +#: bookwyrm/templates/book/book.html:171 msgid "Add read dates" msgstr "Ajouter des dates de lecture" -#: bookwyrm/templates/book/book.html:171 +#: bookwyrm/templates/book/book.html:180 msgid "Create" msgstr "Créer" -#: bookwyrm/templates/book/book.html:181 +#: bookwyrm/templates/book/book.html:190 msgid "You don't have any reading activity for this book." msgstr "Vous n’avez aucune activité de lecture pour ce livre" -#: bookwyrm/templates/book/book.html:200 +#: bookwyrm/templates/book/book.html:209 msgid "Reviews" msgstr "Critiques" -#: bookwyrm/templates/book/book.html:205 +#: bookwyrm/templates/book/book.html:214 msgid "Your reviews" msgstr "Vos critiques" -#: bookwyrm/templates/book/book.html:211 +#: bookwyrm/templates/book/book.html:220 msgid "Your comments" msgstr "Vos commentaires" -#: bookwyrm/templates/book/book.html:217 +#: bookwyrm/templates/book/book.html:226 msgid "Your quotes" msgstr "Vos citations" -#: bookwyrm/templates/book/book.html:253 +#: bookwyrm/templates/book/book.html:262 msgid "Subjects" msgstr "Sujets" -#: bookwyrm/templates/book/book.html:265 +#: bookwyrm/templates/book/book.html:274 msgid "Places" msgstr "Lieux" -#: bookwyrm/templates/book/book.html:276 bookwyrm/templates/layout.html:61 +#: bookwyrm/templates/book/book.html:285 bookwyrm/templates/layout.html:61 #: bookwyrm/templates/lists/lists.html:5 bookwyrm/templates/lists/lists.html:12 #: bookwyrm/templates/search/layout.html:25 #: bookwyrm/templates/search/layout.html:50 @@ -383,11 +383,11 @@ msgstr "Lieux" msgid "Lists" msgstr "Listes" -#: bookwyrm/templates/book/book.html:287 +#: bookwyrm/templates/book/book.html:296 msgid "Add to list" msgstr "Ajouter à la liste" -#: bookwyrm/templates/book/book.html:297 +#: bookwyrm/templates/book/book.html:306 #: bookwyrm/templates/book/cover_modal.html:31 #: bookwyrm/templates/lists/list.html:179 msgid "Add" @@ -2921,6 +2921,11 @@ msgstr "Niveau d’accès :" msgid "File exceeds maximum size: 10MB" msgstr "Ce fichier dépasse la taille limite : 10 Mo" +#: bookwyrm/templatetags/utilities.py:30 +#, python-format +msgid "%(title)s: %(subtitle)s" +msgstr "%(title)s (%(subtitle)s)" + #: bookwyrm/views/import_data.py:67 msgid "Not a valid csv file" msgstr "Fichier CSV non valide" From c4072cbc04263e71e14cbf4e8746880fdea5fd3f Mon Sep 17 00:00:00 2001 From: Fabien Basmaison Date: Wed, 9 Jun 2021 18:54:05 +0200 Subject: [PATCH 5/8] Be nice to Black and follow styleguides. --- bookwyrm/templatetags/utilities.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bookwyrm/templatetags/utilities.py b/bookwyrm/templatetags/utilities.py index 7e4de378..ba7ef1cb 100644 --- a/bookwyrm/templatetags/utilities.py +++ b/bookwyrm/templatetags/utilities.py @@ -29,7 +29,7 @@ def get_title(book, too_short=6): if len(title) < too_short and book.subtitle: title = _("%(title)s: %(subtitle)s") % { "title": title, - "subtitle": book.subtitle + "subtitle": book.subtitle, } return title From 6be97a61029b031471cf67a926acf0484ad9ba61 Mon Sep 17 00:00:00 2001 From: Fabien Basmaison Date: Wed, 9 Jun 2021 19:03:15 +0200 Subject: [PATCH 6/8] Be consistent between variable name & logic. Equal is already too short. --- bookwyrm/templatetags/utilities.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bookwyrm/templatetags/utilities.py b/bookwyrm/templatetags/utilities.py index ba7ef1cb..23b6685d 100644 --- a/bookwyrm/templatetags/utilities.py +++ b/bookwyrm/templatetags/utilities.py @@ -21,12 +21,12 @@ def get_user_identifier(user): @register.filter(name="book_title") -def get_title(book, too_short=6): +def get_title(book, too_short=5): """display the subtitle if the title is short""" if not book: return "" title = book.title - if len(title) < too_short and book.subtitle: + if len(title) <= too_short and book.subtitle: title = _("%(title)s: %(subtitle)s") % { "title": title, "subtitle": book.subtitle, From 17635b47db1a92026a32c602a61123dee351889f Mon Sep 17 00:00:00 2001 From: Fabien Basmaison Date: Fri, 11 Jun 2021 09:41:55 +0200 Subject: [PATCH 7/8] Fix case where there is no subtitle. Consequentially change back author to being a subtitle. --- bookwyrm/templates/book/book.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bookwyrm/templates/book/book.html b/bookwyrm/templates/book/book.html index 992a5b88..a4803fee 100644 --- a/bookwyrm/templates/book/book.html +++ b/bookwyrm/templates/book/book.html @@ -13,7 +13,7 @@ {% if book.subtitle or book.series %} -

+

{% if book.subtitle %} +

{% trans "by" %} {% include 'snippets/authors.html' with book=book %}
{% endif %} From cc03460e007b6c0da0e44668fbf36e99153e7cb2 Mon Sep 17 00:00:00 2001 From: Fabien Basmaison Date: Thu, 17 Jun 2021 17:18:55 +0200 Subject: [PATCH 8/8] Avoid space within parenthesises for series when no number is provided. --- bookwyrm/templates/book/book.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bookwyrm/templates/book/book.html b/bookwyrm/templates/book/book.html index 97af53ff..62f09aa0 100644 --- a/bookwyrm/templates/book/book.html +++ b/bookwyrm/templates/book/book.html @@ -29,8 +29,7 @@ - ({{ book.series }} - {% if book.series_number %} #{{ book.series_number }}{% endif %}) + ({{ book.series }}{% if book.series_number %} #{{ book.series_number }}{% endif %}) {% endif %}

{% endif %}