From 325930a206e8e46d838320fde4fafab82185f684 Mon Sep 17 00:00:00 2001 From: Audric Schiltknecht Date: Wed, 13 Sep 2017 14:12:19 -0400 Subject: [PATCH 01/20] Update references to RFC Update all references to draft to the published RFC. --- .../locale/ar/LC_MESSAGES/django.mo | Bin 504 -> 504 bytes .../locale/ar/LC_MESSAGES/django.po | 7 +++---- .../locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes .../locale/en/LC_MESSAGES/django.po | 7 +++---- .../locale/fr/LC_MESSAGES/django.mo | Bin 16411 -> 16389 bytes .../locale/fr/LC_MESSAGES/django.po | 17 ++++++++--------- .../templates/lgr_editor/about.html | 2 +- src/lgr_tools/locale/ar/LC_MESSAGES/django.mo | Bin 504 -> 504 bytes src/lgr_tools/locale/ar/LC_MESSAGES/django.po | 2 +- src/lgr_tools/locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes src/lgr_tools/locale/en/LC_MESSAGES/django.po | 2 +- src/lgr_tools/locale/fr/LC_MESSAGES/django.mo | Bin 6771 -> 6771 bytes src/lgr_tools/locale/fr/LC_MESSAGES/django.po | 2 +- .../locale/ar/LC_MESSAGES/django.mo | Bin 504 -> 504 bytes .../locale/ar/LC_MESSAGES/django.po | 2 +- .../locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes .../locale/en/LC_MESSAGES/django.po | 2 +- .../locale/fr/LC_MESSAGES/django.mo | Bin 2364 -> 2364 bytes .../locale/fr/LC_MESSAGES/django.po | 2 +- src/lgr_web/locale/ar/LC_MESSAGES/django.mo | Bin 504 -> 504 bytes src/lgr_web/locale/ar/LC_MESSAGES/django.po | 6 +++--- src/lgr_web/locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes src/lgr_web/locale/en/LC_MESSAGES/django.po | 6 +++--- src/lgr_web/locale/fr/LC_MESSAGES/django.mo | Bin 6008 -> 5986 bytes src/lgr_web/locale/fr/LC_MESSAGES/django.po | 14 +++++++------- src/lgr_web/templates/index.html | 2 +- 26 files changed, 35 insertions(+), 38 deletions(-) diff --git a/src/lgr_editor/locale/ar/LC_MESSAGES/django.mo b/src/lgr_editor/locale/ar/LC_MESSAGES/django.mo index 5c526081c3380292892bf5b153545f2d28209d88..ad563be0d95b4d3ddbc7ceae471931efa65de24f 100644 GIT binary patch delta 20 bcmeyt{DXNyFQ=uhp|OIYg_Xg^X-SL#OY#PU delta 20 bcmeyt{DXNyFQ=KVk)?v6sg?1@X-SL#ObiBy diff --git a/src/lgr_editor/locale/ar/LC_MESSAGES/django.po b/src/lgr_editor/locale/ar/LC_MESSAGES/django.po index 163bdbe1..4ee48016 100644 --- a/src/lgr_editor/locale/ar/LC_MESSAGES/django.po +++ b/src/lgr_editor/locale/ar/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-06-29 15:36+0000\n" +"POT-Creation-Date: 2017-09-13 18:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -374,9 +374,8 @@ msgstr "" msgid "" "This application provides a convenient interface for browsing and editing " "LGR’s conforming to the Representing Label Generation Rulesets using XML " -"specification." +"href=\"https://www.rfc-editor.org/rfc/rfc7940.txt\" target=\"_blank" +"\">Representing Label Generation Rulesets using XML specification." msgstr "" #: templates/lgr_editor/about.html:10 diff --git a/src/lgr_editor/locale/en/LC_MESSAGES/django.mo b/src/lgr_editor/locale/en/LC_MESSAGES/django.mo index 8fc876ca634db51cf19f33b3780a1549d51c2d89..75cd9a1b84204fdddd55bd93f10d5fb00de7f87a 100644 GIT binary patch delta 19 acmeyx^owaiFQ=uhp|OIYg_Xg?X-@z}wg%?_ delta 19 acmeyx^owaiFQ=KVk)?v6sg?1>X-@z}%m(WK diff --git a/src/lgr_editor/locale/en/LC_MESSAGES/django.po b/src/lgr_editor/locale/en/LC_MESSAGES/django.po index f68d89e5..23efd6b0 100644 --- a/src/lgr_editor/locale/en/LC_MESSAGES/django.po +++ b/src/lgr_editor/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-06-29 15:36+0000\n" +"POT-Creation-Date: 2017-09-13 18:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -372,9 +372,8 @@ msgstr "" msgid "" "This application provides a convenient interface for browsing and editing " "LGR’s conforming to the Representing Label Generation Rulesets using XML " -"specification." +"href=\"https://www.rfc-editor.org/rfc/rfc7940.txt\" target=\"_blank" +"\">Representing Label Generation Rulesets using XML specification." msgstr "" #: templates/lgr_editor/about.html:10 diff --git a/src/lgr_editor/locale/fr/LC_MESSAGES/django.mo b/src/lgr_editor/locale/fr/LC_MESSAGES/django.mo index 6263295115a1c059312ecc23f61edca195405484..1804757583d2408f0d71a97650b92515e7bd40a4 100644 GIT binary patch delta 1747 zcma*n{Y#x?9LMqR@gcW!rp`I{;3iY&QA<7Q)Q*oE>QW~$Z45TqEQc-ihjKIVh+Exz zgy9b|c3L5lO{B@z56KP`7WA+mgyky2BBCISq9UZIUj{kq{pr5{fZ*usx~}^^*Y&+W z*L9z%bH2;xeDmKWIGH}Pi`i!FW;UH;b`pQZ1nkH)i^s#5f=4kG`>+}#n1S=S0T)sC zE#nCOfX&#o+w1_oj!)sw=*OBob1aF*{ycZ$Cs7L@M@@VJvoM02@jB}M+t^OwcTfvI z44NH8f4&(_>q4Hv9Gt}&EW#%W%pSqhxD`hW9J6gSt}>t}yM;-(;Q2ACkb9Vo-{VfS zLbsqS+(LH`R^kB+;vd%?iz{)X--$1Bp%|aX8>od+ zLT=RgsD$cJTXhsSVLxi(Gnk2&Jm0`7`tRY>_y;Pnj#9I7oWM5Lw~uHvFtEPNt*jLl z{V;06tC);$;YM6Q4z_)QDY%M>xQ4YD$Lv?I0kvg|s6szOye(l3L*=Rf0;Y33cBysQCs_1&yP&=o&iO!&~0K zU8Fes2H9>4aHMr(7*)tY&m-P=5AI_;f^GON^7$|K0zv-T>uyv5iu{{s z{6bF^7d`Ioc^hgAdQefFMOFSP>X1!)*KcDB{YCG3GAC^l{S4G0F7*1Ps0VFAC3pwfn^7c%JdoIEa5?1bb`T@o&*jzncT0AEbU% zLKE1CUt=?Fcleda^Kl~{X5a$v;(%^I71T&I+WQtv!*kp_&#b+zeJsdwS7^4;E>N^-GN!3 zZ!+df4sOnkL?WS~=Xy&{K07cxI20Nj>MNzIzi>@uS!j54INDj?5}V8!h+kh*QeKf= qUR_%j4Fq@j-CkvFSvXo5{35QxADvIhi52Gmo$)^=jdj*9#s3Qj4%^-U delta 1768 zcmb8v+iz4=7{=jmoNDU~tx(!h3WOFqZBeI3dKwC1+tf-#v62vpA}!O>k)b7>2_y!x zq1bu|YC=O|X;3*_h;mUF%7vyE5WE27Vv-8c5MtDLK_nVA+Sq9Lz1jO8FqzD=*4lg4 z`u4llo{@vTiG#k$I~h*MXLh*QY=fDdEivoGKQRNht}yfCYnX#O@G%_1CLG3m{1WG3 z8g<`Y+>7_I4Wlc~p2bh`Mf@ED*j{RmWzu+|)SY+>YT=!ziQ~8ohcOR7LES%v8z_7l zwQyFM+4Go>A&er=VDI8-Jcm!!{v@yA&m(J^kf$?6R&!HjVfdYi}4;V z#bAY7Pz4syUyG}8GdAKoxCSqylKK}jv0;_#I((9TheKlljRb1q5maTTa0z~ai}4m} zg5OZl&Eh)rKW;{v){0uV4;SJ`s01!}*Jn`k&SDVf6UQEOmeOdU@g6G5>!^rsqkeD~ zm*ZcUfd!PU@g=C_>QD(ihe7N?B{G02d<0e4$C!n;k&k`P7uOxj4!hBpV}c8fxEnu5 zEws4Ojk*SvPzP$Oc3>_hP!o@05q{wL8P?PP3b)}LDzU9qW;HmDovd#+Xsl%*uiCAw z3l+VCns5TM@eMdzPCAATC-|MLP-ar*}47Eik(9s@V z^agGs#o15Dc3S~QS~s?$3VGSH#~a^;Pcc4>op=TLSdiSyaXo6U`%wiP!+AJ~d~CX& z{99@KK~EJoG`M^I5^4)}p`v;VRryKOAv^0`pTZ9MY43U=CoPwLG3pT4dHo3LK{uij z>_ctYXe0S+;0Oac-RDqe;XLXGzoH7rYI0qHdg2y5g!^$2|HFMa(Cm)?i~;)n90>g( zB~S^CP?C{R8jAKP>W9Zs3!ld#yo80AM(yc6)LF<~KNbjf`NmVP z22cBZmhxqX^1{i%!FZxF)|>3B930wN)t}rQuZj+J_a(#8?!B?zL^u{5NOt$cX;n9m zMOr#i@0Y~ 1);\n" -"X-Generator: Poedit 2.0.2\n" +"X-Generator: Poedit 2.0.3\n" #: forms/codepoint.py:14 templates/lgr_editor/codepoint_view.html:52 msgid "When" @@ -386,15 +386,14 @@ msgstr "Modifier" msgid "" "This application provides a convenient interface for browsing and editing " "LGR’s conforming to the Representing Label Generation Rulesets using XML " -"specification." +"href=\"https://www.rfc-editor.org/rfc/rfc7940.txt\" target=\"_blank" +"\">Representing Label Generation Rulesets using XML specification." msgstr "" "Cette application fournit une interface adaptée à la navigation et la " "modification de LGR " -"conformes à la spécification Representing Label Generation " -"Rulesets using XML." +"conformes à la spécification Representing Label Generation Rulesets using " +"XML." #: templates/lgr_editor/about.html:10 msgid "Supported Unicode versions:" diff --git a/src/lgr_editor/templates/lgr_editor/about.html b/src/lgr_editor/templates/lgr_editor/about.html index 4d3c68d8..086ae15e 100644 --- a/src/lgr_editor/templates/lgr_editor/about.html +++ b/src/lgr_editor/templates/lgr_editor/about.html @@ -3,7 +3,7 @@ {% blocktrans trimmed %} This application provides a convenient interface for browsing and editing LGR’s conforming to the - Representing Label Generation Rulesets using XML + Representing Label Generation Rulesets using XML specification. {% endblocktrans %}

diff --git a/src/lgr_tools/locale/ar/LC_MESSAGES/django.mo b/src/lgr_tools/locale/ar/LC_MESSAGES/django.mo index 5c526081c3380292892bf5b153545f2d28209d88..ad563be0d95b4d3ddbc7ceae471931efa65de24f 100644 GIT binary patch delta 20 bcmeyt{DXNyFQ=uhp|OIYg_Xg^X-SL#OY#PU delta 20 bcmeyt{DXNyFQ=KVk)?v6sg?1@X-SL#ObiBy diff --git a/src/lgr_tools/locale/ar/LC_MESSAGES/django.po b/src/lgr_tools/locale/ar/LC_MESSAGES/django.po index cec7d91c..c76025ce 100644 --- a/src/lgr_tools/locale/ar/LC_MESSAGES/django.po +++ b/src/lgr_tools/locale/ar/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-06-29 15:36+0000\n" +"POT-Creation-Date: 2017-09-13 18:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/src/lgr_tools/locale/en/LC_MESSAGES/django.mo b/src/lgr_tools/locale/en/LC_MESSAGES/django.mo index 8fc876ca634db51cf19f33b3780a1549d51c2d89..75cd9a1b84204fdddd55bd93f10d5fb00de7f87a 100644 GIT binary patch delta 19 acmeyx^owaiFQ=uhp|OIYg_Xg?X-@z}wg%?_ delta 19 acmeyx^owaiFQ=KVk)?v6sg?1>X-@z}%m(WK diff --git a/src/lgr_tools/locale/en/LC_MESSAGES/django.po b/src/lgr_tools/locale/en/LC_MESSAGES/django.po index 0e38fd04..1d9a4f04 100644 --- a/src/lgr_tools/locale/en/LC_MESSAGES/django.po +++ b/src/lgr_tools/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-06-29 15:36+0000\n" +"POT-Creation-Date: 2017-09-13 18:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/src/lgr_tools/locale/fr/LC_MESSAGES/django.mo b/src/lgr_tools/locale/fr/LC_MESSAGES/django.mo index 587bd9ef52d5e5daa3627a4044f8ecd498757cc2..a210f4f0e49291dc67da4c6253be56d5a819109f 100644 GIT binary patch delta 22 dcmext^4VmAJRhf}uA#Alp@o&fW(_`X9spJ-1~LEu delta 22 dcmext^4VmAJRhf-u92mJp{bSeW(_`X9spKG1~vcy diff --git a/src/lgr_tools/locale/fr/LC_MESSAGES/django.po b/src/lgr_tools/locale/fr/LC_MESSAGES/django.po index 8d75a59b..641209b8 100644 --- a/src/lgr_tools/locale/fr/LC_MESSAGES/django.po +++ b/src/lgr_tools/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-06-29 15:36+0000\n" +"POT-Creation-Date: 2017-09-13 18:06+0000\n" "PO-Revision-Date: 2017-06-28 15:39-0400\n" "Last-Translator: \n" "Language-Team: \n" diff --git a/src/lgr_validator/locale/ar/LC_MESSAGES/django.mo b/src/lgr_validator/locale/ar/LC_MESSAGES/django.mo index 5c526081c3380292892bf5b153545f2d28209d88..ad563be0d95b4d3ddbc7ceae471931efa65de24f 100644 GIT binary patch delta 20 bcmeyt{DXNyFQ=uhp|OIYg_Xg^X-SL#OY#PU delta 20 bcmeyt{DXNyFQ=KVk)?v6sg?1@X-SL#ObiBy diff --git a/src/lgr_validator/locale/ar/LC_MESSAGES/django.po b/src/lgr_validator/locale/ar/LC_MESSAGES/django.po index c2243ca1..2509bda3 100644 --- a/src/lgr_validator/locale/ar/LC_MESSAGES/django.po +++ b/src/lgr_validator/locale/ar/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-06-29 15:36+0000\n" +"POT-Creation-Date: 2017-09-13 18:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/src/lgr_validator/locale/en/LC_MESSAGES/django.mo b/src/lgr_validator/locale/en/LC_MESSAGES/django.mo index 8fc876ca634db51cf19f33b3780a1549d51c2d89..75cd9a1b84204fdddd55bd93f10d5fb00de7f87a 100644 GIT binary patch delta 19 acmeyx^owaiFQ=uhp|OIYg_Xg?X-@z}wg%?_ delta 19 acmeyx^owaiFQ=KVk)?v6sg?1>X-@z}%m(WK diff --git a/src/lgr_validator/locale/en/LC_MESSAGES/django.po b/src/lgr_validator/locale/en/LC_MESSAGES/django.po index b8c7545e..66bd8e9e 100644 --- a/src/lgr_validator/locale/en/LC_MESSAGES/django.po +++ b/src/lgr_validator/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-06-29 15:36+0000\n" +"POT-Creation-Date: 2017-09-13 18:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/src/lgr_validator/locale/fr/LC_MESSAGES/django.mo b/src/lgr_validator/locale/fr/LC_MESSAGES/django.mo index 63f153b7c0708dbbca6cc708b4804b5c92ae3b23..bcf992ec581ed3a49ac3b0cb8be048fe8a7a97a9 100644 GIT binary patch delta 22 dcmdlZv`1(IGb^X1uA#Alp@o&fW*$}p763$@1rq=O delta 22 dcmdlZv`1(IGb^W=u92mJp{bSeW*$}p763%M1s4DS diff --git a/src/lgr_validator/locale/fr/LC_MESSAGES/django.po b/src/lgr_validator/locale/fr/LC_MESSAGES/django.po index 8f301bea..7fd8280b 100644 --- a/src/lgr_validator/locale/fr/LC_MESSAGES/django.po +++ b/src/lgr_validator/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-06-29 15:36+0000\n" +"POT-Creation-Date: 2017-09-13 18:06+0000\n" "PO-Revision-Date: 2017-06-26 10:28-0400\n" "Last-Translator: \n" "Language-Team: \n" diff --git a/src/lgr_web/locale/ar/LC_MESSAGES/django.mo b/src/lgr_web/locale/ar/LC_MESSAGES/django.mo index 5c526081c3380292892bf5b153545f2d28209d88..ad563be0d95b4d3ddbc7ceae471931efa65de24f 100644 GIT binary patch delta 20 bcmeyt{DXNyFQ=uhp|OIYg_Xg^X-SL#OY#PU delta 20 bcmeyt{DXNyFQ=KVk)?v6sg?1@X-SL#ObiBy diff --git a/src/lgr_web/locale/ar/LC_MESSAGES/django.po b/src/lgr_web/locale/ar/LC_MESSAGES/django.po index 894468bd..787cc8fd 100644 --- a/src/lgr_web/locale/ar/LC_MESSAGES/django.po +++ b/src/lgr_web/locale/ar/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-06-29 15:36+0000\n" +"POT-Creation-Date: 2017-09-13 18:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -164,8 +164,8 @@ msgstr "" msgid "" "This application provides a convenient interface for browsing and editing " "LGR’s conforming to the Representing " -"Label Generation Rulesets using XML specification." +"href=\"https://www.rfc-editor.org/rfc/rfc7940.txt\">Representing Label " +"Generation Rulesets using XML specification." msgstr "" #: templates/index.html:22 diff --git a/src/lgr_web/locale/en/LC_MESSAGES/django.mo b/src/lgr_web/locale/en/LC_MESSAGES/django.mo index 8fc876ca634db51cf19f33b3780a1549d51c2d89..75cd9a1b84204fdddd55bd93f10d5fb00de7f87a 100644 GIT binary patch delta 19 acmeyx^owaiFQ=uhp|OIYg_Xg?X-@z}wg%?_ delta 19 acmeyx^owaiFQ=KVk)?v6sg?1>X-@z}%m(WK diff --git a/src/lgr_web/locale/en/LC_MESSAGES/django.po b/src/lgr_web/locale/en/LC_MESSAGES/django.po index 8e4a6f6a..82188297 100644 --- a/src/lgr_web/locale/en/LC_MESSAGES/django.po +++ b/src/lgr_web/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-06-29 15:36+0000\n" +"POT-Creation-Date: 2017-09-13 18:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -162,8 +162,8 @@ msgstr "" msgid "" "This application provides a convenient interface for browsing and editing " "LGR’s conforming to the Representing " -"Label Generation Rulesets using XML specification." +"href=\"https://www.rfc-editor.org/rfc/rfc7940.txt\">Representing Label " +"Generation Rulesets using XML specification." msgstr "" #: templates/index.html:22 diff --git a/src/lgr_web/locale/fr/LC_MESSAGES/django.mo b/src/lgr_web/locale/fr/LC_MESSAGES/django.mo index fe534af3616030a9227b1a26224c51a96b103ced..18926dba5f7875290b11c829c3b192d885f76dee 100644 GIT binary patch delta 678 zcma*j%`3xk9Ki9<&$G?uX+|E`MnwBi<>M`M5+C3=`BE4s{$al5V$lmi;54ku(R53;XRa|9@h= delta 694 zcmb8rze`(D6u|NG8h=D%)U-yWZH%;_rtn^V)%c5o9b7~ZB_NK^CdNQ)Aij2ebSMsW zkUk2w2o91}#0)~AoyDOvgH#7W6dWBztPsDq$v@EPbI#@7^W&ZyH^%OoX8Sdfvu2Tc z5xMq=wBj8;Mo)`~5Bt!K!}t(iV+@nEd=;OOf5S=Y{lGPHH^rLp3-;g^j^j^^V5L>; ze~lw;A`KiQP&Is2a~hwMn;5{4*ooVy2KHtCPCl6s5XK)HX zwA&&YFL!EUT$i!t;C2%Zqk;{$x>e02?J;*?z#EnF(s?KS9DKA&4LvT1A4$QLrPSKNaHaZXQ0k5)aW&i*H diff --git a/src/lgr_web/locale/fr/LC_MESSAGES/django.po b/src/lgr_web/locale/fr/LC_MESSAGES/django.po index 0bc175dc..54f35367 100644 --- a/src/lgr_web/locale/fr/LC_MESSAGES/django.po +++ b/src/lgr_web/locale/fr/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-06-29 15:36+0000\n" -"PO-Revision-Date: 2017-06-29 11:37-0400\n" +"POT-Creation-Date: 2017-09-13 18:06+0000\n" +"PO-Revision-Date: 2017-09-13 14:06-0400\n" "Last-Translator: \n" "Language-Team: \n" "Language: fr\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 2.0.2\n" +"X-Generator: Poedit 2.0.3\n" #: settings/default.py:152 msgid "Arabic" @@ -164,13 +164,13 @@ msgstr "Bienvenue dans l'éditeur de LGR (Label Generation Ruleset)" msgid "" "This application provides a convenient interface for browsing and editing " "LGR’s conforming to the Representing " -"Label Generation Rulesets using XML specification." +"href=\"https://www.rfc-editor.org/rfc/rfc7940.txt\">Representing Label " +"Generation Rulesets using XML specification." msgstr "" "Cette application fournit une interface adaptée à la navigation et la " "modification de LGR " -"conformes à la spécification Representing Label Generation Rulesets using XML." +"conformes à la spécification Representing Label Generation Rulesets using XML." #: templates/index.html:22 msgid "Previously loaded LGR file(s)" diff --git a/src/lgr_web/templates/index.html b/src/lgr_web/templates/index.html index f54c512c..6363ad91 100644 --- a/src/lgr_web/templates/index.html +++ b/src/lgr_web/templates/index.html @@ -10,7 +10,7 @@

{% trans "Welcome to the LGR (Label Generation Ruleset) Tool" %}

{% blocktrans trimmed %} This application provides a convenient interface for browsing and editing LGR’s conforming to the - Representing Label Generation Rulesets using XML + Representing Label Generation Rulesets using XML specification. {% endblocktrans %}

From 7b200c1162a4d6bc485c5b3eeb17eb81fca397e6 Mon Sep 17 00:00:00 2001 From: Audric Schiltknecht Date: Thu, 14 Sep 2017 15:35:15 -0400 Subject: [PATCH 02/20] Sort result files on homepage Rename output from tools to be prefixed with date so they are correctly sorted. --- src/lgr_tools/tasks.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lgr_tools/tasks.py b/src/lgr_tools/tasks.py index 68fdf993..c99edc9f 100644 --- a/src/lgr_tools/tasks.py +++ b/src/lgr_tools/tasks.py @@ -44,8 +44,8 @@ def _lgr_tool_task(storage_path, base_filename, email_subject, for line in cb(**cb_kwargs): gzf.write(line.encode('utf-8')) - filename = '{0}_{1}.txt.gz'.format(base_filename, - time.strftime('%Y%m%d_%H%M%S')) + filename = '{0}_{1}.txt.gz'.format(time.strftime('%Y%m%d_%H%M%S'), + base_filename) storage = FileSystemStorage(location=storage_path, file_permissions_mode=0o440) From 368aa75e2beb2137150546458f5faff44798ba5c Mon Sep 17 00:00:00 2001 From: Audric Schiltknecht Date: Mon, 2 Oct 2017 10:17:48 -0400 Subject: [PATCH 03/20] Improve UI for label validation in set context - Try to better differentiate between results for label's eligibility and collision check: add same kind of visual clue for collision as what was present on label's eligibility. - Correct display that was only one table instead of three. --- .../templates/lgr_validator/validator.html | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/lgr_validator/templates/lgr_validator/validator.html b/src/lgr_validator/templates/lgr_validator/validator.html index bd26c966..31b31db8 100644 --- a/src/lgr_validator/templates/lgr_validator/validator.html +++ b/src/lgr_validator/templates/lgr_validator/validator.html @@ -82,9 +82,18 @@

{{ dispositio + + + {# collision if this is a LGR set but not an LGR in a set #} + {% if eligible and is_set and not lgr_set_id %} + + {% if collisions_error or collision %} +

{% trans "Collision(s) found" %}

+ {% else %} +

{% trans "No collision" %}

+ {% endif %} - {# collision if this is a LGR set but not an LGR in a set #} - {% if is_set and not lgr_set_id %} + @@ -132,8 +141,11 @@

{{ dispositio

{% endif %} - {% endif %} +
{% trans "Collision" %}
{% blocktrans %}No collision.{% endblocktrans %}
+ {% endif %} + {# TODO: for set, only display if eligible #} + From 4d443ea1aa3d6ca2994b97909e847fd9a9ef912a Mon Sep 17 00:00:00 2001 From: Audric Schiltknecht Date: Tue, 3 Oct 2017 17:10:12 -0400 Subject: [PATCH 04/20] Fix grammar typo Update translations. --- .../locale/ar/LC_MESSAGES/django.mo | Bin 504 -> 504 bytes .../locale/ar/LC_MESSAGES/django.po | 2 +- .../locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes .../locale/en/LC_MESSAGES/django.po | 2 +- .../locale/fr/LC_MESSAGES/django.mo | Bin 16389 -> 16389 bytes .../locale/fr/LC_MESSAGES/django.po | 4 +- src/lgr_tools/locale/ar/LC_MESSAGES/django.mo | Bin 504 -> 504 bytes src/lgr_tools/locale/ar/LC_MESSAGES/django.po | 2 +- src/lgr_tools/locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes src/lgr_tools/locale/en/LC_MESSAGES/django.po | 2 +- src/lgr_tools/locale/fr/LC_MESSAGES/django.mo | Bin 6771 -> 6771 bytes src/lgr_tools/locale/fr/LC_MESSAGES/django.po | 2 +- .../locale/ar/LC_MESSAGES/django.mo | Bin 504 -> 504 bytes .../locale/ar/LC_MESSAGES/django.po | 36 ++++++++++------ .../locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes .../locale/en/LC_MESSAGES/django.po | 36 ++++++++++------ .../locale/fr/LC_MESSAGES/django.mo | Bin 2364 -> 2503 bytes .../locale/fr/LC_MESSAGES/django.po | 40 +++++++++++------- src/lgr_web/locale/ar/LC_MESSAGES/django.mo | Bin 504 -> 504 bytes src/lgr_web/locale/ar/LC_MESSAGES/django.po | 4 +- src/lgr_web/locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes src/lgr_web/locale/en/LC_MESSAGES/django.po | 4 +- src/lgr_web/locale/fr/LC_MESSAGES/django.mo | Bin 5986 -> 5988 bytes src/lgr_web/locale/fr/LC_MESSAGES/django.po | 6 +-- src/lgr_web/templates/index.html | 2 +- 25 files changed, 83 insertions(+), 59 deletions(-) diff --git a/src/lgr_editor/locale/ar/LC_MESSAGES/django.mo b/src/lgr_editor/locale/ar/LC_MESSAGES/django.mo index ad563be0d95b4d3ddbc7ceae471931efa65de24f..9a075e2be2c66642f67f3975fc748ff61266d5a0 100644 GIT binary patch delta 22 dcmeyt{DXNy54WL#u7R\n" "Language-Team: LANGUAGE \n" diff --git a/src/lgr_editor/locale/en/LC_MESSAGES/django.mo b/src/lgr_editor/locale/en/LC_MESSAGES/django.mo index 75cd9a1b84204fdddd55bd93f10d5fb00de7f87a..2f5840a4c5bf17f3f02217ee54556c3fa7b3022c 100644 GIT binary patch delta 21 ccmeyx^owai54WL#u7R\n" "Language-Team: LANGUAGE \n" diff --git a/src/lgr_editor/locale/fr/LC_MESSAGES/django.mo b/src/lgr_editor/locale/fr/LC_MESSAGES/django.mo index 1804757583d2408f0d71a97650b92515e7bd40a4..4682f8d8463fff79e923218a5e77d3d163be0fd7 100644 GIT binary patch delta 42 scmZo|U~Fw*-0)3>+t5JQz*xb^(8|DYGNY<2ly7KmWnj8lQ}vD%0QlMp;Q#;t delta 42 rcmZo|U~Fw*-0)3>+rU!S&{)CH!pgvGGNY<2jBjFPV7^&X^^Oz(`(_IL diff --git a/src/lgr_editor/locale/fr/LC_MESSAGES/django.po b/src/lgr_editor/locale/fr/LC_MESSAGES/django.po index c805a4f7..5bc13c54 100644 --- a/src/lgr_editor/locale/fr/LC_MESSAGES/django.po +++ b/src/lgr_editor/locale/fr/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-13 18:06+0000\n" -"PO-Revision-Date: 2017-09-13 14:07-0400\n" +"POT-Creation-Date: 2017-10-03 21:01+0000\n" +"PO-Revision-Date: 2017-10-03 17:05-0400\n" "Last-Translator: \n" "Language-Team: \n" "Language: fr\n" diff --git a/src/lgr_tools/locale/ar/LC_MESSAGES/django.mo b/src/lgr_tools/locale/ar/LC_MESSAGES/django.mo index ad563be0d95b4d3ddbc7ceae471931efa65de24f..a057e6e2b1d89c14a072b89048795354ff889684 100644 GIT binary patch delta 22 dcmeyt{DXNy54WL#u7R\n" "Language-Team: LANGUAGE \n" diff --git a/src/lgr_tools/locale/en/LC_MESSAGES/django.mo b/src/lgr_tools/locale/en/LC_MESSAGES/django.mo index 75cd9a1b84204fdddd55bd93f10d5fb00de7f87a..7a7082f1a215f7993ff802257d041316c2c82e7a 100644 GIT binary patch delta 21 ccmeyx^owai54WL#u7R\n" "Language-Team: LANGUAGE \n" diff --git a/src/lgr_tools/locale/fr/LC_MESSAGES/django.mo b/src/lgr_tools/locale/fr/LC_MESSAGES/django.mo index a210f4f0e49291dc67da4c6253be56d5a819109f..344cdfd08d423d527c1105a74daba8d58dc861dd 100644 GIT binary patch delta 24 fcmext^4VmA93Qu#fv$nEf{~$>fzf77J}({sVbcbN delta 24 fcmext^4VmA93QuVrLLi|f}w?#f!StFJ}({sVx$I{ diff --git a/src/lgr_tools/locale/fr/LC_MESSAGES/django.po b/src/lgr_tools/locale/fr/LC_MESSAGES/django.po index 641209b8..baac3cd7 100644 --- a/src/lgr_tools/locale/fr/LC_MESSAGES/django.po +++ b/src/lgr_tools/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-13 18:06+0000\n" +"POT-Creation-Date: 2017-10-03 21:02+0000\n" "PO-Revision-Date: 2017-06-28 15:39-0400\n" "Last-Translator: \n" "Language-Team: \n" diff --git a/src/lgr_validator/locale/ar/LC_MESSAGES/django.mo b/src/lgr_validator/locale/ar/LC_MESSAGES/django.mo index ad563be0d95b4d3ddbc7ceae471931efa65de24f..9a075e2be2c66642f67f3975fc748ff61266d5a0 100644 GIT binary patch delta 22 dcmeyt{DXNy54WL#u7R\n" "Language-Team: LANGUAGE \n" @@ -64,53 +64,61 @@ msgid "Code point sequence" msgstr "" #: templates/lgr_validator/validator.html:70 -#: templates/lgr_validator/validator.html:113 -#: templates/lgr_validator/validator.html:170 +#: templates/lgr_validator/validator.html:122 +#: templates/lgr_validator/validator.html:182 msgid "Show / hide rule" msgstr "" #: templates/lgr_validator/validator.html:80 -#: templates/lgr_validator/validator.html:123 -#: templates/lgr_validator/validator.html:180 +#: templates/lgr_validator/validator.html:132 +#: templates/lgr_validator/validator.html:192 #, python-format msgid "[Action index: %(action_idx)s] %(action)s" msgstr "" -#: templates/lgr_validator/validator.html:90 +#: templates/lgr_validator/validator.html:92 +msgid "Collision(s) found" +msgstr "" + +#: templates/lgr_validator/validator.html:94 +msgid "No collision" +msgstr "" + +#: templates/lgr_validator/validator.html:99 msgid "Collision" msgstr "" -#: templates/lgr_validator/validator.html:133 +#: templates/lgr_validator/validator.html:142 msgid "No collision." msgstr "" -#: templates/lgr_validator/validator.html:139 +#: templates/lgr_validator/validator.html:151 msgid "Variant labels" msgstr "" -#: templates/lgr_validator/validator.html:139 +#: templates/lgr_validator/validator.html:151 msgid " (including original as last)" msgstr "" -#: templates/lgr_validator/validator.html:144 +#: templates/lgr_validator/validator.html:156 #, python-format msgid "%(num_variants)s variant label(s) generated." msgstr "" -#: templates/lgr_validator/validator.html:146 +#: templates/lgr_validator/validator.html:158 msgid "By disposition: " msgstr "" -#: templates/lgr_validator/validator.html:148 +#: templates/lgr_validator/validator.html:160 msgid "No variant labels generated." msgstr "" -#: templates/lgr_validator/validator.html:193 +#: templates/lgr_validator/validator.html:205 msgid "" "Too many variant labels to be displayed in the browser. Please download the " "results in .csv instead." msgstr "" -#: templates/lgr_validator/validator.html:211 +#: templates/lgr_validator/validator.html:223 msgid "Download results in CSV" msgstr "" diff --git a/src/lgr_validator/locale/en/LC_MESSAGES/django.mo b/src/lgr_validator/locale/en/LC_MESSAGES/django.mo index 75cd9a1b84204fdddd55bd93f10d5fb00de7f87a..2f5840a4c5bf17f3f02217ee54556c3fa7b3022c 100644 GIT binary patch delta 21 ccmeyx^owai54WL#u7R\n" "Language-Team: LANGUAGE \n" @@ -62,53 +62,61 @@ msgid "Code point sequence" msgstr "" #: templates/lgr_validator/validator.html:70 -#: templates/lgr_validator/validator.html:113 -#: templates/lgr_validator/validator.html:170 +#: templates/lgr_validator/validator.html:122 +#: templates/lgr_validator/validator.html:182 msgid "Show / hide rule" msgstr "" #: templates/lgr_validator/validator.html:80 -#: templates/lgr_validator/validator.html:123 -#: templates/lgr_validator/validator.html:180 +#: templates/lgr_validator/validator.html:132 +#: templates/lgr_validator/validator.html:192 #, python-format msgid "[Action index: %(action_idx)s] %(action)s" msgstr "" -#: templates/lgr_validator/validator.html:90 +#: templates/lgr_validator/validator.html:92 +msgid "Collision(s) found" +msgstr "" + +#: templates/lgr_validator/validator.html:94 +msgid "No collision" +msgstr "" + +#: templates/lgr_validator/validator.html:99 msgid "Collision" msgstr "" -#: templates/lgr_validator/validator.html:133 +#: templates/lgr_validator/validator.html:142 msgid "No collision." msgstr "" -#: templates/lgr_validator/validator.html:139 +#: templates/lgr_validator/validator.html:151 msgid "Variant labels" msgstr "" -#: templates/lgr_validator/validator.html:139 +#: templates/lgr_validator/validator.html:151 msgid " (including original as last)" msgstr "" -#: templates/lgr_validator/validator.html:144 +#: templates/lgr_validator/validator.html:156 #, python-format msgid "%(num_variants)s variant label(s) generated." msgstr "" -#: templates/lgr_validator/validator.html:146 +#: templates/lgr_validator/validator.html:158 msgid "By disposition: " msgstr "" -#: templates/lgr_validator/validator.html:148 +#: templates/lgr_validator/validator.html:160 msgid "No variant labels generated." msgstr "" -#: templates/lgr_validator/validator.html:193 +#: templates/lgr_validator/validator.html:205 msgid "" "Too many variant labels to be displayed in the browser. Please download the " "results in .csv instead." msgstr "" -#: templates/lgr_validator/validator.html:211 +#: templates/lgr_validator/validator.html:223 msgid "Download results in CSV" msgstr "" diff --git a/src/lgr_validator/locale/fr/LC_MESSAGES/django.mo b/src/lgr_validator/locale/fr/LC_MESSAGES/django.mo index bcf992ec581ed3a49ac3b0cb8be048fe8a7a97a9..53a224ef2ad6ef2f0a2d9b60f16b969e7e18f2c0 100644 GIT binary patch delta 672 zcmY+>ODIHP6u|LwjhX8;9^*A+M3bUC?j=MdVMCIIosybSqiLo*H$p7M=4K-)8zp6P z7dEmH%0iT-6iX!*mKOeJJj$taf8V`z&-uRZoCdB6R~`fD+d>4%3i5%hA$JWPgq0=| zLL2LG1oLqT3vm-OaUTPCgxPq8rFe})_>2?S=n?6`E%b`4$PJ4eKHQ@ppHMgQhT146 zT_lVlj9@RCcz_vrjJbG%b$E#l_>O}dqLMDvyvKYZ&A5TO(K8IvU+!4w30_hkL_SbY z;HQf=F2ix`#!1}4F8oAlO9#6sz#i1XqgaU%EXQ@UaS!M47Wq{MXll}5hFRp{7&c)P z^@nZLDd=eQhICVW`io*#T1cDf4d`aLWyvCcL+fhjD1L+fso;Xd)){IPee?I^5>ltq zk!X~VIu4KXYAgr(lJR(KHkM4(&el~;CFc_ncRDR>xT~HuBiptbtd^=~yVJ5Azc=*r nZnt+@ZBDEA&S-H=-)8V%iMg5N{KENRlya`)>o?pBbJ6$$N`OhY delta 578 zcmXZZ-z!657{KxO?Duxe*!)VSjT>S)=cqNaav?5=TQ{OH*21JL7u1qFrK#DyKfvAY z#F9kGjZ2jB2Pp1b`aY*U^}L_=J)QGDPtSRZ+=R=YVOLENU1T5mLPp6WjfMC@Isf7) zh8#+@VFn|(fPT!Pj$7D`2RM%vT*VKZ!bzu6Zal=GQe}0_MhaI@F22G+yu}=Tp%-Ue zO8IaRTX6}8aT61Gj&n5Gz&K~WM=1+OFpMkMgL^0qpQ28Eb-_joUg9!7U>4(4&EN@2 z$9E_fJz_t;VK4rni4nTn#~I|2x^8-pABdCD9FLi)w2`dtxTCs}Ojya7X{4=GwdQ`+tZLqKRu6iowfdTGL;D9#&N@f{ diff --git a/src/lgr_validator/locale/fr/LC_MESSAGES/django.po b/src/lgr_validator/locale/fr/LC_MESSAGES/django.po index 7fd8280b..32dc0053 100644 --- a/src/lgr_validator/locale/fr/LC_MESSAGES/django.po +++ b/src/lgr_validator/locale/fr/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-13 18:06+0000\n" -"PO-Revision-Date: 2017-06-26 10:28-0400\n" +"POT-Creation-Date: 2017-10-03 21:01+0000\n" +"PO-Revision-Date: 2017-10-03 17:06-0400\n" "Last-Translator: \n" "Language-Team: \n" "Language: fr\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 2.0.2\n" +"X-Generator: Poedit 2.0.3\n" #: api.py:81 msgid "The label is in the LGR set labels." @@ -67,48 +67,56 @@ msgid "Code point sequence" msgstr "Séquence de code points" #: templates/lgr_validator/validator.html:70 -#: templates/lgr_validator/validator.html:113 -#: templates/lgr_validator/validator.html:170 +#: templates/lgr_validator/validator.html:122 +#: templates/lgr_validator/validator.html:182 msgid "Show / hide rule" msgstr "Montrer / Cacher la règle" #: templates/lgr_validator/validator.html:80 -#: templates/lgr_validator/validator.html:123 -#: templates/lgr_validator/validator.html:180 +#: templates/lgr_validator/validator.html:132 +#: templates/lgr_validator/validator.html:192 #, python-format msgid "[Action index: %(action_idx)s] %(action)s" msgstr "[Index de l'action : %(action_idx)s] %(action)s" -#: templates/lgr_validator/validator.html:90 +#: templates/lgr_validator/validator.html:92 +msgid "Collision(s) found" +msgstr "Collision(s) trouvée(s)" + +#: templates/lgr_validator/validator.html:94 +msgid "No collision" +msgstr "Pas de collisions" + +#: templates/lgr_validator/validator.html:99 msgid "Collision" msgstr "Collision" -#: templates/lgr_validator/validator.html:133 +#: templates/lgr_validator/validator.html:142 msgid "No collision." msgstr "Pas de collisions." -#: templates/lgr_validator/validator.html:139 +#: templates/lgr_validator/validator.html:151 msgid "Variant labels" msgstr "Labels variants" -#: templates/lgr_validator/validator.html:139 +#: templates/lgr_validator/validator.html:151 msgid " (including original as last)" msgstr " (incluant l'original en dernier)" -#: templates/lgr_validator/validator.html:144 +#: templates/lgr_validator/validator.html:156 #, python-format msgid "%(num_variants)s variant label(s) generated." msgstr "%(num_variants)s label(s) variant(s) généré(s)." -#: templates/lgr_validator/validator.html:146 +#: templates/lgr_validator/validator.html:158 msgid "By disposition: " msgstr "Par disposition : " -#: templates/lgr_validator/validator.html:148 +#: templates/lgr_validator/validator.html:160 msgid "No variant labels generated." msgstr "Aucun label variant généré." -#: templates/lgr_validator/validator.html:193 +#: templates/lgr_validator/validator.html:205 msgid "" "Too many variant labels to be displayed in the browser. Please download the " "results in .csv instead." @@ -116,6 +124,6 @@ msgstr "" "Trop de labels variants pour être affichés dans le navigateur. Prière de " "télécharger le resultat au format CSV." -#: templates/lgr_validator/validator.html:211 +#: templates/lgr_validator/validator.html:223 msgid "Download results in CSV" msgstr "Télécharger les résultats en CSV" diff --git a/src/lgr_web/locale/ar/LC_MESSAGES/django.mo b/src/lgr_web/locale/ar/LC_MESSAGES/django.mo index ad563be0d95b4d3ddbc7ceae471931efa65de24f..9a075e2be2c66642f67f3975fc748ff61266d5a0 100644 GIT binary patch delta 22 dcmeyt{DXNy54WL#u7R\n" "Language-Team: LANGUAGE \n" @@ -196,7 +196,7 @@ msgid "View embedded LGRs" msgstr "" #: templates/index.html:74 -msgid "No LGR has been previously load." +msgid "No LGR has been previously loaded." msgstr "" #: templates/index.html:83 diff --git a/src/lgr_web/locale/en/LC_MESSAGES/django.mo b/src/lgr_web/locale/en/LC_MESSAGES/django.mo index 75cd9a1b84204fdddd55bd93f10d5fb00de7f87a..2f5840a4c5bf17f3f02217ee54556c3fa7b3022c 100644 GIT binary patch delta 21 ccmeyx^owai54WL#u7R\n" "Language-Team: LANGUAGE \n" @@ -194,7 +194,7 @@ msgid "View embedded LGRs" msgstr "" #: templates/index.html:74 -msgid "No LGR has been previously load." +msgid "No LGR has been previously loaded." msgstr "" #: templates/index.html:83 diff --git a/src/lgr_web/locale/fr/LC_MESSAGES/django.mo b/src/lgr_web/locale/fr/LC_MESSAGES/django.mo index 18926dba5f7875290b11c829c3b192d885f76dee..de35ec2ed3ae9b12dab3eac6f11dbd70cde7084f 100644 GIT binary patch delta 726 zcmXZY%S%*Y7{~G78D}(S95pXvsiUJ2rZ6*SMj?ZJDrLi1?vK4B7l9L61FNX2+OjZe`AS;S}f9hq5& zX!*RMN~wdxII=~3#x`6-E3k(r_#2OLqe`k`<%`w#D_mne^sH}ag|?6$bc9ym3?JcN z?7?EDslz@D*f;HeDM&k={(ix0M}9Jxc2fRia3)yO{5D$fjM=wE`Hz5fUx+Hxc+-2eOe}@16dE58)ywwILNJ)AdlZG*m zl~`UbjbJU-;0!k6JWk?Aw0n_Ll7}^T0ekQgjv%S@1eftS=Fy8waYy=rrNjpn3RK16 zcZGBjE$eBhM{3B$GuVzf94N-m@Cxx8yiLM2d`0{(AyG>&N!o;qcoPfg;~%ubSF5Em zOjidd1#^6`!oApx!)Oyf#dG)`t-%$fhQ1ZQ?_vY-A=<>1tjiim;x%l-4EEt5&Y^8+ z1DRPr0}eLnA=<^in8FsivB?Lp4j-UBm_;izkM`~by7&(7;TL2`C3!rK&1i!xU<-am zX4V#3zF_dI)W+dHvPHed>$rqgU=zRNHtynblH{y>q4s2jORR^U^$D%e8q$My&raN9QC*q9w!{% trans "LGR sets" %} {% else %}

{% blocktrans trimmed %} - No LGR has been previously load. + No LGR has been previously loaded. {% endblocktrans %}

{% endif %} From b6882557054c518640d9eb5cc9138b5068c59536 Mon Sep 17 00:00:00 2001 From: Audric Schiltknecht Date: Wed, 4 Oct 2017 16:22:05 -0400 Subject: [PATCH 05/20] Reverse order of saved results Put newest on top. --- src/lgr_editor/api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lgr_editor/api.py b/src/lgr_editor/api.py index a8ee7a82..11250baf 100644 --- a/src/lgr_editor/api.py +++ b/src/lgr_editor/api.py @@ -371,7 +371,7 @@ def session_list_storage(request): except OSError: return [] - return sorted(files[1]) + return sorted(files[1], reverse=True) def session_get_file(request, filename): From 223422b4d36085ee7d5ff73a13834e4ed97c1f8a Mon Sep 17 00:00:00 2001 From: Audric Schiltknecht Date: Thu, 5 Oct 2017 10:59:57 -0400 Subject: [PATCH 06/20] Display HTML description in iframe for HTML output Use an iframe and some HTML/JS voodoo to display the HTML description in a bit more user friendly way. --- src/lgr_renderer/api.py | 1 + src/lgr_renderer/templates/lgr_renderer.html | 51 ++++++++++++++++++-- 2 files changed, 49 insertions(+), 3 deletions(-) diff --git a/src/lgr_renderer/api.py b/src/lgr_renderer/api.py index 0b0b792e..00dc5f76 100644 --- a/src/lgr_renderer/api.py +++ b/src/lgr_renderer/api.py @@ -67,6 +67,7 @@ def _generate_context_metadata(metadata): if metadata.description is not None: context['description'] = metadata.description.value + context['description_type'] = metadata.description.description_type return context diff --git a/src/lgr_renderer/templates/lgr_renderer.html b/src/lgr_renderer/templates/lgr_renderer.html index 401d7dee..5811f569 100644 --- a/src/lgr_renderer/templates/lgr_renderer.html +++ b/src/lgr_renderer/templates/lgr_renderer.html @@ -225,9 +225,17 @@

Table of Contents

{% if description %}

Description

-
-          {{ description }}
-        
+
+ {% if description_type == 'text/html' %} + + {% else %} +
+              {{ description }}
+            
+ {% endif %} +
{% endif %}

Repertoire

@@ -485,5 +493,42 @@

Table of References

{% endfor %}
{% trans "Variant labels" %}{% if num_variants %}{% trans " (including original as last)" %}{% endif %}
+ {% if description and description_type == 'text/html' %} + + {% endif %} \ No newline at end of file From 63977c828b1b42174f7a7d91b03de01415b5e2bf Mon Sep 17 00:00:00 2001 From: Audric Schiltknecht Date: Thu, 5 Oct 2017 11:45:21 -0400 Subject: [PATCH 07/20] Sandbox iframe to not execute JS - Add sanbox option to iframe to improve security. - Do not load HTML into DOM as it will obviously execute JS... Instead, use DOMParser to load it. - Create new filter to remove newlines, as it will cause a JS exception since you cannot break litteral. --- src/lgr_renderer/templates/lgr_renderer.html | 42 ++++++++++--------- src/lgr_renderer/templatetags/__init__.py | 10 +++++ src/lgr_renderer/templatetags/lgr_renderer.py | 16 +++++++ 3 files changed, 49 insertions(+), 19 deletions(-) create mode 100644 src/lgr_renderer/templatetags/__init__.py create mode 100644 src/lgr_renderer/templatetags/lgr_renderer.py diff --git a/src/lgr_renderer/templates/lgr_renderer.html b/src/lgr_renderer/templates/lgr_renderer.html index 5811f569..d166ac4a 100644 --- a/src/lgr_renderer/templates/lgr_renderer.html +++ b/src/lgr_renderer/templates/lgr_renderer.html @@ -1,3 +1,5 @@ +{% load lgr_renderer %} + @@ -226,11 +228,7 @@

Table of Contents

{% if description %}

Description

- {% if description_type == 'text/html' %} - - {% else %} + {% if description_type != 'text/html' %}
               {{ description }}
             
@@ -502,17 +500,20 @@

Table of References

// Create a new blank iframe var description_iframe = document.createElement('iframe'); // Set attributes for iframe + description_iframe.src = 'about:blank'; // See https://developer.mozilla.org/fr/docs/Web/HTML/Element/iframe description_iframe.width = '100%'; description_iframe.height = '100%'; description_iframe.frameBorder = '0'; description_iframe.scrolling = 'no'; - // TODO: description_iframe.sandbox = ''; - // causes: SecurityError: Permission denied to access property "document" on cross-origin object + // Sandbox iframe, but need this value otherwise writing to it will provokes + // SecurityError: Permission denied to access property "document" on cross-origin object + // This will prevent scripts from being executed in the sandbox + description_iframe.sandbox = 'allow-same-origin'; // Append the iframe at its position document.getElementById("description").appendChild(description_iframe); - // Retrieve iframe content - var description_html = document.getElementById('html-description').innerHTML; - // Create iframe content - var description_iframe_content = '' + description_html + ''; + // Create iframe content - use DOMParser as it won't execute any JS embedded in the description + var description_dom = new DOMParser().parseFromString("{{ description|escape_newlines }}", "text/html"); + var description_iframe_html = description_dom.documentElement.textContent; + var description_iframe_content = '' + description_iframe_html + ''; // Use the JavaScript methods to write to the iframe, then close it description_iframe.contentWindow.document.open('text/html', 'replace'); @@ -520,14 +521,17 @@

Table of References

description_iframe.contentWindow.document.close(); // Resize iframe with content of document - nightmare: https://stackoverflow.com/a/1147768 - var description_document = description_iframe.contentDocument; - var body = description_document.body, html = description_document.documentElement; - var height = Math.max(body.scrollHeight, body.offsetHeight, - html.clientHeight, html.scrollHeight, html.offsetHeight); - var width = Math.max(body.scrollWidth, body.offsetWidth, - html.clientWidth, html.scrollWidth, html.offsetWidth); - description_iframe.width = width; - description_iframe.height = height; + // Need to use event for DOM loaded otherwise, document's height will be 0 + document.addEventListener("DOMContentLoaded", function(event) { + var description_document = description_iframe.contentDocument; + var body = description_document.body, html = description_document.documentElement; + var height = Math.max(body.scrollHeight, body.offsetHeight, + html.clientHeight, html.scrollHeight, html.offsetHeight); + var width = Math.max(body.scrollWidth, body.offsetWidth, + html.clientWidth, html.scrollWidth, html.offsetWidth); + description_iframe.width = width; + description_iframe.height = height; + }) {% endif %} diff --git a/src/lgr_renderer/templatetags/__init__.py b/src/lgr_renderer/templatetags/__init__.py new file mode 100644 index 00000000..3717c10c --- /dev/null +++ b/src/lgr_renderer/templatetags/__init__.py @@ -0,0 +1,10 @@ +# -*- coding: utf-8 -*- +# Author: Viagénie +""" +__init__.py - +""" +from __future__ import unicode_literals + +import logging + +logger = logging.getLogger(__name__) diff --git a/src/lgr_renderer/templatetags/lgr_renderer.py b/src/lgr_renderer/templatetags/lgr_renderer.py new file mode 100644 index 00000000..1282a523 --- /dev/null +++ b/src/lgr_renderer/templatetags/lgr_renderer.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +# Author: Viagénie +""" +lgr_renderer.py - Template tags for LGR renderer +""" +from __future__ import unicode_literals + +from django import template + +register = template.Library() + + +@register.filter +def escape_newlines(value): + """ Stupid filter to remove newline in an escaped HTML string.""" + return value.replace('\r', '').replace('\n', '') \ No newline at end of file From c31a95941863e78e09578f3407285557777f2e3c Mon Sep 17 00:00:00 2001 From: Audric Schiltknecht Date: Thu, 5 Oct 2017 14:37:29 -0400 Subject: [PATCH 08/20] Fix access to attribute following core refactoring Class::ref renamed to references. --- src/lgr_renderer/api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lgr_renderer/api.py b/src/lgr_renderer/api.py index 00dc5f76..cd5fb4fe 100644 --- a/src/lgr_renderer/api.py +++ b/src/lgr_renderer/api.py @@ -191,7 +191,7 @@ def _generate_context_classes(lgr, udata): ctx.append({ 'name': clz.name, 'definition': _generate_clz_definition(clz), - 'references': _generate_references(clz.ref), + 'references': _generate_references(clz.references), 'members': clz.get_pattern(lgr.rules_lookup, lgr.classes_lookup, udata, as_set=True) }) From 128052c1bc1f07159ac3b8031fd91449bd26c378 Mon Sep 17 00:00:00 2001 From: Audric Schiltknecht Date: Thu, 5 Oct 2017 14:38:02 -0400 Subject: [PATCH 09/20] Process references for Action/Rule in HTML output Model did not define references for these 2 classes. Now that it is, process them when generating the HTML ouput. --- src/lgr_renderer/api.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lgr_renderer/api.py b/src/lgr_renderer/api.py index cd5fb4fe..6aad280d 100644 --- a/src/lgr_renderer/api.py +++ b/src/lgr_renderer/api.py @@ -226,6 +226,7 @@ def _has_anchor_rule(rule): 'trigger': rule.name in trigger_rules, 'anchor': _has_anchor_rule(rule), 'comment': rule.comment, + 'references': _generate_references(rule.references), }) return ctx @@ -269,7 +270,7 @@ def _generate_context_actions(lgr): 'condition': condition, 'rule_variant_set': rule_variant_set, 'disposition': action.disp, - 'references': _generate_references([]), + 'references': _generate_references(action.references), 'comment': action.comment or '' }) From d1a38179e450fc11b1a9fc5731f73c595f2be939 Mon Sep 17 00:00:00 2001 From: Julien BERNARD Date: Thu, 5 Oct 2017 16:25:37 -0400 Subject: [PATCH 10/20] Better display of regex for WLE in HTML output --- src/lgr_renderer/api.py | 22 ++++++- src/lgr_renderer/templates/lgr_renderer.html | 64 +++++++++++++++++++- 2 files changed, 81 insertions(+), 5 deletions(-) diff --git a/src/lgr_renderer/api.py b/src/lgr_renderer/api.py index 6aad280d..03aa82cc 100644 --- a/src/lgr_renderer/api.py +++ b/src/lgr_renderer/api.py @@ -7,12 +7,13 @@ from __future__ import unicode_literals import logging +import re from itertools import izip from natsort import natsorted from django.utils.translation import ugettext_lazy as _ -from django.utils.html import format_html_join, format_html +from django.utils.html import format_html_join, format_html, mark_safe from lgr.matcher import AnchorMatcher from lgr.validate.lgr_stats import generate_stats @@ -192,7 +193,7 @@ def _generate_context_classes(lgr, udata): 'name': clz.name, 'definition': _generate_clz_definition(clz), 'references': _generate_references(clz.references), - 'members': clz.get_pattern(lgr.rules_lookup, lgr.classes_lookup, udata, as_set=True) + 'members': _generate_links(clz) }) return ctx @@ -222,6 +223,7 @@ def _has_anchor_rule(rule): ctx.append({ 'name': rule.name, 'regex': rule.get_pattern(lgr.rules_lookup, lgr.classes_lookup, udata), + 'readable_regex': _generate_links(rule), 'context': rule.name in context_rules, 'trigger': rule.name in trigger_rules, 'anchor': _has_anchor_rule(rule), @@ -232,6 +234,22 @@ def _has_anchor_rule(rule): return ctx +def _generate_links(rule): + readable_rule = '{}'.format(rule) + # Add links in the rule + # - links on codepoints + for cp_match in re.finditer(r'U\+[0-9A-F]{4,}', readable_rule): + cp = cp_match.group(0) + ref = int(cp.lstrip('U+'), 16) + readable_rule = readable_rule.replace(cp, format_html('{}', ref, cp)) + # - links on classes references + for match in re.finditer(r':(class|rule)-ref-([^:]+):', readable_rule): + whole, obj, ref = match.group(0), match.group(1), match.group(2) + readable_rule = readable_rule.replace(whole.strip(':'), format_html('{1}', obj, ref)) + + return mark_safe(readable_rule) + + def _generate_action_condition_rule_variant_set(action): """ Given an action, generate the condition and rule/variant string. diff --git a/src/lgr_renderer/templates/lgr_renderer.html b/src/lgr_renderer/templates/lgr_renderer.html index d166ac4a..061eaecd 100644 --- a/src/lgr_renderer/templates/lgr_renderer.html +++ b/src/lgr_renderer/templates/lgr_renderer.html @@ -407,7 +407,7 @@

Character Classes

{% for clz in classes %} - {{ clz.name }} + {{ clz.name }} {{ clz.definition }} {{ clz.members|length }} {{ clz.members }} @@ -416,6 +416,20 @@

Character Classes

{% endfor %} +
+

Legend

+
+
Members or Ranges
+
Lists the members of the class as code points (xxx) or as ranges of code points (xxx-yyy). Any class too numerous to list in full is elided with "...".
+
Tag=ttt
+
An anonymous class implicitly defined based on tag value.
+
[: :] - named character set
+
Reference to a named character set [:name:].
+
(∩,∪,\,△) - set operators
+
Sets may be combined by set operators ( = intersection, = union, \ = difference, = symmetric difference).
+
+
+

Whole label evaluation and context rules

@@ -434,7 +448,7 @@

Whole label evaluation an {% for rule in rules %} {{ rule.name }} - {{ rule.regex }} + {{ rule.readable_regex }} {{ rule.trigger }} {{ rule.context }} {{ rule.anchor }} @@ -443,6 +457,39 @@

Whole label evaluation an {% endfor %} +
+

Legend

+
+
Used as Trigger
+
This rule triggers one of the actions listed below.
+
Used as Context
+
This rule defines a required context for a code point.
+
Anchor
+
This has a placeholder for the code point for which it is evaluated.
+
Regular Expression
+
A regular expression equivalent to the rule, shown in the standard notation with some extensions as noted:
+
⚓ - context anchor
+
In a regex the ⚓ signifies a placeholder for the actual code point, when a context is evaluated. The code point must occur at the position corresponding to the anchor. Rules containing an anchor cannot be used as triggers.
+
(...)← - look-behind
+
If present encloses required context preceding the anchor.
+
→(...) - look-ahead
+
If present encloses required context following the anchor.
+
(: :) - rule reference
+
Non-recursive reference to a named rule.
+
[: :] - character set either named, implicit or property
+
Reference to a named character set [:name:], an implicit character set [:class tag=val:] or a given Unicode property [:class property:prop=val:]. A leading "^" before name or tag indicates the set complement.
+
(|) - choice operator
+
When there are various choices in a rule, choices are separated by the set operator (|) and each choice is represented by a set enclosed in parenthesis.
+
(∩,∪,\,△) - set operators
+
Sets may be combined by set operators ( = intersection, = union, \ = difference, = symmetric difference).
+
Ø - empty set
+
Indicated that the following set is empty because of the result of set operations or because non of its elements are part of the repertoire defined here.
+
An empty set that is not optional means that a rule can never match.
+
{m}, {m, n}, {m,} - count
+
Indicates that the preceding element is evaluated from m to n times. Only {m} means the preceding element is evaluated exactly m times (equivalent to {m,m}), {m,} means the preceding element is evaluated at least m times.
+
No count indicated the elements is evaluated once (equivalent to "{1}").
+
+

Actions

@@ -534,5 +581,16 @@

Table of References

}) {% endif %} + {% comment "Enable for beautiful flashing background effect" %} + + + + {% endcomment %} - \ No newline at end of file + From 5caffc961ad40d340cb62cccd34805e992748e74 Mon Sep 17 00:00:00 2001 From: Julien BERNARD Date: Thu, 5 Oct 2017 17:19:20 -0400 Subject: [PATCH 11/20] Fix tests for existing LGR set name --- src/lgr_editor/views.py | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/src/lgr_editor/views.py b/src/lgr_editor/views.py index fe2d80c8..e72637ad 100644 --- a/src/lgr_editor/views.py +++ b/src/lgr_editor/views.py @@ -113,6 +113,7 @@ def import_lgr(request): """ form = ImportLGRForm(request.POST or None, request.FILES or None) if form.is_valid(): + lgr_names = [lgr['name'] for lgr in session_list_lgr(request)] is_set = len(form.cleaned_data['file']) > 1 merged_id = None lgr_info_set = [] @@ -124,19 +125,13 @@ def import_lgr(request): lgr_id = lgr_id.rsplit('.', 1)[0] lgr_id = slugify(lgr_id) - if lgr_id in [lgr['name'] for lgr in session_list_lgr(request)]: - if not is_set: - logger.error("Import existing LGR") - return render(request, 'lgr_editor/import_invalid.html', - context={'error': _("The LGR you have tried to import already exists in your working " - "session. Please rename it before importing it.")}) - else: - logger.error("Import existing LGR set") - return render(request, 'lgr_editor/import_invalid.html', - context={ - 'error': _("The LGR set name already exists. Please use another name.")}) + if not is_set and lgr_id in lgr_names: + logger.error("Import existing LGR") + return render(request, 'lgr_editor/import_invalid.html', + context={'error': _("The LGR you have tried to import already exists in your working " + "session. Please rename it before importing it.")}) - if is_set and lgr_id in map(lambda x: x.name, lgr_info_set): + if is_set and lgr_id in [lgr.name for lgr in lgr_info_set]: logger.error("Import existing LGR in set") return render(request, 'lgr_editor/import_invalid.html', context={'error': _("The LGR you have tried to import already exists in your set. " @@ -158,11 +153,11 @@ def import_lgr(request): lgr_info_set.append(lgr_info) if is_set: - if merged_id in [lgr['name'] for lgr in session_list_lgr(request)]: + merged_id = slugify(form.cleaned_data['set_name']) + if merged_id in lgr_names: logger.error("Import existing LGR set") return render(request, 'lgr_editor/import_invalid.html', - context={'error': _("The LGR set you have tried to import already exists in your working " - "session. Please rename some LGR in set before importing it.")}) + context={'error': _("The LGR set name already exists. Please use another name.")}) try: merged_id = session_merge_set(request, lgr_info_set, From 823258f12587e5bb5a2b4d6120531573d36cea32 Mon Sep 17 00:00:00 2001 From: Audric Schiltknecht Date: Fri, 6 Oct 2017 14:25:45 -0400 Subject: [PATCH 12/20] Update to new cross-script variant API --- src/lgr_tools/api.py | 7 ++++--- src/lgr_tools/tasks.py | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lgr_tools/api.py b/src/lgr_tools/api.py index fae85c19..a2b7c81f 100644 --- a/src/lgr_tools/api.py +++ b/src/lgr_tools/api.py @@ -7,7 +7,7 @@ from lgr.tools.compare import union_lgrs, intersect_lgrs, diff_lgrs, diff_lgr_sets from lgr.tools.annotate import annotate, lgr_set_annotate from lgr.tools.diff_collisions import diff, collision -from lgr.tools.cross_script_variants import cross_script_variants +from lgr.tools.cross_script_variants import cross_script_variants from lgr_editor.api import LGRInfo, session_open_lgr @@ -130,13 +130,14 @@ def lgr_set_annotate_labels(lgr, script_lgr, set_labels, labels_file): return lgr_set_annotate(lgr, script_lgr, set_labels, labels_file) -def lgr_cross_script_variants(lgr_set, unidb, labels_file): +def lgr_cross_script_variants(merged_lgr, lgr_set, unidb, labels_file): """ Compute cross-script variants of a list of labels in a LGR. + :param merged_lgr: The merged LGR object. :param lgr_set: The LGR set object. :param unidb: The unicode database to use. :param labels_file: The file containing the list of labels :return: Text log to be displayed """ - return cross_script_variants(lgr_set, unidb, labels_file) + return cross_script_variants(merged_lgr, lgr_set, unidb, labels_file) diff --git a/src/lgr_tools/tasks.py b/src/lgr_tools/tasks.py index c99edc9f..9832b55a 100644 --- a/src/lgr_tools/tasks.py +++ b/src/lgr_tools/tasks.py @@ -243,6 +243,7 @@ def cross_script_variants_task(lgr_json, labels_json, email_address, storage_pat email_body=body, email_address=email_address, cb=lgr_cross_script_variants, - lgr_set=[s.lgr for s in lgr_info.lgr_set], + merged_lgr=lgr_info.lgr, + lgr_set=[l.lgr for l in lgr_info.lgr_set], unidb=lgr_info.lgr.unicode_database, labels_file=labels_info.labels) From 3074435ce7043ac44322c0bed4e2612a6d3ebd62 Mon Sep 17 00:00:00 2001 From: Audric Schiltknecht Date: Wed, 11 Oct 2017 13:09:44 -0400 Subject: [PATCH 13/20] Emphasize that set labels are optional in form --- src/lgr_editor/forms/codepoints.py | 7 ++++--- src/lgr_tools/forms.py | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/lgr_editor/forms/codepoints.py b/src/lgr_editor/forms/codepoints.py index 83ec515f..c5f4a546 100644 --- a/src/lgr_editor/forms/codepoints.py +++ b/src/lgr_editor/forms/codepoints.py @@ -91,9 +91,10 @@ class ValidateLabelForm(forms.Form): label = forms.CharField(label=_("Label")) set_labels = forms.FileField(label=_("Allocated Set labels"), required=False, - help_text=_('Labels already allocated in the LGR set, ' - 'that will be used to check for collisions ' - 'when evaluating labels on the LGR set')) + help_text=_('Optional list of labels already allocated ' + 'in the LGR set, that will be used to check ' + 'for collisions when evaluating labels using ' + 'the merged LGR set')) script = forms.ChoiceField(label=_("Script"), required=False, help_text=_('The script used to validate the label')) diff --git a/src/lgr_tools/forms.py b/src/lgr_tools/forms.py index f9b53406..accac3cd 100644 --- a/src/lgr_tools/forms.py +++ b/src/lgr_tools/forms.py @@ -150,9 +150,10 @@ class LGRAnnotateSelector(forms.Form): set_labels = forms.FileField(label=_("Allocated Set labels"), required=False, - help_text=_('Labels already allocated in the LGR set, ' - 'that will be used to check for collisions ' - 'when evaluating labels on the LGR set')) + help_text=_('Optional list of labels already allocated ' + 'in the LGR set, that will be used to check ' + 'for collisions when evaluating labels using ' + 'the merged LGR set')) script = forms.ChoiceField(label=_("Script"), help_text=_('The script used to validate the label'), From 1e34e2caade617adea88ac7281d32facdcde9fb2 Mon Sep 17 00:00:00 2001 From: Audric Schiltknecht Date: Wed, 11 Oct 2017 13:12:44 -0400 Subject: [PATCH 14/20] Update translations --- .../locale/ar/LC_MESSAGES/django.mo | Bin 504 -> 504 bytes .../locale/ar/LC_MESSAGES/django.po | 90 ++++++++-------- .../locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes .../locale/en/LC_MESSAGES/django.po | 90 ++++++++-------- .../locale/fr/LC_MESSAGES/django.mo | Bin 16389 -> 16182 bytes .../locale/fr/LC_MESSAGES/django.po | 101 ++++++++---------- src/lgr_tools/locale/ar/LC_MESSAGES/django.mo | Bin 504 -> 504 bytes src/lgr_tools/locale/ar/LC_MESSAGES/django.po | 24 ++--- src/lgr_tools/locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes src/lgr_tools/locale/en/LC_MESSAGES/django.po | 24 ++--- src/lgr_tools/locale/fr/LC_MESSAGES/django.mo | Bin 6771 -> 6837 bytes src/lgr_tools/locale/fr/LC_MESSAGES/django.po | 33 +++--- .../locale/ar/LC_MESSAGES/django.mo | Bin 504 -> 504 bytes .../locale/ar/LC_MESSAGES/django.po | 2 +- .../locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes .../locale/en/LC_MESSAGES/django.po | 2 +- .../locale/fr/LC_MESSAGES/django.mo | Bin 2503 -> 2503 bytes .../locale/fr/LC_MESSAGES/django.po | 2 +- src/lgr_web/locale/ar/LC_MESSAGES/django.mo | Bin 504 -> 504 bytes src/lgr_web/locale/ar/LC_MESSAGES/django.po | 2 +- src/lgr_web/locale/en/LC_MESSAGES/django.mo | Bin 378 -> 378 bytes src/lgr_web/locale/en/LC_MESSAGES/django.po | 2 +- src/lgr_web/locale/fr/LC_MESSAGES/django.mo | Bin 5988 -> 5988 bytes src/lgr_web/locale/fr/LC_MESSAGES/django.po | 2 +- 24 files changed, 178 insertions(+), 196 deletions(-) diff --git a/src/lgr_editor/locale/ar/LC_MESSAGES/django.mo b/src/lgr_editor/locale/ar/LC_MESSAGES/django.mo index 9a075e2be2c66642f67f3975fc748ff61266d5a0..6374871264f7d55e6a6447abcd0bb6ba021a7f6b 100644 GIT binary patch delta 19 acmeyt{DXNyKZl{Af}y#Uf!W6CiHrb7D+W>k delta 19 acmeyt{DXNyKZk*_f{~$>f#JsKiHrb6^#(}* diff --git a/src/lgr_editor/locale/ar/LC_MESSAGES/django.po b/src/lgr_editor/locale/ar/LC_MESSAGES/django.po index 75375c56..a10d6253 100644 --- a/src/lgr_editor/locale/ar/LC_MESSAGES/django.po +++ b/src/lgr_editor/locale/ar/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-10-03 21:01+0000\n" +"POT-Creation-Date: 2017-10-11 17:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -92,19 +92,19 @@ msgstr "" #: forms/codepoints.py:94 msgid "" -"Labels already allocated in the LGR set, that will be used to check for " -"collisions when evaluating labels on the LGR set" +"Optional list of labels already allocated in the LGR set, that will be used " +"to check for collisions when evaluating labels using the merged LGR set" msgstr "" -#: forms/codepoints.py:97 +#: forms/codepoints.py:98 msgid "Script" msgstr "" -#: forms/codepoints.py:99 +#: forms/codepoints.py:100 msgid "The script used to validate the label" msgstr "" -#: forms/codepoints.py:108 +#: forms/codepoints.py:109 #, python-format msgid "Maximum length: %d code points" msgstr "" @@ -655,169 +655,163 @@ msgid "" msgstr "" #: views.py:137 -msgid "The LGR set name already exists. Please use another name." -msgstr "" - -#: views.py:142 msgid "" "The LGR you have tried to import already exists in your set. Please rename " "it before importing it." msgstr "" -#: views.py:164 -msgid "" -"The LGR set you have tried to import already exists in your working session. " -"Please rename some LGR in set before importing it." +#: views.py:160 +msgid "The LGR set name already exists. Please use another name." msgstr "" -#: views.py:258 +#: views.py:253 msgid "summary" msgstr "" -#: views.py:285 +#: views.py:280 #, python-format msgid "New code point %s added" msgstr "" -#: views.py:373 +#: views.py:368 msgid "New variant added" msgstr "" -#: views.py:446 +#: views.py:441 msgid "Code point edited" msgstr "" -#: views.py:626 views.py:662 +#: views.py:621 views.py:657 msgid "References updated successfully" msgstr "" -#: views.py:665 +#: views.py:660 #, python-format msgid "" "Variant %(var_codepoint)s for code point %(codepoint)s with when=%(when)s " "and not-when=%(not_when)s could not be found" msgstr "" -#: views.py:701 +#: views.py:696 #, python-format msgid "Code point %s has been deleted" msgstr "" -#: views.py:723 +#: views.py:718 #, python-format msgid "Variant %(var_cp)s with when='%(when)s' and not-when='%(not_when)s'" msgstr "" -#: views.py:729 +#: views.py:724 #, python-format msgid "%(var_msg_prefix)s has been deleted" msgstr "" -#: views.py:732 +#: views.py:727 #, python-format msgid "%(var_msg_prefix)s could not be deleted because it was not found" msgstr "" -#: views.py:761 +#: views.py:756 msgid "New reference created" msgstr "" -#: views.py:948 views.py:1111 views.py:1195 +#: views.py:943 views.py:1106 views.py:1190 msgid "No body specified" msgstr "" -#: views.py:957 +#: views.py:952 #, python-format msgid "Class \"%s\" does not exist" msgstr "" -#: views.py:961 +#: views.py:956 #, python-format msgid "Class \"%s\" deleted." msgstr "" -#: views.py:966 +#: views.py:961 msgid "No class element found" msgstr "" -#: views.py:968 views.py:1131 +#: views.py:963 views.py:1126 msgid "Name attribute must be present" msgstr "" -#: views.py:972 views.py:989 views.py:1135 views.py:1152 views.py:1219 -#: views.py:1232 +#: views.py:967 views.py:984 views.py:1130 views.py:1147 views.py:1214 +#: views.py:1227 #, python-format msgid "" "Encountered XML syntax error: %s (line number may be wrong, try subtracting " "one from the reported line number)" msgstr "" -#: views.py:975 views.py:992 views.py:1138 views.py:1155 views.py:1222 -#: views.py:1235 +#: views.py:970 views.py:987 views.py:1133 views.py:1150 views.py:1217 +#: views.py:1230 msgid "Your XML is not valid" msgstr "" -#: views.py:980 +#: views.py:975 #, python-format msgid "Class \"%s\" already exists" msgstr "" -#: views.py:982 +#: views.py:977 #, python-format msgid "Class \"%s\" saved." msgstr "" -#: views.py:1120 +#: views.py:1115 #, python-format msgid "Rule \"%s\" does not exist" msgstr "" -#: views.py:1124 +#: views.py:1119 #, python-format msgid "Rule \"%s\" deleted." msgstr "" -#: views.py:1129 +#: views.py:1124 msgid "No rule element found" msgstr "" -#: views.py:1143 +#: views.py:1138 #, python-format msgid "Rule \"%s\" already exists" msgstr "" -#: views.py:1145 +#: views.py:1140 #, python-format msgid "Rule \"%s\" saved." msgstr "" -#: views.py:1206 +#: views.py:1201 #, python-format msgid "Action \"%s\" does not exist" msgstr "" -#: views.py:1210 +#: views.py:1205 #, python-format msgid "Action \"%s\" deleted." msgstr "" -#: views.py:1215 +#: views.py:1210 msgid "No action element found" msgstr "" -#: views.py:1225 +#: views.py:1220 msgid "Action saved." msgstr "" -#: views.py:1294 views.py:1440 +#: views.py:1289 views.py:1435 #, python-format msgid "%d code points added" msgstr "" -#: views.py:1409 +#: views.py:1404 msgid "No code point in input file" msgstr "" -#: views.py:1601 +#: views.py:1596 msgid "Meta data saved" msgstr "" diff --git a/src/lgr_editor/locale/en/LC_MESSAGES/django.mo b/src/lgr_editor/locale/en/LC_MESSAGES/django.mo index 2f5840a4c5bf17f3f02217ee54556c3fa7b3022c..dde25836140eaad3e007cf2fb92bbd8d339bcb56 100644 GIT binary patch delta 18 Zcmeyx^owaiKZl{Af}y#Uf!W0Aj{!g*2DJbH delta 18 Zcmeyx^owaiKZk*_f{~$>f#JmIj{!gO2CM)8 diff --git a/src/lgr_editor/locale/en/LC_MESSAGES/django.po b/src/lgr_editor/locale/en/LC_MESSAGES/django.po index 4248ea5b..28581188 100644 --- a/src/lgr_editor/locale/en/LC_MESSAGES/django.po +++ b/src/lgr_editor/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-10-03 21:01+0000\n" +"POT-Creation-Date: 2017-10-11 17:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -90,19 +90,19 @@ msgstr "" #: forms/codepoints.py:94 msgid "" -"Labels already allocated in the LGR set, that will be used to check for " -"collisions when evaluating labels on the LGR set" +"Optional list of labels already allocated in the LGR set, that will be used " +"to check for collisions when evaluating labels using the merged LGR set" msgstr "" -#: forms/codepoints.py:97 +#: forms/codepoints.py:98 msgid "Script" msgstr "" -#: forms/codepoints.py:99 +#: forms/codepoints.py:100 msgid "The script used to validate the label" msgstr "" -#: forms/codepoints.py:108 +#: forms/codepoints.py:109 #, python-format msgid "Maximum length: %d code points" msgstr "" @@ -653,169 +653,163 @@ msgid "" msgstr "" #: views.py:137 -msgid "The LGR set name already exists. Please use another name." -msgstr "" - -#: views.py:142 msgid "" "The LGR you have tried to import already exists in your set. Please rename " "it before importing it." msgstr "" -#: views.py:164 -msgid "" -"The LGR set you have tried to import already exists in your working session. " -"Please rename some LGR in set before importing it." +#: views.py:160 +msgid "The LGR set name already exists. Please use another name." msgstr "" -#: views.py:258 +#: views.py:253 msgid "summary" msgstr "" -#: views.py:285 +#: views.py:280 #, python-format msgid "New code point %s added" msgstr "" -#: views.py:373 +#: views.py:368 msgid "New variant added" msgstr "" -#: views.py:446 +#: views.py:441 msgid "Code point edited" msgstr "" -#: views.py:626 views.py:662 +#: views.py:621 views.py:657 msgid "References updated successfully" msgstr "" -#: views.py:665 +#: views.py:660 #, python-format msgid "" "Variant %(var_codepoint)s for code point %(codepoint)s with when=%(when)s " "and not-when=%(not_when)s could not be found" msgstr "" -#: views.py:701 +#: views.py:696 #, python-format msgid "Code point %s has been deleted" msgstr "" -#: views.py:723 +#: views.py:718 #, python-format msgid "Variant %(var_cp)s with when='%(when)s' and not-when='%(not_when)s'" msgstr "" -#: views.py:729 +#: views.py:724 #, python-format msgid "%(var_msg_prefix)s has been deleted" msgstr "" -#: views.py:732 +#: views.py:727 #, python-format msgid "%(var_msg_prefix)s could not be deleted because it was not found" msgstr "" -#: views.py:761 +#: views.py:756 msgid "New reference created" msgstr "" -#: views.py:948 views.py:1111 views.py:1195 +#: views.py:943 views.py:1106 views.py:1190 msgid "No body specified" msgstr "" -#: views.py:957 +#: views.py:952 #, python-format msgid "Class \"%s\" does not exist" msgstr "" -#: views.py:961 +#: views.py:956 #, python-format msgid "Class \"%s\" deleted." msgstr "" -#: views.py:966 +#: views.py:961 msgid "No class element found" msgstr "" -#: views.py:968 views.py:1131 +#: views.py:963 views.py:1126 msgid "Name attribute must be present" msgstr "" -#: views.py:972 views.py:989 views.py:1135 views.py:1152 views.py:1219 -#: views.py:1232 +#: views.py:967 views.py:984 views.py:1130 views.py:1147 views.py:1214 +#: views.py:1227 #, python-format msgid "" "Encountered XML syntax error: %s (line number may be wrong, try subtracting " "one from the reported line number)" msgstr "" -#: views.py:975 views.py:992 views.py:1138 views.py:1155 views.py:1222 -#: views.py:1235 +#: views.py:970 views.py:987 views.py:1133 views.py:1150 views.py:1217 +#: views.py:1230 msgid "Your XML is not valid" msgstr "" -#: views.py:980 +#: views.py:975 #, python-format msgid "Class \"%s\" already exists" msgstr "" -#: views.py:982 +#: views.py:977 #, python-format msgid "Class \"%s\" saved." msgstr "" -#: views.py:1120 +#: views.py:1115 #, python-format msgid "Rule \"%s\" does not exist" msgstr "" -#: views.py:1124 +#: views.py:1119 #, python-format msgid "Rule \"%s\" deleted." msgstr "" -#: views.py:1129 +#: views.py:1124 msgid "No rule element found" msgstr "" -#: views.py:1143 +#: views.py:1138 #, python-format msgid "Rule \"%s\" already exists" msgstr "" -#: views.py:1145 +#: views.py:1140 #, python-format msgid "Rule \"%s\" saved." msgstr "" -#: views.py:1206 +#: views.py:1201 #, python-format msgid "Action \"%s\" does not exist" msgstr "" -#: views.py:1210 +#: views.py:1205 #, python-format msgid "Action \"%s\" deleted." msgstr "" -#: views.py:1215 +#: views.py:1210 msgid "No action element found" msgstr "" -#: views.py:1225 +#: views.py:1220 msgid "Action saved." msgstr "" -#: views.py:1294 views.py:1440 +#: views.py:1289 views.py:1435 #, python-format msgid "%d code points added" msgstr "" -#: views.py:1409 +#: views.py:1404 msgid "No code point in input file" msgstr "" -#: views.py:1601 +#: views.py:1596 msgid "Meta data saved" msgstr "" diff --git a/src/lgr_editor/locale/fr/LC_MESSAGES/django.mo b/src/lgr_editor/locale/fr/LC_MESSAGES/django.mo index 4682f8d8463fff79e923218a5e77d3d163be0fd7..6380fc7a17c792c9382de44951d12bf500277810 100644 GIT binary patch delta 3621 zcmYk;4NO&K9LMqh1yPh21qx9Tjs*%R(oG~q%`l5JwKNqqQ$eo^UBTp9rorvaZ26LU zP%|twQ=}KO-DzvfYU-S8R%&i#HeJ5-wpQ!St!&lzckgNIjQ{yO&pGElFaPH`M^`-N zJJ1|Hm)>EcaqK0oBUUGveTRQ_;l!~$)hroz;H|h9Z@{1M8qDZwwhIfeAAXD-@lVu! zUpKR!n29Oq$4)o`1*J3?x#hI9NE%~P{tD~SbZbtoJ6?Vo})Btv&MtlJE{6X*f zNgPc50#3zjW-$;$r~&Q43Os{-bicdV^*9n4g9W;?{*-MQC$eN4FxnwzQ$K(j*ePUR z+Ibv=mr<$AChr<>9!|$nGq>0bQ<;iIgBoK7Wr4ou6Pe#MXh~Lc8Y$G zk7}?4)nFwuS(}U+zyqkI3ZdG08uk1t@A^(;^0pr}q2pMH-=f+{53_^RP=Ti(UFzki zRDX=+cmaoCFIrJ5t5C0Dv**jGOdUl{;8V=Sb6AFdBXhGsyyMFBcvL-HO+hJNhDz}& z)J)c+8r*~faHn_w6sm*IQG4PdYIA;%%FrKPy;HAPdznbzb{(qS!8ihkBN+%=69sJs z7d7KOsF}Wtv+xSm;1m{8yZ0T`a|KK8wK7BsCIwAUi5Eqd9e&Qs2>c%F+Ng+>i8L^IUYBnW_*bgW3(=8gq_$Q_31rl%~11LqcKgx3~hBcB&6dbHWmd{q9mShiV_Z~#0_%z;(oeN?qu0Um~2|M8d z&-buD^`oe_<5yI>32c20?0VFmC@&=cya_gi3u<5yDs@Zo7JL%Pk{v>I{55LrbBbaa zxCwQC5~|^)s4wI?T!dS37^aXOWpWHELsh8fXZ9oi>=S#43mtHiccT^cdPGneI*v(r z0hN&-Q3Fq4ni^OxCSn!xXR|r!{u)&3+prPe#)a6gI5vPSVG2t1Tc{KrMg8C+>OK7x z)o{lFv43p3dKTdzuHTL`aXBhuU!Wg*l$hO#cj0hsLHf2+sMP<1d{Qi&&4)ULLK*5i zFbdhwHW^cKDJI}b)a$hdwN%GY13ZBNyoj3dXnNO#=AhbHifX?V)nPkoLPs!O@Bc>> zv;-%yEB@^1yNTC>dK#+15>$ppp`NQoHTWQEK&w$p(}G&M*Sz`>q)9uAteT|^j6F95 z6ZQVz6D^oc!+ktZ<2{hUmLEaA2$jk@?x1=NgxM`bdV9jPT7 zfU1|GHuogdUYLe@elv!(X8S0}4^cC|gbkQC*z93!!N)OqNbL1oi+qD@3o0}3V+AI% zL2kn_nCIg^95{)3WT;uK?(;5cAd8W;w}*$3|1=8AxggizDBOlU@DgU=-%^R1d_BXS5G^N4lPQtUJpUL&@; z6O!*8zMhiy>r;e7Xr;AZwPH^a?Szh(i4gG$(M0H|a=%K>Eqk* zqI+lyb|&V!#VNVIH{5Y4xxJ@R?@sI>w9)^6?4mNmUBgq_G5;NW1+A6nMYIr=gzJ8k zl3f_2^bEn<9sLk$U+H)@M)bc76DjX;(^4}EU!?RHF`rmXY$9|N#;_+m=eXlivnzH} zdxUs_c-_0R(6bD861RJG!6z_!Oy{gmlttQ8pXwahos|=pwkTBFP+uK%g0+nyr(vEG zbo*!3W-V!~t)K6N76hDyfyMI!bDgo36P?CDC~~N$Ki)0NO^>X|33W{L`yKzyQ1 zbgr|yckhO6VMfwjFdJJ~mJnjuWV0%RUlm5@=dCocSbNN5dIUHN@+R6a$ zwdmkl!*PUYPi$&t%xw${<-~E+MHw6MSv-ZE@G-W+P7%iJ#VqvTH4MR)k@o#4jHBKK z!!Z}1!qFIHjMwB-pe<8??QkweVKr(Dn^7I@!X9`Wlkt{QkLKa-)CXd7oQoPjIjZ9- zRQt84_V-{6p7Phd#$2MnpZT4WM)ohZ#E@uX(l81Wa4@Fe4Ak=*Q622Tw)hz`CUX@v z@Y`67_b~&f(5nVmiyB}(M$*68OQ8)O!(hCC>fn+dz+0#p+($JWOgeNu5|x>boKi6Z z_50b_5lfKOFg2*u*JCLj#3>lxn*7tIsiL4Yu0j2v4qM;>R7W47M%;vY{(^J;24+#e zixbepEYh(WHJ}rii?^|h?#CMQG>%2aU>3)+{*=u+PGrgKLVt%CPrV5>u$#!fG=E|r zypK!KL*A9rJ*a^n!bx}%dBn73!8P+#)DjLrO{@_0{Ooq*Uu#~;1*OjGJXnp|1G`Z_ zIE-rW1ggPrkx83tr~&+qTCzu|b|TmqdcGCvdJiNCW&mnp+9ap9Yqw3z5C@AG+s1&b6 z&ER!ZgKuI_-0Ix_0@c9<)SkGC+ML%>nfb%1KSZ?`+QFW26sp~19EiP;iF?f=3fc^7 zQ8V6-nrS2I?f4C+;ye~`2A)Ih;+{;;|2%f4-iW>N3Myk^Ze#jk9>xV2vj#^{ujkb$ z!rK_E9!9ez`4X9NsF_Sa|K`9f>XoP^I*Q6j6Y9CkxCC$FV4TQ$49D&G0{()^RCbcR z$A+NV9f``sWNc0UW;z8XX(~~fs6}nc{WyY=e}L-v5z`!nE!hB?@kC@2#*4dgC+ZVC z^cj0;7NR!cQq)>+Kn& zqB4|=p_q@#$V}A0t1uHcVRJl>{Fxs(>3(3co%;4zPQ3@t#~oe@>d4j8PIVVliu$3} zY69wgEk-rG4EYq8YR7l65A{!Q3jT%4*yt4dAFmo5M*TGAU<8dx4G^WF*yYH$OF z;{lAskCBaSzD5_`!Djdn^?C)S@ycQjYRQ^V1N{c|dfhXLOnMXHIXvZfYzawXd`L~8=U$XWNhX~ z^yvK$WlQV9Ow>R|Ip#apr{O@ZSE5pR9QpI-{TV_2mC{1g0M=m`?nVC02b>1suc!fg zGVCQEhVk@orcqF;mZL_#8MVpk^#Jb2=dj7SAI?sTrrsL0i@Q4Y6x2)yp)y#2TC!zM zeHChR??ml|_t2{!+@hcXJaUZ9vS*xztGK=p%kUmn;>>LO`cK%BdLbJ^AEaVbhH5Yu zui#*8$44S5fah==_0_zKb9BEy`PYbY8IIQeIgG*)j+1c+^-|OTeHeomunpe8SMdSn z;S#p~7(9j3FoJbcCKsSGyBzhqYE-{<1M}@Q+rfplT=*2Vrr)FX!b4=>W*MPPQ$pxS zB1RKiRpHQVrxE(?3gTTWEi|_C0ZKYjh?j{fLc{<6c!|PvYkp{6va;bN<`EX5V>6+_ zYY*v|LNHvj!@3a~^ZXG?HG~e9#eclPIgpr4bRlLC?-L1xj@iUp{*rx~2nUJnR&Lmf zIU6Zy-&PZDLMyF(JDylW>?d^WCMt-%gp$93m|%SumYBSa(o90fPGUKcNq7hy^~Bpm z3!=#C5S|!t*vbh{>^O;fEU}BwhJW&Sk4mBSDo@RQ;xb=N^A6F0s3r1nsp;-sX?;`Eto2E5Rnjv1ruOlD znA9dLW=2s-xqH^xhPh{VxTlwtlr28nV69Ita+NP$vU+UBMMQUB3FQ#|*VCzs; WCu?d}yfri1V})h6^W|jy6Y?K`dzx?n diff --git a/src/lgr_editor/locale/fr/LC_MESSAGES/django.po b/src/lgr_editor/locale/fr/LC_MESSAGES/django.po index 5bc13c54..a338abcc 100644 --- a/src/lgr_editor/locale/fr/LC_MESSAGES/django.po +++ b/src/lgr_editor/locale/fr/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-10-03 21:01+0000\n" -"PO-Revision-Date: 2017-10-03 17:05-0400\n" +"POT-Creation-Date: 2017-10-11 17:06+0000\n" +"PO-Revision-Date: 2017-10-11 13:11-0400\n" "Last-Translator: \n" "Language-Team: \n" "Language: fr\n" @@ -93,21 +93,22 @@ msgstr "Labels du set alloués" #: forms/codepoints.py:94 msgid "" -"Labels already allocated in the LGR set, that will be used to check for " -"collisions when evaluating labels on the LGR set" +"Optional list of labels already allocated in the LGR set, that will be used " +"to check for collisions when evaluating labels using the merged LGR set" msgstr "" -"Labels déjà alloué dans le set LGR, qui seront utilisés pour vérifier les " -"collisions lors de l'évaluation de labels sur le set LGR" +"Liste optionelle de labels déjà alloués dans le set LGR, qui seront utilisés " +"pour vérifier les collisions lors de l'évaluation de labels en utilisant le " +"set LGR fusionné" -#: forms/codepoints.py:97 +#: forms/codepoints.py:98 msgid "Script" msgstr "Script" -#: forms/codepoints.py:99 +#: forms/codepoints.py:100 msgid "The script used to validate the label" msgstr "Script utilisé pour valider le label" -#: forms/codepoints.py:108 +#: forms/codepoints.py:109 #, python-format msgid "Maximum length: %d code points" msgstr "Longueur maximale : %d code points" @@ -686,10 +687,6 @@ msgstr "" "travail. Merci de renommer le fichier avant de l'importer." #: views.py:137 -msgid "The LGR set name already exists. Please use another name." -msgstr "Ce nom de set LGR existe déjà. Merci d'utiliser un autre nom." - -#: views.py:142 msgid "" "The LGR you have tried to import already exists in your set. Please rename " "it before importing it." @@ -697,36 +694,32 @@ msgstr "" "La LGR que vous essayez d'importer existe déjà dans votre ensemble. Merci de " "renommer le fichier avant de l'importer." -#: views.py:164 -msgid "" -"The LGR set you have tried to import already exists in your working session. " -"Please rename some LGR in set before importing it." -msgstr "" -"La LGR que vous essayez d'importer existe déjà dans votre session de " -"travail. Merci de renommer le fichier avant de l'importer." +#: views.py:160 +msgid "The LGR set name already exists. Please use another name." +msgstr "Ce nom de set LGR existe déjà. Merci d'utiliser un autre nom." -#: views.py:258 +#: views.py:253 msgid "summary" msgstr "résumé" -#: views.py:285 +#: views.py:280 #, python-format msgid "New code point %s added" msgstr "Nouveau code point ajouté %s" -#: views.py:373 +#: views.py:368 msgid "New variant added" msgstr "Nouvelle variante ajoutée" -#: views.py:446 +#: views.py:441 msgid "Code point edited" msgstr "Code point modifié" -#: views.py:626 views.py:662 +#: views.py:621 views.py:657 msgid "References updated successfully" msgstr "Les références ont été correctement mises à jour" -#: views.py:665 +#: views.py:660 #, python-format msgid "" "Variant %(var_codepoint)s for code point %(codepoint)s with when=%(when)s " @@ -735,56 +728,56 @@ msgstr "" "La variante %(var_codepoint)s du code point %(codepoint)s avec when=" "%(when)s et not-when=%(not_when)s n'a pas été trouvée" -#: views.py:701 +#: views.py:696 #, python-format msgid "Code point %s has been deleted" msgstr "Le code point %s a été supprimé" -#: views.py:723 +#: views.py:718 #, python-format msgid "Variant %(var_cp)s with when='%(when)s' and not-when='%(not_when)s'" msgstr "" "La variante %(var_cp)s avec when='%(when)s' and not-when='%(not_when)s'" -#: views.py:729 +#: views.py:724 #, python-format msgid "%(var_msg_prefix)s has been deleted" msgstr "%(var_msg_prefix)s a été supprimée" -#: views.py:732 +#: views.py:727 #, python-format msgid "%(var_msg_prefix)s could not be deleted because it was not found" msgstr "" "%(var_msg_prefix)s n'a pas pu être supprimée car elle n'a pas été trouvée" -#: views.py:761 +#: views.py:756 msgid "New reference created" msgstr "Nouvelle référence créée" -#: views.py:948 views.py:1111 views.py:1195 +#: views.py:943 views.py:1106 views.py:1190 msgid "No body specified" msgstr "Aucun contenu spécifié" -#: views.py:957 +#: views.py:952 #, python-format msgid "Class \"%s\" does not exist" msgstr "La classe \"%s\" n'existe pas" -#: views.py:961 +#: views.py:956 #, python-format msgid "Class \"%s\" deleted." msgstr "Classe \"%s\" supprimée." -#: views.py:966 +#: views.py:961 msgid "No class element found" msgstr "Aucune classe trouvée" -#: views.py:968 views.py:1131 +#: views.py:963 views.py:1126 msgid "Name attribute must be present" msgstr "L'attribut name est obligatoire" -#: views.py:972 views.py:989 views.py:1135 views.py:1152 views.py:1219 -#: views.py:1232 +#: views.py:967 views.py:984 views.py:1130 views.py:1147 views.py:1214 +#: views.py:1227 #, python-format msgid "" "Encountered XML syntax error: %s (line number may be wrong, try subtracting " @@ -793,72 +786,72 @@ msgstr "" "Erreur de syntaxe XML : %s (le numéro de ligne peut-être incorrect, essayer " "de soustraire un au numéro reporté)" -#: views.py:975 views.py:992 views.py:1138 views.py:1155 views.py:1222 -#: views.py:1235 +#: views.py:970 views.py:987 views.py:1133 views.py:1150 views.py:1217 +#: views.py:1230 msgid "Your XML is not valid" msgstr "Votre XML n'est pas valide" -#: views.py:980 +#: views.py:975 #, python-format msgid "Class \"%s\" already exists" msgstr "La classe \"%s\" existe déjà" -#: views.py:982 +#: views.py:977 #, python-format msgid "Class \"%s\" saved." msgstr "Classe \"%s\" sauvegardée." -#: views.py:1120 +#: views.py:1115 #, python-format msgid "Rule \"%s\" does not exist" msgstr "La règle \"%s\" n'existe pas" -#: views.py:1124 +#: views.py:1119 #, python-format msgid "Rule \"%s\" deleted." msgstr "Règle \"%s\" supprimée." -#: views.py:1129 +#: views.py:1124 msgid "No rule element found" msgstr "Aucune règle trouvée" -#: views.py:1143 +#: views.py:1138 #, python-format msgid "Rule \"%s\" already exists" msgstr "La règle \"%s\" existe déjà" -#: views.py:1145 +#: views.py:1140 #, python-format msgid "Rule \"%s\" saved." msgstr "Règle \"%s\" sauvegardée." -#: views.py:1206 +#: views.py:1201 #, python-format msgid "Action \"%s\" does not exist" msgstr "Action \"%s\" n'existe pas" -#: views.py:1210 +#: views.py:1205 #, python-format msgid "Action \"%s\" deleted." msgstr "Action \"%s\" supprimée." -#: views.py:1215 +#: views.py:1210 msgid "No action element found" msgstr "Aucune action trouvée" -#: views.py:1225 +#: views.py:1220 msgid "Action saved." msgstr "Action sauvée." -#: views.py:1294 views.py:1440 +#: views.py:1289 views.py:1435 #, python-format msgid "%d code points added" msgstr "%d code points ont été ajoutés" -#: views.py:1409 +#: views.py:1404 msgid "No code point in input file" msgstr "Le fichier d'entrée ne contient aucun code point" -#: views.py:1601 +#: views.py:1596 msgid "Meta data saved" msgstr "Metadonnées sauvegardées" diff --git a/src/lgr_tools/locale/ar/LC_MESSAGES/django.mo b/src/lgr_tools/locale/ar/LC_MESSAGES/django.mo index a057e6e2b1d89c14a072b89048795354ff889684..af53eaac8c1f4477d432a99156d5422965a94e09 100644 GIT binary patch delta 19 acmeyt{DXNyKZl{Af}y#Uf%(SiiHrb7Fa}cq delta 19 acmeyt{DXNyKZk*_f{~$>fzih4iHrb6`UXk> diff --git a/src/lgr_tools/locale/ar/LC_MESSAGES/django.po b/src/lgr_tools/locale/ar/LC_MESSAGES/django.po index 32405a4d..bcfdbf76 100644 --- a/src/lgr_tools/locale/ar/LC_MESSAGES/django.po +++ b/src/lgr_tools/locale/ar/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-10-03 21:02+0000\n" +"POT-Creation-Date: 2017-10-11 17:07+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -55,11 +55,11 @@ msgstr "" msgid "Choose the action to perform on selected LGRs" msgstr "" -#: forms.py:61 forms.py:114 forms.py:146 forms.py:178 forms.py:192 +#: forms.py:61 forms.py:114 forms.py:146 forms.py:179 forms.py:193 msgid "LGR" msgstr "" -#: forms.py:62 forms.py:179 +#: forms.py:62 forms.py:180 msgid "LGR set" msgstr "" @@ -71,19 +71,19 @@ msgstr "" msgid "Second LGR to use in diff" msgstr "" -#: forms.py:80 forms.py:118 forms.py:161 forms.py:196 +#: forms.py:80 forms.py:118 forms.py:162 forms.py:197 msgid "Labels" msgstr "" -#: forms.py:81 forms.py:119 forms.py:162 forms.py:197 +#: forms.py:81 forms.py:119 forms.py:163 forms.py:198 msgid "List of labels to use in diff. File must be encoded in UNIX format." msgstr "" -#: forms.py:85 forms.py:123 forms.py:166 forms.py:201 +#: forms.py:85 forms.py:123 forms.py:167 forms.py:202 msgid "E-mail" msgstr "" -#: forms.py:86 forms.py:124 forms.py:167 forms.py:202 +#: forms.py:86 forms.py:124 forms.py:168 forms.py:203 msgid "Provide your e-mail address" msgstr "" @@ -111,7 +111,7 @@ msgstr "" msgid "Show rules in output (this can be very verbose)" msgstr "" -#: forms.py:115 forms.py:193 +#: forms.py:115 forms.py:194 msgid "LGR to use for collisions" msgstr "" @@ -125,15 +125,15 @@ msgstr "" #: forms.py:153 msgid "" -"Labels already allocated in the LGR set, that will be used to check for " -"collisions when evaluating labels on the LGR set" +"Optional list of labels already allocated in the LGR set, that will be used " +"to check for collisions when evaluating labels using the merged LGR set" msgstr "" -#: forms.py:157 +#: forms.py:158 msgid "Script" msgstr "" -#: forms.py:158 +#: forms.py:159 msgid "The script used to validate the label" msgstr "" diff --git a/src/lgr_tools/locale/en/LC_MESSAGES/django.mo b/src/lgr_tools/locale/en/LC_MESSAGES/django.mo index 7a7082f1a215f7993ff802257d041316c2c82e7a..338d6f421d2ae4f5fdc19ac873d8e81697d33d06 100644 GIT binary patch delta 18 Zcmeyx^owaiKZl{Af}y#Uf%(Mgj{!g<2DShI delta 18 Zcmeyx^owaiKZk*_f{~$>fzib2j{!gS2CV=9 diff --git a/src/lgr_tools/locale/en/LC_MESSAGES/django.po b/src/lgr_tools/locale/en/LC_MESSAGES/django.po index 59cf93e7..e1417f10 100644 --- a/src/lgr_tools/locale/en/LC_MESSAGES/django.po +++ b/src/lgr_tools/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-10-03 21:02+0000\n" +"POT-Creation-Date: 2017-10-11 17:07+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -53,11 +53,11 @@ msgstr "" msgid "Choose the action to perform on selected LGRs" msgstr "" -#: forms.py:61 forms.py:114 forms.py:146 forms.py:178 forms.py:192 +#: forms.py:61 forms.py:114 forms.py:146 forms.py:179 forms.py:193 msgid "LGR" msgstr "" -#: forms.py:62 forms.py:179 +#: forms.py:62 forms.py:180 msgid "LGR set" msgstr "" @@ -69,19 +69,19 @@ msgstr "" msgid "Second LGR to use in diff" msgstr "" -#: forms.py:80 forms.py:118 forms.py:161 forms.py:196 +#: forms.py:80 forms.py:118 forms.py:162 forms.py:197 msgid "Labels" msgstr "" -#: forms.py:81 forms.py:119 forms.py:162 forms.py:197 +#: forms.py:81 forms.py:119 forms.py:163 forms.py:198 msgid "List of labels to use in diff. File must be encoded in UNIX format." msgstr "" -#: forms.py:85 forms.py:123 forms.py:166 forms.py:201 +#: forms.py:85 forms.py:123 forms.py:167 forms.py:202 msgid "E-mail" msgstr "" -#: forms.py:86 forms.py:124 forms.py:167 forms.py:202 +#: forms.py:86 forms.py:124 forms.py:168 forms.py:203 msgid "Provide your e-mail address" msgstr "" @@ -109,7 +109,7 @@ msgstr "" msgid "Show rules in output (this can be very verbose)" msgstr "" -#: forms.py:115 forms.py:193 +#: forms.py:115 forms.py:194 msgid "LGR to use for collisions" msgstr "" @@ -123,15 +123,15 @@ msgstr "" #: forms.py:153 msgid "" -"Labels already allocated in the LGR set, that will be used to check for " -"collisions when evaluating labels on the LGR set" +"Optional list of labels already allocated in the LGR set, that will be used " +"to check for collisions when evaluating labels using the merged LGR set" msgstr "" -#: forms.py:157 +#: forms.py:158 msgid "Script" msgstr "" -#: forms.py:158 +#: forms.py:159 msgid "The script used to validate the label" msgstr "" diff --git a/src/lgr_tools/locale/fr/LC_MESSAGES/django.mo b/src/lgr_tools/locale/fr/LC_MESSAGES/django.mo index 344cdfd08d423d527c1105a74daba8d58dc861dd..8fe8e98f36759bec56cd507a295c6fb106224c93 100644 GIT binary patch delta 750 zcmXZZ&r1|x9LMqRxURZRx|yqMS@?)qY$Q2sAr-YoheYgPKQ48WcC?AvS!u?=SlF|W zrw4*Sx^$>c8%+8Kv^7;=llIU^R!NHo_TfBs&|OU zk8Y96_!~7|utoM^6KC)v_Th0Bhw&^{@Ftr5+sIaVizE0R58_Weh1njFH7wyc?qC|f z^+;W2Ek0!7JPXrVkw;j=UCitkS;wzv3fD+6h#OeK7(20r5AhE+@WFw90gm;H6qrwA z7v95V46%;8{X9*>a!zCm_mIQNivbZb$!nazH)u}!{r~zeG$%}xridd*M!Al8ETef} zLwcN%#RxgLZaj(8fDBfaXN2NH!@9iQK}Aco?7HA>6_$Hqq3% zM0azL8Dy*6KnH!iicfI^3tt$RJ6WTOxswKRBS|_)(vO;fo=**1W4e;MZ5`D+sggAw zXWBn^=!!ktw;XxZV8K_u7e=bOsC?b(_J&qMFIZC1T~}4y`%7+F&0V>sLN|&xZNII{ zag;N4ZgNT&dXL!7-(-MyOiG>%vqsM=iN~^ dP%Du~1_E^Im#z%26 zHjo^#SPMxk2#sPPCKoMiEUu!k@PQ%5!h*yIiSbpM=y$*^_A@g(`=8%G^Stxd(Pu}D z!VMAm84(HNL{#JyPGJqcz%y9J-B`n73m(8MW>Ek47%3skco1J=Gk(Ml{Ef5NRx6Ug zr?>;(*GfUo8f;|Y1Ph5eks>;{j^A(&-|gBi?2uwF^E=ps53mZ?@D_f?WgMyB4iIe+ zNit91P8`H*cmWHz(!g6E*tdsn@dMJV%r%OTN#@bSN2ohp{lESRb%z_6#!6C=QMxgX zeW<@XNb_RBS+7-NuWRov=5&z(RJl`a;5A*2b zJ=AsnqHZKi3bsl;rm!6c@De`6 1);\n" -"X-Generator: Poedit 2.0.2\n" +"X-Generator: Poedit 2.0.3\n" #: forms.py:9 msgid "Union" @@ -54,11 +54,11 @@ msgstr "Action à effectuer sur les LGR" msgid "Choose the action to perform on selected LGRs" msgstr "Choisir l'action à exécuter sur les LGR" -#: forms.py:61 forms.py:114 forms.py:146 forms.py:178 forms.py:192 +#: forms.py:61 forms.py:114 forms.py:146 forms.py:179 forms.py:193 msgid "LGR" msgstr "LGR" -#: forms.py:62 forms.py:179 +#: forms.py:62 forms.py:180 msgid "LGR set" msgstr "Set LGR" @@ -70,21 +70,21 @@ msgstr "Première LGR sur laquelle appliquer la différence" msgid "Second LGR to use in diff" msgstr "Seconde LGR sur laquelle appliquer la différence" -#: forms.py:80 forms.py:118 forms.py:161 forms.py:196 +#: forms.py:80 forms.py:118 forms.py:162 forms.py:197 msgid "Labels" msgstr "Labels" -#: forms.py:81 forms.py:119 forms.py:162 forms.py:197 +#: forms.py:81 forms.py:119 forms.py:163 forms.py:198 msgid "List of labels to use in diff. File must be encoded in UNIX format." msgstr "" "Liste de labels sur lesquels tester les différences. Le fichier doit être " "encodé au format UNIX." -#: forms.py:85 forms.py:123 forms.py:166 forms.py:201 +#: forms.py:85 forms.py:123 forms.py:167 forms.py:202 msgid "E-mail" msgstr "E-mail" -#: forms.py:86 forms.py:124 forms.py:167 forms.py:202 +#: forms.py:86 forms.py:124 forms.py:168 forms.py:203 msgid "Provide your e-mail address" msgstr "Fournir une adresse e-mail" @@ -113,7 +113,7 @@ msgid "Show rules in output (this can be very verbose)" msgstr "" "Affiche les règles dans le fichier de sortie (cela peut être très verbeux)" -#: forms.py:115 forms.py:193 +#: forms.py:115 forms.py:194 msgid "LGR to use for collisions" msgstr "LGR sur laquelle vérifier les collisions" @@ -127,17 +127,18 @@ msgstr "Labels du set alloués" #: forms.py:153 msgid "" -"Labels already allocated in the LGR set, that will be used to check for " -"collisions when evaluating labels on the LGR set" +"Optional list of labels already allocated in the LGR set, that will be used " +"to check for collisions when evaluating labels using the merged LGR set" msgstr "" -"Labels déjà alloué dans le set LGR, qui seront utilisés pour vérifier les " -"collisions lors de l'évaluation de labels sur le set LGR" +"List optionelle de labels déjà alloués dans le set LGR, qui seront utilisés " +"pour vérifier les collisions lors de l'évaluation de labels en utilisant le " +"set LGR fusionné" -#: forms.py:157 +#: forms.py:158 msgid "Script" msgstr "Script" -#: forms.py:158 +#: forms.py:159 msgid "The script used to validate the label" msgstr "Script utilisé pour valider le label" diff --git a/src/lgr_validator/locale/ar/LC_MESSAGES/django.mo b/src/lgr_validator/locale/ar/LC_MESSAGES/django.mo index 9a075e2be2c66642f67f3975fc748ff61266d5a0..af53eaac8c1f4477d432a99156d5422965a94e09 100644 GIT binary patch delta 19 acmeyt{DXNyKZl{Af}y#Uf%(SiiHrb7Fa}cq delta 19 acmeyt{DXNyKZk*_f{~$>f#JsKiHrb6^#(}* diff --git a/src/lgr_validator/locale/ar/LC_MESSAGES/django.po b/src/lgr_validator/locale/ar/LC_MESSAGES/django.po index 136e97ba..6537c5e3 100644 --- a/src/lgr_validator/locale/ar/LC_MESSAGES/django.po +++ b/src/lgr_validator/locale/ar/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-10-03 21:01+0000\n" +"POT-Creation-Date: 2017-10-11 17:07+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/src/lgr_validator/locale/en/LC_MESSAGES/django.mo b/src/lgr_validator/locale/en/LC_MESSAGES/django.mo index 2f5840a4c5bf17f3f02217ee54556c3fa7b3022c..338d6f421d2ae4f5fdc19ac873d8e81697d33d06 100644 GIT binary patch delta 18 Zcmeyx^owaiKZl{Af}y#Uf%(Mgj{!g<2DShI delta 18 Zcmeyx^owaiKZk*_f{~$>f#JmIj{!gO2CM)8 diff --git a/src/lgr_validator/locale/en/LC_MESSAGES/django.po b/src/lgr_validator/locale/en/LC_MESSAGES/django.po index 275ccfce..57fdf933 100644 --- a/src/lgr_validator/locale/en/LC_MESSAGES/django.po +++ b/src/lgr_validator/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-10-03 21:01+0000\n" +"POT-Creation-Date: 2017-10-11 17:07+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/src/lgr_validator/locale/fr/LC_MESSAGES/django.mo b/src/lgr_validator/locale/fr/LC_MESSAGES/django.mo index 53a224ef2ad6ef2f0a2d9b60f16b969e7e18f2c0..7fe6f53bb532a9656d1b6bdfc4f6a6571da122ad 100644 GIT binary patch delta 21 ccmX>ud|Y@#Dl3Pfp@N~gm4W%@T-GQS07)PPud|Y@#Dl3P9v4WAIm4V^rT-GQS07%;f+W-In diff --git a/src/lgr_validator/locale/fr/LC_MESSAGES/django.po b/src/lgr_validator/locale/fr/LC_MESSAGES/django.po index 32dc0053..27d9c924 100644 --- a/src/lgr_validator/locale/fr/LC_MESSAGES/django.po +++ b/src/lgr_validator/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-10-03 21:01+0000\n" +"POT-Creation-Date: 2017-10-11 17:07+0000\n" "PO-Revision-Date: 2017-10-03 17:06-0400\n" "Last-Translator: \n" "Language-Team: \n" diff --git a/src/lgr_web/locale/ar/LC_MESSAGES/django.mo b/src/lgr_web/locale/ar/LC_MESSAGES/django.mo index 9a075e2be2c66642f67f3975fc748ff61266d5a0..6374871264f7d55e6a6447abcd0bb6ba021a7f6b 100644 GIT binary patch delta 19 acmeyt{DXNyKZl{Af}y#Uf!W6CiHrb7D+W>k delta 19 acmeyt{DXNyKZk*_f{~$>f#JsKiHrb6^#(}* diff --git a/src/lgr_web/locale/ar/LC_MESSAGES/django.po b/src/lgr_web/locale/ar/LC_MESSAGES/django.po index d83b30c8..cf15bca9 100644 --- a/src/lgr_web/locale/ar/LC_MESSAGES/django.po +++ b/src/lgr_web/locale/ar/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-10-03 21:01+0000\n" +"POT-Creation-Date: 2017-10-11 17:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/src/lgr_web/locale/en/LC_MESSAGES/django.mo b/src/lgr_web/locale/en/LC_MESSAGES/django.mo index 2f5840a4c5bf17f3f02217ee54556c3fa7b3022c..dde25836140eaad3e007cf2fb92bbd8d339bcb56 100644 GIT binary patch delta 18 Zcmeyx^owaiKZl{Af}y#Uf!W0Aj{!g*2DJbH delta 18 Zcmeyx^owaiKZk*_f{~$>f#JmIj{!gO2CM)8 diff --git a/src/lgr_web/locale/en/LC_MESSAGES/django.po b/src/lgr_web/locale/en/LC_MESSAGES/django.po index 17bd9ee0..f9e4cd51 100644 --- a/src/lgr_web/locale/en/LC_MESSAGES/django.po +++ b/src/lgr_web/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-10-03 21:01+0000\n" +"POT-Creation-Date: 2017-10-11 17:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/src/lgr_web/locale/fr/LC_MESSAGES/django.mo b/src/lgr_web/locale/fr/LC_MESSAGES/django.mo index de35ec2ed3ae9b12dab3eac6f11dbd70cde7084f..1d4865f4c88fb5b8e45ef39311387ed098489b7c 100644 GIT binary patch delta 21 ccmaE&_e5{QZypXqLj^-~D+9C5%)E(Q09o+{oB#j- delta 21 ccmaE&_e5{QZypW Date: Wed, 11 Oct 2017 16:07:48 -0400 Subject: [PATCH 15/20] Do not display variants if label is not eligible in validation form Improve the validation form to be more consistent and not display unused sections. --- .../templates/lgr_validator/validator.html | 148 +++++++++--------- 1 file changed, 77 insertions(+), 71 deletions(-) diff --git a/src/lgr_validator/templates/lgr_validator/validator.html b/src/lgr_validator/templates/lgr_validator/validator.html index 31b31db8..b7347690 100644 --- a/src/lgr_validator/templates/lgr_validator/validator.html +++ b/src/lgr_validator/templates/lgr_validator/validator.html @@ -144,84 +144,90 @@

{% trans "No col {% endif %} - {# TODO: for set, only display if eligible #} - - - - - - - - - {% if variants %} - {% for v in variants %} - - - - - - - - - - {% endfor %} - - {% elif num_variants > threshold_include_vars %} + {# Only display variants if label is eligible and no collision #} + {% if eligible and not collisions_error and not collision %} +
{% trans "Variant labels" %}{% if num_variants %}{% trans " (including original as last)" %}{% endif %}
- {% if num_variants %} - {% blocktrans %}{{ num_variants }} variant label(s) generated.{% endblocktrans %} -
- {% trans "By disposition: " %} {{ summary }} - {% else %} - {% blocktrans %}No variant labels generated.{% endblocktrans %} - {% endif %} -
- {{ v.u_label }} -
- {{ v.a_label }} -
{{ v.disposition }} - - {{ v.cp_display_html }} - - - -
-
- {% if v.action_idx >= 0 %} - {% blocktrans with action_idx=v.action_idx action=v.action trimmed %} - [Action index: {{ action_idx }}] {{ action }} - {% endblocktrans %} - {% endif %} - -
-
- + + + - {% endif %} -
- {% blocktrans trimmed %} - Too many variant labels to be displayed in the browser. Please download the results in .csv instead. - {% endblocktrans %} + {% trans "Variant labels" %}{% if num_variants %}{% trans " (including original as last)" %}{% endif %}
+ {% if num_variants %} + {% blocktrans %}{{ num_variants }} variant label(s) generated.{% endblocktrans %} +
+ {% trans "By disposition: " %} {{ summary }} + {% else %} + {% blocktrans %}No variant labels generated.{% endblocktrans %} + {% endif %}
+ {% if variants %} + {% for v in variants %} + + + {{ v.u_label }} +
+ {{ v.a_label }} + + {{ v.disposition }} + + + {{ v.cp_display_html }} + + + + + + + + +
+ {% if v.action_idx >= 0 %} + {% blocktrans with action_idx=v.action_idx action=v.action trimmed %} + [Action index: {{ action_idx }}] {{ action }} + {% endblocktrans %} + {% endif %} + +
+ + + {% endfor %} - {# TODO: Need to pass set_labels along #} - {% if lgr_set_id %} - {% url 'lgr_validate_csv' lgr_set_id=lgr_set_id lgr_id=lgr_id as lgr_validate_csv_url %} - {% else %} - {% url 'lgr_validate_csv' lgr_id=lgr_id as lgr_validate_csv_url %} + {% elif num_variants > threshold_include_vars %} + {% if not is_set or lgr_set_id %} {# TODO Remove download at the moment as we cannot retrieve label file here #} + + + {% blocktrans trimmed %} + Too many variant labels to be displayed in the browser. Please download the results in .csv instead. + {% endblocktrans %} + + + {% endif %} + {% endif %} + {% endif %} - {% if not is_set or lgr_set_id %} {# TODO Remove download at the moment as we cannot retrieve label file here #} - - - {% blocktrans %}Download results in CSV{% endblocktrans %} - + + {% if num_variants > threshold_include_vars %} + {# TODO: Need to pass set_labels along #} + {% if lgr_set_id %} + {% url 'lgr_validate_csv' lgr_set_id=lgr_set_id lgr_id=lgr_id as lgr_validate_csv_url %} + {% else %} + {% url 'lgr_validate_csv' lgr_id=lgr_id as lgr_validate_csv_url %} + {% endif %} + {% if not is_set or lgr_set_id %} {# TODO Remove download at the moment as we cannot retrieve label file here #} + + + {% blocktrans %}Download results in CSV{% endblocktrans %} + + {% endif %} {% endif %} + {% endif %} {% endblock content %} From 2242ba94797079d4ba75c4208dddfcb4fd904617 Mon Sep 17 00:00:00 2001 From: Audric Schiltknecht Date: Wed, 11 Oct 2017 16:47:19 -0400 Subject: [PATCH 16/20] Minor update in README --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a5deea3a..607cb5c8 100644 --- a/README.md +++ b/README.md @@ -61,9 +61,9 @@ THE POSSIBILITY OF SUCH DAMAGE. * [django-widget-tweaks](https://github.com/kmike/django-widget-tweaks) [MIT License] * [Celery](http://www.celeryproject.org/) [BSD License] * [lxml](http://lxml.de/) [BSD License] - * lgr-core [TBD] + * [lgr-core](https://github.com/icann/lgr-core) [BSD License] * [picu](https://pypi.python.org/pypi/picu) [MIT/X License] - * munidata [TBD] + * [munidata](https://github.com/icann/munidata) [BSD License] * [natsort](https://pypi.python.org/pypi/natsort) [MIT License] For documentation generation: @@ -180,6 +180,7 @@ Some notes for developers * `src/lgr_editor/templates` contains editor-specific templates * `src/lgr_validator/templates` contains validator-specific templates * `src/lgr_tools/templates` contains tool-specific templates +* `src/lgr_renderer/templates` contains renderers (HTML output) templates #### Static Assets (CSS, Javascript, Images) @@ -227,7 +228,7 @@ relevant container. The -h option should contain an allowed host specified in the hosts argument when building the container. - # docker run -h lgr.example -d -p 80:80 lgr-toolset + # docker run -h lgr.example -d -p 80:80 lgr-toolset ### Debug the Docker image From a0209c9f885bbf1f6c027e2246ad9eebed3084ec Mon Sep 17 00:00:00 2001 From: Audric Schiltknecht Date: Mon, 16 Oct 2017 16:40:22 -0400 Subject: [PATCH 17/20] Move from django DB broker to redis - Django DB broker was too unreliable and crashed celerey when lots of tasks were added at the same time. - Update requirements. - Update documentation. - Update Dockerfile and start.sh. --- README.md | 5 +++-- docker/Dockerfile | 2 +- docker/start.sh | 5 +++-- etc/requirements.txt | 2 +- src/lgr_web/settings/default.py | 2 +- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 607cb5c8..7bddb62f 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,7 @@ THE POSSIBILITY OF SUCH DAMAGE. * [picu](https://pypi.python.org/pypi/picu) [MIT/X License] * [munidata](https://github.com/icann/munidata) [BSD License] * [natsort](https://pypi.python.org/pypi/natsort) [MIT License] +* A [redis](https://redis.io/) server for asynchronous computations For documentation generation: @@ -160,8 +161,8 @@ Both the session engine and result files may need a periodical cleaning. Conside #### Celery -Celery is used to handle asynchronous processing for long operations in background. A broker is used to transport messages. See Celery documentation on [broker configuration](http://docs.celeryproject.org/en/latest/getting-started/brokers/). -The default broker used is the (experimental) [Django Database broker](http://docs.celeryproject.org/en/latest/getting-started/brokers/django.html). +Celery is used to handle asynchronous processing for long operations in background. A broker is used to transport messages. See Celery documentation on [broker configuration](http://docs.celeryproject.org/en/3.1/getting-started/brokers/). +The default broker used is the [redis broker](http://docs.celeryproject.org/en/3.1/getting-started/brokers/redis.html). To launch celery, in a venv-enabled console: diff --git a/docker/Dockerfile b/docker/Dockerfile index 3d529ef5..44dd535d 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -6,7 +6,7 @@ MAINTAINER ICANN RUN yum makecache \ && yum install -y epel-release \ && yum makecache \ - && yum install -y nginx python-pip python-devel make gcc libxml2-devel libxslt-devel \ + && yum install -y nginx python-pip python-devel make gcc libxml2-devel libxslt-devel redis \ && yum clean all ENV HOME=/var/www/lgr diff --git a/docker/start.sh b/docker/start.sh index da8c4271..c042abb4 100755 --- a/docker/start.sh +++ b/docker/start.sh @@ -1,5 +1,6 @@ #!/bin/bash -exec /usr/bin/gunicorn --error-log /var/log/lgr/gunicorn-lgr.log -w 3 -t 300 --max-requests 100 -b unix:/run/lgr/lgr-django.sock --chdir ${HOME}/lgr-django/src lgr_web.wsgi:application & -exec celery --app=lgr_tools --workdir=WORKDIR_TO_REPLACE/src -D --concurrency=1 --logfile=/var/log/lgr/celery-lgr.log worker & +redis-server --daemonize yes +/usr/bin/gunicorn --error-log /var/log/lgr/gunicorn-lgr.log -w 3 -t 300 --max-requests 100 -b unix:/run/lgr/lgr-django.sock --chdir ${HOME}/lgr-django/src lgr_web.wsgi:application & +celery --app=lgr_tools --workdir=WORKDIR_TO_REPLACE/src -D --concurrency=1 --logfile=/var/log/lgr/celery-lgr.log worker & exec nginx -g 'daemon off;' diff --git a/etc/requirements.txt b/etc/requirements.txt index 4a8907e1..f81b471a 100644 --- a/etc/requirements.txt +++ b/etc/requirements.txt @@ -2,7 +2,7 @@ Django==1.8.4 django-widget-tweaks==1.4.1 django-multiupload==0.5.2 -celery==3.1.23 +celery[redis]==3.1.23 # LGR/Unicode modules picu==0.8 diff --git a/src/lgr_web/settings/default.py b/src/lgr_web/settings/default.py index d4da715b..032b56af 100644 --- a/src/lgr_web/settings/default.py +++ b/src/lgr_web/settings/default.py @@ -250,6 +250,6 @@ delivery_mode=1), ) -BROKER_URL = 'django://' +BROKER_URL = 'redis://localhost:6379/0' ##### /Celery configuration parameters ##### From b9edf80e581e9819d9d3bc1918ed846b5afd32fa Mon Sep 17 00:00:00 2001 From: Audric Schiltknecht Date: Tue, 17 Oct 2017 08:56:12 -0400 Subject: [PATCH 18/20] Use proper list for rendering classes Previous code was using the class lookup. Switch to the class name array. This has the double effet of: - properly sorting the classes for display using same order as other parts of the LGR - only render explicitly defined classes, since implicit tag-based classes are present in the class lookup but not in the class list. --- src/lgr_renderer/api.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lgr_renderer/api.py b/src/lgr_renderer/api.py index 03aa82cc..59ddce15 100644 --- a/src/lgr_renderer/api.py +++ b/src/lgr_renderer/api.py @@ -188,7 +188,8 @@ def _generate_context_classes(lgr, udata): :return: Context to be used in template. """ ctx = [] - for clz in lgr.classes_lookup.values(): + for clz_name in lgr.classes: + clz = lgr.classes_lookup[clz_name] ctx.append({ 'name': clz.name, 'definition': _generate_clz_definition(clz), From 8000a43debe9c3a26474796a3be966f5c4f5f6ec Mon Sep 17 00:00:00 2001 From: Audric Schiltknecht Date: Tue, 17 Oct 2017 08:58:27 -0400 Subject: [PATCH 19/20] Render class' comments in HTML output --- src/lgr_renderer/api.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lgr_renderer/api.py b/src/lgr_renderer/api.py index 59ddce15..65671f92 100644 --- a/src/lgr_renderer/api.py +++ b/src/lgr_renderer/api.py @@ -194,6 +194,7 @@ def _generate_context_classes(lgr, udata): 'name': clz.name, 'definition': _generate_clz_definition(clz), 'references': _generate_references(clz.references), + 'comment': clz.comment or '', 'members': _generate_links(clz) }) From 6c418f2d0694d9e0abbf56f6ec5a9c6aaed2b74f Mon Sep 17 00:00:00 2001 From: Audric Schiltknecht Date: Thu, 12 Oct 2017 16:32:43 -0400 Subject: [PATCH 20/20] Prepare 1.8 release --- Release_Notes.md | 18 ++++++++++++++++++ etc/requirements.txt | 2 +- setup.py | 2 +- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/Release_Notes.md b/Release_Notes.md index 2622c490..075f5296 100644 --- a/Release_Notes.md +++ b/Release_Notes.md @@ -1,5 +1,23 @@ # LGR-Toolset Release notes +## 1.8 (2017-10-18) +Fixes: + - Merge LGR containing the same code point. + - Improve HTML formatting for description in HTML output. + - Improve merge for metadata's description element: if all descriptions are using HTML, then output will be in HTML. + - Include references in WLE table in HTML output. + - Better display of regex for WLE in HTML output. + - Order metadata section per language then per script. + - Fix size of variant set in HTML output. + - Download result links are now ordered with newest on top. + - Emphasize that the "Allocated set labels" file is optional. + - Fix typo on homepage. + - Update links to published RFC. + - Allow import of an LGR part of a set as a standalone LGR. + - Improve cross-script variants tool: generate the variants using the merged LGR, + and list element LGRs used by the variants' code points. + - Use redis as default Celery's broker for better stability. + ## 1.7 (2017-06-26) New features: - Handling of LGR sets: import multiple LGR documents to create a set (merged LGR). diff --git a/etc/requirements.txt b/etc/requirements.txt index f81b471a..f3a6107f 100644 --- a/etc/requirements.txt +++ b/etc/requirements.txt @@ -7,7 +7,7 @@ celery[redis]==3.1.23 # LGR/Unicode modules picu==0.8 munidata==1.2 -lgr-core==1.7 +lgr-core==1.8 # Natural sorting implementation natsort==5.0.3 diff --git a/setup.py b/setup.py index 70f4d7a3..4803cbe8 100755 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ setup( name='lgr-django', - version='1.7', + version='1.8', author='Viagenie and Wil Tan', author_email='support@viagenie.ca', packages=find_packages('src'),