From cb5ec1ceb45db78d779df93f4f02527f91eeffa7 Mon Sep 17 00:00:00 2001 From: Sander Land Date: Mon, 1 Jun 2020 23:09:03 +0200 Subject: [PATCH] fr --- i18n.py | 3 + katrain/core/lang.py | 2 + .../i18n/locales/en/LC_MESSAGES/katrain.mo | Bin 10314 -> 10168 bytes .../i18n/locales/en/LC_MESSAGES/katrain.po | 18 +- .../i18n/locales/fr/LC_MESSAGES/katrain.mo | Bin 10702 -> 11314 bytes .../i18n/locales/fr/LC_MESSAGES/katrain.po | 265 ++++++++++-------- 6 files changed, 152 insertions(+), 136 deletions(-) diff --git a/i18n.py b/i18n.py index 6627fcf..c7fbe4e 100644 --- a/i18n.py +++ b/i18n.py @@ -29,6 +29,9 @@ for lang in locales: else: strings_to_langs[entry.msgid][lang] = entry.msgstr strings_to_keys[entry.msgid][lang] = set(re.findall("{.*?}", entry.msgstr)) + if entry.msgid in lang_to_strings[lang]: + print('duplicate',entry.msgid,'in',lang ) + errors = True lang_to_strings[lang].add(entry.msgid) if num_todo[lang]: print(f"{lang} has {num_todo[lang]} TODO entries") diff --git a/katrain/core/lang.py b/katrain/core/lang.py index 7dfee6d..e5eb979 100644 --- a/katrain/core/lang.py +++ b/katrain/core/lang.py @@ -70,6 +70,8 @@ class Lang(Observable): self.set_widget_font(widget) except ReferenceError: pass # proxy no longer exists + except Exception as e: + print("Error in switching languages",e) for cb in self.callbacks: try: cb(self) diff --git a/katrain/i18n/locales/en/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/en/LC_MESSAGES/katrain.mo index 753fb900c074698c943d4ec49b88a36f60950b0e..1bfb946e9082a2df703ba5e1e402a74115882c54 100644 GIT binary patch delta 2491 zcmYM#eP~uy9KiAO=+@l!Y_(OkEnlALrY;sWNkhwmxlyFJ5t#`JPRN+3$yTnH=`B~n zAeb+h5krv>Eu)%`4Ev*&mSPslFiH)@zz`{4XkkGreZTEMa(6%HoO@n==XdUXJl1@m zDLGe~vo-MVUH-=K_kE7F5IXb!w}j$a>Sfpy-Gk$)AH-7p1@FK=F%NSKLMX-}ydB4& z&ugQzkShuExI4i@EW#By8ehXSZbD<)j!yUi-i`ZW{U{pXPsrNg65fSF=!QlWhAc3gp6VGTE*uSWyjgg)Pa2Kr%q-j7`2FgG_g z7~3zPJnD_S+ZR55@LD zwEqQk-s|YRc`TMVK`8|rDv@WQ76~%Uz){$U_M3+;uo%tQO0?h0=#jmN9?g5P{t3F^ zVKh@eqT|maSGZP0{*C-rY$#zB>*LXmQ_;xl(ZHTTCu~6%Y{Pr88@a+RZU(d;-OyL) z2EIeb{eX`96@5o;6qEluDU`69Z+A7?@v&$VI>C}?EBZ3F;ceJ~PPh)a!d7m~9d@A$ z?2ql=q8mGnX5#ng^@M^EyQ(`(qXCq2v*Ueesvbh0*P|0Pp@A$#1AGBZ{c3dF2ILAG zV|^z&elNP-0W`qm8w#fQG9y#eh%9}Tz#9rt3i z6AiQ*oo6$0L`mq44ZG0^`p^ZwKvQ`<*3Y5~UO|!;QdE3if-aOncXU6lz_!K?b zgSY_CU=vQ|+^6{cuct7MhP`Nn$Iu^+lQ@)F6bm1^fmFXr(^4PX}iy%hRzH$ICC*~St448O#V3VvR3I^WtAEG9ii z@g_c!qVHJ#-=IE%UA%!O&_J3q!|%c(^vsvz1bhh%WLt*(8^CTFjC3EeRv18zDV#wE zUPi9)7dQKtRSxfbBAVjbSg%9hotd$H4zj1vjAp16eaT-(1MI3yh9C6M;KV!QgO8C- zgac?QPa&rfE}{Y6!Wt}RJD&M$oP>*G{VlAbzCG5zMt6J`AI8f#1*?;Z!!OG`G@_;G z=d%jkc_+G~4d^f3Hmt=g8pwI{<^3ntD_GTlrlIdfQ}j8^q27X?{W3Ho$w~@FmY}KX z!D`%t26PdeM~m5&NHzQ)tAt v$=Ubwe@<;#TiBINr(4q5HDw*CEe#cosZ6%JV(!RPW=nU))NJ0k*#-XsJtgO6 delta 2525 zcmYM!drX#99Ki8|0xAfGw;(gX8|o@ab1g5eP2OgPGnSbCVaW>D7?fj+LA1S={UP0E z16&uhEN9ENmCDdA(_ETlV_hugSfyz<*V5K9)M?rG3ulWxJfG*B=Ujg0ch2*^x8$?C zlgCGY zU1$c4?4OT0%pXd4Fh#S`1_^XU%WZ%)XlfggMTQo%eOr9L6>Yx@9rz$R&ev$WUt)b< ztj}Oj+vj7_fv5A}z;n?7?ug||q)%9duA~l!ViVf#Npyl2&?wB2en@&+`p_2_`@=!DyF9PUM~(96w$PNNGv zhc4g>+HdFx@^8liM)%N^;wVg@r+o$5us*sD9iT0`2|b+KFcVYgc)O4*9OlMcp%)$h zbgcgeU1*N^Hx)(E>1f0^qbs}}xx!*@w!06_)I;d|26UixXdoNW0AE2G_gP6r~9y;L!Ze%meM&BpUiI$=Zs=``qK!ylE zqFehn-s|_D%Z4wZVl__1-FO|IKvVfI`a?2=(MoU<&cJe`rJx1KfbqFom9hqv#g@5zAvIa*imMCV8+yCAtNV;4Nsqhj9;j zcz!?wI)`S=-mW|sT~R*z%Qp=@d^L3*cN}h}lzhOERf1zjK0=n`m zXkdAh2QpQRTwxA316qY~2n1Od;CRQLHL|Beya1HwYB{bkyV|@yz`2BywgArefFEW_T z0B%G(%tI$$h^}xsreRg|0W_d$bfOyctgMOUX0+cE$d?_Sj=qNJGpN|jgQxjJbfVAE zLwOuc*?CN0I?HK&XJlFD{$cHDt&6jt>Fmj_8{S!(zc#IPML|brUqSic*1m$7osW)R Gko6xIknzI+ diff --git a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po index 501f7e9..38225e6 100644 --- a/katrain/i18n/locales/en/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/en/LC_MESSAGES/katrain.po @@ -475,14 +475,6 @@ msgstr "" "Will try to win by a set amount of points (default 0.5), without further " "restrictions." -msgid "ai:jigo" -msgstr "KataJigo" - -msgid "aihelp:jigo" -msgstr "" -"Will try to win by a set amount of points (default 0.5), without further " -"restrictions." - msgid "ai:scoreloss" msgstr "Score Loss" @@ -544,15 +536,15 @@ msgstr "Influential Style" msgid "aihelp:p:influence" msgstr "" -"Picks moves biased above the `threshold` line and plays the best " -"one.Increase `line_weight` to penalize moves near the edge more. Stops " -"strategy after the 'endgame' fraction of the board is filled." +"Picks moves biased above the `threshold` line and plays the best one. " +"Increase `line_weight` to penalize moves near the edge more. Stops strategy " +"after the 'endgame' fraction of the board is filled." msgid "ai:p:territory" msgstr "Territorial Style" msgid "aihelp:p:territory" msgstr "" -"Picks moves biased below the `threshold` line and plays the best " -"one.Increase `line_weight` to penalize moves near the center more. Stops " +"Picks moves biased below the `threshold` line and plays the best one. " +"Increase `line_weight` to penalize moves near the center more. Stops " "strategy after the 'endgame' fraction of the board is filled." diff --git a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.mo b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.mo index a162eb582d8ff999d3f98d268c9522ce5c8c296d..d39edcc84db79a03834a453edc76dc0f2039a51b 100644 GIT binary patch literal 11314 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 JO8Ft>e*k}&uC)LF literal 10702 zcmd6te~hJNb;lnIEHJIVsB6U^?Smq_D?4|0trQr6xGuXeu)9om7HCW3%scl!_s+X> z@B3cfA2U0<3=%7?^bgw@YC?)ps41+rq=+%GO-p1X4T(wWpL3pb&U4Ngp1t7gKQjDxAOGIWzwex_mN9>J{up1&&p)UA z2JrES-vEDw_V>UGz}HR~^BVAC@LcdR@KxZ|;H$xdas0O<4nRKUPQJAM9`Kdm{ow1t zPl3MxegPCoUjen>SHZ2|>Dc}+Q1qSq^Tt4mxe$CE_%=}dTmha1-VE|FzsZ;8Igq6$ z2Sx9Rh#vrT&hN+Z`#{bAB*@1+!k5PX5){2pfg1lhD0=@Pjz0(TF)v0upF#1t71a9e zpw?dwNS!~FT6 z=5GhJ?-ZzgZv?geme_V6OU)1zA8X)w;60$`eFW704}g;2qoC$}9@PCk3F@A{8QcF3 z>b&z=EP1^V)cT7-hRnMnz84goGqK%{?b|`k{~##(?*&EQpMu)=F;M4z5quN)49Lg) zfG^Rtg~j6Y0#JOs1=PArK&`tRl-?W$e-Uhh()Sfm^Zqd61EAJ_CgNX#($6n~TfnD4 z?e}*eAM?+Ac{)JtzlF`z|0Ym;UJ6Pc*F?M?6un14@%KKEk6GeN^X>p8uiphVelMtf z9sothXF<{Tc~J6y0@S*1fPBp9*!~Yt>t6(Q-ULDweXj>4-%I(@yJNWnD+rS@z7lLnP zlZ(Ksz+K?`!1sV327euV8r1n0A?#Uj54aP&8BX2mkn&f*-pL;yKdHfp>uwD82hnQ1blmi042&A~df8B}WTN zK086l=iPDqdQkNI7N~uWfx3s=!AHS6z+1o;#0u{Qp9H@N{tfsb#`bkEf!XK4E8k+w z--6qJnKNEt%y+>r(cWnTy)S?|{{%vXCG&eAqBb7~-vK@ba#iM8Q1pHe6u;)J{$sX+ zkYug^HSY+hdvl=Z{xB$gyAKpU4}sF-M?lHvbKp7P;~=6pPl7uC8BluoJg9SD07d6{ zD1+p;71TZ#fx4d^p!S;vxgv7})P1HAKM3xi{c%wAJ_TL^emk}&F2?uKzL+nKPlLLL zHh4K$g5vAbARqHJzQoT9py)Dh4|Ki~)cJ3Y_^aSf+BblrX9eU6%tvDTQBdc72^9VR z1WIntgJ*+3jP3scC5H)!mV7P*5s8@uF9l~n$^Q;e^!x$11-w7@|4D3r4isO19s9ow zN}k^WMfbmfT7TBI(0&c5``ZTU+{?gsfzzP$mfDCn7!sir+^-$?wbH zx#0Ifo%f^Izm>rj?Q1~U$p938?+3;AgP`bm6cinggObx%!B>FKM*J3d9_`bhLmUmO@9_&I=cQRxW8TioZJR~88};|Ro|JzxlJUuGA(Vg4EM-d%zyncBB`x{Bp zMb{s0Ai*~y887+0nH)bnCMh-}S+O-DZPXr<7rQo)7jFEUf0M`5?7@m-VW} zQFG{uH1Cu~_Tfrr+I^Q4wvD~$cV1%L$%5-kgYru!v;1#XHzx!odjFw)1{o7zmLs8L4wGkMbaOO;LMKbYhw3QlBI*W;c{T7>Fl_Lx;NK%%kc1H`T}9i zK-ufg$pMdMs-sNM{>3E2`z1qjEEy(V6_!vJvxE~(GUJ^#bMaHS<;FI~-G#$fcE;`C zBk?m!7LT>E=rY^r^8i1C$&Ievx6z*V(&nyyg7W)8Pq61+bqv)iRl;41`G5$mDL0Ph?GWVH@Q$(Rh~^& zcmNYffV1Y;Vhy=X!{7J#5#!M-T)CL{I|giCf}mQasQZ{=WyFK^&PbA9!6V}c4Xaip z)G(mN_*Y-Ilf@31<&;0N>?K%Q$8gZ73)|)d-w|HQ@Vj~P@RCqdElzddVboY!txc6I zcyHi;1dpJuaFFi|`>C_p%?sKUV?~#hZD{KK-6YI<*uhDQ&C&J5t~1+lYZHh4#%3i+ ztH}k|MR_Mj{`(*bRr3Z<*#q#_UYs~IeQ5vWEvQYJXH#}hYxl&yJVV6Q zRcurt18kE>f#1Wr+G&S`LFqz&)plyakzD;Y@7jSI@MKTflRPhZv9=-RiZPiK`;5SB zG<#xS6Xij%mqN){^K(rMjAOhehHKdwiN)^MfupU=5zIT!GKc+Dw&QI7^j-H&@3l;5 zV!bspyMF3+AClNaYAsF}A1<$%eNHkP+VxWv*JzK`z4cQ(TdrmCLQAeWskkXvwRL{JUnIg}SX4)3T(WuvASe)0qJY3IE;jA+=NohOWcX%U|DoE03 zt20O7Anmym${egbhfgq2v9>ERvE5Ik+NmdDWI3==20n(x`l;^vDZV+v`Ox^f+@fiO z*GX}^gr$?~%>G8p?w92aAj<3FPTO|%ajzmeXn@A}J$AP)Yt(1sK7j=`Y9|H9jiYwk zM2|i%^07@#mNDCSaK-Y_B*WG5JOCZL4J-1$*0#kkKa6`TZHyI5BJ#qN2FVgJ5u5Tv zIJ+%`H{0xTLIAI)2OZuP-id8C<%x>PK*I&zKt)B|5(_M@0 z9ZK3a&F+MRKx=rMHK0ccLTcDqATsb-VaEH?@7ur+@nBKn$RwVm)3KO2^H=edK1j6r zh{;`z03xF;v-i5aW^ZRXL2EkXQFgXThfsIDVfeyM%?($$3aQC4S6k(h#3z^rI)Y9} z(=ZKr6T9pRG;urnw(K3uj-5FM-J|RDUH3OysEw-i2Z@SL-}SK_I9ywhv@$2natxCN z)eaMc?ZIb^YWp8#x=O#Qlvr=JTE!F&Dg%qZ-`j^YWt|~qIqLJUICeB<3geYwmc6w} z$>OTuPYxLfH>N}ZPCYXZ}MUccgN1r1KF($=q$*Z;F}y?C;iN}ogrl|Q7|$-yO3hD z=~8h2y++MlC^!;Ls31m*UZ~MCJa~k3iY7ClMgyIU) z)qCdS-Stzvvg9})>}?*;BbWXEgRjxGBrC~k2=GMf|HZ}Fy>^je5y~@PR-KMpp7$?W zDHks@u#KsT)aDvD*%H+TJs* z;?U%5uA8*wXG48XLB1Z(LET>T)Zs&x9D%-{EP~~9uhBO`5;*ZfI(O#qgl#RS>upMTW;pLv^qFgbzpjyW~FXU(=uY4NA z?J(8|A<$MWVumvLzLv`qd1AF@bha-Zt0#&tbJa>-ER7w0lC9$G6G?gVyEY(OLtdL- zH`RCiV-}yNCTMEeqnwfBaV7X5+&C6@D8qH=xG)@F#Ac1ILRu94O2bT;>p3N=^JQ^A zE52gNOhOFkB}j5I$~ao~V7PJV4uT20FDC^R_gzs7d~_MDEWFyIms#N*@kNY#%nfwZXzZtD&n}J;ithO z$j!_;Vwt$5(l1p?Rrnte)aulx3*smasW@1gTR1jI+?P=I5&1*Lh+d+29~YVHR2^mh zULv23p^<7n#KW0AsmO`EFhr?k3@%A)e9?3i^v+OIRn!n-&lr69sEbVOWrq$W$I}6& ztnoV^^@xKvSNP7@WSmHlmZ?0oK$&hy1Sr@~vv$8$D7#@=bCe1*ltl}k-tbowl@wv_Ks>p=p_W@mP&$1DFSs`QcJEvp?L_gN}M9*Q?2?MiT9waD0NY;v%}oX z+}*9+@0{G-+9O6(Uz>>5>dP#$a8>uoFNptfl_9@vx7QyoV`fp24J`XV038n1-kA-_ zx;douUHZ~w$VD<(f0$srw3Id|K@>@Soa_3r-JZ<_{GY=U2fyOWsj3B|O86~>%BZ>i zx^t~+!I%>nxkMumDpqs-Wr}bb?)C&P&z~2lf@(EJmKPYTlttI0(vJG|mn^B^h9Puw z^T_ptQNCt;Lqd+Pnl5^(s`0)YJ9bonMn;c=l+BwXj!I0{!GMz5cGgc(LB)EKqUXHT zbW{Ei!B3sO{)wn7Sm^%2aQ#zAAD1(BPKBNDGC{PYYTnn8ooy1NW>4=mN8JDq#ypZi zk*6=(DpJHw~x9+k-{I&Y||XkM1coG z@lMU23|1&xm$RT4;tL@`Sq|fM3wwNO)ovfQu&b8cbLG^PJMhM&uJW7Q8Gl0#H0D~0f80M5Bov2wWD05-U8;Y(8tZOq+EPsK@8&X+m$l}3 z+NHWlh}8T`<)4U972`Ql79VbRCcI!x5r~uG`{o676;;0K8q3>IWK0~rG=bG#(t}i# zJTyZMaZ`b@w!TKj)6~?!Oo#vXr{NK8;V;Bqf^ev+-gu^TY%ugH8!vpLt{`vzC^xCU z%JK40!{cgh4t4L1WsTU?2-_T@-r?^>lJG{;KJye*j{*x7c5|yLs50v`qpU_IHxfM} dN4Q5%0nXNq1?y_V6Z6s}89DDk(<{{l%*vzGt> diff --git a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po index e32ba57..ebad437 100644 --- a/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po +++ b/katrain/i18n/locales/fr/LC_MESSAGES/katrain.po @@ -8,7 +8,7 @@ msgstr "" #. main hamburger menu msgid "menu:playersetup" -msgstr "Paramètres de jeu" +msgstr "MENU PRINCIPAL" msgid "menu:newgame" msgstr "Nouvelle partie" @@ -23,13 +23,13 @@ msgid "menu:settings" msgstr "Paramètres généraux" msgid "menu:clocksettings" -msgstr "Temps de jeu" +msgstr "Pendule" msgid "menu:teachsettings" -msgstr "Paramètres d’étude" +msgstr "Champ d'étude" msgid "menu:aisettings" -msgstr "Paramètres d’IA" +msgstr "Joueurs Artificiels" msgid "menu:lang" msgstr "Langue" @@ -38,7 +38,7 @@ msgid "menu:support" msgstr "Contribution" msgid "menu:manual" -msgstr "Manuel" +msgstr "Mode d'emploi" #. player options in the setup and on the right msgid "player:type" @@ -48,19 +48,19 @@ msgid "player:human" msgstr "Humain" msgid "player:ai" -msgstr "IA" +msgstr "Artificiel" msgid "aistrategy" msgstr "Style de jeu" msgid "gametype" -msgstr "Mode de partie" +msgstr "Mode" msgid "game:normal" msgstr "Normal" msgid "game:teach" -msgstr "Pédagogique" +msgstr "Étudiant" #. buttons at the top - should all include a line break msgid "analysis:nextmoves" @@ -76,12 +76,12 @@ msgstr "" msgid "analysis:topmoves" msgstr "" "Coups\n" -"prioritaires" +"recommandés" msgid "analysis:policy" msgstr "" -"Penchants\n" -"spontanés" +"Coups\n" +"instinctifs" msgid "analysis:territory" msgstr "" @@ -93,10 +93,10 @@ msgid "analysis:extra" msgstr "Analyser davantage" msgid "analysis:equalize" -msgstr "Égaliser l’analyse des coups potentiels" +msgstr "Égaliser l’analyse des coups" msgid "analysis:sweep" -msgstr "Analyser rapidement tous les coups" +msgstr "Analyser tous les possibles" msgid "analysis:aimove" msgstr "Jouer le coup de l’IA" @@ -107,8 +107,8 @@ msgstr "Passer" msgid "ai-ponder" msgstr "" -"Le statut du moteur de jeu est indiqué par la couleur verte (en " -"veille),orange (“en cours de tâche”) ou rouge (inopérant)" +"Le statut du moteur de jeu est indiqué par la couleur verte (en veille), " +"orange (“en cours de tâche”) ou rouge (inopérant)" #. undo button on the right msgid "undo-button-text" @@ -125,7 +125,7 @@ msgid "tab:points" msgstr "Pertes" msgid "tab:info" -msgstr "Données" +msgstr "Diagnostic" msgid "tab:notes" msgstr "Note" @@ -154,7 +154,7 @@ msgstr "" #. Select mode msgid "btn:Play" -msgstr "Jouer" +msgstr "Partie" msgid "btn:Analysis" msgstr "Analyse" @@ -166,14 +166,14 @@ msgid "stats:winrate" msgstr "Pronostic " msgid "stats:score" -msgstr "Estimation du score" +msgstr "Score" msgid "stats:pointslost" -msgstr "Points perdus" +msgstr "Perte" #. better than expected best move msgid "stats:pointsgained" -msgstr "Points gagnés" +msgstr "Gain" #. SGF and move comment messages msgid "SGF start message" @@ -198,18 +198,18 @@ msgid "Info:top move" msgstr "Le coup attendu était {top_move} ({score})." msgid "Info:best move" -msgstr "Ce coup était jugé le meilleur." +msgstr "Ce coup était le plus recommandé." msgid "Info:PV" msgstr "Séquence attendue : {pv}" msgid "Info:policy rank" msgstr "" -"Ce coup était classé le n°{rank} des penchants spontanés " +"Ce coup était classé n°{rank} d'un point de vue instinctif " "({probability:.2%})." msgid "Info:policy best" -msgstr "Le premier penchant spontané était {move} ({probability:.1%})." +msgstr "Le premier instinct était {move} ({probability:.1%})." msgid "Info:teaching undo" msgstr "" @@ -242,7 +242,7 @@ msgstr "Reprendre au début" # timer settings from here msgid "timer settings" -msgstr "Paramètres de byo-yomi" +msgstr "Cadence de jeu" msgid "byoyomi length" msgstr "Secondes par période" @@ -265,7 +265,7 @@ msgid "handicap" msgstr "Handicap" msgid "komi" -msgstr "Komi" +msgstr "Compensation" msgid "ruleset" msgstr "Règles" @@ -289,12 +289,12 @@ msgstr "Vider le cache" #. clear cache help msgid "avoids replaying" msgstr "" -"Évite de rejouer\n" +"Pour éviter de rejouer\n" "des parties identiques" #. hints on new game msgid "non square board hint" -msgstr "Noter x:y (p. ex. 19:9) pour les formes non-carrées" +msgstr "Noter x:y (p. ex. 19:9) pour les non-carrés" #. submit new game msgid "new game" @@ -305,10 +305,10 @@ msgid "teacher settings" msgstr "Champ d’étude" msgid "point loss threshold" -msgstr "Perte de points supérieure à" +msgstr "Pertes plus larges que" msgid "num undos" -msgstr "Essais supplémentaires" +msgstr "Nouvelles tentatives" msgid "dot color" msgstr "Couleurs" @@ -317,7 +317,7 @@ msgid "show dots" msgstr "Pierres marquées" msgid "save dots" -msgstr "Données sauvegardées" +msgstr "Diagnostics sauvegardés" msgid "show last n dots" msgstr "" @@ -331,12 +331,12 @@ msgstr "" msgid "lock ai when playing" msgstr "" -"Empêcher d’analyser \n" -"en mode “Jouer”" +"Ne pas recommander de coups \n" +"en mode “Partie”" #. submit button msgid "update teacher" -msgstr "Mettre à jour le champ d’étude" +msgstr "Mettre à jour" # main config settings msgid "restarting engine" @@ -347,111 +347,133 @@ msgid "general settings title" msgstr "Paramètres généraux" msgid "file not found" -msgstr "Le chemin d’accès est introuvable" +msgstr "Chemin d’accès est introuvable" msgid "general settings" -msgstr "Paramètres généraux" +msgstr "Divers" msgid "engine settings" -msgstr "KataGo Engine Settings" +msgstr "Moteur de Jeu (KataGo)" msgid "engine:katago" -msgstr "Path to KataGo executable" +msgstr "" +"Chemin d'accès de \n" +"l'exécutable" msgid "engine:katago:hint" -msgstr "Leave blank to use included executable" +msgstr "(Optionnel)" msgid "engine:model" -msgstr "Path to KataGo model file" +msgstr "" +"Chemin d'accès du \n" +"réseau neuronal" msgid "engine:config" -msgstr "Path to KataGo config file" - -msgid "engine:config" -msgstr "Path to KataGo config file" +msgstr "" +"Chemin d'accès du \n" +"fichier de configuration" msgid "engine:max_visits" -msgstr "Maximum number of visits in analysis" +msgstr "" +"Maximum de visites \n" +"durant l'analyse" msgid "engine:fast_visits" -msgstr "Maximum number of visits in fast analysis" +msgstr "" +"Maximum de visites \n" +"durant l'analyse rapide" msgid "engine:max_time" -msgstr "Maximum time for analysis" +msgstr "" +"Durée maximum \n" +"de l'analyse" msgid "engine:wide_root_noise" -msgstr "Wide root noise (increases variety of moves considered)" +msgstr "" +"Champ des possibles \n" +"(0.0 par défaut)" msgid "engine:wide_root_noise:hint" msgstr "" -"Use 0.02-0.1 to show\n" -"more possible moves" +"0.1 considérera PLUS de coups \n" +"mais MOINS en profondeur" msgid "engine:time:hint" -msgstr "Time in seconds" +msgstr "En secondes" msgid "general:sgf_load" -msgstr "Path for loading SGF files" +msgstr "" +"Chemin d'accès du \n" +"fichier SGF à analyser" msgid "general:sgf_save" -msgstr "Path for saving SGF files" +msgstr "" +"Chemin d'accès du \n" +"fichier SGF à enregistrer" msgid "general:anim_pv_time" -msgstr "Time between moves when animating a sequence" +msgstr "" +"Durée entre chaque coup \n" +"d'une animation" msgid "general:debug_level" -msgstr "Debug level in the console" +msgstr "" +"Niveau de débogage \n" +"affiché dans la console" msgid "general:debug_level:hint" -msgstr "Set to 1 when reporting errors" +msgstr "" +"Afficher 1 pour \n" +"signaler des erreurs" msgid "update settings" -msgstr "Update Settings" +msgstr "Mettre à jour" # ai settings from here msgid "ai settings" -msgstr "Advanced AI Settings" +msgstr "Joueurs artificiels" msgid "Select AI" -msgstr "Select AI strategy to configure" +msgstr "Style de jeu :" msgid "update ai settings" -msgstr "Update AI Settings" +msgstr "Mettre à jour" #. misc errors and info messages msgid "sgf written" -msgstr "SGF with analysis written to {file_name}" +msgstr "Analyse SGF rédigée dans {file_name}" msgid "wait-before-equalize" -msgstr "Wait for initial analysis to complete before requesting a refinement." +msgstr "Attendez la fin de l'analyse en cours avant de l'approfondir." msgid "Copied SGF to clipboard." -msgstr "Copied SGF to clipboard." +msgstr "SGF enregistré dans le presse-papier." msgid "Failed to import from clipboard" msgstr "" -"Failed to import game from clipboard: {error}\n" -"Clipboard contents: {contents}..." +"Impossible de charger la partie du presse-papier : {error}\n" +"Contenu du presse-papier : {contents}..." msgid "Failed to load SGF" -msgstr "Failed to load SGF. Parse Error: {error}" +msgstr "Impossible de charger le SGF. Erreur d'analyse : {error}" msgid "Starting default Kata failed" msgstr "" -"Starting KataGo with command '{command}' failed with error {error}. If on " -"MacOS, see the manual on how to use brew to install katago first, and add it" -" to your path or 'engine/katago' setting." +"L'Erreur {error} a empêché de lancer KataGo avec la commande '{command}'. " +"Sur MacOS, consultez le manuel pour savoir comment utiliser BREW pour " +"installer KataGo, puis ajoutez-le aux paramètres ou au chemin d'accès." msgid "Starting Kata failed" msgstr "" -"Starting KataGo with command '{command}' failed with error {error}. Please " -"make sure the 'katago' value under 'engine' in settings points to the " -"correct KataGo executable." +"L'Erreur {error} a empêché de lancer KataGo avec la commande '{command}'. " +"Vérifiez le chemin d'accès de l'exécutable 'katago' dans les paramètres " +"généraux/Moteur de jeu" msgid "Engine died unexpectedly" msgstr "" -"Engine died unexpectedly without sending output, possibly due to out of " -"memory: {error}" +"Le moteur de jeu est tombé en panne, \n" +"possiblement pour cause de \n" +"mémoire insuffisante : {error}" #. AI names, help etc msgid "strength:kyu" @@ -465,100 +487,97 @@ msgstr "KataGo" msgid "aihelp:default" msgstr "" -"Full strength KataGo AI. Strength is affected by `max_visits` and `model` " -"in the general settings `engine` section and engine configuration file. No " -"options are available here." +"Le moteur de jeu joue au mieux de ses capacités. \n" +"Son niveau dépend de la profondeur d'analyse et du réseau neuronal \n" +"indiqués dans les Paramètres généraux." msgid "ai:jigo" -msgstr "KataJigo" +msgstr "Truqué" msgid "aihelp:jigo" msgstr "" -"Will try to win by a set amount of points (default 0.5), without further " -"restrictions." - -msgid "ai:jigo" -msgstr "KataJigo" - -msgid "aihelp:jigo" -msgstr "" -"Will try to win by a set amount of points (default 0.5), without further " -"restrictions." +"Le moteur de jeu tentera de gagner la partie du nombre de points \n" +"indiqué dans le champ target_score." msgid "ai:scoreloss" -msgstr "Score Loss" +msgstr "Laxiste" msgid "aihelp:scoreloss" msgstr "" -"Plays moves that lead to more points lost with lower probability. Likely to " -"play more varied/weaker with higher visits settings." +"Le moteur de jeu choisit des coups recommandés, mais pas forcément les meilleurs. \n" +"Au niveau 0, il joue l'un d'eux au hasard et perd des points régulièrement. \n" +"Au niveau 5, il évite presque toujours de jouer les coups perdant 1 point et plus, \n" +"à moins d'augmenter le champ des possibles et/ou le nombre de visites \n" +"(cf. Paramètres généraux)" msgid "ai:policy" -msgstr "Policy" +msgstr "Instinctif" msgid "aihelp:policy" msgstr "" -"Plays the top move from the policy network, without any reading. Strength is" -" mainly affected by `model` in engine settings. The opening moves setting " -"affects how many moves in the opening are more random." +"Le niveau de jeu dépend du réseau neuronal (cf. Paramètres généraux), \n" +"étant donné que son coup favori sera joué sans aucun calcul. \n" +"Néanmoins, on peut rendre non-déterministes les débuts de partie \n" +"pour un nombre donné de coups d'ouverture \n" +"grâce au champ opening_moves" msgid "ai:p:weighted" -msgstr "Policy Weighted" +msgstr "Biaisé" msgid "aihelp:p:weighted" msgstr "" -"Plays moves according to policy probability, with `weaken_fac` influencing " -"how much more likely weaker moves are played. A high negative value plays " -"like the `Policy` AI.`pick_override` determines when top move is chosen " -"without randomness, and `lower_bound` determines the lower bound policy " -"value that is allowed." +"Les coups sont joués proportionnellement aux préférences du réseau neuronal \n" +"Plus la valeur weaken_fac est basse (voire négative) plus le coup favori sera joué. \n" +"Une valeur pick_override (0.0~1.0) proche de 0.0 tendra à forcer le coup favori, \n" +"tandis qu'une valeur proche de 1.0 tendra à donner une chance aux autres coups. \n" +"Une valeur lower_bound (0.0~1.0) proche de 0.0 permettra des coups peu appréciés, \n" +"tandis qu'une valeur proche de 1.0 préviendra même les coups favoris." msgid "ai:p:pick" -msgstr "Blinded Policy" +msgstr "Mal-voyant" msgid "aihelp:p:pick" msgstr "" -"Picks `pick_n + pick_frac * ` at random and plays the" -" best one. For `pick_frac=1` plays like the `Policy` AI. Plays top move if " -"policy value is above `pick_override` to avoid obvious mistakes." +"Le coup joué est le préféré parmi un nombre de coups sélectionnés au hasard. \n" +"`pick_n + (pick_frac multiplié par le nombre de coups légaux) \n" +"détermine l'ampleur de l'échantillon \n" +"Une valeur pick_frac (0.0~1.0) proche de 1.0 tendra à jouer le coup favori. \n" +"Une valeur pick_override (0.0~1.0) proche de 0.0 tendra à forcer le coup favori. \n" msgid "ai:p:local" -msgstr "Local Style" +msgstr "Local" msgid "aihelp:p:local" msgstr "" -"Picks `pick_n + pick_frac * ` weighted towards the " -"last move and plays the best one. Plays top move if policy value is above " -"`pick_override` to avoid obvious mistakes." +"Jouera plutôt près du dernier coup. \n" +"Picks `pick_n + pick_frac * ` weighted towards the last move and plays the best one. Plays top move if policy value is above `pick_override` to avoid obvious mistakes." msgid "ai:p:tenuki" -msgstr "Tenuki Style" +msgstr "Dissipé" msgid "aihelp:p:tenuki" msgstr "" -"Picks `pick_n + pick_frac * ` weighted away from the " -"last move and plays the best one. Plays top move if policy value is above " -"`pick_override` to avoid obvious mistakes. A higher `stddev` makes it play " -"further away." +"Jouera plutôt loin du dernier coup. \n" +"Picks `pick_n + pick_frac * ` weighted away from the last move and plays the best one. Plays top move if policy value is above `pick_override` to avoid obvious mistakes. A higher `stddev` makes it play further away." msgid "ai:p:influence" -msgstr "Influential Style" +msgstr "Central" msgid "aihelp:p:influence" msgstr "" -"Picks moves biased above the `threshold` line and plays the best " -"one.Increase `line_weight` to penalize moves near the edge more. Stops " -"strategy after the 'endgame' fraction of the board is filled." +"Jouera plutôt près du centre, sur la 4ème ligne et au delà. \n" +"Picks moves biased above the `threshold` line and plays the best one.Increase `line_weight` to penalize moves near the edge more. Stops strategy after the 'endgame' fraction of the board is filled." msgid "ai:p:territory" -msgstr "Territorial Style" +msgstr "Territorial" msgid "aihelp:p:territory" msgstr "" -"Picks moves biased below the `threshold` line and plays the best " -"one.Increase `line_weight` to penalize moves near the center more. Stops " -"strategy after the 'endgame' fraction of the board is filled." +"Jouera plutôt près du bord, sur la 4ème ligne et en deçà. \n" +"Picks moves biased below the `threshold` line and plays the best one.Increase `line_weight` to penalize moves near the center more. Stops strategy after the 'endgame' fraction of the board is filled." -#. TODO msgid "config file path" -msgstr "All options are saved in {file}" +msgstr "" +"TOUTES les options sont \n" +"sauvegardées dans : \n" +"{file}"