diff --git a/Resources/Locale/br/LC_MESSAGES/lucaschess.mo b/Resources/Locale/br/LC_MESSAGES/lucaschess.mo index 6d31f0c3..082d30d8 100644 Binary files a/Resources/Locale/br/LC_MESSAGES/lucaschess.mo and b/Resources/Locale/br/LC_MESSAGES/lucaschess.mo differ diff --git a/Resources/Locale/es/LC_MESSAGES/lucaschess.mo b/Resources/Locale/es/LC_MESSAGES/lucaschess.mo index fc51026a..fa359afa 100644 Binary files a/Resources/Locale/es/LC_MESSAGES/lucaschess.mo and b/Resources/Locale/es/LC_MESSAGES/lucaschess.mo differ diff --git a/Resources/Locale/fr/LC_MESSAGES/lucaschess.mo b/Resources/Locale/fr/LC_MESSAGES/lucaschess.mo index 463ff086..1a41c90b 100644 Binary files a/Resources/Locale/fr/LC_MESSAGES/lucaschess.mo and b/Resources/Locale/fr/LC_MESSAGES/lucaschess.mo differ diff --git a/Resources/Locale/messages.pot b/Resources/Locale/messages.pot index b0367839..ba50429c 100644 --- a/Resources/Locale/messages.pot +++ b/Resources/Locale/messages.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2023-05-02 17:56+0200\n" +"POT-Creation-Date: 2023-05-07 12:25+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -19,7 +19,7 @@ msgstr "" msgid "About" msgstr "" -#: .\About\About.py:25 .\Procesador.py:1142 .\Update.py:132 +#: .\About\About.py:25 .\Procesador.py:1148 .\Update.py:132 msgid "version %1" msgstr "" @@ -28,12 +28,12 @@ msgstr "" #: .\CompetitionWithTutor\WCompetitionWithTutor.py:182 #: .\CompetitionWithTutor\WCompetitionWithTutor.py:200 #: .\Engines\WConfEngines.py:253 .\Kibitzers\WindowKibitzers.py:408 -#: .\Procesador.py:1146 .\Tournaments\WTournament.py:524 +#: .\Procesador.py:1152 .\Tournaments\WTournament.py:524 msgid "Author" msgstr "" #: .\About\About.py:34 .\About\AboutBase.py:348 .\About\AboutBase.py:375 -#: .\About\AboutBase.py:497 .\Procesador.py:1149 +#: .\About\AboutBase.py:497 .\Procesador.py:1155 msgid "License" msgstr "" @@ -47,19 +47,19 @@ msgid "Engines" msgstr "" #: .\About\About.py:212 .\Board\BoardTypes.py:440 -#: .\Coordinates\WRunCoordinatesBasic.py:48 -#: .\Coordinates\WRunCoordinatesBlocks.py:55 +#: .\Coordinates\WRunCoordinatesBasic.py:49 +#: .\Coordinates\WRunCoordinatesBlocks.py:63 #: .\CountsCaptures\WRunCaptures.py:73 .\CountsCaptures\WRunCounts.py:55 #: .\Databases\WDB_Games.py:1269 .\ForcingMoves\WForcingMoves.py:84 #: .\Kibitzers\WKibBooks.py:31 .\Kibitzers\WKibEngine.py:51 #: .\Kibitzers\WKibGaviota.py:29 .\Kibitzers\WKibIndex.py:67 #: .\Kibitzers\WKibLinea.py:69 .\Kibitzers\WKibStEval.py:23 -#: .\Leagues\WLeagueWorker.py:103 .\LearnGame\WindowLearnGame.py:480 +#: .\Leagues\WLeagueWorker.py:103 .\LearnGame\WindowLearnGame.py:486 #: .\MainWindow\Presentacion.py:152 .\MainWindow\WBase.py:179 #: .\MainWindow\WBase.py:180 .\Mate15\WRunMate15.py:67 .\QT\QTUtil2.py:265 #: .\QT\QTUtil2.py:601 .\QT\QTVarios.py:560 .\QT\QTVarios.py:624 #: .\QT\QTVarios.py:671 .\QT\WindowDailyTest.py:258 .\QT\WindowMemoria.py:133 -#: .\QT\WindowPuente.py:463 .\QT\WindowWorkMap.py:247 +#: .\QT\WindowPuente.py:463 .\QT\WindowWorkMap.py:244 #: .\Resistence\ManagerResistance.py:257 .\Tournaments\WTournamentRun.py:182 msgid "Continue" msgstr "" @@ -189,7 +189,7 @@ msgstr "" #: .\Kibitzers\WindowKibitzers.py:210 .\Kibitzers\WindowKibitzers.py:273 #: .\Kibitzers\WindowKibitzers.py:405 .\Leagues\WLeagueConfig.py:75 #: .\Leagues\WLeagueConfig.py:105 .\MainWindow\WInformation.py:287 -#: .\ManagerSolo.py:482 .\ManagerSolo.py:505 .\ManagerVariations.py:186 +#: .\ManagerSolo.py:484 .\ManagerSolo.py:507 .\ManagerVariations.py:186 #: .\Openings\ManagerOPLEngines.py:116 .\Openings\POLAnalisis.py:43 #: .\Openings\POLAnalisis.py:696 .\Openings\WindowOpeningLine.py:196 #: .\Openings\WindowOpeningLine.py:468 .\QT\WindowDailyTest.py:41 @@ -266,7 +266,7 @@ msgid "Analyzing the move...." msgstr "" #: .\Analysis\Analysis.py:409 .\Analysis\WindowAnalysis.py:178 -#: .\Board\Board.py:156 .\Manager.py:1780 .\Voyager\Voyager.py:430 +#: .\Board\Board.py:156 .\Manager.py:1783 .\Voyager\Voyager.py:430 msgid "FEN is in clipboard" msgstr "" @@ -289,8 +289,8 @@ msgstr "" #: .\Engines\WEngines.py:72 .\Expeditions\WindowEverest.py:70 #: .\GM\WindowGM.py:44 .\GM\WindowGM.py:612 .\GM\WindowGM.py:781 #: .\Kibitzers\WindowKibitzers.py:443 .\Leagues\WLeagueConfig.py:44 -#: .\Leagues\WLeagueWorker.py:90 .\LearnGame\WindowLearnGame.py:442 -#: .\LearnGame\WindowLearnGame.py:465 .\LearnGame\WindowLearnGame.py:478 +#: .\Leagues\WLeagueWorker.py:90 .\LearnGame\WindowLearnGame.py:448 +#: .\LearnGame\WindowLearnGame.py:471 .\LearnGame\WindowLearnGame.py:484 #: .\MainWindow\Gui.py:144 .\MainWindow\WBase.py:188 .\MainWindow\WBase.py:761 #: .\MainWindow\WBase.py:783 .\Nags\WNags.py:32 .\Odt\WOdt.py:44 #: .\Openings\ManagerOPLEngines.py:343 .\Openings\ManagerOPLEngines.py:499 @@ -306,7 +306,7 @@ msgstr "" #: .\QT\WindowDailyTest.py:257 .\QT\WindowHorses.py:221 #: .\QT\WindowPgnTags.py:29 .\QT\WindowPotencia.py:612 #: .\QT\WindowPuente.py:473 .\QT\WindowSavePGN.py:193 -#: .\QT\WindowSavePGN.py:568 .\QT\WindowWorkMap.py:248 +#: .\QT\WindowSavePGN.py:568 .\QT\WindowWorkMap.py:245 #: .\Sound\WindowSonido.py:224 .\Sound\WindowSonido.py:231 #: .\Tactics\WindowTactics.py:600 .\Themes\WThemes.py:38 #: .\TurnOnLights\WindowTurnOnLights.py:322 .\Voyager\Voyager.py:76 @@ -383,8 +383,8 @@ msgstr "" #: .\Analysis\AnalysisIndexes.py:231 .\Analysis\AnalysisIndexes.py:396 #: .\Databases\WDB_Games.py:577 .\Databases\WDB_Players.py:116 .\GM\GM.py:165 -#: .\GM\WindowGM.py:149 .\ManagerGame.py:271 .\ManagerSolo.py:470 -#: .\ManagerSolo.py:517 .\Openings\POLAnalisis.py:557 +#: .\GM\WindowGM.py:149 .\ManagerGame.py:271 .\ManagerSolo.py:472 +#: .\ManagerSolo.py:519 .\Openings\POLAnalisis.py:557 #: .\Openings\WindowOpeningLine.py:615 .\Openings\WindowOpeningLine.py:1005 #: .\PlayAgainstEngine\Personalities.py:155 #: .\PlayAgainstEngine\WPlayAgainstEngine.py:346 .\Tutor\WindowTutor.py:83 @@ -417,7 +417,8 @@ msgstr "" #: .\Analysis\WindowAnalysisParam.py:205 .\Analysis\WindowAnalysisParam.py:418 #: .\CompetitionWithTutor\WCompetitionWithTutor.py:63 #: .\CompetitionWithTutor\WCompetitionWithTutor.py:169 -#: .\Coordinates\CoordinatesBasic.py:80 .\Databases\WDB_Games.py:893 +#: .\Coordinates\CoordinatesBasic.py:47 .\Coordinates\WCoordinatesBlocks.py:82 +#: .\Coordinates\WRunCoordinatesBlocks.py:126 .\Databases\WDB_Games.py:893 #: .\Databases\WDB_Utils.py:350 .\Expeditions\WindowEverest.py:63 #: .\GM\WindowGM.py:76 .\Kibitzers\WKibCommon.py:183 #: .\Kibitzers\WKibCommon.py:185 .\Kibitzers\WKibIndex.py:128 @@ -425,7 +426,7 @@ msgstr "" #: .\Kibitzers\WKibLinea.py:223 .\Kibitzers\WKibLinea.py:225 #: .\Leagues\WLeague.py:158 .\Leagues\WLeagueWorker.py:121 #: .\LearnGame\WindowLearnGame.py:281 .\LearnGame\WindowLearnGame.py:283 -#: .\LearnGame\WindowLearnGame.py:326 .\LearnGame\WindowPlayGame.py:294 +#: .\LearnGame\WindowLearnGame.py:328 .\LearnGame\WindowPlayGame.py:294 #: .\MainWindow\WBase.py:230 .\MainWindow\WBase.py:241 #: .\MainWindow\WBase.py:263 .\ManagerFindAllMoves.py:295 .\ManagerGame.py:110 #: .\ManagerSolo.py:115 .\Openings\WindowOpeningLine.py:223 @@ -438,7 +439,7 @@ msgstr "" #: .\Polyglots\WindowBooksTrain.py:44 .\Polyglots\WindowBooksTrain.py:188 #: .\QT\Piezas.py:236 .\QT\WindowDailyTest.py:325 .\QT\WindowPotencia.py:813 #: .\QT\WindowPuente.py:629 .\QT\WindowVisualiza.py:439 -#: .\QT\WindowWorkMap.py:285 .\Resistence\WindowResistance.py:48 +#: .\QT\WindowWorkMap.py:282 .\Resistence\WindowResistance.py:48 #: .\Tournaments\WTournament.py:213 .\Tournaments\WTournament.py:245 #: .\Tournaments\WTournamentRun.py:200 .\TrainBMT\WindowBMTtrain.py:98 #: .\TrainBMT\WindowBMTtrain.py:674 .\TrainBMT\WindowBMTtrain.py:814 @@ -454,7 +455,8 @@ msgstr "" #: .\Analysis\WindowAnalysisParam.py:205 .\Analysis\WindowAnalysisParam.py:418 #: .\CompetitionWithTutor\WCompetitionWithTutor.py:65 #: .\CompetitionWithTutor\WCompetitionWithTutor.py:171 -#: .\Coordinates\CoordinatesBasic.py:80 .\Databases\WDB_Games.py:893 +#: .\Coordinates\CoordinatesBasic.py:47 .\Coordinates\WCoordinatesBlocks.py:82 +#: .\Coordinates\WRunCoordinatesBlocks.py:126 .\Databases\WDB_Games.py:893 #: .\Databases\WDB_Utils.py:350 .\Expeditions\WindowEverest.py:63 #: .\GM\WindowGM.py:79 .\Kibitzers\WKibCommon.py:184 #: .\Kibitzers\WKibCommon.py:185 .\Kibitzers\WKibIndex.py:128 @@ -462,7 +464,7 @@ msgstr "" #: .\Kibitzers\WKibLinea.py:224 .\Kibitzers\WKibLinea.py:225 #: .\Leagues\WLeague.py:159 .\Leagues\WLeagueWorker.py:124 #: .\LearnGame\WindowLearnGame.py:279 .\LearnGame\WindowLearnGame.py:283 -#: .\LearnGame\WindowLearnGame.py:327 .\LearnGame\WindowPlayGame.py:292 +#: .\LearnGame\WindowLearnGame.py:329 .\LearnGame\WindowPlayGame.py:292 #: .\MainWindow\WBase.py:231 .\MainWindow\WBase.py:242 #: .\MainWindow\WBase.py:266 .\ManagerFindAllMoves.py:295 .\ManagerGame.py:110 #: .\ManagerSolo.py:117 .\Openings\WindowOpeningLine.py:223 @@ -475,7 +477,7 @@ msgstr "" #: .\Polyglots\WindowBooksTrain.py:46 .\Polyglots\WindowBooksTrain.py:188 #: .\QT\Piezas.py:237 .\QT\WindowDailyTest.py:325 .\QT\WindowPotencia.py:813 #: .\QT\WindowPuente.py:629 .\QT\WindowVisualiza.py:439 -#: .\QT\WindowWorkMap.py:285 .\Resistence\WindowResistance.py:49 +#: .\QT\WindowWorkMap.py:282 .\Resistence\WindowResistance.py:49 #: .\Tournaments\WTournament.py:214 .\Tournaments\WTournament.py:246 #: .\Tournaments\WTournamentRun.py:203 .\TrainBMT\WindowBMTtrain.py:99 #: .\TrainBMT\WindowBMTtrain.py:674 .\TrainBMT\WindowBMTtrain.py:816 @@ -564,7 +566,7 @@ msgstr "" #: .\Director\WindowTabVMarkers.py:40 .\Director\WindowTabVSVGs.py:76 #: .\Engines\SelectEngines.py:427 .\Kibitzers\WindowKibitzers.py:441 #: .\Leagues\WLeagueConfig.py:42 .\MainWindow\WBase.py:156 .\Manager.py:1438 -#: .\ManagerSolo.py:382 .\ManagerSolo.py:388 .\ManagerSolo.py:392 +#: .\ManagerSolo.py:384 .\ManagerSolo.py:390 .\ManagerSolo.py:394 #: .\Nags\WNags.py:30 .\QT\GridEditCols.py:27 .\QT\GridEditCols.py:82 #: .\QT\Piezas.py:265 .\QT\QTVarios.py:227 .\QT\QTVarios.py:230 #: .\QT\WColors.py:112 .\QT\WindowArbol.py:722 .\QT\WindowSavePGN.py:191 @@ -575,8 +577,8 @@ msgid "Save" msgstr "" #: .\Analysis\Histogram.py:439 .\Board\Board.py:182 -#: .\Director\WindowDirector.py:647 .\Manager.py:1587 .\Manager.py:1703 -#: .\Manager.py:1744 .\ManagerSolo.py:334 .\Odt\WOdt.py:20 +#: .\Director\WindowDirector.py:647 .\Manager.py:1588 .\Manager.py:1706 +#: .\Manager.py:1747 .\ManagerSolo.py:334 .\Odt\WOdt.py:20 #: .\QT\FormLayout.py:258 .\QT\WindowManualSave.py:107 #: .\QT\WindowManualSave.py:292 .\QT\WindowManualSave.py:309 #: .\QT\WindowSavePGN.py:31 .\QT\WindowSavePGN.py:205 @@ -611,15 +613,15 @@ msgstr "" #: .\Analysis\WindowAnalysis.py:237 .\Databases\WDB_Summary.py:60 #: .\Manager.py:1007 .\Manager.py:1493 .\Openings\WindowOpeningLine.py:147 #: .\QT\WindowDailyTest.py:256 .\QT\WindowJuicio.py:33 -#: .\QT\WindowManualSave.py:154 .\QT\WindowWorkMap.py:249 +#: .\QT\WindowManualSave.py:154 .\QT\WindowWorkMap.py:246 msgid "Analysis" msgstr "" #: .\Analysis\WindowAnalysis.py:272 .\Analysis\WindowAnalysisVariations.py:39 #: .\Coordinates\WCoordinatesBasic.py:30 -#: .\Coordinates\WCoordinatesBlocks.py:31 -#: .\Coordinates\WRunCoordinatesBasic.py:45 -#: .\Coordinates\WRunCoordinatesBlocks.py:52 +#: .\Coordinates\WCoordinatesBlocks.py:33 +#: .\Coordinates\WRunCoordinatesBasic.py:46 +#: .\Coordinates\WRunCoordinatesBlocks.py:60 #: .\CountsCaptures\WCountsCaptures.py:41 .\CountsCaptures\WRunCaptures.py:69 #: .\CountsCaptures\WRunCounts.py:51 .\Databases\WDB_Games.py:94 #: .\Databases\WDB_Players.py:183 .\Databases\WDB_Summary.py:78 @@ -633,7 +635,7 @@ msgstr "" #: .\ForcingMoves\WForcingMoves.py:80 .\Kibitzers\WindowKibitzers.py:40 #: .\Leagues\WLeague.py:65 .\Leagues\WLeagues.py:33 #: .\LearnGame\WindowLearnGame.py:77 .\LearnGame\WindowLearnGame.py:236 -#: .\LearnGame\WindowLearnGame.py:456 .\LearnGame\WindowPlayGame.py:112 +#: .\LearnGame\WindowLearnGame.py:462 .\LearnGame\WindowPlayGame.py:112 #: .\LearnGame\WindowPlayGame.py:258 .\MainWindow\Presentacion.py:154 #: .\MainWindow\WBase.py:165 .\Mate15\WMate15.py:33 .\Mate15\WRunMate15.py:63 #: .\Menus\BasicMenus.py:233 .\Openings\WindowOpeningLine.py:50 @@ -646,7 +648,7 @@ msgstr "" #: .\QT\WindowPotencia.py:611 .\QT\WindowPuente.py:298 #: .\QT\WindowPuente.py:468 .\QT\WindowVisualiza.py:56 #: .\QT\WindowVisualiza.py:369 .\QT\WindowWorkMap.py:42 -#: .\QT\WindowWorkMap.py:77 .\Resistence\WindowResistance.py:32 +#: .\QT\WindowWorkMap.py:74 .\Resistence\WindowResistance.py:32 #: .\Routes\WindowRoutes.py:122 .\Routes\WindowRoutes.py:164 #: .\SingularMoves\WindowSingularM.py:22 .\Sound\WindowSonido.py:397 #: .\Tactics\WindowTactics.py:43 .\Tournaments\WTournament.py:55 @@ -667,11 +669,11 @@ msgstr "" #: .\Director\WindowTabVSVGs.py:182 .\Endings\WEndingsGTB.py:85 #: .\Engines\WConfEngines.py:230 .\Engines\WindowSTS.py:584 #: .\Engines\WindowSTS.py:816 .\Expeditions\WindowEverest.py:351 -#: .\Kibitzers\WindowKibitzers.py:42 .\LearnGame\WindowLearnGame.py:79 -#: .\LearnGame\WindowPlayGame.py:115 .\ManagerSolo.py:394 +#: .\Kibitzers\WindowKibitzers.py:42 .\LearnGame\WindowLearnGame.py:81 +#: .\LearnGame\WindowPlayGame.py:115 .\ManagerSolo.py:396 #: .\Mate15\WMate15.py:37 .\Openings\WindowOpeningLines.py:48 #: .\Openings\WindowOpenings.py:303 .\Polyglots\WFactory.py:44 -#: .\QT\WindowVisualiza.py:60 .\QT\WindowWorkMap.py:81 +#: .\QT\WindowVisualiza.py:60 .\QT\WindowWorkMap.py:78 #: .\SingularMoves\WindowSingularM.py:24 .\Tactics\WindowTactics.py:45 #: .\Tournaments\WTournament.py:155 .\Tournaments\WTournament.py:204 #: .\Tournaments\WTournaments.py:40 .\TrainBMT\WindowBMT.py:125 @@ -783,7 +785,7 @@ msgstr "" #: .\Engines\SelectEngines.py:448 .\Kibitzers\WindowKibitzers.py:277 #: .\Kibitzers\WindowKibitzers.py:398 .\Menus\MenuTrainings.py:742 #: .\QT\SelectFilesLC.py:25 .\QT\WindowVisualiza.py:174 -#: .\QT\WindowWorkMap.py:67 .\QT\WindowWorkMap.py:187 +#: .\QT\WindowWorkMap.py:64 .\QT\WindowWorkMap.py:184 msgid "Type" msgstr "" @@ -796,7 +798,7 @@ msgstr "" #: .\Analysis\WindowAnalysisConfig.py:41 #: .\CompetitionWithTutor\WCompetitionWithTutor.py:117 -#: .\LearnGame\WindowLearnGame.py:446 .\MainWindow\WBase.py:185 +#: .\LearnGame\WindowLearnGame.py:452 .\MainWindow\WBase.py:185 #: .\QT\WindowHorses.py:225 .\QT\WindowMemoria.py:97 #: .\Tactics\WindowTactics.py:602 msgid "Help" @@ -828,7 +830,7 @@ msgstr "" #: .\Kibitzers\WKibGaviota.py:21 .\ManagerFindAllMoves.py:304 #: .\Openings\WindowOpeningLine.py:280 .\Openings\WindowOpeningLine.py:301 #: .\Openings\WindowOpeningLine.py:1104 .\Polyglots\WPolyglot.py:45 -#: .\QT\WindowWorkMap.py:347 +#: .\QT\WindowWorkMap.py:344 msgid "Move" msgstr "" @@ -889,7 +891,7 @@ msgstr "" #: .\Analysis\WindowAnalysisGraph.py:211 .\Board\WBoardColors.py:672 #: .\Director\WindowDirector.py:156 .\Director\WindowDirector.py:163 -#: .\Leagues\WLeague.py:861 .\Manager.py:1691 +#: .\Leagues\WLeague.py:861 .\Manager.py:1694 #: .\Polyglots\PolyglotImportExports.py:90 #: .\Polyglots\PolyglotImportExports.py:480 .\QT\WindowManualSave.py:344 #: .\QT\WindowSavePGN.py:478 .\Tournaments\WTournament.py:880 @@ -969,8 +971,8 @@ msgstr "" #: .\Analysis\WindowAnalysisParam.py:151 .\Competitions\ManagerFideFics.py:165 #: .\Competitions\ManagerFideFics.py:373 .\Coordinates\WCoordinatesBasic.py:24 -#: .\Coordinates\WCoordinatesBlocks.py:25 -#: .\Coordinates\WRunCoordinatesBasic.py:41 .\Expeditions\ManagerEverest.py:71 +#: .\Coordinates\WCoordinatesBlocks.py:27 +#: .\Coordinates\WRunCoordinatesBasic.py:42 .\Expeditions\ManagerEverest.py:71 #: .\Expeditions\ManagerEverest.py:321 .\LearnGame\ManagerPlayGame.py:294 #: .\LearnGame\WindowPlayGame.py:251 .\MainWindow\Presentacion.py:134 #: .\MainWindow\Presentacion.py:140 .\Openings\ManagerOPLEngines.py:441 @@ -979,8 +981,8 @@ msgstr "" #: .\Polyglots\PolyglotImportExports.py:516 #: .\Polyglots\PolyglotImportExports.py:517 .\Polyglots\WPolyglot.py:48 #: .\QT\WindowArbol.py:298 .\QT\WindowPotencia.py:366 -#: .\QT\WindowPotencia.py:399 .\QT\WindowWorkMap.py:347 -#: .\QT\WindowWorkMap.py:370 .\Resistence\ManagerResistance.py:96 +#: .\QT\WindowPotencia.py:399 .\QT\WindowWorkMap.py:344 +#: .\QT\WindowWorkMap.py:367 .\Resistence\ManagerResistance.py:96 #: .\Tournaments\WTournament.py:269 .\TrainBMT\WindowBMT.py:52 #: .\TrainBMT\WindowBMT.py:144 .\TrainBMT\WindowBMT.py:161 #: .\TrainBMT\WindowBMTtrain.py:82 @@ -1154,14 +1156,14 @@ msgstr "" msgid "Lost on time" msgstr "" -#: .\Base\Game.py:935 .\Coordinates\WRunCoordinatesBasic.py:82 -#: .\Coordinates\WRunCoordinatesBlocks.py:114 .\Databases\WDB_Games.py:904 +#: .\Base\Game.py:935 .\Coordinates\WRunCoordinatesBasic.py:83 +#: .\Coordinates\WRunCoordinatesBlocks.py:126 .\Databases\WDB_Games.py:904 #: .\Engines\STS.py:477 .\Engines\WindowSTS.py:611 .\Engines\WindowSTS.py:644 #: .\GM\GM.py:166 .\GM\WindowGM.py:770 .\Leagues\WLeague.py:160 #: .\ManagerGame.py:112 .\ManagerSolo.py:119 #: .\Openings\WindowOpeningLine.py:130 .\QT\QTUtil2.py:631 #: .\QT\WindowDailyTest.py:396 .\QT\WindowPotencia.py:787 -#: .\QT\WindowWorkMap.py:71 .\QT\WindowWorkMap.py:189 +#: .\QT\WindowWorkMap.py:68 .\QT\WindowWorkMap.py:186 #: .\Tournaments\WTournament.py:248 .\Translations\TrListas.py:26 #: .\WritingDown\ManagerWritingDown.py:160 msgid "Result" @@ -1230,7 +1232,7 @@ msgstr "" #: .\Board\Board.py:740 .\Board\Board.py:743 .\Board\Board.py:787 #: .\Config\WindowConfig.py:107 .\Director\WindowTab.py:108 .\Manager.py:1440 -#: .\Manager.py:1517 .\ManagerSolo.py:509 .\ManagerSolo.py:643 +#: .\Manager.py:1517 .\ManagerSolo.py:511 .\ManagerSolo.py:645 msgid "CTRL" msgstr "" @@ -1369,7 +1371,7 @@ msgstr "" msgid "Large" msgstr "" -#: .\Board\Board.py:2477 .\QT\WindowWorkMap.py:116 .\WorkMap.py:375 +#: .\Board\Board.py:2477 .\QT\WindowWorkMap.py:113 .\WorkMap.py:375 msgid "Medium" msgstr "" @@ -1465,7 +1467,7 @@ msgid "Outer Border" msgstr "" #: .\Board\WBoardColors.py:316 .\Board\WBoardColors.py:429 -#: .\Coordinates\WCoordinatesBasic.py:12 +#: .\Coordinates\WCoordinatesBasic.py:13 #: .\Coordinates\WRunCoordinatesBasic.py:16 .\Menus\MenuTrainings.py:176 #: .\Sound\WindowSonido.py:519 msgid "Coordinates" @@ -1543,7 +1545,7 @@ msgid "Accept" msgstr "" #: .\Board\WBoardColors.py:487 .\Board\WBoardColors.py:835 -#: .\MainWindow\WBase.py:157 .\ManagerSolo.py:390 +#: .\MainWindow\WBase.py:157 .\ManagerSolo.py:392 msgid "Save as" msgstr "" @@ -1585,7 +1587,7 @@ msgstr "" #: .\Board\WBoardColors.py:684 .\Config\WindowUsuarios.py:37 #: .\Coordinates\WCoordinatesBasic.py:34 -#: .\Coordinates\WCoordinatesBlocks.py:35 +#: .\Coordinates\WCoordinatesBlocks.py:37 #: .\CountsCaptures\WCountsCaptures.py:49 .\Databases\WDB_Games.py:110 #: .\Databases\WDB_Utils.py:135 .\Director\WindowDirector.py:59 #: .\Director\WindowDirector.py:1021 .\Director\WindowTab.py:181 @@ -1596,7 +1598,7 @@ msgstr "" #: .\Engines\WConfEngines.py:234 .\Engines\WindowSTS.py:592 #: .\Engines\WindowSTS.py:819 .\Expeditions\WindowEverest.py:353 #: .\GM\WindowGM.py:785 .\Kibitzers\WindowKibitzers.py:44 -#: .\Leagues\WLeagues.py:45 .\LearnGame\WindowLearnGame.py:81 +#: .\Leagues\WLeagues.py:45 .\LearnGame\WindowLearnGame.py:83 #: .\LearnGame\WindowLearnGame.py:240 .\LearnGame\WindowPlayGame.py:117 #: .\LearnGame\WindowPlayGame.py:262 .\MainWindow\WInformation.py:291 #: .\Manager.py:1010 .\Manager.py:1502 .\Mate15\WMate15.py:41 @@ -1609,7 +1611,7 @@ msgstr "" #: .\QT\WindowDailyTest.py:56 .\QT\WindowHorses.py:138 #: .\QT\WindowPotencia.py:301 .\QT\WindowPotencia.py:412 #: .\QT\WindowPuente.py:257 .\QT\WindowPuente.py:301 -#: .\QT\WindowVisualiza.py:62 .\QT\WindowWorkMap.py:83 +#: .\QT\WindowVisualiza.py:62 .\QT\WindowWorkMap.py:80 #: .\SingularMoves\WindowSingularM.py:28 .\Sound\WindowSonido.py:232 #: .\Tactics\WindowTactics.py:46 .\Tactics\WindowTactics.py:232 #: .\Tournaments\WTournament.py:159 .\Tournaments\WTournament.py:206 @@ -1642,14 +1644,14 @@ msgstr "" #: .\CompetitionWithTutor\WCompetitionWithTutor.py:60 #: .\CompetitionWithTutor\WCompetitionWithTutor.py:162 #: .\Endings\ManagerMate.py:427 .\Endings\ManagerMate.py:449 -#: .\LearnGame\WindowLearnGame.py:226 .\LearnGame\WindowLearnGame.py:323 -#: .\MainWindow\WBase.py:186 .\MainWindow\WBase.py:223 -#: .\ManagerFindAllMoves.py:99 .\ManagerFindAllMoves.py:220 -#: .\ManagerFindAllMoves.py:295 .\Menus\MenuTrainings.py:130 -#: .\Menus\MenuTrainings.py:170 .\Openings\ManagerOPLEngines.py:117 -#: .\Openings\WindowOpeningLine.py:486 .\QT\WindowMemoria.py:29 -#: .\QT\WindowPuente.py:275 .\QT\WindowVisualiza.py:43 -#: .\Routes\ManagerRoutes.py:29 .\Routes\WindowRoutes.py:213 +#: .\LearnGame\WindowLearnGame.py:226 .\MainWindow\WBase.py:186 +#: .\MainWindow\WBase.py:223 .\ManagerFindAllMoves.py:99 +#: .\ManagerFindAllMoves.py:220 .\ManagerFindAllMoves.py:295 +#: .\Menus\MenuTrainings.py:130 .\Menus\MenuTrainings.py:170 +#: .\Openings\ManagerOPLEngines.py:117 .\Openings\WindowOpeningLine.py:486 +#: .\QT\WindowMemoria.py:29 .\QT\WindowPuente.py:275 +#: .\QT\WindowVisualiza.py:43 .\Routes\ManagerRoutes.py:29 +#: .\Routes\WindowRoutes.py:213 msgid "Level" msgstr "" @@ -1658,7 +1660,7 @@ msgstr "" #: .\CompetitionWithTutor\WCompetitionWithTutor.py:192 #: .\Competitions\ManagerElo.py:320 .\Engines\EngineManager.py:60 #: .\GM\GM.py:50 .\GM\GM.py:56 .\GM\GM.py:160 .\GM\WindowGM.py:766 -#: .\ManagerGame.py:460 .\ManagerSolo.py:734 .\ManagerVariations.py:258 +#: .\ManagerGame.py:460 .\ManagerSolo.py:735 .\ManagerVariations.py:258 #: .\Menus\MenuTrainings.py:138 #: .\PlayAgainstEngine\ManagerPlayAgainstEngine.py:384 #: .\PlayAgainstEngine\WPlayAgainstEngine.py:156 @@ -1764,7 +1766,7 @@ msgid "New game" msgstr "" #: .\CompetitionWithTutor\WCompetitionWithTutor.py:217 .\GM\WindowGM.py:154 -#: .\LearnGame\WindowLearnGame.py:227 .\LearnGame\WindowLearnGame.py:325 +#: .\LearnGame\WindowLearnGame.py:227 .\LearnGame\WindowLearnGame.py:327 #: .\LearnGame\WindowPlayGame.py:250 .\Openings\WindowOpeningLine.py:365 #: .\Openings\WindowOpeningLine.py:426 #: .\PlayAgainstEngine\WPlayAgainstEngine.py:178 @@ -2259,11 +2261,11 @@ msgstr "" msgid "New password and repetition are not the same" msgstr "" -#: .\Coordinates\CoordinatesBasic.py:27 +#: .\Coordinates\CoordinatesConfig.py:22 msgid "Show pieces" msgstr "" -#: .\Coordinates\CoordinatesBasic.py:30 +#: .\Coordinates\CoordinatesConfig.py:25 msgid "Show coordinates" msgstr "" @@ -2286,7 +2288,7 @@ msgid "Side" msgstr "" #: .\Coordinates\WCoordinatesBasic.py:32 -#: .\Coordinates\WCoordinatesBlocks.py:33 +#: .\Coordinates\WCoordinatesBlocks.py:35 #: .\CountsCaptures\WCountsCaptures.py:43 .\LearnGame\WindowPlayGame.py:114 #: .\MainWindow\WBase.py:150 .\Mate15\WMate15.py:35 .\Menus\BasicMenus.py:235 #: .\QT\QTVarios.py:221 .\QT\WindowVisualiza.py:58 .\QT\WindowWorkMap.py:44 @@ -2295,7 +2297,8 @@ msgstr "" msgid "Play" msgstr "" -#: .\Coordinates\WCoordinatesBasic.py:36 .\Databases\WDB_Games.py:112 +#: .\Coordinates\WCoordinatesBasic.py:36 +#: .\Coordinates\WCoordinatesBlocks.py:39 .\Databases\WDB_Games.py:112 #: .\Databases\WDB_Summary.py:89 .\Director\WindowDirector.py:67 #: .\Endings\WEndingsGTB.py:48 .\Engines\WindowSTS.py:599 #: .\Leagues\WLeague.py:75 .\MainWindow\WBase.py:189 .\Mate15\WMate15.py:43 @@ -2306,7 +2309,7 @@ msgid "Config" msgstr "" #: .\Coordinates\WCoordinatesBasic.py:59 -#: .\Coordinates\WCoordinatesBlocks.py:55 +#: .\Coordinates\WCoordinatesBlocks.py:59 #: .\CountsCaptures\WCountsCaptures.py:106 .\Databases\WDB_Games.py:589 #: .\Engines\WindowSTS.py:753 .\Expeditions\WindowEverest.py:408 #: .\GM\WindowGM.py:833 .\LearnGame\WindowLearnGame.py:152 @@ -2321,88 +2324,95 @@ msgstr "" msgid "Do you want to delete all selected records?" msgstr "" -#: .\Coordinates\WCoordinatesBlocks.py:13 +#: .\Coordinates\WCoordinatesBlocks.py:14 #: .\Coordinates\WRunCoordinatesBlocks.py:15 msgid "Coordinates by blocks" msgstr "" -#: .\Coordinates\WCoordinatesBlocks.py:21 .\Expeditions\WindowEverest.py:337 +#: .\Coordinates\WCoordinatesBlocks.py:23 .\Expeditions\WindowEverest.py:337 #: .\Tactics\WindowTactics.py:32 msgid "Start date" msgstr "" -#: .\Coordinates\WCoordinatesBlocks.py:22 .\Expeditions\WindowEverest.py:338 -#: .\QT\WindowWorkMap.py:70 .\Routes\WindowRoutes.py:160 +#: .\Coordinates\WCoordinatesBlocks.py:24 .\Expeditions\WindowEverest.py:338 +#: .\QT\WindowWorkMap.py:67 .\Routes\WindowRoutes.py:160 #: .\Tactics\WindowTactics.py:33 .\TrainBMT\WindowBMT.py:54 #: .\TrainBMT\WindowBMT.py:162 msgid "End date" msgstr "" -#: .\Coordinates\WCoordinatesBlocks.py:23 .\Endings\ManagerMate.py:325 +#: .\Coordinates\WCoordinatesBlocks.py:25 .\Endings\ManagerMate.py:325 #: .\Endings\WEndingsGTB.py:460 .\Engines\WindowSTS.py:53 #: .\Engines\WindowSTS.py:271 .\Expeditions\WindowEverest.py:231 #: .\Openings\ManagerOPLEngines.py:536 .\Openings\WindowOpeningLine.py:1163 -#: .\QT\WindowWorkMap.py:69 .\QT\WindowWorkMap.py:188 +#: .\QT\WindowWorkMap.py:66 .\QT\WindowWorkMap.py:185 #: .\Routes\ManagerRoutes.py:569 .\Routes\ManagerRoutes.py:746 msgid "Done" msgstr "" -#: .\Coordinates\WCoordinatesBlocks.py:24 .\Endings\WEndingsGTB.py:97 +#: .\Coordinates\WCoordinatesBlocks.py:26 .\Endings\WEndingsGTB.py:97 #: .\Expeditions\Everest.py:153 .\Expeditions\WindowEverest.py:60 #: .\Expeditions\WindowEverest.py:342 .\Mate15\WMate15.py:26 msgid "Tries" msgstr "" -#: .\Coordinates\WRunCoordinatesBasic.py:47 -#: .\Coordinates\WRunCoordinatesBlocks.py:54 +#: .\Coordinates\WRunCoordinatesBasic.py:48 +#: .\Coordinates\WRunCoordinatesBlocks.py:62 #: .\CountsCaptures\WRunCaptures.py:71 .\CountsCaptures\WRunCounts.py:53 #: .\ForcingMoves\WForcingMoves.py:82 .\Mate15\WRunMate15.py:65 #: .\Openings\ManagerOPLEngines.py:450 .\Sound\WindowSonido.py:230 msgid "Begin" msgstr "" -#: .\Coordinates\WRunCoordinatesBasic.py:82 -#: .\Coordinates\WRunCoordinatesBlocks.py:114 +#: .\Coordinates\WRunCoordinatesBasic.py:83 #: .\CountsCaptures\WCountsCaptures.py:126 msgid "Ended" msgstr "" -#: .\Coordinates\WRunCoordinatesBasic.py:116 -#: .\Coordinates\WRunCoordinatesBlocks.py:157 +#: .\Coordinates\WRunCoordinatesBasic.py:117 +#: .\Coordinates\WRunCoordinatesBlocks.py:171 #: .\Openings\ManagerOPLPositions.py:237 #: .\Openings\ManagerOPLSequential.py:284 .\Openings\ManagerOPLStatic.py:291 #: .\QT\QTUtil2.py:617 .\QT\QTUtil2.py:623 .\Sound\Sound.py:140 msgid "Error" msgstr "" -#: .\Coordinates\WRunCoordinatesBlocks.py:34 .\Endings\ManagerMate.py:463 +#: .\Coordinates\WRunCoordinatesBlocks.py:42 .\Endings\ManagerMate.py:463 #: .\Tactics\WindowTactics.py:268 msgid "Block" msgstr "" -#: .\Coordinates\WRunCoordinatesBlocks.py:37 +#: .\Coordinates\WRunCoordinatesBlocks.py:45 msgid "Tries in this block" msgstr "" -#: .\Coordinates\WRunCoordinatesBlocks.py:40 +#: .\Coordinates\WRunCoordinatesBlocks.py:48 #: .\Polyglots\PolyglotImportExports.py:506 msgid "Minimum score" msgstr "" -#: .\Coordinates\WRunCoordinatesBlocks.py:43 +#: .\Coordinates\WRunCoordinatesBlocks.py:51 msgid "Max score in block" msgstr "" -#: .\Coordinates\WRunCoordinatesBlocks.py:48 -#: .\Coordinates\WRunCoordinatesBlocks.py:90 +#: .\Coordinates\WRunCoordinatesBlocks.py:56 +#: .\Coordinates\WRunCoordinatesBlocks.py:100 msgid "Active score" msgstr "" -#: .\Coordinates\WRunCoordinatesBlocks.py:107 +#: .\Coordinates\WRunCoordinatesBlocks.py:120 msgid "Last score" msgstr "" -#: .\Coordinates\WRunCoordinatesBlocks.py:120 +#: .\Coordinates\WRunCoordinatesBlocks.py:125 +#: .\Expeditions\ManagerEverest.py:374 .\ManagerFindAllMoves.py:341 +#: .\Openings\ManagerOPLEngines.py:365 .\Openings\ManagerOPLPositions.py:129 +#: .\Openings\ManagerOPLSequential.py:165 .\QT\WindowHorses.py:298 +#: .\Tactics\ManagerTactics.py:333 +msgid "Congratulations, goal achieved" +msgstr "" + +#: .\Coordinates\WRunCoordinatesBlocks.py:134 msgid "Block ended" msgstr "" @@ -2579,7 +2589,7 @@ msgstr "" #: .\Director\WindowTabVMarcos.py:169 .\Director\WindowTabVMarkers.py:164 #: .\Director\WindowTabVSVGs.py:190 .\Engines\WConfEngines.py:240 #: .\Engines\WindowSTS.py:594 .\Kibitzers\WindowKibitzers.py:48 -#: .\LearnGame\WindowLearnGame.py:83 .\Menus\BasicMenus.py:242 +#: .\LearnGame\WindowLearnGame.py:85 .\Menus\BasicMenus.py:242 #: .\Openings\WindowOpeningLines.py:54 .\Openings\WindowOpenings.py:307 #: .\QT\GridEditCols.py:31 .\QT\WindowPgnTags.py:31 msgid "Up" @@ -2590,7 +2600,7 @@ msgstr "" #: .\Director\WindowTabVMarcos.py:171 .\Director\WindowTabVMarkers.py:166 #: .\Director\WindowTabVSVGs.py:192 .\Engines\WConfEngines.py:242 #: .\Engines\WindowSTS.py:595 .\Kibitzers\WindowKibitzers.py:50 -#: .\LearnGame\WindowLearnGame.py:85 .\Menus\BasicMenus.py:243 +#: .\LearnGame\WindowLearnGame.py:87 .\Menus\BasicMenus.py:243 #: .\Openings\WindowOpeningLines.py:55 .\Openings\WindowOpenings.py:308 #: .\QT\GridEditCols.py:32 .\QT\WindowPgnTags.py:33 msgid "Down" @@ -2614,7 +2624,7 @@ msgstr "" msgid "Learn a game" msgstr "" -#: .\Databases\WDB_Games.py:135 .\Menus\MenuTrainings.py:216 +#: .\Databases\WDB_Games.py:135 .\Manager.py:1531 .\Menus\MenuTrainings.py:216 msgid "Memorizing their moves" msgstr "" @@ -3024,7 +3034,7 @@ msgstr "" msgid "Reread the players list" msgstr "" -#: .\Databases\WDB_Summary.py:80 .\ManagerSolo.py:515 .\ManagerSolo.py:648 +#: .\Databases\WDB_Summary.py:80 .\ManagerSolo.py:517 .\ManagerSolo.py:650 #: .\Voyager\Voyager.py:78 .\Voyager\Voyager.py:746 msgid "Basic position" msgstr "" @@ -3100,8 +3110,8 @@ msgstr "" msgid "Condition" msgstr "" -#: .\Databases\WDB_Utils.py:95 .\LearnGame\WindowLearnGame.py:444 -#: .\LearnGame\WindowLearnGame.py:458 .\LearnGame\WindowLearnGame.py:467 +#: .\Databases\WDB_Utils.py:95 .\LearnGame\WindowLearnGame.py:450 +#: .\LearnGame\WindowLearnGame.py:464 .\LearnGame\WindowLearnGame.py:473 #: .\MainWindow\WBase.py:160 .\Openings\WindowOpenings.py:60 #: .\QT\GridEditCols.py:87 .\QT\WindowHorses.py:223 .\QT\WindowSavePGN.py:197 msgid "Reinit" @@ -3120,7 +3130,7 @@ msgstr "" #: .\Engines\WindowSTS.py:942 .\GM\WindowGM.py:330 .\Leagues\WLeagues.py:166 #: .\Menus\MenuTrainings.py:568 .\PlayAgainstEngine\Personalities.py:244 #: .\PlayAgainstEngine\WPlayAgainstEngine.py:587 .\QT\GridEditCols.py:126 -#: .\QT\SelectFilesLC.py:240 .\QT\WindowWorkMap.py:175 +#: .\QT\SelectFilesLC.py:240 .\QT\WindowWorkMap.py:172 #: .\Tournaments\WTournaments.py:151 .\TrainBMT\WindowBMT.py:872 msgid "Delete %1?" msgstr "" @@ -3321,7 +3331,7 @@ msgid "Clipboard" msgstr "" #: .\Director\WindowDirector.py:643 .\Director\WindowDirector.py:651 -#: .\Manager.py:1724 .\Manager.py:1765 .\ManagerSolo.py:319 +#: .\Manager.py:1727 .\Manager.py:1768 .\ManagerSolo.py:319 #: .\QT\WindowSavePGN.py:638 .\Washing\WindowWashing.py:310 msgid "Saved to %1" msgstr "" @@ -3508,7 +3518,7 @@ msgid "Recreate all levels and start over" msgstr "" #: .\Endings\ManagerMate.py:465 .\Endings\ManagerMate.py:478 -#: .\LearnGame\WindowLearnGame.py:228 .\LearnGame\WindowLearnGame.py:582 +#: .\LearnGame\WindowLearnGame.py:228 .\LearnGame\WindowLearnGame.py:589 #: .\MainWindow\WBase.py:225 .\ManagerFindAllMoves.py:101 #: .\ManagerFindAllMoves.py:295 .\Openings\ManagerOPLPositions.py:91 #: .\Openings\ManagerOPLSequential.py:105 @@ -3537,7 +3547,7 @@ msgstr "" #: .\Endings\WEndingsGTB.py:54 .\Endings\WEndingsGTB.py:161 #: .\Kibitzers\WKibBooks.py:36 .\Kibitzers\WKibEngine.py:62 #: .\Kibitzers\WKibGaviota.py:34 .\Kibitzers\WKibIndex.py:73 -#: .\Kibitzers\WKibStEval.py:26 .\LearnGame\WindowLearnGame.py:450 +#: .\Kibitzers\WKibStEval.py:26 .\LearnGame\WindowLearnGame.py:456 #: .\MainWindow\WBase.py:124 .\MainWindow\WBase.py:375 #: .\MainWindow\WBase.py:410 .\Manager.py:1283 .\Manager.py:1290 #: .\ManagerEntPos.py:203 .\Openings\ManagerOPL.py:22 @@ -3566,7 +3576,7 @@ msgstr "" #: .\Kibitzers\WKibEngine.py:63 .\Kibitzers\WKibGaviota.py:35 #: .\Kibitzers\WKibIndex.py:74 .\Kibitzers\WKibStEval.py:27 #: .\Leagues\WLeagueConfig.py:91 .\Leagues\WLeagueConfig.py:96 -#: .\LearnGame\WindowLearnGame.py:450 .\MainWindow\WBase.py:124 +#: .\LearnGame\WindowLearnGame.py:456 .\MainWindow\WBase.py:124 #: .\MainWindow\WBase.py:197 .\MainWindow\WBase.py:375 #: .\MainWindow\WBase.py:410 .\Manager.py:1283 .\Manager.py:1290 #: .\ManagerEntPos.py:200 .\Openings\ManagerOPL.py:22 @@ -3690,7 +3700,7 @@ msgstr "" msgid "Nothing to import" msgstr "" -#: .\Engines\EngineManager.py:396 +#: .\Engines\EngineManager.py:397 msgid "Finishing the analysis..." msgstr "" @@ -4030,7 +4040,7 @@ msgstr "" #: .\Kibitzers\WKibBooks.py:32 .\Kibitzers\WKibEngine.py:52 #: .\Kibitzers\WKibGaviota.py:30 .\Kibitzers\WKibIndex.py:68 #: .\Kibitzers\WKibLinea.py:70 .\Kibitzers\WKibStEval.py:24 -#: .\Leagues\WLeagueWorker.py:94 .\LearnGame\WindowLearnGame.py:471 +#: .\Leagues\WLeagueWorker.py:94 .\LearnGame\WindowLearnGame.py:477 #: .\MainWindow\WBase.py:177 .\MainWindow\WBase.py:178 #: .\Tournaments\WTournamentRun.py:173 msgid "Pause" @@ -4075,13 +4085,13 @@ msgid "CSV file" msgstr "" #: .\Engines\WindowSTS.py:802 .\Engines\WindowSTS.py:917 -#: .\Menus\BasicMenus.py:95 .\QT\WindowWorkMap.py:120 -#: .\QT\WindowWorkMap.py:131 .\QT\WindowWorkMap.py:233 +#: .\Menus\BasicMenus.py:95 .\QT\WindowWorkMap.py:117 +#: .\QT\WindowWorkMap.py:128 .\QT\WindowWorkMap.py:230 msgid "STS: Strategic Test Suite" msgstr "" #: .\Engines\WindowSTS.py:815 .\Openings\WindowOpenings.py:58 -#: .\QT\SelectFilesLC.py:133 .\QT\WindowWorkMap.py:79 +#: .\QT\SelectFilesLC.py:133 .\QT\WindowWorkMap.py:76 msgid "Select" msgstr "" @@ -4182,13 +4192,6 @@ msgstr "" msgid "You must repeat the game" msgstr "" -#: .\Expeditions\ManagerEverest.py:374 .\ManagerFindAllMoves.py:341 -#: .\Openings\ManagerOPLEngines.py:365 .\Openings\ManagerOPLPositions.py:129 -#: .\Openings\ManagerOPLSequential.py:165 .\QT\WindowHorses.py:298 -#: .\Tactics\ManagerTactics.py:333 -msgid "Congratulations, goal achieved" -msgstr "" - #: .\Expeditions\ManagerEverest.py:376 msgid "You have climbed Everest!" msgstr "" @@ -4488,7 +4491,7 @@ msgid "Event" msgstr "" #: .\GM\GM.py:175 .\GM\WindowGM.py:199 .\LearnGame\WindowLearnGame.py:229 -#: .\LearnGame\WindowLearnGame.py:584 .\QT\WindowHorses.py:128 +#: .\LearnGame\WindowLearnGame.py:591 .\QT\WindowHorses.py:128 #: .\QT\WindowHorses.py:305 .\TurnOnLights\ManagerTurnOnLights.py:242 #: .\TurnOnLights\WindowTurnOnLights.py:155 #: .\TurnOnLights\WindowTurnOnLights.py:204 .\Washing\ManagerWashing.py:399 @@ -4557,7 +4560,7 @@ msgstr "" msgid "Game played" msgstr "" -#: .\GM\WindowGM.py:210 .\Menus\MenuTrainings.py:177 .\QT\WindowWorkMap.py:113 +#: .\GM\WindowGM.py:210 .\Menus\MenuTrainings.py:177 .\QT\WindowWorkMap.py:110 #: .\WorkMap.py:373 msgid "Basic" msgstr "" @@ -4710,11 +4713,11 @@ msgstr "" msgid "Chess leagues" msgstr "" -#: .\Leagues\ManagerLeague.py:566 .\Manager.py:1874 +#: .\Leagues\ManagerLeague.py:566 .\Manager.py:1877 msgid "%1 wants to resign, do you accept it?" msgstr "" -#: .\Leagues\ManagerLeague.py:585 .\Manager.py:1890 +#: .\Leagues\ManagerLeague.py:585 .\Manager.py:1893 msgid "%1 proposes draw, do you accept it?" msgstr "" @@ -4953,30 +4956,39 @@ msgstr "" msgid "Memorize a game" msgstr "" -#: .\LearnGame\WindowLearnGame.py:87 .\Polyglots\WPolyglot.py:50 -#: .\Voyager\Voyager.py:115 .\Voyager\Voyager.py:700 +#: .\LearnGame\WindowLearnGame.py:79 .\Manager.py:1531 +#: .\Polyglots\WPolyglot.py:50 .\Voyager\Voyager.py:115 +#: .\Voyager\Voyager.py:700 msgid "Learn" msgstr "" -#: .\LearnGame\WindowLearnGame.py:329 -msgid "Show clock" +#: .\LearnGame\WindowLearnGame.py:320 +msgid "New try" +msgstr "" + +#: .\LearnGame\WindowLearnGame.py:323 +msgid "Second board" +msgstr "" + +#: .\LearnGame\WindowLearnGame.py:324 +msgid "Movement displayed" msgstr "" #: .\LearnGame\WindowLearnGame.py:332 -msgid "New try" +msgid "Show clock" msgstr "" -#: .\LearnGame\WindowLearnGame.py:460 .\Manager.py:1507 .\QT\QTVarios.py:885 +#: .\LearnGame\WindowLearnGame.py:466 .\Manager.py:1507 .\QT\QTVarios.py:885 #: .\QT\WReplay.py:32 msgid "Replay game" msgstr "" -#: .\LearnGame\WindowLearnGame.py:469 .\MainWindow\WBase.py:176 +#: .\LearnGame\WindowLearnGame.py:475 .\MainWindow\WBase.py:176 #: .\PlayAgainstEngine\WPlayAgainstEngine.py:142 msgid "Slow" msgstr "" -#: .\LearnGame\WindowLearnGame.py:473 .\MainWindow\WBase.py:181 +#: .\LearnGame\WindowLearnGame.py:479 .\MainWindow\WBase.py:181 #: .\PlayAgainstEngine\WPlayAgainstEngine.py:142 msgid "Fast" msgstr "" @@ -5035,7 +5047,7 @@ msgstr "" msgid "Compete" msgstr "" -#: .\MainWindow\WBase.py:158 .\ManagerSolo.py:396 +#: .\MainWindow\WBase.py:158 .\ManagerSolo.py:398 #: .\Tournaments\WTournaments.py:42 msgid "Open" msgstr "" @@ -5054,13 +5066,13 @@ msgstr "" msgid "Adjournments" msgstr "" -#: .\MainWindow\WBase.py:169 .\ManagerGame.py:313 .\ManagerSolo.py:523 +#: .\MainWindow\WBase.py:169 .\ManagerGame.py:313 .\ManagerSolo.py:525 #: .\Menus\BasicMenus.py:74 .\PlayAgainstEngine\WPlayAgainstEngine.py:335 #: .\Procesador.py:983 msgid "Paste PGN" msgstr "" -#: .\MainWindow\WBase.py:170 .\ManagerGame.py:311 .\ManagerSolo.py:521 +#: .\MainWindow\WBase.py:170 .\ManagerGame.py:311 .\ManagerSolo.py:523 #: .\Menus\BasicMenus.py:72 .\Openings\WindowOpenings.py:63 msgid "Read PGN file" msgstr "" @@ -5130,7 +5142,7 @@ msgid "pws lost" msgstr "" #: .\MainWindow\WInformation.py:285 .\MainWindow\WInformation.py:287 -#: .\Manager.py:1755 +#: .\Manager.py:1758 msgid "Append" msgstr "" @@ -5241,7 +5253,7 @@ msgstr "" msgid "Maintenance" msgstr "" -#: .\Manager.py:1517 .\ManagerSolo.py:649 +#: .\Manager.py:1517 .\ManagerSolo.py:651 msgid "Play instead of me" msgstr "" @@ -5249,50 +5261,50 @@ msgstr "" msgid "Moves tree" msgstr "" -#: .\Manager.py:1664 +#: .\Manager.py:1667 msgid "There are no analyzed moves." msgstr "" -#: .\Manager.py:1693 +#: .\Manager.py:1696 msgid "This game already exists." msgstr "" -#: .\Manager.py:1709 .\Manager.py:1754 .\ManagerSolo.py:341 +#: .\Manager.py:1712 .\Manager.py:1757 .\ManagerSolo.py:343 #: .\Polyglots\PolyglotImportExports.py:605 .\QT\SelectFilesLC.py:186 #: .\Washing\WindowWashing.py:223 msgid "The file %1 already exists, what do you want to do?" msgstr "" -#: .\Manager.py:1710 .\Manager.py:1756 .\ManagerSolo.py:342 +#: .\Manager.py:1713 .\Manager.py:1759 .\ManagerSolo.py:344 #: .\Polyglots\PolyglotImportExports.py:606 .\QT\SelectFilesLC.py:187 #: .\QT\WindowSavePGN.py:48 .\QT\WindowSavePGN.py:222 #: .\Washing\WindowWashing.py:224 msgid "Overwrite" msgstr "" -#: .\Manager.py:1711 .\ManagerSolo.py:343 +#: .\Manager.py:1714 .\ManagerSolo.py:345 #: .\Polyglots\PolyglotImportExports.py:607 .\QT\SelectFilesLC.py:188 msgid "Choose another" msgstr "" -#: .\Manager.py:1727 .\Manager.py:1775 .\ManagerSolo.py:323 +#: .\Manager.py:1730 .\Manager.py:1778 .\ManagerSolo.py:323 #: .\QT\WindowSavePGN.py:481 msgid "Unable to save" msgstr "" -#: .\Manager.py:1737 +#: .\Manager.py:1740 msgid "PGN is in clipboard" msgstr "" -#: .\Manager.py:1775 .\Manager.py:1822 .\QT\WindowSavePGN.py:486 +#: .\Manager.py:1778 .\Manager.py:1825 .\QT\WindowSavePGN.py:486 msgid "It is saved in the clipboard to paste it wherever you want." msgstr "" -#: .\Manager.py:1855 +#: .\Manager.py:1858 msgid "Sorry, but the engine doesn't accept a draw right now." msgstr "" -#: .\Manager.py:1905 .\ManagerGame.py:317 .\ManagerSolo.py:528 +#: .\Manager.py:1908 .\ManagerGame.py:317 .\ManagerSolo.py:530 #: .\ManagerVariations.py:99 .\Openings\ManagerOPLEngines.py:496 #: .\PlayAgainstEngine\ManagerPlayAgainstEngine.py:501 #: .\QT\WindowArbolBook.py:353 .\QT\WindowArbolBook.py:442 @@ -5300,11 +5312,11 @@ msgstr "" msgid "Consult a book" msgstr "" -#: .\Manager.py:1935 +#: .\Manager.py:1938 msgid "Position saved in \"%s\" file." msgstr "" -#: .\Manager.py:1957 +#: .\Manager.py:1960 msgid "Press the continue button to start." msgstr "" @@ -5332,7 +5344,7 @@ msgstr "" msgid "Previous position" msgstr "" -#: .\ManagerEntPos.py:304 .\ManagerSolo.py:646 .\Tactics\ManagerTactics.py:196 +#: .\ManagerEntPos.py:304 .\ManagerSolo.py:648 .\Tactics\ManagerTactics.py:196 msgid "Save position in 'Selected positions' file" msgstr "" @@ -5383,7 +5395,7 @@ msgstr "" #: .\ManagerFindAllMoves.py:280 .\QT\WindowDailyTest.py:352 #: .\QT\WindowPotencia.py:837 .\QT\WindowPuente.py:653 -#: .\QT\WindowVisualiza.py:438 .\QT\WindowWorkMap.py:310 +#: .\QT\WindowVisualiza.py:438 .\QT\WindowWorkMap.py:307 #: .\TrainBMT\WindowBMTtrain.py:694 .\Voyager\Voyager.py:102 msgid "En passant" msgstr "" @@ -5400,34 +5412,34 @@ msgstr "" msgid "You will loose all changes, are you sure?" msgstr "" -#: .\ManagerGame.py:276 .\ManagerSolo.py:475 .\QT\WindowPgnTags.py:15 +#: .\ManagerGame.py:276 .\ManagerSolo.py:477 .\QT\WindowPgnTags.py:15 msgid "Edit PGN labels" msgstr "" -#: .\ManagerGame.py:283 .\ManagerSolo.py:485 +#: .\ManagerGame.py:283 .\ManagerSolo.py:487 msgid "Auto-rotate board" msgstr "" -#: .\ManagerGame.py:296 .\ManagerSolo.py:511 +#: .\ManagerGame.py:296 .\ManagerSolo.py:513 msgid "Change the starting position" msgstr "" -#: .\ManagerGame.py:300 .\ManagerSolo.py:513 .\ManagerSolo.py:647 +#: .\ManagerGame.py:300 .\ManagerSolo.py:515 .\ManagerSolo.py:649 msgid "Board editor" msgstr "" -#: .\ManagerGame.py:302 .\ManagerSolo.py:519 +#: .\ManagerGame.py:302 .\ManagerSolo.py:521 #: .\PlayAgainstEngine\WPlayAgainstEngine.py:315 #: .\Tournaments\WTournament.py:113 .\Voyager\Voyager.py:81 msgid "Paste FEN position" msgstr "" -#: .\ManagerGame.py:304 .\ManagerSolo.py:525 +#: .\ManagerGame.py:304 .\ManagerSolo.py:527 #: .\Openings\WindowOpeningLine.py:613 .\Voyager\Voyager.py:875 msgid "Voyager 2" msgstr "" -#: .\ManagerGame.py:418 .\ManagerSolo.py:584 +#: .\ManagerGame.py:418 .\ManagerSolo.py:586 #: .\PlayAgainstEngine\WPlayAgainstEngine.py:845 msgid "The text from the clipboard does not contain a chess game in PGN format" msgstr "" @@ -5440,23 +5452,23 @@ msgstr "" msgid "Do you want to save changes to a file?" msgstr "" -#: .\ManagerSolo.py:401 +#: .\ManagerSolo.py:403 msgid "Reopen" msgstr "" -#: .\ManagerSolo.py:483 .\ManagerSolo.py:506 .\ManagerVariations.py:187 +#: .\ManagerSolo.py:485 .\ManagerSolo.py:508 .\ManagerVariations.py:187 msgid "Disable %1" msgstr "" -#: .\ManagerSolo.py:483 .\ManagerSolo.py:506 .\ManagerVariations.py:187 +#: .\ManagerSolo.py:485 .\ManagerSolo.py:508 .\ManagerVariations.py:187 msgid "Enable %1" msgstr "" -#: .\ManagerSolo.py:619 +#: .\ManagerSolo.py:621 msgid "Do you want to remove all moves?" msgstr "" -#: .\ManagerSolo.py:645 +#: .\ManagerSolo.py:647 msgid "Paste position" msgstr "" @@ -7583,7 +7595,7 @@ msgstr "" msgid "Play a position" msgstr "" -#: .\Procesador.py:1166 .\QT\QTUtil2.py:572 .\QT\QTVarios.py:613 +#: .\Procesador.py:1172 .\QT\QTUtil2.py:572 .\QT\QTVarios.py:613 #: .\QT\QTVarios.py:660 .\setup_linux.py:306 msgid "One moment please..." msgstr "" @@ -8296,39 +8308,39 @@ msgstr "" msgid "Select a country" msgstr "" -#: .\QT\WindowWorkMap.py:66 .\QT\WindowWorkMap.py:185 +#: .\QT\WindowWorkMap.py:63 .\QT\WindowWorkMap.py:182 msgid "Active" msgstr "" -#: .\QT\WindowWorkMap.py:68 +#: .\QT\WindowWorkMap.py:65 msgid "Creation date" msgstr "" -#: .\QT\WindowWorkMap.py:94 +#: .\QT\WindowWorkMap.py:91 msgid "Map" msgstr "" -#: .\QT\WindowWorkMap.py:95 .\Washing\WindowWashing.py:172 +#: .\QT\WindowWorkMap.py:92 .\Washing\WindowWashing.py:172 msgid "Data" msgstr "" -#: .\QT\WindowWorkMap.py:112 .\Translations\TrListas.py:70 +#: .\QT\WindowWorkMap.py:109 .\Translations\TrListas.py:70 msgid "Checkmates in GM games" msgstr "" -#: .\QT\WindowWorkMap.py:115 .\WorkMap.py:374 +#: .\QT\WindowWorkMap.py:112 .\WorkMap.py:374 msgid "Easy" msgstr "" -#: .\QT\WindowWorkMap.py:117 .\WorkMap.py:376 +#: .\QT\WindowWorkMap.py:114 .\WorkMap.py:376 msgid "Hard" msgstr "" -#: .\QT\WindowWorkMap.py:128 +#: .\QT\WindowWorkMap.py:125 msgid "Model" msgstr "" -#: .\QT\WindowWorkMap.py:175 +#: .\QT\WindowWorkMap.py:172 msgid "this work" msgstr "" diff --git a/Resources/Locale/ro/LC_MESSAGES/lucaschess.mo b/Resources/Locale/ro/LC_MESSAGES/lucaschess.mo index 3b63a4e1..49f465cd 100644 Binary files a/Resources/Locale/ro/LC_MESSAGES/lucaschess.mo and b/Resources/Locale/ro/LC_MESSAGES/lucaschess.mo differ diff --git a/Resources/Locale/ro/lang.ini b/Resources/Locale/ro/lang.ini index d93f0066..1b15beb5 100644 --- a/Resources/Locale/ro/lang.ini +++ b/Resources/Locale/ro/lang.ini @@ -1,3 +1,3 @@ NAME=Română -AUTHOR=Dan-Alexandru Raportaru -%=25 \ No newline at end of file +AUTHOR=Curs de Sah Ploiesti, Dan-Alexandru Raportaru +%=25 diff --git a/Resources/Locale/ru/LC_MESSAGES/lcopenings.po b/Resources/Locale/ru/LC_MESSAGES/lcopenings.po index 8735cfcb..ab1e65ad 100644 --- a/Resources/Locale/ru/LC_MESSAGES/lcopenings.po +++ b/Resources/Locale/ru/LC_MESSAGES/lcopenings.po @@ -156,7 +156,7 @@ msgid "Benko gambit: Ne2 variation" msgstr "Волжский гамбит: вариант с Кe2" msgid "Benko gambit: Nescafe Frappe attack" -msgstr "Волжский гамбит: атака Нескафе фрап" +msgstr "Волжский гамбит: атака Nescafe фраппе" msgid "Benko gambit: Zaitsev system" msgstr "Волжский гамбит: система Зайцева" @@ -828,7 +828,7 @@ msgid "English: Botvinnik system" msgstr "Английское начало: система Ботвинника" msgid "English: Bradley Beach variation" -msgstr "Английское начало: Брэдли Бич-вариант" +msgstr "Английское начало: вариант Брэдли-Бич" msgid "English: Bremen system with ...g6" msgstr "Английское начало: бременская система с ...g6" @@ -970,7 +970,7 @@ msgid "English: symmetrical, Botvinnik system" msgstr "Английское начало: симметричный вариант, система Ботвинника" msgid "English: symmetrical, Geller variation" -msgstr "Английское начало: симметричный, вариант Геллера" +msgstr "Английское начало: симметричный вариант, вариант Геллера" msgid "English: symmetrical, Keres defence" msgstr "Английское начало: симметричный вариант" @@ -1013,7 +1013,7 @@ msgid "Evans gambit accepted" msgstr "Гамбит Эванса" msgid "Evans gambit declined, 5.a4" -msgstr "Отказанный гамбит Эванса, 5.a4" +msgstr "Отказанный гамбит Эванса: 5.a4" msgid "Evans gambit declined, Cordel variation" msgstr "Отказанный гамбит Эванса: вариант Корделя" @@ -1823,13 +1823,13 @@ msgid "Italian opening" msgstr "Итальянская партия" msgid "KGA: Abbazia defence (classical defence, modern defence[!])" -msgstr "Принятый королевский гамбит: Аббация-защита" +msgstr "Принятый королевский гамбит: защита Аббация" msgid "KGA: Abbazia defence, Botvinnik variation" -msgstr "Принятый королевский гамбит: Аббация-защита, вариант Ботвинника" +msgstr "Принятый королевский гамбит: защита Аббация, вариант Ботвинника" msgid "KGA: Abbazia defence, modern variation" -msgstr "Принятый королевский гамбит: Аббация-защита, современный вариант" +msgstr "Принятый королевский гамбит: защита Аббация, современный вариант" msgid "KGA: Allgaier gambit" msgstr "Принятый королевский гамбит: гамбит Альгайера" @@ -1979,7 +1979,8 @@ msgstr "Принятый королевский гамбит: гамбит Ло msgid "KGA: Lopez-Gianutio counter-gambit, Hein variation" msgstr "" -"Принятый королевский гамбит: контргамбит Лопеса-Джануцио, вариант Хайна" +"Принятый королевский гамбит: гамбит слона, контргамбит Лопеса-Джануцио, " +"вариант Хайна" msgid "KGA: MacDonnell gambit" msgstr "Принятый королевский гамбит: гамбит Мак-Доннелла" @@ -2601,7 +2602,7 @@ msgid "Modern defence" msgstr "Дебют ферзевой пешки: современная защита" msgid "Mujannah opening" -msgstr "Дебют Мадженна" +msgstr "Дебют Муджанна" msgid "Neo-Gruenfeld (Kemeri) defence" msgstr "Нео-Грюнфельд" @@ -2780,7 +2781,7 @@ msgid "Nimzo-Indian: Spielmann, Karlsbad variation" msgstr "Защита Нимцовича: вариант Шпильмана, карлсбадский вариант" msgid "Nimzo-Indian: Spielmann, San Remo variation" -msgstr "Защита Нимцовича: вариант Шпильмана, Сан-Ремо-вариант" +msgstr "Защита Нимцовича: вариант Шпильмана, вариант Сан-Ремо" msgid "Nimzo-Indian: Spielmann, Stahlberg variation" msgstr "Защита Нимцовича: вариант Шпильмана, вариант Штальберга" @@ -2825,7 +2826,7 @@ msgid "Nimzo-Indian: classical, Pirc variation" msgstr "Защита Нимцовича: классический вариант, вариант Пирца" msgid "Nimzo-Indian: classical, San Remo variation" -msgstr "Защита Нимцовича: классический вариант, Сан-Ремо-вариант" +msgstr "Защита Нимцовича: классический вариант, вариант Сан-Ремо" msgid "Nimzo-Indian: e3, Huebner variation" msgstr "Защита Нимцовича: система Рубинштейна, вариант Хюбнера" @@ -2876,7 +2877,7 @@ msgid "Old Benoni: Franco-Benoni defence" msgstr "Защита Бенони: французская защита с бенониевским ходом c7-c5" msgid "Old Benoni: Mujannah formation" -msgstr "Защита Бенони: построение Мадженна" +msgstr "Защита Бенони: построение Муджанна" msgid "Old Benoni: Schmid's system" msgstr "Защита Бенони: система Шмида" @@ -3044,7 +3045,7 @@ msgid "Philidor: Nimzovich, Klein variation" msgstr "Защита Филидора: вариант Нимцовича, вариант Клайна" msgid "Philidor: Nimzovich, Larobok variation" -msgstr "Защита Филидора: вариант Нимцовича, Леробок-вариант" +msgstr "Защита Филидора: вариант Нимцовича, вариант Леробок" msgid "Philidor: Nimzovich, Locock variation" msgstr "Защита Филидора: вариант Нимцовича, вариант Локока" @@ -3251,7 +3252,7 @@ msgid "QGA: classical, Flohr variation" msgstr "Принятый ферзевый гамбит: классический вариант, вариант Флора" msgid "QGA: classical, Furman variation" -msgstr "Принятый ферзевый гамбит: классический, вариант Фурмана" +msgstr "Принятый ферзевый гамбит: классический вариант, вариант Фурмана" msgid "QGA: classical, Geller variation" msgstr "Принятый ферзевый гамбит: классический вариант, вариант Геллера" @@ -3266,10 +3267,12 @@ msgid "QGA: classical, Steinitz variation" msgstr "Принятый ферзевый гамбит: классический вариант, вариант Стейница" msgid "QGD Slav accepted: Alapin variation" -msgstr "Отказанный ферзевый гамбит: основной вариант, вариант Алапина" +msgstr "" +"Отказанный ферзевый гамбит: славянская защита, основной вариант, вариант " +"Алапина" msgid "QGD Slav accepted" -msgstr "Отказанный ферзевый гамбит: основной вариант" +msgstr "Отказанный ферзевый гамбит: славянская защита, основной вариант" msgid "QGD Slav defence, Alekhine variation" msgstr "Отказанный ферзевый гамбит: славянская защита, вариант Алехина" @@ -4225,7 +4228,7 @@ msgid "Ruy Lopez: Archangelsk (counterthrust) variation" msgstr "Испанская партия: архангельский вариант" msgid "Ruy Lopez: Berlin defence, 4.O-O, d6" -msgstr "Испанская партия: берлинская защита, 4.O-O, d6" +msgstr "Испанская партия: берлинская защита, 4.O-O d6" msgid "Ruy Lopez: Berlin defence, 4.O-O" msgstr "Испанская партия: берлинская защита, 4.O-O" @@ -4261,7 +4264,7 @@ msgid "Ruy Lopez: Berlin defence, Pillsbury variation" msgstr "Испанская партия: берлинская защита, вариант Пильсбери" msgid "Ruy Lopez: Berlin defence, Rio de Janeiro variation" -msgstr "Испанская партия: берлинская защита, Рио-де-Жанейро-вариант" +msgstr "Испанская партия: берлинская защита, вариант Рио-де-Жанейро" msgid "Ruy Lopez: Berlin defence, Rosenthal variation" msgstr "Испанская партия: берлинская защита, вариант Розенталя" @@ -4380,7 +4383,9 @@ msgid "Ruy Lopez: Schliemann defence" msgstr "Испанская партия: гамбит Яниша" msgid "Ruy Lopez: Siesta, Kopayev variation" -msgstr "Испанская партия: сиестинский вариант, вариант Копаева" +msgstr "" +"Испанская партия: улучшенная защита Стейница, сиестинский вариант, вариант " +"Копаева" msgid "Ruy Lopez: Steinitz defence deferred (Russian defence)" msgstr "Испанская партия: улучшенная защита Стейница" @@ -4431,7 +4436,7 @@ msgid "Ruy Lopez: classical defence, 4.c3" msgstr "Испанская партия: защита Корделя, 4.c3" msgid "Ruy Lopez: classical defence, Benelux variation" -msgstr "Испанская партия: защита Корделя, Бенилюкс-вариант" +msgstr "Испанская партия: защита Корделя, вариант Бенилюкс" msgid "Ruy Lopez: classical defence, Boden variation" msgstr "Испанская партия: защита Корделя, вариант Бодена" @@ -4712,7 +4717,7 @@ msgid "Ruy Lopez: open, Knorre variation" msgstr "Испанская партия: открытый вариант, вариант Кнорре" msgid "Ruy Lopez: open, Malkin variation" -msgstr "Испанская партия: открытый вариант, вартиант Малкина" +msgstr "Испанская партия: открытый вариант, вариант Малкина" msgid "Ruy Lopez: open, Motzko attack, Nenarokov variation" msgstr "Испанская партия: открытый вариант, атака Моцко, вариант Ненарокова" @@ -4961,10 +4966,10 @@ msgid "Sicilian: Gloria variation" msgstr "Сицилианская защита: вариант Глория" msgid "Sicilian: Grand Prix attack, Schofman variation" -msgstr "Сицилианская защита: Гран-при-атака, вариант Шофмана" +msgstr "Сицилианская защита: атака Гран-при, вариант Шофмана" msgid "Sicilian: Grand Prix attack" -msgstr "Сицилианская защита: Гран-при-атака" +msgstr "Сицилианская защита: атака Гран-при" msgid "Sicilian: Hungarian variation" msgstr "Сицилианская защита: венгерский вариант" @@ -5150,7 +5155,7 @@ msgstr "" msgid "Sicilian: Richter-Rauzer, Rauzer attack, 7...Be7 defence, 9.f4" msgstr "" -"Сицилианская защита: атака Рихтера-Раузера, атака Раузера, 7...Сe7 защита, " +"Сицилианская защита: атака Рихтера-Раузера, атака Раузера, защита 7...Сe7, " "9.f4" msgid "Sicilian: Richter-Rauzer, Rauzer attack, 7...Be7" @@ -5228,7 +5233,8 @@ msgstr "" msgid "Sicilian: Scheveningen, classical, Nd7 system" msgstr "" -"Сицилианская защита: схевенингенский вариант, классический, система Кd7" +"Сицилианская защита: схевенингенский вариант, классический вариант, система " +"Кd7" msgid "Sicilian: Scheveningen, classical" msgstr "Сицилианская защита: схевенингенский вариант, классический вариант" @@ -5458,7 +5464,7 @@ msgid "Sicilian: wing gambit, Marshall variation" msgstr "Сицилианская защита: сицилианский гамбит, вариант Маршалла" msgid "Sicilian: wing gambit, Santasiere variation" -msgstr "Сицилианская защита: сицилианский гамбит, вариант Сантасьере" +msgstr "Сицилианская защита: сицилианский гамбит, вариант Сантасьера" msgid "Sicilian: wing gambit" msgstr "Сицилианская защита: сицилианский гамбит" diff --git a/Resources/Locale/ru/LC_MESSAGES/lucaschess.mo b/Resources/Locale/ru/LC_MESSAGES/lucaschess.mo index af4762d2..c5e324a5 100644 Binary files a/Resources/Locale/ru/LC_MESSAGES/lucaschess.mo and b/Resources/Locale/ru/LC_MESSAGES/lucaschess.mo differ diff --git a/Resources/Styles/colors.template b/Resources/Styles/colors.template index 39bc3a4a..f969c08c 100644 --- a/Resources/Styles/colors.template +++ b/Resources/Styles/colors.template @@ -24,7 +24,7 @@ CONTROLMENSESPERA=Ephemeral message window LINKS=Links BOARD_STATIC=Messages in the middle of some boards (coordinate training/captures/...) -[Databases+Opening explorer] +[Database opening explorer] SUMMARY_FOREGROUND=Foreground SUMMARY_WIN=Win SUMMARY_LOST=Loss diff --git a/bin/Code/Board/Board.py b/bin/Code/Board/Board.py index 0e16747a..9b744e94 100644 --- a/bin/Code/Board/Board.py +++ b/bin/Code/Board/Board.py @@ -901,8 +901,8 @@ def lanzaDirector(self): self.dirvisual = None return False else: - self.lanzaGuionAuto() self.dirvisual = WindowDirector.Director(self) + self.dirvisual.guion.play() return True else: return False @@ -2193,7 +2193,7 @@ def registraMovible(self, bloqueSC): bloqueSC.idMovible = self.idUltimoMovibles self.dicMovibles[self.idUltimoMovibles] = bloqueSC - def exportaMovibles(self): + def lista_movibles(self): if self.dicMovibles: li = [] for k, v in self.dicMovibles.items(): @@ -2210,25 +2210,29 @@ def exportaMovibles(self): continue li.append((tp, v.bloqueDatos)) - return Util.var2txt(li) + return li else: - return "" - - def importaMovibles(self, xData): - self.borraMovibles() - if xData: - liDatos = Util.txt2var(str(xData)) - for tp, bloqueDatos in liDatos: - if tp == TabVisual.TP_MARCO: - self.creaMarco(bloqueDatos) - elif tp == TabVisual.TP_CIRCLE: - self.creaCircle(bloqueDatos) - elif tp == TabVisual.TP_FLECHA: - self.creaFlecha(bloqueDatos) - elif tp == TabVisual.TP_SVG: - self.creaSVG(bloqueDatos) - elif tp == TabVisual.TP_MARKER: - self.creaMarker(bloqueDatos) + return [] + + # def exportaMovibles(self): + # li = self.lista_movibles() + # return Util.var2txt(li) if li else "" + # + # def importaMovibles(self, xData): + # self.borraMovibles() + # if xData: + # liDatos = Util.txt2var(str(xData)) + # for tp, bloqueDatos in liDatos: + # if tp == TabVisual.TP_MARCO: + # self.creaMarco(bloqueDatos) + # elif tp == TabVisual.TP_CIRCLE: + # self.creaCircle(bloqueDatos) + # elif tp == TabVisual.TP_FLECHA: + # self.creaFlecha(bloqueDatos) + # elif tp == TabVisual.TP_SVG: + # self.creaSVG(bloqueDatos) + # elif tp == TabVisual.TP_MARKER: + # self.creaMarker(bloqueDatos) def borraMovible(self, itemSC): for k, uno in self.dicMovibles.items(): diff --git a/bin/Code/Board/BoardTypes.py b/bin/Code/Board/BoardTypes.py index a8488f30..9148c8b2 100644 --- a/bin/Code/Board/BoardTypes.py +++ b/bin/Code/Board/BoardTypes.py @@ -457,7 +457,7 @@ def __init__(self, guion, board, ancho, edit_mode=False, with_continue=False): if self.chb: ly.control(self.chb) cajon.setLayout(ly) - cajon.setFixedHeight(20) + # cajon.setFixedHeight(20) layout = Colocacion.V().control(self.mensaje).espacio(-6).control(cajon).margen(0) diff --git a/bin/Code/Databases/DBgames.py b/bin/Code/Databases/DBgames.py index 06278c44..17f35931 100644 --- a/bin/Code/Databases/DBgames.py +++ b/bin/Code/Databases/DBgames.py @@ -308,7 +308,7 @@ def put_order(self, li_order): if is_numeric: li.append("CAST(%s as INT) %s" % (campo, tipo)) else: - li.append("%s %s" % (campo, tipo)) + li.append("%s COLLATE NOCASE %s" % (campo, tipo)) self.order = ",".join(li) self.li_row_ids = [] self.rowidReader.run(self.li_row_ids, self.filter, self.order) diff --git a/bin/Code/Director/TabVisual.py b/bin/Code/Director/TabVisual.py index e5368976..39c2fdbe 100644 --- a/bin/Code/Director/TabVisual.py +++ b/bin/Code/Director/TabVisual.py @@ -237,8 +237,10 @@ def txt_tipo(self): return _("Box") def info(self): - bd = self._itemSC.bloqueDatos - return bd.a1h8 + if self._itemSC: + bd = self._itemSC.bloqueDatos + return bd.a1h8 + return "" def run(self): if self._itemSC: @@ -531,7 +533,7 @@ def saveBoard(self): self.board_flechaSC = None if self.winDirector: - if not hasattr(self, "board_mensajero") or self.board_mensajero != self.winDirector.muevePieza: + if getattr(self, "board_mensajero", None) != self.winDirector.muevePieza: self.board_mensajero = self.board.mensajero self.board.mensajero = self.winDirector.muevePieza @@ -560,7 +562,6 @@ def nuevaTarea(self, tarea, row=-1): def savedPizarra(self): self.winDirector.refresh_guion() - self.winDirector.ponSiGrabar() def writePizarra(self, tarea): if self.pizarra is None: @@ -614,7 +615,7 @@ def tareaItem(self, item): def tareasPosicion(self, pos): li = [] for n, tarea in enumerate(self.liGTareas): - if isinstance(tarea, GT_Item) and tarea.itemSC().contain(pos): + if isinstance(tarea, GT_Item) and tarea.itemSC() and tarea.itemSC().contain(pos): li.append((n, tarea)) return li @@ -760,16 +761,36 @@ def recupera(self): fenm2 = self.board.last_position.fenm2() lista = self.board.dbvisual_list(fenm2) self.liGTareas = [] - stPrevios = self.recuperaMoviblesBoard() if lista is not None: for reg in lista: - if "_bloqueDatos" in reg: - bd = reg["_bloqueDatos"] - buscar = (bd.tpid[0], bd.tpid[1], bd.a1h8) - if not (buscar in stPrevios): - self.recuperaReg(reg) - else: - self.recuperaReg(reg) + self.recuperaReg(reg) + + li_previos = self.board.lista_movibles() + self.board.borraMovibles() + for tp, bloquedatos in li_previos: + esta = False + for reg in lista: + if tp == reg["_tp"]: + bloquedatos_reg = reg["_bloqueDatos"] + ok = True + li_campos = [x for x in dir(bloquedatos_reg) if not x.startswith("_") and x not in ('copia', 'physical_pos', 'restore_dic', 'save_dic', 'tipoqt')] + for x in li_campos: + if x[0] != "_" and getattr(bloquedatos, x, None) != getattr(bloquedatos_reg, x): + ok = False + break + if ok: + esta = True + break + if not esta: + reg = { + '_bloqueDatos': bloquedatos, + '_marcado': True, + '_name': None, + '_orden': 0, + '_registro': None, + '_tp': tp + } + self.recuperaReg(reg) if self.winDirector: for tarea in self.liGTareas: diff --git a/bin/Code/Director/WindowDirector.py b/bin/Code/Director/WindowDirector.py index 90cc104d..94e25f9e 100644 --- a/bin/Code/Director/WindowDirector.py +++ b/bin/Code/Director/WindowDirector.py @@ -621,10 +621,8 @@ def editBanda(self, cid): self.dbMarkers[xid] = w.regMarker.save_dic() def test_siGrabar(self): - if self.must_save: - if self.chbSaveWhenFinished.valor(): - self.grabar() - self.must_save = False + if self.chbSaveWhenFinished.valor(): + self.grabar() def closeEvent(self, event): self.test_siGrabar() diff --git a/bin/Code/ForcingMoves/ForcingMoves.py b/bin/Code/ForcingMoves/ForcingMoves.py index 318e1049..d30f425a 100644 --- a/bin/Code/ForcingMoves/ForcingMoves.py +++ b/bin/Code/ForcingMoves/ForcingMoves.py @@ -1,13 +1,11 @@ import FasterCode +from Code.Engines import EngineResponse from Code.ForcingMoves import WForcingMoves from Code.QT import QTUtil2 class ForcingMoves: - def __init__(self, board, mrm, owner): - """ - @type mrm: Code.Engines.EngineResponse.EngineResponse - """ + def __init__(self, board, mrm: EngineResponse.MultiEngineResponse, owner): self.board = board fen = self.board.last_position.fen() @@ -17,6 +15,7 @@ def __init__(self, board, mrm, owner): self.li_threats = [] self.li_check_targets = [] self.li_capture_targets = [] + mrm.ordena() self.st_best_moves = set() if len(mrm.li_rm) == 0: return diff --git a/bin/Code/ForcingMoves/WForcingMoves.py b/bin/Code/ForcingMoves/WForcingMoves.py index 84ad1cd2..37ec7c21 100644 --- a/bin/Code/ForcingMoves/WForcingMoves.py +++ b/bin/Code/ForcingMoves/WForcingMoves.py @@ -55,7 +55,7 @@ def __init__(self, owner): # Rotulo informacion self.lb_info_game = Controles.LB(self, _("You can indicate the moves directly on the board.")).ponTipoLetra( puntos=self.configuration.x_pgn_fontpoints - ) + ).set_wrap() # Movimientos self.ed_moves = Controles.ED(self, "").ponTipoLetra(puntos=32) @@ -69,10 +69,9 @@ def __init__(self, owner): Controles.TipoLetra(puntos=10, peso=75)) self.lb_result = Controles.LB(self).ponTipoLetra(puntos=10, peso=500).altoFijo(32).set_wrap() - self.lb_info = ( - Controles.LB(self).ponTipoLetra(puntos=14, peso=500).set_foreground_backgound("white", - "#496075").align_center() - ) + self.lb_info = Controles.LB(self).ponTipoLetra(puntos=14, peso=500) + self.lb_info.set_foreground_backgound("white", "#496075").align_center().set_wrap() + self.lb_info.setMinimumWidth(300) # Botones @@ -117,6 +116,12 @@ def __init__(self, owner): def player_has_moved(self, from_sq, to_sq, promotion=""): move = from_sq + to_sq + promotion + if not promotion and self.board.last_position.siPeonCoronando(from_sq, to_sq): + promotion = self.board.peonCoronando(self.board.last_position.is_white) + if promotion is None: + return None + move = from_sq + to_sq + promotion.lower() + # print("player_has_moved: %s" % move) if self.must_find_best_move: # print("Best moves", self.owner.st_best_moves) diff --git a/bin/Code/Leagues/WLeagueWorker.py b/bin/Code/Leagues/WLeagueWorker.py index 5751cdf9..2d50c983 100644 --- a/bin/Code/Leagues/WLeagueWorker.py +++ b/bin/Code/Leagues/WLeagueWorker.py @@ -337,8 +337,9 @@ def start_clock(self, is_white): def stop_clock(self, is_white): tc = self.tc_white if is_white else self.tc_black - tc.stop() + secs = tc.stop() tc.set_labels() + return secs def pause_clock(self, is_white): tc = self.tc_white if is_white else self.tc_black @@ -411,6 +412,9 @@ def play_next_move(self): self.board.set_side_indicator(is_white) + time_seconds = None + clock_seconds = None + xrival = self.xengine[is_white] time_pending_white = self.tc_white.pending_time time_pending_black = self.tc_black.pending_time @@ -422,7 +426,8 @@ def play_next_move(self): if self.state == ST_PAUSE: self.board.borraMovibles() return True - self.stop_clock(is_white) + time_seconds = self.stop_clock(is_white) + clock_seconds = self.tc_white.pending_time if is_white else self.tc_black.pending_time if mrm is None: self.sudden_end(is_white) return True @@ -440,6 +445,10 @@ def play_next_move(self): if analysis: move.analysis = analysis move.del_nags() + if time_seconds: + move.set_time_ms(time_seconds*1000.0) + if clock_seconds: + move.set_clock_ms(clock_seconds*1000.0) self.add_move(move) self.move_the_pieces(move.liMovs) self.sound(move) diff --git a/bin/Code/QT/WColors.py b/bin/Code/QT/WColors.py index e6bf6ac4..558c14cf 100644 --- a/bin/Code/QT/WColors.py +++ b/bin/Code/QT/WColors.py @@ -215,7 +215,7 @@ def trans(x): for c in "|+ ": if x.count(c) == 1: uno, dos = x.split(c) - return trans(uno) + " " + trans(dos) + return trans(uno) + " - " + trans(dos) return _F(x) return trans(value) diff --git a/bin/Code/Themes/Lichess/cook.py b/bin/Code/Themes/Lichess/cook.py index 2a79aad3..27f84552 100644 --- a/bin/Code/Themes/Lichess/cook.py +++ b/bin/Code/Themes/Lichess/cook.py @@ -108,8 +108,9 @@ def cook(puzzle: Puzzle): if promotion(puzzle): tags.append("promotion") - if under_promotion(puzzle): - tags.append("underPromotion") + + if under_promotion(puzzle): + tags.append("underPromotion") if capturing_defender(puzzle): tags.append("capturingDefender") @@ -274,7 +275,7 @@ def discovered_check(puzzle: Puzzle) -> bool: for node in puzzle.mainline[1::2]: board = node.board() checkers = board.checkers() - if checkers and node.move.to_square not in checkers: + if checkers and not node.move.to_square in checkers: return True return False @@ -650,7 +651,9 @@ def promotion(puzzle: Puzzle) -> bool: def under_promotion(puzzle: Puzzle) -> bool: for node in puzzle.mainline[1::2]: - if node.move.promotion and node.move.promotion != QUEEN: + if node.board().is_checkmate(): + return True if node.move.promotion == KNIGHT else False + elif node.move.promotion and node.move.promotion != QUEEN: return True return False diff --git a/bin/Code/Themes/Lichess/model.py b/bin/Code/Themes/Lichess/model.py index e29c154f..85246c53 100644 --- a/bin/Code/Themes/Lichess/model.py +++ b/bin/Code/Themes/Lichess/model.py @@ -41,7 +41,7 @@ "mateIn2", "mateIn1", "oneMove", - "overloading", + "overload", "pawnEndgame", "pin", "promotion", diff --git a/bin/Code/Tournaments/WTournamentRun.py b/bin/Code/Tournaments/WTournamentRun.py index 9438a481..135bcce1 100644 --- a/bin/Code/Tournaments/WTournamentRun.py +++ b/bin/Code/Tournaments/WTournamentRun.py @@ -512,8 +512,8 @@ def play_next_move(self): if not move_found: self.book[is_white] = None - time_ms = None - clock_ms = None + time_seconds = None + clock_seconds = None if not move_found: xrival = self.xengine[is_white] @@ -528,8 +528,8 @@ def play_next_move(self): self.pause_clock(is_white) self.board.borraMovibles() return True - time_ms = self.stop_clock(is_white) - clock_ms = self.tc_white.pending_time if is_white else self.tc_black.pending_time + time_seconds = self.stop_clock(is_white) + clock_seconds = self.tc_white.pending_time if is_white else self.tc_black.pending_time if mrm is None: return False @@ -545,10 +545,10 @@ def play_next_move(self): self.game.set_termination(TERMINATION_ADJUDICATION, RESULT_WIN_BLACK if self.current_side == WHITE else RESULT_WIN_WHITE) return False - if time_ms: - move.set_time_ms(time_ms) - if clock_ms: - move.set_clock_ms(clock_ms) + if time_seconds: + move.set_time_ms(time_seconds*1000.0) + if clock_seconds: + move.set_clock_ms(clock_seconds*1000.0) if analysis: move.analysis = analysis move.del_nags() diff --git a/bin/Code/TrainBMT/WindowBMTtrain.py b/bin/Code/TrainBMT/WindowBMTtrain.py index f8ac341c..574f27f7 100644 --- a/bin/Code/TrainBMT/WindowBMTtrain.py +++ b/bin/Code/TrainBMT/WindowBMTtrain.py @@ -123,7 +123,7 @@ def __init__(self, owner, dbf): number = 0 nposic = len(self.bmt_lista) for bmt_lista in range(nposic): - bt = Controles.PB(self, str(bmt_lista + 1), rutina=self.number).anchoFijo(36).altoFijo(20) + bt = Controles.PB(self, str(bmt_lista + 1), rutina=self.number).anchoFijo(36) #.altoFijo(20) bt.number = number number += 1 estado = self.bmt_lista.state(bmt_lista) diff --git a/bin/Code/__init__.py b/bin/Code/__init__.py index 1caeb1b3..97a37b45 100644 --- a/bin/Code/__init__.py +++ b/bin/Code/__init__.py @@ -90,7 +90,7 @@ def relative_root(path): BASE_VERSION = "B" # Para el control de updates que necesitan reinstalar entero -VERSION = "R 2.07" +VERSION = "R 2.07a" DEBUG = False DEBUG_ENGINES = False @@ -100,7 +100,7 @@ def relative_root(path): import time - def prlk(*x): + def pr(*x): lx = len(x) - 1 @@ -110,28 +110,28 @@ def prlk(*x): sys.stdout.write(" ") - def prln(*x): - prlk(*x) + def prn(*x): + pr(*x) sys.stdout.write("\n") return True - def prlns(*x): - prln("-" * 80) - prlk(*x) + def prns(*x): + prn("-" * 80) + pr(*x) sys.stdout.write("\n") stack() - prln("-" * 80) + prn("-" * 80) return True def stack(si_previo=False): if si_previo: - prlk("-" * 80 + "\n") - prlk(traceback.format_stack()) - prlk("\n" + "-" * 80 + "\n") + pr("-" * 80 + "\n") + pr(traceback.format_stack()) + pr("\n" + "-" * 80 + "\n") for line in traceback.format_stack()[:-1]: - prlk(line.strip() + "\n") + pr(line.strip() + "\n") def xpr(name, line): @@ -140,32 +140,33 @@ def xpr(name, line): li = name.split(" ") name = li[0] - prlk("%0.02f %s %s" % (t - tdbg[0], name, line)) + pr("%0.02f %s %s" % (t - tdbg[0], name, line)) tdbg[0] = t return True tdbg = [time.time(), 0] if DEBUG_ENGINES: - prln("", "Modo debug engine") + prn("", "Modo debug engine") def ini_timer(txt=None): tdbg[1] = time.time() if txt: - prln(txt) + prn(txt) def end_timer(txt=None): t = time.time() - tdbg[1] c = txt + " " if txt else "" c += "%0.03f" % t - prln(c) + prn(c) import builtins builtins.__dict__["stack"] = stack + builtins.__dict__["prns"] = prns builtins.__dict__["ini_timer"] = ini_timer builtins.__dict__["end_timer"] = end_timer - prln("Modo debug PYLCR2") + prn("Modo debug PYLCR2") diff --git a/bin/OS/win32/Engines/cdrill/Cdrill 1800 Build 4.uci_options b/bin/OS/win32/Engines/cdrill/Cdrill 1800 Build 4.uci_options new file mode 100644 index 00000000..36e92dc7 --- /dev/null +++ b/bin/OS/win32/Engines/cdrill/Cdrill 1800 Build 4.uci_options @@ -0,0 +1,13 @@ +id name CDrill 1800 +id author Ferdinand Mosca +option name Ponder type check default false +option name OwnBook type check default false +option name MultiPV type spin default 1 min 1 max 300 +option name MaterialWeight type spin default 100 min 0 max 1000 +option name PawnStructureWeight type spin default 100 min 0 max 1000 +option name PassedPawnWeight type spin default 100 min 0 max 1000 +option name MobilityWeight type spin default 100 min 0 max 1000 +option name ThreatWeight type spin default 100 min 0 max 1000 +option name KingAttackWeight type spin default 100 min 0 max 1000 +option name KingShelterWeight type spin default 100 min 0 max 1000 +option name RepeatScore type spin default -15 min -32000 max 32000 diff --git a/bin/bug.log b/bin/bug.log index 99a5b6a2..ab7b88b6 100644 --- a/bin/bug.log +++ b/bin/bug.log @@ -1 +1 @@ -Version R 2.07 +Version R 2.07a