diff --git a/MANIFEST.in b/MANIFEST.in index a3c0040e..ee2aa95d 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -5,7 +5,8 @@ ## include pysol.py setup.py setup.cfg MANIFEST.in Makefile COPYING README #recursive-include pysollib *.py -include pysollib/*.py pysollib/macosx/*.py pysollib/winsystems/*.py +include pysollib/*.py pysollib/macosx/*.py pysollib/configobj/*.py +include pysollib/winsystems/*.py include pysollib/tk/*.py pysollib/tile/*.py pysollib/pysolgtk/*.py include pysollib/games/*.py pysollib/games/special/*.py include pysollib/games/ultra/*.py pysollib/games/mahjongg/*.py @@ -26,7 +27,7 @@ graft html-src #graft data/images recursive-include data/images *.gif *.png *.jpg graft data/tiles -include data/pysol.xbm data/pysol.xpm data/pysol.ico +include data/pysol.xbm data/pysol.xpm data/pysol.ico data/PySol.icns ## ## data - sound ## diff --git a/po/games.pot b/po/games.pot index d7374fd0..73cb6e2f 100644 --- a/po/games.pot +++ b/po/games.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PySol 0.0.1\n" -"POT-Creation-Date: Tue Jun 5 04:28:06 2007\n" +"POT-Creation-Date: Fri Jul 20 23:41:28 2007\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -360,6 +360,9 @@ msgstr "" msgid "Bonaparte" msgstr "" +msgid "Boomerang" +msgstr "" + msgid "Boost" msgstr "" @@ -720,6 +723,9 @@ msgstr "" msgid "Der letzte Monarch" msgstr "" +msgid "Desert Island" +msgstr "" + msgid "Deuces" msgstr "" @@ -804,6 +810,9 @@ msgstr "" msgid "Double Fives" msgstr "" +msgid "Double Footling" +msgstr "" + msgid "Double FreeCell" msgstr "" @@ -1125,9 +1134,15 @@ msgstr "" msgid "Flying Dragon" msgstr "" +msgid "Footling" +msgstr "" + msgid "ForeCell" msgstr "" +msgid "Forest Glade" +msgstr "" + msgid "Formic" msgstr "" @@ -1320,6 +1335,9 @@ msgstr "" msgid "Grand Duchess +" msgstr "" +msgid "Grandee" +msgstr "" + msgid "Grandfather" msgstr "" @@ -1776,6 +1794,9 @@ msgstr "" msgid "Limited" msgstr "" +msgid "Limpopo" +msgstr "" + msgid "Lion" msgstr "" @@ -3324,6 +3345,9 @@ msgstr "" msgid "Spike" msgstr "" +msgid "Spoilt" +msgstr "" + msgid "Squadron" msgstr "" @@ -3624,6 +3648,9 @@ msgstr "" msgid "Trapdoor Spider" msgstr "" +msgid "Travellers" +msgstr "" + msgid "Treasure Trove" msgstr "" @@ -3633,6 +3660,9 @@ msgstr "" msgid "Trefoil" msgstr "" +msgid "Tri Peaks" +msgstr "" + msgid "Triangle" msgstr "" @@ -3681,6 +3711,9 @@ msgstr "" msgid "Trusty Twelve" msgstr "" +msgid "Turncoats" +msgstr "" + msgid "Tuxedo" msgstr "" @@ -3774,6 +3807,9 @@ msgstr "" msgid "Virginia Reel" msgstr "" +msgid "Voracious" +msgstr "" + msgid "Wake-Robin" msgstr "" diff --git a/po/pysol.pot b/po/pysol.pot index 4c1487f2..3184d7d9 100644 --- a/po/pysol.pot +++ b/po/pysol.pot @@ -14,7 +14,7 @@ msgid "" msgstr "" "#-#-#-#-# pysol-1.pot (PACKAGE VERSION) #-#-#-#-#\n" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: Tue Jun 5 04:29:13 2007\n" +"POT-Creation-Date: Fri Jul 20 23:42:39 2007\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -24,7 +24,7 @@ msgstr "" "Generated-By: pygettext.py 1.6con\n" "#-#-#-#-# pysol-2.pot (PACKAGE VERSION) #-#-#-#-#\n" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2007-06-05 04:29+0400\n" +"POT-Creation-Date: 2007-07-20 23:42+0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -32,14 +32,14 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: pysollib/actions.py:268 pysollib/tile/toolbar.py:186 -#: pysollib/tk/toolbar.py:189 +#: pysollib/actions.py:268 pysollib/tile/toolbar.py:188 +#: pysollib/tk/toolbar.py:188 msgid "New game" msgstr "" #: pysollib/actions.py:281 pysollib/tile/menubar.py:848 -#: pysollib/tile/menubar.py:862 pysollib/tk/menubar.py:851 -#: pysollib/tk/menubar.py:865 +#: pysollib/tile/menubar.py:862 pysollib/tk/menubar.py:849 +#: pysollib/tk/menubar.py:863 msgid "Select game" msgstr "" @@ -70,52 +70,52 @@ msgstr "" msgid "&Next number" msgstr "" -#: pysollib/actions.py:324 pysollib/app.py:1151 pysollib/app.py:1438 -#: pysollib/app.py:1450 pysollib/game.py:1019 pysollib/game.py:2289 -#: pysollib/tile/colorsdialog.py:112 pysollib/tile/edittextdialog.py:83 -#: pysollib/tile/fontsdialog.py:144 pysollib/tile/fontsdialog.py:204 -#: pysollib/tile/gameinfodialog.py:155 pysollib/tile/menubar.py:1349 -#: pysollib/tile/playeroptionsdialog.py:111 pysollib/tile/selectcardset.py:387 -#: pysollib/tile/selecttile.py:161 pysollib/tile/soundoptionsdialog.py:168 -#: pysollib/tile/soundoptionsdialog.py:206 pysollib/tile/timeoutsdialog.py:94 -#: pysollib/tile/tkhtml.py:504 pysollib/tile/tkstats.py:123 -#: pysollib/tile/tkstats.py:546 pysollib/tile/tkstats.py:645 -#: pysollib/tile/tkstats.py:727 pysollib/tile/tkwidget.py:154 -#: pysollib/tile/tkwidget.py:329 pysollib/tile/wizarddialog.py:146 -#: pysollib/tk/colorsdialog.py:111 pysollib/tk/edittextdialog.py:82 -#: pysollib/tk/fontsdialog.py:143 pysollib/tk/fontsdialog.py:205 -#: pysollib/tk/gameinfodialog.py:155 pysollib/tk/playeroptionsdialog.py:85 -#: pysollib/tk/playeroptionsdialog.py:160 pysollib/tk/selectcardset.py:241 -#: pysollib/tk/selectcardset.py:397 pysollib/tk/selecttile.py:159 -#: pysollib/tk/soundoptionsdialog.py:170 pysollib/tk/soundoptionsdialog.py:211 -#: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkhtml.py:500 -#: pysollib/tk/tkstats.py:289 pysollib/tk/tkstats.py:511 -#: pysollib/tk/tkstats.py:578 pysollib/tk/tkstats.py:593 -#: pysollib/tk/tkstats.py:635 pysollib/tk/tkstats.py:707 -#: pysollib/tk/tkstats.py:791 pysollib/tk/tkstats.py:965 -#: pysollib/tk/tkwidget.py:160 pysollib/tk/tkwidget.py:324 -#: pysollib/tk/wizarddialog.py:137 +#: pysollib/actions.py:324 pysollib/app.py:730 pysollib/app.py:1017 +#: pysollib/app.py:1029 pysollib/game.py:1018 pysollib/game.py:2305 +#: pysollib/tile/colorsdialog.py:114 pysollib/tile/edittextdialog.py:83 +#: pysollib/tile/fontsdialog.py:142 pysollib/tile/fontsdialog.py:202 +#: pysollib/tile/gameinfodialog.py:154 pysollib/tile/menubar.py:1351 +#: pysollib/tile/playeroptionsdialog.py:109 pysollib/tile/selectcardset.py:389 +#: pysollib/tile/selecttile.py:157 pysollib/tile/soundoptionsdialog.py:168 +#: pysollib/tile/soundoptionsdialog.py:206 pysollib/tile/timeoutsdialog.py:95 +#: pysollib/tile/tkhtml.py:506 pysollib/tile/tkstats.py:123 +#: pysollib/tile/tkstats.py:552 pysollib/tile/tkstats.py:653 +#: pysollib/tile/tkstats.py:734 pysollib/tile/tkwidget.py:155 +#: pysollib/tile/tkwidget.py:363 pysollib/tile/wizarddialog.py:148 +#: pysollib/tk/colorsdialog.py:113 pysollib/tk/edittextdialog.py:82 +#: pysollib/tk/fontsdialog.py:140 pysollib/tk/fontsdialog.py:202 +#: pysollib/tk/gameinfodialog.py:154 pysollib/tk/playeroptionsdialog.py:84 +#: pysollib/tk/playeroptionsdialog.py:159 pysollib/tk/selectcardset.py:237 +#: pysollib/tk/selectcardset.py:389 pysollib/tk/selecttile.py:156 +#: pysollib/tk/soundoptionsdialog.py:166 pysollib/tk/soundoptionsdialog.py:206 +#: pysollib/tk/timeoutsdialog.py:90 pysollib/tk/tkhtml.py:501 +#: pysollib/tk/tkstats.py:289 pysollib/tk/tkstats.py:510 +#: pysollib/tk/tkstats.py:577 pysollib/tk/tkstats.py:592 +#: pysollib/tk/tkstats.py:634 pysollib/tk/tkstats.py:706 +#: pysollib/tk/tkstats.py:790 pysollib/tk/tkstats.py:958 +#: pysollib/tk/tkwidget.py:161 pysollib/tk/tkwidget.py:359 +#: pysollib/tk/wizarddialog.py:138 msgid "&OK" msgstr "" -#: pysollib/actions.py:324 pysollib/app.py:1152 pysollib/app.py:1450 -#: pysollib/game.py:1019 pysollib/game.py:1690 pysollib/game.py:1706 -#: pysollib/game.py:1713 pysollib/game.py:1719 -#: pysollib/tile/colorsdialog.py:112 pysollib/tile/edittextdialog.py:83 -#: pysollib/tile/fontsdialog.py:144 pysollib/tile/fontsdialog.py:204 -#: pysollib/tile/playeroptionsdialog.py:111 pysollib/tile/selectcardset.py:237 -#: pysollib/tile/selectgame.py:302 pysollib/tile/selectgame.py:433 -#: pysollib/tile/selecttile.py:161 pysollib/tile/soundoptionsdialog.py:168 -#: pysollib/tile/timeoutsdialog.py:94 pysollib/tile/tkwidget.py:329 -#: pysollib/tile/wizarddialog.py:146 pysollib/tk/colorsdialog.py:111 -#: pysollib/tk/edittextdialog.py:82 pysollib/tk/fontsdialog.py:143 -#: pysollib/tk/fontsdialog.py:205 pysollib/tk/menubar.py:1155 -#: pysollib/tk/menubar.py:1157 pysollib/tk/playeroptionsdialog.py:85 -#: pysollib/tk/playeroptionsdialog.py:160 pysollib/tk/selectcardset.py:241 -#: pysollib/tk/selectgame.py:303 pysollib/tk/selectgame.py:444 -#: pysollib/tk/selecttile.py:159 pysollib/tk/soundoptionsdialog.py:170 -#: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkwidget.py:324 -#: pysollib/tk/wizarddialog.py:137 +#: pysollib/actions.py:324 pysollib/app.py:731 pysollib/app.py:1029 +#: pysollib/game.py:1018 pysollib/game.py:1692 pysollib/game.py:1711 +#: pysollib/game.py:1718 pysollib/game.py:1724 +#: pysollib/tile/colorsdialog.py:114 pysollib/tile/edittextdialog.py:83 +#: pysollib/tile/fontsdialog.py:142 pysollib/tile/fontsdialog.py:202 +#: pysollib/tile/playeroptionsdialog.py:109 pysollib/tile/selectcardset.py:238 +#: pysollib/tile/selectgame.py:303 pysollib/tile/selectgame.py:433 +#: pysollib/tile/selecttile.py:157 pysollib/tile/soundoptionsdialog.py:168 +#: pysollib/tile/timeoutsdialog.py:95 pysollib/tile/tkwidget.py:363 +#: pysollib/tile/wizarddialog.py:148 pysollib/tk/colorsdialog.py:113 +#: pysollib/tk/edittextdialog.py:82 pysollib/tk/fontsdialog.py:140 +#: pysollib/tk/fontsdialog.py:202 pysollib/tk/menubar.py:1155 +#: pysollib/tk/menubar.py:1157 pysollib/tk/playeroptionsdialog.py:84 +#: pysollib/tk/playeroptionsdialog.py:159 pysollib/tk/selectcardset.py:237 +#: pysollib/tk/selectgame.py:304 pysollib/tk/selectgame.py:434 +#: pysollib/tk/selecttile.py:156 pysollib/tk/soundoptionsdialog.py:166 +#: pysollib/tk/timeoutsdialog.py:90 pysollib/tk/tkwidget.py:359 +#: pysollib/tk/wizarddialog.py:138 msgid "&Cancel" msgstr "" @@ -127,8 +127,8 @@ msgstr "" msgid "Select next game" msgstr "" -#: pysollib/actions.py:409 pysollib/tile/toolbar.py:201 -#: pysollib/tk/toolbar.py:204 +#: pysollib/actions.py:409 pysollib/tile/toolbar.py:203 +#: pysollib/tk/toolbar.py:203 msgid "Quit " msgstr "" @@ -202,18 +202,18 @@ msgstr "" msgid "Statistics for " msgstr "" -#: pysollib/actions.py:603 pysollib/tile/selectgame.py:380 -#: pysollib/tile/tkstats.py:74 pysollib/tile/toolbar.py:198 -#: pysollib/tk/selectgame.py:387 pysollib/tk/toolbar.py:201 +#: pysollib/actions.py:603 pysollib/tile/selectgame.py:381 +#: pysollib/tile/tkstats.py:74 pysollib/tile/toolbar.py:200 +#: pysollib/tk/selectgame.py:381 pysollib/tk/toolbar.py:200 msgid "Statistics" msgstr "" -#: pysollib/actions.py:607 pysollib/tile/tkstats.py:528 +#: pysollib/actions.py:607 pysollib/tile/tkstats.py:534 #: data/glade-translations:31 msgid "Full log" msgstr "" -#: pysollib/actions.py:610 pysollib/tile/tkstats.py:532 +#: pysollib/actions.py:610 pysollib/tile/tkstats.py:538 #: data/glade-translations:32 msgid "Session log" msgstr "" @@ -268,37 +268,33 @@ msgstr "" msgid "Set timeouts" msgstr "" -#: pysollib/app.py:159 -msgid "Unknown" -msgstr "" - -#: pysollib/app.py:910 +#: pysollib/app.py:477 msgid "can't find game: " msgstr "" -#: pysollib/app.py:1153 pysollib/game.py:1690 pysollib/game.py:1706 -#: pysollib/game.py:1713 pysollib/game.py:1719 pysollib/tile/menubar.py:353 -#: pysollib/tk/menubar.py:349 +#: pysollib/app.py:732 pysollib/game.py:1692 pysollib/game.py:1711 +#: pysollib/game.py:1718 pysollib/game.py:1724 pysollib/tile/menubar.py:353 +#: pysollib/tk/menubar.py:350 msgid "&New game" msgstr "" -#: pysollib/app.py:1296 +#: pysollib/app.py:875 msgid "Loading %s %s..." msgstr "" -#: pysollib/app.py:1335 +#: pysollib/app.py:914 msgid " load error" msgstr "" -#: pysollib/app.py:1336 +#: pysollib/app.py:915 msgid "Error while loading " msgstr "" -#: pysollib/app.py:1430 +#: pysollib/app.py:1009 msgid "Incompatible " msgstr "" -#: pysollib/app.py:1432 +#: pysollib/app.py:1011 msgid "" "The currently selected %s %s\n" "is not compatible with the game\n" @@ -307,164 +303,176 @@ msgid "" "Please select a %s type %s.\n" msgstr "" -#: pysollib/app.py:1448 +#: pysollib/app.py:1027 msgid "Please select a %s type %s" msgstr "" -#: pysollib/app.py:1678 +#: pysollib/app.py:1256 msgid "error loading plugin %s: %s" msgstr "" -#: pysollib/game.py:938 pysollib/game.py:944 +#: pysollib/game.py:937 pysollib/game.py:943 msgid "Player\n" msgstr "" -#: pysollib/game.py:1015 +#: pysollib/game.py:1014 msgid "Discard current game ?" msgstr "" -#: pysollib/game.py:1643 +#: pysollib/game.py:1642 msgid "" "\n" "You have reached\n" "#%d in the %s of playing time" msgstr "" -#: pysollib/game.py:1648 +#: pysollib/game.py:1647 msgid "" "\n" "and #%d in the %s of moves" msgstr "" -#: pysollib/game.py:1651 +#: pysollib/game.py:1650 msgid "" "\n" "You have reached\n" "#%d in the %s of moves" msgstr "" -#: pysollib/game.py:1681 pysollib/game.py:1698 +#: pysollib/game.py:1680 pysollib/game.py:1700 +msgid "" +"Your playing time is %s\n" +"for %d move." +msgid_plural "" +"Your playing time is %s\n" +"for %d moves." +msgstr[0] "" +msgstr[1] "" + +#: pysollib/game.py:1684 pysollib/game.py:1704 #: pysollib/tile/soundoptionsdialog.py:102 -#: pysollib/tk/soundoptionsdialog.py:100 +#: pysollib/tk/soundoptionsdialog.py:99 msgid "Game won" msgstr "" -#: pysollib/game.py:1682 +#: pysollib/game.py:1685 msgid "" "\n" "Congratulations, this\n" "was a truly perfect game !\n" "\n" -"Your playing time is %s\n" -"for %d moves.\n" +"%s\n" "%s\n" msgstr "" -#: pysollib/game.py:1699 +#: pysollib/game.py:1705 msgid "" "\n" "Congratulations, you did it !\n" "\n" -"Your playing time is %s\n" -"for %d moves.\n" +"%s\n" "%s\n" msgstr "" -#: pysollib/game.py:1711 pysollib/game.py:1717 +#: pysollib/game.py:1716 pysollib/game.py:1722 #: pysollib/tile/soundoptionsdialog.py:100 -#: pysollib/tk/soundoptionsdialog.py:98 +#: pysollib/tk/soundoptionsdialog.py:97 msgid "Game finished" msgstr "" -#: pysollib/game.py:1712 pysollib/game.py:2290 +#: pysollib/game.py:1717 pysollib/game.py:2306 msgid "" "\n" "Game finished\n" msgstr "" -#: pysollib/game.py:1718 +#: pysollib/game.py:1723 msgid "" "\n" "Game finished, but not without my help...\n" msgstr "" -#: pysollib/game.py:1719 +#: pysollib/game.py:1724 msgid "&Restart" msgstr "" -#: pysollib/game.py:2179 +#: pysollib/game.py:2188 msgid "Score %6d" msgstr "" -#: pysollib/game.py:2281 +#: pysollib/game.py:2290 msgid "&Cool" msgstr "" -#: pysollib/game.py:2281 +#: pysollib/game.py:2290 msgid "&Great" msgstr "" -#: pysollib/game.py:2281 +#: pysollib/game.py:2291 msgid "&Wow" msgstr "" -#: pysollib/game.py:2281 +#: pysollib/game.py:2291 msgid "&Yeah" msgstr "" -#: pysollib/game.py:2282 pysollib/game.py:2293 pysollib/game.py:2305 +#: pysollib/game.py:2292 +msgid "" +"\n" +"Game solved in %d move.\n" +msgid_plural "" +"\n" +"Game solved in %d moves.\n" +msgstr[0] "" +msgstr[1] "" + +#: pysollib/game.py:2296 pysollib/game.py:2309 pysollib/game.py:2321 msgid " Autopilot" msgstr "" -#: pysollib/game.py:2283 -msgid "" -"\n" -"Game solved in %d moves.\n" -msgstr "" - -#: pysollib/game.py:2304 +#: pysollib/game.py:2320 msgid "&Hmm" msgstr "" -#: pysollib/game.py:2304 +#: pysollib/game.py:2320 msgid "&Oh well" msgstr "" -#: pysollib/game.py:2304 +#: pysollib/game.py:2320 msgid "&That's life" msgstr "" -#: pysollib/game.py:2306 +#: pysollib/game.py:2322 msgid "" "\n" "This won't come out...\n" msgstr "" -#: pysollib/game.py:2746 +#: pysollib/game.py:2763 msgid "Set bookmark" msgstr "" -#: pysollib/game.py:2747 +#: pysollib/game.py:2764 msgid "Replace existing bookmark %d ?" msgstr "" -#: pysollib/game.py:2769 +#: pysollib/game.py:2786 msgid "Goto bookmark" msgstr "" -#: pysollib/game.py:2770 +#: pysollib/game.py:2787 msgid "Goto bookmark %d ?" msgstr "" -#: pysollib/game.py:2801 +#: pysollib/game.py:2818 msgid "Open game" msgstr "" -#: pysollib/game.py:2812 pysollib/game.py:2822 pysollib/game.py:2827 +#: pysollib/game.py:2829 pysollib/game.py:2839 pysollib/game.py:2844 msgid "Load game error" msgstr "" -#: pysollib/game.py:2813 +#: pysollib/game.py:2830 msgid "" "Error while loading game.\n" "\n" @@ -472,37 +480,37 @@ msgid "" "but this could also be a bug you might want to report." msgstr "" -#: pysollib/game.py:2823 +#: pysollib/game.py:2840 msgid "Error while loading game" msgstr "" -#: pysollib/game.py:2828 +#: pysollib/game.py:2845 msgid "" "Internal error while loading game.\n" "\n" "Please report this bug." msgstr "" -#: pysollib/game.py:2857 pysollib/tile/menubar.py:1391 +#: pysollib/game.py:2874 pysollib/tile/menubar.py:1392 #: pysollib/tk/menubar.py:1375 msgid "Save game error" msgstr "" -#: pysollib/game.py:2858 +#: pysollib/game.py:2875 msgid "Error while saving game" msgstr "" -#: pysollib/game.py:2883 +#: pysollib/game.py:2900 msgid "Invalid or damaged %s save file" msgstr "" -#: pysollib/game.py:2897 +#: pysollib/game.py:2916 msgid "" "Cannot load games saved with\n" "%s version %s" msgstr "" -#: pysollib/game.py:2914 +#: pysollib/game.py:2933 msgid "" "Cannot load this game from version %s\n" "as the game rules have changed\n" @@ -751,13 +759,13 @@ msgid "" msgstr "" #: pysollib/games/canfield.py:529 pysollib/games/special/tarock.py:224 -#: pysollib/stack.py:1498 pysollib/util.py:86 pysollib/wizardutil.py:158 +#: pysollib/stack.py:1501 pysollib/util.py:78 pysollib/wizardutil.py:158 #: pysollib/wizardutil.py:216 msgid "King" msgstr "" #: pysollib/games/canfield.py:532 pysollib/games/special/tarock.py:224 -#: pysollib/stack.py:1497 pysollib/util.py:86 +#: pysollib/stack.py:1500 pysollib/util.py:78 msgid "Queen" msgstr "" @@ -782,12 +790,12 @@ msgid "Waste. Build up or down regardless of suit." msgstr "" #: pysollib/games/golf.py:117 pysollib/games/golf.py:305 -#: pysollib/stack.py:2253 +#: pysollib/stack.py:2256 msgid "Tableau. No building." msgstr "" -#: pysollib/games/golf.py:390 pysollib/games/pileon.py:257 -#: pysollib/stack.py:2142 +#: pysollib/games/golf.py:390 pysollib/games/pileon.py:255 +#: pysollib/stack.py:2145 msgid "Foundation. Build up regardless of suit." msgstr "" @@ -805,7 +813,7 @@ msgstr "" msgid "Reserve. Only Kings are acceptable." msgstr "" -#: pysollib/games/larasgame.py:163 pysollib/stack.py:1710 +#: pysollib/games/larasgame.py:163 pysollib/stack.py:1713 msgid "Round %d" msgstr "" @@ -879,7 +887,7 @@ msgid "Deal %d" msgstr "" #: pysollib/games/numerica.py:262 pysollib/games/royalcotillion.py:865 -#: pysollib/stack.py:2185 +#: pysollib/stack.py:2188 msgid "Foundation. Build up by color." msgstr "" @@ -937,7 +945,7 @@ msgstr "" #: pysollib/games/special/tarock.py:223 #: pysollib/games/ultra/dashavatara.py:351 #: pysollib/games/ultra/hexadeck.py:273 pysollib/games/ultra/mughal.py:254 -#: pysollib/stack.py:1499 pysollib/util.py:85 pysollib/wizardutil.py:157 +#: pysollib/stack.py:1502 pysollib/util.py:77 pysollib/wizardutil.py:157 #: pysollib/wizardutil.py:161 pysollib/wizardutil.py:215 msgid "Ace" msgstr "" @@ -1033,7 +1041,7 @@ msgid "Yellow" msgstr "" #: pysollib/games/ultra/dashavatara.py:353 pysollib/games/ultra/mughal.py:257 -#: pysollib/tile/selecttile.py:87 pysollib/tk/selecttile.py:86 +#: pysollib/tile/selecttile.py:84 pysollib/tk/selecttile.py:83 msgid "Green" msgstr "" @@ -1050,12 +1058,12 @@ msgid "Grey" msgstr "" #: pysollib/games/ultra/dashavatara.py:354 pysollib/games/ultra/mughal.py:257 -#: pysollib/tile/selecttile.py:90 pysollib/tk/selecttile.py:89 +#: pysollib/tile/selecttile.py:87 pysollib/tk/selecttile.py:86 msgid "Orange" msgstr "" -#: pysollib/games/ultra/dashavatara.py:354 pysollib/tile/selecttile.py:89 -#: pysollib/tk/selecttile.py:88 +#: pysollib/games/ultra/dashavatara.py:354 pysollib/tile/selecttile.py:86 +#: pysollib/tk/selecttile.py:85 msgid "Olive" msgstr "" @@ -1247,58 +1255,56 @@ msgid "" "regardless of sequence." msgstr "" -#: pysollib/help.py:59 +#: pysollib/help.py:54 msgid "A Python Solitaire Game Collection\n" msgstr "" -#: pysollib/help.py:61 +#: pysollib/help.py:56 msgid "A World Domination Project\n" msgstr "" -#: pysollib/help.py:62 +#: pysollib/help.py:57 msgid "&Credits..." msgstr "" -#: pysollib/help.py:62 +#: pysollib/help.py:57 msgid "&Nice" msgstr "" -#: pysollib/help.py:64 +#: pysollib/help.py:59 msgid "&Enjoy" msgstr "" -#: pysollib/help.py:66 -msgid "" -"Version %s\n" -"\n" +#: pysollib/help.py:60 +msgid "Version %s" msgstr "" -#: pysollib/help.py:67 +#: pysollib/help.py:61 msgid "About " msgstr "" -#: pysollib/help.py:68 +#: pysollib/help.py:63 msgid "" "PySol Fan Club edition\n" "%s%s\n" +"\n" "Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003\n" "Markus F.X.J. Oberhumer\n" "Copyright (C) 2003 Mt. Hood Playing Card Co.\n" -"Copyright (C) 2005 Skomoroh (Fan Club edition)\n" +"Copyright (C) 2005 Skomoroh\n" "All Rights Reserved.\n" "\n" "PySol is free software distributed under the terms\n" "of the GNU General Public License.\n" "\n" -"For more information about this application visit\n" -"%s" +"For more information about this application visit" msgstr "" -#: pysollib/help.py:97 +#: pysollib/help.py:93 msgid "Credits" msgstr "" -#: pysollib/help.py:98 +#: pysollib/help.py:94 msgid "" " credits go to:\n" "\n" @@ -1313,23 +1319,23 @@ msgid "" "for making this program possible" msgstr "" -#: pysollib/help.py:133 +#: pysollib/help.py:129 msgid " HTML Problem" msgstr "" -#: pysollib/help.py:134 +#: pysollib/help.py:130 msgid "Cannot find help document\n" msgstr "" -#: pysollib/help.py:147 +#: pysollib/help.py:143 msgid " Help" msgstr "" -#: pysollib/main.py:65 pysollib/main.py:258 +#: pysollib/main.py:66 pysollib/main.py:281 msgid "%s installation error" msgstr "" -#: pysollib/main.py:66 +#: pysollib/main.py:67 msgid "" "No cardsets were found !!!\n" "\n" @@ -1339,18 +1345,18 @@ msgid "" "Please check your %s installation.\n" msgstr "" -#: pysollib/main.py:73 pysollib/main.py:266 pysollib/tile/menubar.py:373 -#: pysollib/tk/menubar.py:369 +#: pysollib/main.py:74 pysollib/main.py:289 pysollib/tile/menubar.py:373 +#: pysollib/tk/menubar.py:370 msgid "&Quit" msgstr "" -#: pysollib/main.py:91 +#: pysollib/main.py:92 msgid "" "%s\n" "try %s --help for more information" msgstr "" -#: pysollib/main.py:120 +#: pysollib/main.py:121 msgid "" "Usage: %s [OPTIONS] [FILE]\n" " -g --game=GAMENAME start game GAMENAME\n" @@ -1365,23 +1371,27 @@ msgid "" " MOD - one of following: pss(default), pygame, oss, win\n" msgstr "" -#: pysollib/main.py:136 +#: pysollib/main.py:137 msgid "" "too many files\n" "try %s --help for more information" msgstr "" -#: pysollib/main.py:142 +#: pysollib/main.py:143 msgid "" "invalid file name\n" "try %s --help for more information" msgstr "" -#: pysollib/main.py:182 +#: pysollib/main.py:167 msgid "invalid game id: " msgstr "" -#: pysollib/main.py:259 +#: pysollib/main.py:214 +msgid "Welcome to %s" +msgstr "" + +#: pysollib/main.py:282 msgid "" "\n" "No games were found !!!\n" @@ -1392,8 +1402,8 @@ msgid "" "Please check your %s installation.\n" msgstr "" -#: pysollib/main.py:328 -msgid "Welcome to %s" +#: pysollib/options.py:236 +msgid "Unknown" msgstr "" #: pysollib/resource.py:191 @@ -1660,243 +1670,243 @@ msgstr "" msgid "USA" msgstr "" -#: pysollib/settings.py:71 data/glade-translations:29 +#: pysollib/settings.py:70 data/glade-translations:29 msgid "Top 10" msgstr "" -#: pysollib/stack.py:1493 +#: pysollib/stack.py:1496 msgid "Base card - %s." msgstr "" -#: pysollib/stack.py:1494 +#: pysollib/stack.py:1497 msgid "Empty row cannot be filled." msgstr "" -#: pysollib/stack.py:1495 +#: pysollib/stack.py:1498 msgid "any card" msgstr "" -#: pysollib/stack.py:1496 pysollib/util.py:86 +#: pysollib/stack.py:1499 pysollib/util.py:78 msgid "Jack" msgstr "" -#: pysollib/stack.py:1506 +#: pysollib/stack.py:1509 msgid "No cards" msgstr "" -#: pysollib/stack.py:1507 +#: pysollib/stack.py:1510 msgid "%d card" msgid_plural "%d cards" msgstr[0] "" msgstr[1] "" -#: pysollib/stack.py:1719 pysollib/stack.py:1721 pysollib/stack.py:1757 +#: pysollib/stack.py:1722 pysollib/stack.py:1724 pysollib/stack.py:1760 msgid "Redeal" msgstr "" -#: pysollib/stack.py:1721 +#: pysollib/stack.py:1724 msgid "Stop" msgstr "" -#: pysollib/stack.py:1783 +#: pysollib/stack.py:1786 msgid "Variable redeals." msgstr "" -#: pysollib/stack.py:1784 +#: pysollib/stack.py:1787 msgid "Unlimited redeals." msgstr "" -#: pysollib/stack.py:1787 +#: pysollib/stack.py:1790 msgid "%d readeal" msgid_plural "%d redeals" msgstr[0] "" msgstr[1] "" -#: pysollib/stack.py:1789 +#: pysollib/stack.py:1792 msgid "Talon." msgstr "" -#: pysollib/stack.py:2055 pysollib/stack.py:2702 +#: pysollib/stack.py:2058 pysollib/stack.py:2705 msgid "Reserve. No building." msgstr "" -#: pysollib/stack.py:2093 +#: pysollib/stack.py:2096 msgid "Foundation." msgstr "" -#: pysollib/stack.py:2131 +#: pysollib/stack.py:2134 msgid "Foundation. Build up by suit." msgstr "" -#: pysollib/stack.py:2132 +#: pysollib/stack.py:2135 msgid "Foundation. Build down by suit." msgstr "" -#: pysollib/stack.py:2133 pysollib/stack.py:2144 pysollib/stack.py:2166 -#: pysollib/stack.py:2187 +#: pysollib/stack.py:2136 pysollib/stack.py:2147 pysollib/stack.py:2169 +#: pysollib/stack.py:2190 msgid "Foundation. Build by same rank." msgstr "" -#: pysollib/stack.py:2143 +#: pysollib/stack.py:2146 msgid "Foundation. Build down regardless of suit." msgstr "" -#: pysollib/stack.py:2164 +#: pysollib/stack.py:2167 msgid "Foundation. Build up by alternate color." msgstr "" -#: pysollib/stack.py:2165 +#: pysollib/stack.py:2168 msgid "Foundation. Build down by alternate color." msgstr "" -#: pysollib/stack.py:2186 +#: pysollib/stack.py:2189 msgid "Foundation. Build down by color." msgstr "" -#: pysollib/stack.py:2295 +#: pysollib/stack.py:2298 msgid "Tableau. Build up by alternate color." msgstr "" -#: pysollib/stack.py:2296 +#: pysollib/stack.py:2299 msgid "Tableau. Build down by alternate color." msgstr "" -#: pysollib/stack.py:2297 pysollib/stack.py:2307 pysollib/stack.py:2316 -#: pysollib/stack.py:2325 pysollib/stack.py:2335 pysollib/stack.py:2364 -#: pysollib/stack.py:2374 +#: pysollib/stack.py:2300 pysollib/stack.py:2310 pysollib/stack.py:2319 +#: pysollib/stack.py:2328 pysollib/stack.py:2338 pysollib/stack.py:2367 +#: pysollib/stack.py:2377 msgid "Tableau. Build by same rank." msgstr "" -#: pysollib/stack.py:2305 +#: pysollib/stack.py:2308 msgid "Tableau. Build up by color." msgstr "" -#: pysollib/stack.py:2306 +#: pysollib/stack.py:2309 msgid "Tableau. Build down by color." msgstr "" -#: pysollib/stack.py:2314 +#: pysollib/stack.py:2317 msgid "Tableau. Build up by suit." msgstr "" -#: pysollib/stack.py:2315 +#: pysollib/stack.py:2318 msgid "Tableau. Build down by suit." msgstr "" -#: pysollib/stack.py:2323 +#: pysollib/stack.py:2326 msgid "Tableau. Build up regardless of suit." msgstr "" -#: pysollib/stack.py:2324 +#: pysollib/stack.py:2327 msgid "Tableau. Build down regardless of suit." msgstr "" -#: pysollib/stack.py:2333 +#: pysollib/stack.py:2336 msgid "Tableau. Build up in any suit but the same." msgstr "" -#: pysollib/stack.py:2334 +#: pysollib/stack.py:2337 msgid "Tableau. Build down in any suit but the same." msgstr "" -#: pysollib/stack.py:2362 +#: pysollib/stack.py:2365 msgid "" "Tableau. Build up regardless of suit. Sequences of cards in alternate color " "can be moved as a unit." msgstr "" -#: pysollib/stack.py:2363 +#: pysollib/stack.py:2366 msgid "" "Tableau. Build down regardless of suit. Sequences of cards in alternate " "color can be moved as a unit." msgstr "" -#: pysollib/stack.py:2372 +#: pysollib/stack.py:2375 msgid "" "Tableau. Build up regardless of suit. Sequences of cards in the same suit " "can be moved as a unit." msgstr "" -#: pysollib/stack.py:2373 +#: pysollib/stack.py:2376 msgid "" "Tableau. Build down regardless of suit. Sequences of cards in the same suit " "can be moved as a unit." msgstr "" -#: pysollib/stack.py:2395 +#: pysollib/stack.py:2398 msgid "" "Tableau. Build up by alternate color, can move any face-up cards regardless " "of sequence." msgstr "" -#: pysollib/stack.py:2396 +#: pysollib/stack.py:2399 msgid "" "Tableau. Build down by alternate color, can move any face-up cards " "regardless of sequence." msgstr "" -#: pysollib/stack.py:2397 pysollib/stack.py:2410 pysollib/stack.py:2420 +#: pysollib/stack.py:2400 pysollib/stack.py:2413 pysollib/stack.py:2423 msgid "" "Tableau. Build by same rank, can move any face-up cards regardless of " "sequence." msgstr "" -#: pysollib/stack.py:2408 +#: pysollib/stack.py:2411 msgid "" "Tableau. Build up by suit, can move any face-up cards regardless of sequence." msgstr "" -#: pysollib/stack.py:2409 +#: pysollib/stack.py:2412 msgid "" "Tableau. Build down by suit, can move any face-up cards regardless of " "sequence." msgstr "" -#: pysollib/stack.py:2418 pysollib/stack.py:2419 +#: pysollib/stack.py:2421 pysollib/stack.py:2422 msgid "" "Tableau. Build up regardless of suit, can move any face-up cards regardless " "of sequence." msgstr "" -#: pysollib/stack.py:2452 +#: pysollib/stack.py:2455 msgid "Tableau. Build up or down by color." msgstr "" -#: pysollib/stack.py:2463 +#: pysollib/stack.py:2466 msgid "Tableau. Build up or down by alternate color." msgstr "" -#: pysollib/stack.py:2474 +#: pysollib/stack.py:2477 msgid "Tableau. Build up or down by suit." msgstr "" -#: pysollib/stack.py:2485 +#: pysollib/stack.py:2488 msgid "Tableau. Build up or down regardless of suit." msgstr "" -#: pysollib/stack.py:2586 +#: pysollib/stack.py:2589 msgid "Waste." msgstr "" -#: pysollib/stack.py:2703 +#: pysollib/stack.py:2706 msgid "Free cell." msgstr "" -#: pysollib/stats.py:52 pysollib/stats.py:122 pysollib/tile/tkstats.py:675 +#: pysollib/stats.py:52 pysollib/stats.py:122 pysollib/tile/tkstats.py:682 msgid "Game" msgstr "" -#: pysollib/stats.py:53 pysollib/tile/tkstats.py:906 -#: pysollib/tile/tkstats.py:979 pysollib/tile/tkstats.py:980 -#: pysollib/tk/tkstats.py:881 pysollib/tk/tkstats.py:882 -#: pysollib/tk/tkstats.py:935 +#: pysollib/stats.py:53 pysollib/tile/tkstats.py:913 +#: pysollib/tile/tkstats.py:983 pysollib/tile/tkstats.py:984 +#: pysollib/tk/tkstats.py:880 pysollib/tk/tkstats.py:881 +#: pysollib/tk/tkstats.py:928 msgid "Played" msgstr "" -#: pysollib/stats.py:54 pysollib/stats.py:161 pysollib/tile/tkstats.py:913 -#: pysollib/tile/tkstats.py:984 pysollib/tile/tkstats.py:985 -#: pysollib/tk/tkstats.py:886 pysollib/tk/tkstats.py:887 -#: pysollib/tk/tkstats.py:943 +#: pysollib/stats.py:54 pysollib/stats.py:161 pysollib/tile/tkstats.py:919 +#: pysollib/tile/tkstats.py:988 pysollib/tile/tkstats.py:989 +#: pysollib/tk/tkstats.py:885 pysollib/tk/tkstats.py:886 +#: pysollib/tk/tkstats.py:936 msgid "Won" msgstr "" @@ -1904,8 +1914,8 @@ msgstr "" msgid "Lost" msgstr "" -#: pysollib/stats.py:56 pysollib/tile/statusbar.py:150 -#: pysollib/tk/statusbar.py:159 data/glade-translations:25 +#: pysollib/stats.py:56 pysollib/tile/statusbar.py:164 +#: pysollib/tk/statusbar.py:162 data/glade-translations:25 msgid "Playing time" msgstr "" @@ -1913,11 +1923,11 @@ msgstr "" msgid "Moves" msgstr "" -#: pysollib/stats.py:58 pysollib/tile/tkstats.py:920 -#: pysollib/tile/tkstats.py:952 pysollib/tile/tkstats.py:971 -#: pysollib/tile/tkstats.py:989 pysollib/tk/tkstats.py:854 -#: pysollib/tk/tkstats.py:873 pysollib/tk/tkstats.py:891 -#: pysollib/tk/tkstats.py:951 +#: pysollib/stats.py:58 pysollib/tile/tkstats.py:925 +#: pysollib/tile/tkstats.py:956 pysollib/tile/tkstats.py:975 +#: pysollib/tile/tkstats.py:993 pysollib/tk/tkstats.py:853 +#: pysollib/tk/tkstats.py:872 pysollib/tk/tkstats.py:890 +#: pysollib/tk/tkstats.py:944 msgid "% won" msgstr "" @@ -1925,18 +1935,18 @@ msgstr "" msgid "Status" msgstr "" -#: pysollib/stats.py:122 pysollib/tile/statusbar.py:152 -#: pysollib/tile/tkstats.py:678 pysollib/tk/statusbar.py:161 -#: pysollib/tk/tkstats.py:665 +#: pysollib/stats.py:122 pysollib/tile/statusbar.py:166 +#: pysollib/tile/tkstats.py:685 pysollib/tk/statusbar.py:164 +#: pysollib/tk/tkstats.py:664 msgid "Game number" msgstr "" -#: pysollib/stats.py:122 pysollib/tile/tkstats.py:681 -#: pysollib/tk/tkstats.py:668 +#: pysollib/stats.py:122 pysollib/tile/tkstats.py:688 +#: pysollib/tk/tkstats.py:667 msgid "Started at" msgstr "" -#: pysollib/stats.py:146 pysollib/tile/tkstats.py:697 +#: pysollib/stats.py:146 pysollib/tile/tkstats.py:704 msgid "** UNKNOWN %d **" msgstr "" @@ -1973,49 +1983,49 @@ msgstr "" msgid "Session log for " msgstr "" -#: pysollib/tile/colorsdialog.py:71 pysollib/tk/colorsdialog.py:70 +#: pysollib/tile/colorsdialog.py:69 pysollib/tk/colorsdialog.py:68 #: data/glade-translations:56 msgid "Text foreground:" msgstr "" -#: pysollib/tile/colorsdialog.py:72 pysollib/tile/timeoutsdialog.py:70 -#: pysollib/tk/colorsdialog.py:71 pysollib/tk/timeoutsdialog.py:68 +#: pysollib/tile/colorsdialog.py:70 pysollib/tile/timeoutsdialog.py:71 +#: pysollib/tk/colorsdialog.py:69 pysollib/tk/timeoutsdialog.py:66 #: data/glade-translations:37 data/glade-translations:41 msgid "Highlight piles:" msgstr "" -#: pysollib/tile/colorsdialog.py:73 pysollib/tk/colorsdialog.py:72 +#: pysollib/tile/colorsdialog.py:71 pysollib/tk/colorsdialog.py:70 #: data/glade-translations:42 msgid "Highlight cards 1:" msgstr "" -#: pysollib/tile/colorsdialog.py:74 pysollib/tk/colorsdialog.py:73 +#: pysollib/tile/colorsdialog.py:72 pysollib/tk/colorsdialog.py:71 #: data/glade-translations:43 msgid "Highlight cards 2:" msgstr "" -#: pysollib/tile/colorsdialog.py:75 pysollib/tk/colorsdialog.py:74 +#: pysollib/tile/colorsdialog.py:73 pysollib/tk/colorsdialog.py:72 #: data/glade-translations:44 msgid "Highlight same rank 1:" msgstr "" -#: pysollib/tile/colorsdialog.py:76 pysollib/tk/colorsdialog.py:75 +#: pysollib/tile/colorsdialog.py:74 pysollib/tk/colorsdialog.py:73 #: data/glade-translations:45 msgid "Highlight same rank 2:" msgstr "" -#: pysollib/tile/colorsdialog.py:77 pysollib/tk/colorsdialog.py:76 +#: pysollib/tile/colorsdialog.py:75 pysollib/tk/colorsdialog.py:74 #: data/glade-translations:46 msgid "Hint arrow:" msgstr "" -#: pysollib/tile/colorsdialog.py:78 pysollib/tk/colorsdialog.py:77 +#: pysollib/tile/colorsdialog.py:76 pysollib/tk/colorsdialog.py:75 #: data/glade-translations:47 msgid "Highlight not matching:" msgstr "" -#: pysollib/tile/colorsdialog.py:85 pysollib/tile/fontsdialog.py:185 -#: pysollib/tk/colorsdialog.py:84 pysollib/tk/fontsdialog.py:186 +#: pysollib/tile/colorsdialog.py:83 pysollib/tile/fontsdialog.py:183 +#: pysollib/tk/colorsdialog.py:82 pysollib/tk/fontsdialog.py:183 #: data/glade-translations:48 data/glade-translations:49 #: data/glade-translations:50 data/glade-translations:51 #: data/glade-translations:52 data/glade-translations:53 @@ -2027,244 +2037,244 @@ msgstr "" msgid "Change..." msgstr "" -#: pysollib/tile/colorsdialog.py:104 pysollib/tk/colorsdialog.py:103 +#: pysollib/tile/colorsdialog.py:103 pysollib/tk/colorsdialog.py:102 msgid "Select color" msgstr "" -#: pysollib/tile/findcarddialog.py:54 pysollib/tk/findcarddialog.py:54 +#: pysollib/tile/findcarddialog.py:51 pysollib/tk/findcarddialog.py:54 msgid "Find card" msgstr "" -#: pysollib/tile/fontsdialog.py:90 pysollib/tk/fontsdialog.py:85 +#: pysollib/tile/fontsdialog.py:88 pysollib/tk/fontsdialog.py:82 msgid "abcdefghABCDEFGH" msgstr "" -#: pysollib/tile/fontsdialog.py:99 pysollib/tk/fontsdialog.py:94 +#: pysollib/tile/fontsdialog.py:97 pysollib/tk/fontsdialog.py:91 msgid "Bold" msgstr "" -#: pysollib/tile/fontsdialog.py:103 pysollib/tk/fontsdialog.py:98 +#: pysollib/tile/fontsdialog.py:101 pysollib/tk/fontsdialog.py:95 msgid "Italic" msgstr "" -#: pysollib/tile/fontsdialog.py:109 pysollib/tile/selectcardset.py:332 -#: pysollib/tk/selectcardset.py:341 +#: pysollib/tile/fontsdialog.py:107 pysollib/tile/selectcardset.py:334 +#: pysollib/tk/selectcardset.py:333 msgid "Size:" msgstr "" -#: pysollib/tile/fontsdialog.py:167 pysollib/tk/fontsdialog.py:168 +#: pysollib/tile/fontsdialog.py:165 pysollib/tk/fontsdialog.py:165 #: data/glade-translations:58 msgid "HTML: " msgstr "" -#: pysollib/tile/fontsdialog.py:168 pysollib/tk/fontsdialog.py:169 +#: pysollib/tile/fontsdialog.py:166 pysollib/tk/fontsdialog.py:166 #: data/glade-translations:59 msgid "Small: " msgstr "" -#: pysollib/tile/fontsdialog.py:169 pysollib/tk/fontsdialog.py:170 +#: pysollib/tile/fontsdialog.py:167 pysollib/tk/fontsdialog.py:167 #: data/glade-translations:60 msgid "Fixed: " msgstr "" -#: pysollib/tile/fontsdialog.py:170 pysollib/tk/fontsdialog.py:171 +#: pysollib/tile/fontsdialog.py:168 pysollib/tk/fontsdialog.py:168 #: data/glade-translations:61 msgid "Tableau default: " msgstr "" -#: pysollib/tile/fontsdialog.py:171 pysollib/tk/fontsdialog.py:172 +#: pysollib/tile/fontsdialog.py:169 pysollib/tk/fontsdialog.py:169 #: data/glade-translations:62 msgid "Tableau fixed: " msgstr "" -#: pysollib/tile/fontsdialog.py:172 pysollib/tk/fontsdialog.py:173 +#: pysollib/tile/fontsdialog.py:170 pysollib/tk/fontsdialog.py:170 #: data/glade-translations:64 msgid "Tableau large: " msgstr "" -#: pysollib/tile/fontsdialog.py:173 pysollib/tk/fontsdialog.py:174 +#: pysollib/tile/fontsdialog.py:171 pysollib/tk/fontsdialog.py:171 #: data/glade-translations:63 msgid "Tableau small: " msgstr "" -#: pysollib/tile/fontsdialog.py:195 pysollib/tk/fontsdialog.py:196 +#: pysollib/tile/fontsdialog.py:193 pysollib/tk/fontsdialog.py:193 msgid "Select font" msgstr "" -#: pysollib/tile/menubar.py:86 pysollib/tk/menubar.py:84 +#: pysollib/tile/menubar.py:86 pysollib/tk/menubar.py:85 msgid "Compound" msgstr "" -#: pysollib/tile/menubar.py:92 pysollib/tk/menubar.py:90 +#: pysollib/tile/menubar.py:92 pysollib/tk/menubar.py:91 msgid "Hide" msgstr "" -#: pysollib/tile/menubar.py:95 pysollib/tk/menubar.py:93 +#: pysollib/tile/menubar.py:95 pysollib/tk/menubar.py:94 msgid "Top" msgstr "" -#: pysollib/tile/menubar.py:98 pysollib/tk/menubar.py:96 +#: pysollib/tile/menubar.py:98 pysollib/tk/menubar.py:97 msgid "Bottom" msgstr "" -#: pysollib/tile/menubar.py:101 pysollib/tk/menubar.py:99 +#: pysollib/tile/menubar.py:101 pysollib/tk/menubar.py:100 msgid "Left" msgstr "" -#: pysollib/tile/menubar.py:104 pysollib/tk/menubar.py:102 +#: pysollib/tile/menubar.py:104 pysollib/tk/menubar.py:103 msgid "Right" msgstr "" -#: pysollib/tile/menubar.py:115 pysollib/tk/menubar.py:113 +#: pysollib/tile/menubar.py:115 pysollib/tk/menubar.py:114 msgid "Visible buttons" msgstr "" #: pysollib/tile/menubar.py:350 pysollib/tile/menubar.py:520 -#: pysollib/tk/menubar.py:346 pysollib/tk/menubar.py:523 +#: pysollib/tk/menubar.py:347 pysollib/tk/menubar.py:524 msgid "&About " msgstr "" -#: pysollib/tile/menubar.py:352 pysollib/tk/menubar.py:348 +#: pysollib/tile/menubar.py:352 pysollib/tk/menubar.py:349 msgid "&File" msgstr "" -#: pysollib/tile/menubar.py:354 pysollib/tk/menubar.py:350 +#: pysollib/tile/menubar.py:354 pysollib/tk/menubar.py:351 msgid "R&ecent games" msgstr "" -#: pysollib/tile/menubar.py:356 pysollib/tk/menubar.py:352 +#: pysollib/tile/menubar.py:356 pysollib/tk/menubar.py:353 msgid "Select &random game" msgstr "" -#: pysollib/tile/menubar.py:357 pysollib/tk/menubar.py:353 +#: pysollib/tile/menubar.py:357 pysollib/tk/menubar.py:354 msgid "&All games" msgstr "" -#: pysollib/tile/menubar.py:358 pysollib/tk/menubar.py:354 +#: pysollib/tile/menubar.py:358 pysollib/tk/menubar.py:355 msgid "Games played and &won" msgstr "" -#: pysollib/tile/menubar.py:359 pysollib/tk/menubar.py:355 +#: pysollib/tile/menubar.py:359 pysollib/tk/menubar.py:356 msgid "Games played and ¬ won" msgstr "" -#: pysollib/tile/menubar.py:360 pysollib/tk/menubar.py:356 +#: pysollib/tile/menubar.py:360 pysollib/tk/menubar.py:357 msgid "Games not &played" msgstr "" -#: pysollib/tile/menubar.py:361 pysollib/tk/menubar.py:357 +#: pysollib/tile/menubar.py:361 pysollib/tk/menubar.py:358 msgid "Select game by nu&mber..." msgstr "" -#: pysollib/tile/menubar.py:363 pysollib/tk/menubar.py:359 +#: pysollib/tile/menubar.py:363 pysollib/tk/menubar.py:360 msgid "Fa&vorite games" msgstr "" -#: pysollib/tile/menubar.py:364 pysollib/tk/menubar.py:360 +#: pysollib/tile/menubar.py:364 pysollib/tk/menubar.py:361 msgid "A&dd to favorites" msgstr "" -#: pysollib/tile/menubar.py:365 pysollib/tk/menubar.py:361 +#: pysollib/tile/menubar.py:365 pysollib/tk/menubar.py:362 msgid "Remove &from favorites" msgstr "" -#: pysollib/tile/menubar.py:367 pysollib/tk/menubar.py:363 +#: pysollib/tile/menubar.py:367 pysollib/tk/menubar.py:364 msgid "&Open..." msgstr "" -#: pysollib/tile/menubar.py:368 pysollib/tk/menubar.py:364 +#: pysollib/tile/menubar.py:368 pysollib/tk/menubar.py:365 msgid "&Save" msgstr "" -#: pysollib/tile/menubar.py:369 pysollib/tk/menubar.py:365 +#: pysollib/tile/menubar.py:369 pysollib/tk/menubar.py:366 msgid "Save &as..." msgstr "" -#: pysollib/tile/menubar.py:371 pysollib/tk/menubar.py:367 +#: pysollib/tile/menubar.py:371 pysollib/tk/menubar.py:368 msgid "&Hold and quit" msgstr "" #: pysollib/tile/menubar.py:377 pysollib/tile/selectgame.py:433 -#: pysollib/tk/menubar.py:373 pysollib/tk/selectgame.py:444 +#: pysollib/tk/menubar.py:374 pysollib/tk/selectgame.py:434 msgid "&Select" msgstr "" -#: pysollib/tile/menubar.py:382 pysollib/tk/menubar.py:378 +#: pysollib/tile/menubar.py:382 pysollib/tk/menubar.py:379 msgid "&Edit" msgstr "" -#: pysollib/tile/menubar.py:383 pysollib/tk/menubar.py:379 +#: pysollib/tile/menubar.py:383 pysollib/tk/menubar.py:380 msgid "&Undo" msgstr "" -#: pysollib/tile/menubar.py:384 pysollib/tk/menubar.py:380 +#: pysollib/tile/menubar.py:384 pysollib/tk/menubar.py:381 msgid "&Redo" msgstr "" -#: pysollib/tile/menubar.py:385 pysollib/tk/menubar.py:381 +#: pysollib/tile/menubar.py:385 pysollib/tk/menubar.py:382 msgid "Redo &all" msgstr "" -#: pysollib/tile/menubar.py:388 pysollib/tk/menubar.py:384 +#: pysollib/tile/menubar.py:388 pysollib/tk/menubar.py:385 msgid "&Set bookmark" msgstr "" #: pysollib/tile/menubar.py:390 pysollib/tile/menubar.py:394 -#: pysollib/tk/menubar.py:386 pysollib/tk/menubar.py:390 +#: pysollib/tk/menubar.py:387 pysollib/tk/menubar.py:391 msgid "Bookmark %d" msgstr "" -#: pysollib/tile/menubar.py:392 pysollib/tk/menubar.py:388 +#: pysollib/tile/menubar.py:392 pysollib/tk/menubar.py:389 msgid "Go&to bookmark" msgstr "" -#: pysollib/tile/menubar.py:397 pysollib/tk/menubar.py:393 +#: pysollib/tile/menubar.py:397 pysollib/tk/menubar.py:394 msgid "&Clear bookmarks" msgstr "" -#: pysollib/tile/menubar.py:400 pysollib/tile/toolbar.py:187 -#: pysollib/tk/menubar.py:396 pysollib/tk/toolbar.py:190 +#: pysollib/tile/menubar.py:400 pysollib/tile/toolbar.py:189 +#: pysollib/tk/menubar.py:397 pysollib/tk/toolbar.py:189 msgid "Restart" msgstr "" -#: pysollib/tile/menubar.py:403 pysollib/tk/menubar.py:399 +#: pysollib/tile/menubar.py:403 pysollib/tk/menubar.py:400 msgid "Solitaire &Wizard" msgstr "" -#: pysollib/tile/menubar.py:404 pysollib/tk/menubar.py:400 +#: pysollib/tile/menubar.py:404 pysollib/tk/menubar.py:401 msgid "&Edit current game" msgstr "" -#: pysollib/tile/menubar.py:406 pysollib/tk/menubar.py:402 +#: pysollib/tile/menubar.py:406 pysollib/tk/menubar.py:403 msgid "&Game" msgstr "" -#: pysollib/tile/menubar.py:407 pysollib/tk/menubar.py:403 +#: pysollib/tile/menubar.py:407 pysollib/tk/menubar.py:404 msgid "&Deal cards" msgstr "" -#: pysollib/tile/menubar.py:408 pysollib/tk/menubar.py:404 +#: pysollib/tile/menubar.py:408 pysollib/tk/menubar.py:405 msgid "&Auto drop" msgstr "" -#: pysollib/tile/menubar.py:409 pysollib/tk/menubar.py:405 +#: pysollib/tile/menubar.py:409 pysollib/tk/menubar.py:406 msgid "Shu&ffle tiles" msgstr "" -#: pysollib/tile/menubar.py:410 pysollib/tk/menubar.py:406 +#: pysollib/tile/menubar.py:410 pysollib/tk/menubar.py:407 msgid "&Pause" msgstr "" -#: pysollib/tile/menubar.py:413 pysollib/tk/menubar.py:409 +#: pysollib/tile/menubar.py:413 pysollib/tk/menubar.py:410 msgid "S&tatus..." msgstr "" -#: pysollib/tile/menubar.py:414 pysollib/tk/menubar.py:410 +#: pysollib/tile/menubar.py:414 pysollib/tk/menubar.py:411 msgid "&Comments..." msgstr "" -#: pysollib/tile/menubar.py:416 pysollib/tile/tkstats.py:646 -#: pysollib/tk/tkstats.py:636 +#: pysollib/tile/menubar.py:416 pysollib/tile/tkstats.py:651 +#: pysollib/tk/tkstats.py:635 msgid "&Statistics..." msgstr "" @@ -2272,363 +2282,363 @@ msgstr "" msgid "Log..." msgstr "" -#: pysollib/tile/menubar.py:419 pysollib/tk/menubar.py:421 +#: pysollib/tile/menubar.py:419 pysollib/tk/menubar.py:422 msgid "D&emo statistics" msgstr "" -#: pysollib/tile/menubar.py:421 pysollib/tk/menubar.py:425 +#: pysollib/tile/menubar.py:421 pysollib/tk/menubar.py:426 msgid "&Assist" msgstr "" -#: pysollib/tile/menubar.py:422 pysollib/tk/menubar.py:426 +#: pysollib/tile/menubar.py:422 pysollib/tk/menubar.py:427 msgid "&Hint" msgstr "" -#: pysollib/tile/menubar.py:423 pysollib/tk/menubar.py:427 +#: pysollib/tile/menubar.py:423 pysollib/tk/menubar.py:428 msgid "Highlight p&iles" msgstr "" -#: pysollib/tile/menubar.py:424 pysollib/tk/menubar.py:428 +#: pysollib/tile/menubar.py:424 pysollib/tk/menubar.py:429 msgid "&Find card" msgstr "" -#: pysollib/tile/menubar.py:426 pysollib/tk/menubar.py:430 +#: pysollib/tile/menubar.py:426 pysollib/tk/menubar.py:431 msgid "&Demo" msgstr "" -#: pysollib/tile/menubar.py:427 pysollib/tk/menubar.py:431 +#: pysollib/tile/menubar.py:427 pysollib/tk/menubar.py:432 msgid "Demo (&all games)" msgstr "" #: pysollib/tile/menubar.py:429 pysollib/tile/menubar.py:431 -#: pysollib/tk/menubar.py:433 pysollib/tk/menubar.py:435 +#: pysollib/tk/menubar.py:434 pysollib/tk/menubar.py:436 msgid "&Solver (experimental)" msgstr "" -#: pysollib/tile/menubar.py:433 pysollib/tk/menubar.py:437 +#: pysollib/tile/menubar.py:433 pysollib/tk/menubar.py:438 msgid "&Piles description" msgstr "" -#: pysollib/tile/menubar.py:437 pysollib/tk/menubar.py:441 +#: pysollib/tile/menubar.py:437 pysollib/tk/menubar.py:442 msgid "&Options" msgstr "" -#: pysollib/tile/menubar.py:438 pysollib/tk/menubar.py:442 +#: pysollib/tile/menubar.py:438 pysollib/tk/menubar.py:443 msgid "&Player options..." msgstr "" -#: pysollib/tile/menubar.py:439 pysollib/tk/menubar.py:443 +#: pysollib/tile/menubar.py:439 pysollib/tk/menubar.py:444 msgid "&Automatic play" msgstr "" -#: pysollib/tile/menubar.py:440 pysollib/tk/menubar.py:444 +#: pysollib/tile/menubar.py:440 pysollib/tk/menubar.py:445 msgid "Auto &face up" msgstr "" -#: pysollib/tile/menubar.py:441 pysollib/tk/menubar.py:445 +#: pysollib/tile/menubar.py:441 pysollib/tk/menubar.py:446 msgid "A&uto drop" msgstr "" -#: pysollib/tile/menubar.py:442 pysollib/tk/menubar.py:446 +#: pysollib/tile/menubar.py:442 pysollib/tk/menubar.py:447 msgid "Auto &deal" msgstr "" -#: pysollib/tile/menubar.py:444 pysollib/tk/menubar.py:448 +#: pysollib/tile/menubar.py:444 pysollib/tk/menubar.py:449 msgid "&Quick play" msgstr "" -#: pysollib/tile/menubar.py:445 pysollib/tk/menubar.py:449 +#: pysollib/tile/menubar.py:445 pysollib/tk/menubar.py:450 msgid "Assist &level" msgstr "" -#: pysollib/tile/menubar.py:446 pysollib/tk/menubar.py:450 +#: pysollib/tile/menubar.py:446 pysollib/tk/menubar.py:451 msgid "Enable &undo" msgstr "" -#: pysollib/tile/menubar.py:447 pysollib/tk/menubar.py:451 +#: pysollib/tile/menubar.py:447 pysollib/tk/menubar.py:452 msgid "Enable &bookmarks" msgstr "" -#: pysollib/tile/menubar.py:448 pysollib/tk/menubar.py:452 +#: pysollib/tile/menubar.py:448 pysollib/tk/menubar.py:453 msgid "Enable &hint" msgstr "" -#: pysollib/tile/menubar.py:449 pysollib/tk/menubar.py:453 +#: pysollib/tile/menubar.py:449 pysollib/tk/menubar.py:454 msgid "Enable highlight p&iles" msgstr "" -#: pysollib/tile/menubar.py:450 pysollib/tk/menubar.py:454 +#: pysollib/tile/menubar.py:450 pysollib/tk/menubar.py:455 msgid "Enable highlight &cards" msgstr "" -#: pysollib/tile/menubar.py:451 pysollib/tk/menubar.py:455 +#: pysollib/tile/menubar.py:451 pysollib/tk/menubar.py:456 msgid "Enable highlight same &rank" msgstr "" -#: pysollib/tile/menubar.py:452 pysollib/tk/menubar.py:456 +#: pysollib/tile/menubar.py:452 pysollib/tk/menubar.py:457 msgid "Highlight &no matching" msgstr "" -#: pysollib/tile/menubar.py:454 pysollib/tk/menubar.py:458 +#: pysollib/tile/menubar.py:454 pysollib/tk/menubar.py:459 msgid "&Show removed tiles (in Mahjongg games)" msgstr "" -#: pysollib/tile/menubar.py:455 pysollib/tk/menubar.py:459 +#: pysollib/tile/menubar.py:455 pysollib/tk/menubar.py:460 msgid "Show hint &arrow (in Shisen-Sho games)" msgstr "" -#: pysollib/tile/menubar.py:457 pysollib/tk/menubar.py:461 +#: pysollib/tile/menubar.py:457 pysollib/tk/menubar.py:462 msgid "&Sound..." msgstr "" -#: pysollib/tile/menubar.py:465 pysollib/tk/menubar.py:469 +#: pysollib/tile/menubar.py:465 pysollib/tk/menubar.py:470 msgid "Cards&et..." msgstr "" -#: pysollib/tile/menubar.py:466 pysollib/tk/menubar.py:470 +#: pysollib/tile/menubar.py:466 pysollib/tk/menubar.py:471 msgid "Table t&ile..." msgstr "" -#: pysollib/tile/menubar.py:468 pysollib/tk/menubar.py:472 +#: pysollib/tile/menubar.py:468 pysollib/tk/menubar.py:473 msgid "Card &background" msgstr "" -#: pysollib/tile/menubar.py:469 pysollib/tk/menubar.py:473 +#: pysollib/tile/menubar.py:469 pysollib/tk/menubar.py:474 msgid "Card &view" msgstr "" -#: pysollib/tile/menubar.py:470 pysollib/tk/menubar.py:474 +#: pysollib/tile/menubar.py:470 pysollib/tk/menubar.py:475 msgid "Card shado&w" msgstr "" -#: pysollib/tile/menubar.py:471 pysollib/tk/menubar.py:475 +#: pysollib/tile/menubar.py:471 pysollib/tk/menubar.py:476 msgid "Shade &legal moves" msgstr "" -#: pysollib/tile/menubar.py:472 pysollib/tk/menubar.py:476 +#: pysollib/tile/menubar.py:472 pysollib/tk/menubar.py:477 msgid "&Negative cards bottom" msgstr "" -#: pysollib/tile/menubar.py:473 pysollib/tk/menubar.py:477 +#: pysollib/tile/menubar.py:473 pysollib/tk/menubar.py:478 msgid "Shrink face-down cards" msgstr "" -#: pysollib/tile/menubar.py:474 pysollib/tk/menubar.py:478 +#: pysollib/tile/menubar.py:474 pysollib/tk/menubar.py:479 msgid "Shade &filled stacks" msgstr "" -#: pysollib/tile/menubar.py:475 pysollib/tk/menubar.py:479 +#: pysollib/tile/menubar.py:475 pysollib/tk/menubar.py:480 msgid "A&nimations" msgstr "" -#: pysollib/tile/menubar.py:476 pysollib/tk/menubar.py:480 +#: pysollib/tile/menubar.py:476 pysollib/tk/menubar.py:481 msgid "&None" msgstr "" -#: pysollib/tile/menubar.py:477 pysollib/tk/menubar.py:481 +#: pysollib/tile/menubar.py:477 pysollib/tk/menubar.py:482 msgid "&Very fast" msgstr "" -#: pysollib/tile/menubar.py:478 pysollib/tk/menubar.py:482 +#: pysollib/tile/menubar.py:478 pysollib/tk/menubar.py:483 msgid "&Fast" msgstr "" -#: pysollib/tile/menubar.py:479 pysollib/tk/menubar.py:483 +#: pysollib/tile/menubar.py:479 pysollib/tk/menubar.py:484 msgid "&Medium" msgstr "" -#: pysollib/tile/menubar.py:480 pysollib/tk/menubar.py:484 +#: pysollib/tile/menubar.py:480 pysollib/tk/menubar.py:485 msgid "&Slow" msgstr "" -#: pysollib/tile/menubar.py:481 pysollib/tk/menubar.py:485 +#: pysollib/tile/menubar.py:481 pysollib/tk/menubar.py:486 msgid "V&ery slow" msgstr "" -#: pysollib/tile/menubar.py:483 pysollib/tk/menubar.py:487 +#: pysollib/tile/menubar.py:483 pysollib/tk/menubar.py:488 msgid "&Redeal animation" msgstr "" -#: pysollib/tile/menubar.py:485 pysollib/tk/menubar.py:489 +#: pysollib/tile/menubar.py:485 pysollib/tk/menubar.py:490 msgid "&Winning animation" msgstr "" -#: pysollib/tile/menubar.py:486 pysollib/tk/menubar.py:490 +#: pysollib/tile/menubar.py:486 pysollib/tk/menubar.py:491 msgid "&Mouse" msgstr "" -#: pysollib/tile/menubar.py:487 pysollib/tk/menubar.py:491 +#: pysollib/tile/menubar.py:487 pysollib/tk/menubar.py:492 msgid "&Drag-and-Drop" msgstr "" -#: pysollib/tile/menubar.py:488 pysollib/tk/menubar.py:492 +#: pysollib/tile/menubar.py:488 pysollib/tk/menubar.py:493 msgid "&Point-and-Click" msgstr "" -#: pysollib/tile/menubar.py:489 pysollib/tk/menubar.py:493 +#: pysollib/tile/menubar.py:489 pysollib/tk/menubar.py:494 msgid "&Sticky mouse" msgstr "" -#: pysollib/tile/menubar.py:491 pysollib/tk/menubar.py:495 +#: pysollib/tile/menubar.py:491 pysollib/tk/menubar.py:496 msgid "Use mouse for undo/redo" msgstr "" -#: pysollib/tile/menubar.py:493 pysollib/tk/menubar.py:497 +#: pysollib/tile/menubar.py:493 pysollib/tk/menubar.py:498 msgid "&Fonts..." msgstr "" -#: pysollib/tile/menubar.py:494 pysollib/tk/menubar.py:498 +#: pysollib/tile/menubar.py:494 pysollib/tk/menubar.py:499 msgid "&Colors..." msgstr "" -#: pysollib/tile/menubar.py:495 pysollib/tk/menubar.py:499 +#: pysollib/tile/menubar.py:495 pysollib/tk/menubar.py:500 msgid "Time&outs..." msgstr "" -#: pysollib/tile/menubar.py:498 pysollib/tk/menubar.py:501 +#: pysollib/tile/menubar.py:498 pysollib/tk/menubar.py:502 msgid "&Toolbar" msgstr "" -#: pysollib/tile/menubar.py:500 pysollib/tk/menubar.py:503 +#: pysollib/tile/menubar.py:500 pysollib/tk/menubar.py:504 msgid "Stat&usbar" msgstr "" -#: pysollib/tile/menubar.py:501 pysollib/tk/menubar.py:504 +#: pysollib/tile/menubar.py:501 pysollib/tk/menubar.py:505 msgid "Show &statusbar" msgstr "" -#: pysollib/tile/menubar.py:502 pysollib/tk/menubar.py:505 +#: pysollib/tile/menubar.py:502 pysollib/tk/menubar.py:506 msgid "Show &number of cards" msgstr "" -#: pysollib/tile/menubar.py:503 pysollib/tk/menubar.py:506 +#: pysollib/tile/menubar.py:503 pysollib/tk/menubar.py:507 msgid "Show &help bar" msgstr "" -#: pysollib/tile/menubar.py:504 pysollib/tk/menubar.py:507 +#: pysollib/tile/menubar.py:504 pysollib/tk/menubar.py:508 msgid "Save games &geometry" msgstr "" -#: pysollib/tile/menubar.py:505 pysollib/tk/menubar.py:508 +#: pysollib/tile/menubar.py:505 pysollib/tk/menubar.py:509 msgid "&Demo logo" msgstr "" -#: pysollib/tile/menubar.py:506 pysollib/tk/menubar.py:509 +#: pysollib/tile/menubar.py:506 pysollib/tk/menubar.py:510 msgid "Startup splash sc&reen" msgstr "" -#: pysollib/tile/menubar.py:512 pysollib/tk/menubar.py:515 +#: pysollib/tile/menubar.py:512 pysollib/tk/menubar.py:516 msgid "&Help" msgstr "" -#: pysollib/tile/menubar.py:513 pysollib/tk/menubar.py:516 +#: pysollib/tile/menubar.py:513 pysollib/tk/menubar.py:517 msgid "&Contents" msgstr "" -#: pysollib/tile/menubar.py:514 pysollib/tk/menubar.py:517 +#: pysollib/tile/menubar.py:514 pysollib/tk/menubar.py:518 msgid "&How to play" msgstr "" -#: pysollib/tile/menubar.py:515 pysollib/tk/menubar.py:518 +#: pysollib/tile/menubar.py:515 pysollib/tk/menubar.py:519 msgid "&Rules for this game" msgstr "" -#: pysollib/tile/menubar.py:516 pysollib/tk/menubar.py:519 +#: pysollib/tile/menubar.py:516 pysollib/tk/menubar.py:520 msgid "&License terms" msgstr "" -#: pysollib/tile/menubar.py:635 pysollib/tk/menubar.py:638 +#: pysollib/tile/menubar.py:635 pysollib/tk/menubar.py:639 msgid "All &games..." msgstr "" -#: pysollib/tile/menubar.py:637 pysollib/tk/menubar.py:640 +#: pysollib/tile/menubar.py:637 pysollib/tk/menubar.py:641 msgid "Playable pre&view..." msgstr "" -#: pysollib/tile/menubar.py:690 pysollib/tk/menubar.py:693 +#: pysollib/tile/menubar.py:690 pysollib/tk/menubar.py:694 msgid "&Mahjongg games" msgstr "" -#: pysollib/tile/menubar.py:728 pysollib/tk/menubar.py:731 +#: pysollib/tile/menubar.py:728 pysollib/tk/menubar.py:732 msgid "&Popular games" msgstr "" -#: pysollib/tile/menubar.py:736 pysollib/tk/menubar.py:739 +#: pysollib/tile/menubar.py:736 pysollib/tk/menubar.py:740 msgid "&French games" msgstr "" -#: pysollib/tile/menubar.py:743 pysollib/tk/menubar.py:746 +#: pysollib/tile/menubar.py:743 pysollib/tk/menubar.py:747 msgid "&Oriental games" msgstr "" -#: pysollib/tile/menubar.py:751 pysollib/tk/menubar.py:754 +#: pysollib/tile/menubar.py:751 pysollib/tk/menubar.py:755 msgid "&Special games" msgstr "" -#: pysollib/tile/menubar.py:757 pysollib/tk/menubar.py:760 +#: pysollib/tile/menubar.py:757 pysollib/tk/menubar.py:761 msgid "&Cusom games" msgstr "" -#: pysollib/tile/menubar.py:763 pysollib/tk/menubar.py:766 +#: pysollib/tile/menubar.py:763 pysollib/tk/menubar.py:767 msgid "&All games by name" msgstr "" -#: pysollib/tile/menubar.py:1045 pysollib/tk/menubar.py:1048 +#: pysollib/tile/menubar.py:1047 pysollib/tk/menubar.py:1048 #: data/glade-translations:72 msgid "Sound settings" msgstr "" -#: pysollib/tile/menubar.py:1153 pysollib/tk/menubar.py:1160 +#: pysollib/tile/menubar.py:1155 pysollib/tk/menubar.py:1160 msgid "Select " msgstr "" -#: pysollib/tile/menubar.py:1199 pysollib/tk/menubar.py:1207 +#: pysollib/tile/menubar.py:1201 pysollib/tk/menubar.py:1207 msgid "Select table background" msgstr "" -#: pysollib/tile/menubar.py:1344 +#: pysollib/tile/menubar.py:1346 msgid "Change theme" msgstr "" -#: pysollib/tile/menubar.py:1345 +#: pysollib/tile/menubar.py:1347 msgid "" "This settings will take effect\n" "the next time you restart " msgstr "" -#: pysollib/tile/menubar.py:1352 +#: pysollib/tile/menubar.py:1354 msgid "Set t&heme" msgstr "" -#: pysollib/tile/menubar.py:1358 +#: pysollib/tile/menubar.py:1359 msgid "Default" msgstr "" -#: pysollib/tile/menubar.py:1359 +#: pysollib/tile/menubar.py:1360 msgid "Classic" msgstr "" -#: pysollib/tile/menubar.py:1360 +#: pysollib/tile/menubar.py:1361 msgid "Revitalized" msgstr "" -#: pysollib/tile/menubar.py:1361 +#: pysollib/tile/menubar.py:1362 msgid "Windows native" msgstr "" -#: pysollib/tile/menubar.py:1362 +#: pysollib/tile/menubar.py:1363 msgid "XP Native" msgstr "" -#: pysollib/tile/menubar.py:1363 +#: pysollib/tile/menubar.py:1364 msgid "Aqua" msgstr "" -#: pysollib/tile/menubar.py:1381 pysollib/tk/menubar.py:1365 +#: pysollib/tile/menubar.py:1382 pysollib/tk/menubar.py:1365 msgid "Solitaire Wizard" msgstr "" -#: pysollib/tile/menubar.py:1392 pysollib/tk/menubar.py:1376 +#: pysollib/tile/menubar.py:1393 pysollib/tk/menubar.py:1376 msgid "" "\n" "Error while saving game.\n" @@ -2636,582 +2646,586 @@ msgid "" "%s\n" msgstr "" -#: pysollib/tile/playeroptionsdialog.py:72 -#: pysollib/tk/playeroptionsdialog.py:112 +#: pysollib/tile/playeroptionsdialog.py:70 +#: pysollib/tk/playeroptionsdialog.py:111 msgid "" "\n" "Please enter your name" msgstr "" -#: pysollib/tile/playeroptionsdialog.py:83 -#: pysollib/tk/playeroptionsdialog.py:124 +#: pysollib/tile/playeroptionsdialog.py:81 +#: pysollib/tk/playeroptionsdialog.py:123 msgid "Confirm quit" msgstr "" -#: pysollib/tile/playeroptionsdialog.py:86 -#: pysollib/tk/playeroptionsdialog.py:128 +#: pysollib/tile/playeroptionsdialog.py:84 +#: pysollib/tk/playeroptionsdialog.py:127 msgid "Update statistics and logs" msgstr "" -#: pysollib/tile/selectcardset.py:82 pysollib/tile/selectcardset.py:147 -#: pysollib/tk/selectcardset.py:81 pysollib/tk/selectcardset.py:146 +#: pysollib/tile/selectcardset.py:83 pysollib/tile/selectcardset.py:148 +#: pysollib/tk/selectcardset.py:82 pysollib/tk/selectcardset.py:147 msgid "(no cardsets)" msgstr "" -#: pysollib/tile/selectcardset.py:92 pysollib/tile/selectcardset.py:155 -#: pysollib/tk/selectcardset.py:91 pysollib/tk/selectcardset.py:154 +#: pysollib/tile/selectcardset.py:93 pysollib/tile/selectcardset.py:156 +#: pysollib/tk/selectcardset.py:92 pysollib/tk/selectcardset.py:155 msgid "by Type" msgstr "" -#: pysollib/tile/selectcardset.py:102 pysollib/tile/selectcardset.py:113 -#: pysollib/tile/selectcardset.py:124 pysollib/tk/selectcardset.py:101 -#: pysollib/tk/selectcardset.py:112 pysollib/tk/selectcardset.py:123 +#: pysollib/tile/selectcardset.py:103 pysollib/tile/selectcardset.py:114 +#: pysollib/tile/selectcardset.py:125 pysollib/tk/selectcardset.py:102 +#: pysollib/tk/selectcardset.py:113 pysollib/tk/selectcardset.py:124 msgid "Uncategorized" msgstr "" -#: pysollib/tile/selectcardset.py:103 pysollib/tk/selectcardset.py:102 +#: pysollib/tile/selectcardset.py:104 pysollib/tk/selectcardset.py:103 msgid "by Style" msgstr "" -#: pysollib/tile/selectcardset.py:114 pysollib/tk/selectcardset.py:113 +#: pysollib/tile/selectcardset.py:115 pysollib/tk/selectcardset.py:114 msgid "by Nationality" msgstr "" -#: pysollib/tile/selectcardset.py:125 pysollib/tk/selectcardset.py:124 +#: pysollib/tile/selectcardset.py:126 pysollib/tk/selectcardset.py:125 msgid "by Date" msgstr "" -#: pysollib/tile/selectcardset.py:128 pysollib/tk/selectcardset.py:127 +#: pysollib/tile/selectcardset.py:129 pysollib/tk/selectcardset.py:128 msgid "All Cardsets" msgstr "" -#: pysollib/tile/selectcardset.py:129 pysollib/tk/selectcardset.py:128 +#: pysollib/tile/selectcardset.py:130 pysollib/tk/selectcardset.py:129 msgid "by Size" msgstr "" -#: pysollib/tile/selectcardset.py:130 pysollib/tk/selectcardset.py:129 +#: pysollib/tile/selectcardset.py:131 pysollib/tk/selectcardset.py:130 msgid "Tiny cardsets" msgstr "" -#: pysollib/tile/selectcardset.py:131 pysollib/tk/selectcardset.py:130 +#: pysollib/tile/selectcardset.py:132 pysollib/tk/selectcardset.py:131 msgid "Small cardsets" msgstr "" -#: pysollib/tile/selectcardset.py:132 pysollib/tk/selectcardset.py:131 +#: pysollib/tile/selectcardset.py:133 pysollib/tk/selectcardset.py:132 msgid "Medium cardsets" msgstr "" -#: pysollib/tile/selectcardset.py:133 pysollib/tk/selectcardset.py:132 +#: pysollib/tile/selectcardset.py:134 pysollib/tk/selectcardset.py:133 msgid "Large cardsets" msgstr "" -#: pysollib/tile/selectcardset.py:134 pysollib/tk/selectcardset.py:133 +#: pysollib/tile/selectcardset.py:135 pysollib/tk/selectcardset.py:134 msgid "XLarge cardsets" msgstr "" -#: pysollib/tile/selectcardset.py:236 pysollib/tk/menubar.py:1157 +#: pysollib/tile/selectcardset.py:237 pysollib/tk/menubar.py:1157 msgid "&Info..." msgstr "" -#: pysollib/tile/selectcardset.py:237 pysollib/tk/menubar.py:1155 -#: pysollib/tk/menubar.py:1157 pysollib/tk/selectcardset.py:241 +#: pysollib/tile/selectcardset.py:238 pysollib/tk/menubar.py:1155 +#: pysollib/tk/menubar.py:1157 pysollib/tk/selectcardset.py:237 msgid "&Load" msgstr "" -#: pysollib/tile/selectcardset.py:313 pysollib/tk/selectcardset.py:320 +#: pysollib/tile/selectcardset.py:315 pysollib/tk/selectcardset.py:314 msgid "About cardset" msgstr "" -#: pysollib/tile/selectcardset.py:327 pysollib/tile/selectgame.py:390 -#: pysollib/tk/selectcardset.py:336 pysollib/tk/selectgame.py:402 +#: pysollib/tile/selectcardset.py:329 pysollib/tile/selectgame.py:391 +#: pysollib/tk/selectcardset.py:328 pysollib/tk/selectgame.py:393 #: pysollib/wizardutil.py:116 pysollib/wizardutil.py:153 #: pysollib/wizardutil.py:211 pysollib/wizardutil.py:269 msgid "Type:" msgstr "" -#: pysollib/tile/selectcardset.py:328 pysollib/tk/selectcardset.py:337 +#: pysollib/tile/selectcardset.py:330 pysollib/tk/selectcardset.py:329 msgid "Styles:" msgstr "" -#: pysollib/tile/selectcardset.py:329 pysollib/tk/selectcardset.py:338 +#: pysollib/tile/selectcardset.py:331 pysollib/tk/selectcardset.py:330 msgid "Nationality:" msgstr "" -#: pysollib/tile/selectcardset.py:330 pysollib/tk/selectcardset.py:339 +#: pysollib/tile/selectcardset.py:332 pysollib/tk/selectcardset.py:331 msgid "Year:" msgstr "" -#: pysollib/tile/selectgame.py:100 pysollib/tk/selectgame.py:99 +#: pysollib/tile/selectgame.py:96 pysollib/tk/selectgame.py:96 msgid "(no games)" msgstr "" -#: pysollib/tile/selectgame.py:121 pysollib/tk/selectgame.py:120 +#: pysollib/tile/selectgame.py:115 pysollib/tk/selectgame.py:115 msgid "Mahjongg Games" msgstr "" -#: pysollib/tile/selectgame.py:125 pysollib/tk/selectgame.py:124 +#: pysollib/tile/selectgame.py:119 pysollib/tk/selectgame.py:119 msgid "French games" msgstr "" -#: pysollib/tile/selectgame.py:128 pysollib/tk/selectgame.py:127 +#: pysollib/tile/selectgame.py:122 pysollib/tk/selectgame.py:122 msgid "Oriental Games" msgstr "" -#: pysollib/tile/selectgame.py:131 pysollib/tk/selectgame.py:130 +#: pysollib/tile/selectgame.py:125 pysollib/tk/selectgame.py:125 msgid "Special Games" msgstr "" -#: pysollib/tile/selectgame.py:134 pysollib/tk/selectgame.py:133 +#: pysollib/tile/selectgame.py:128 pysollib/tk/selectgame.py:128 msgid "Original Games" msgstr "" -#: pysollib/tile/selectgame.py:149 pysollib/tk/selectgame.py:148 +#: pysollib/tile/selectgame.py:142 pysollib/tk/selectgame.py:142 msgid "by Compatibility" msgstr "" -#: pysollib/tile/selectgame.py:157 pysollib/tk/selectgame.py:157 +#: pysollib/tile/selectgame.py:150 pysollib/tk/selectgame.py:151 msgid "New games in v. " msgstr "" -#: pysollib/tile/selectgame.py:160 pysollib/tk/selectgame.py:160 +#: pysollib/tile/selectgame.py:153 pysollib/tk/selectgame.py:154 msgid "by PySol version" msgstr "" -#: pysollib/tile/selectgame.py:166 pysollib/tk/selectgame.py:167 -msgid "All Games" -msgstr "" - -#: pysollib/tile/selectgame.py:167 pysollib/tk/selectgame.py:168 -msgid "Alternate Names" +#: pysollib/tile/selectgame.py:162 pysollib/tk/selectgame.py:163 +msgid "by Inventors" msgstr "" #: pysollib/tile/selectgame.py:168 pysollib/tk/selectgame.py:169 +msgid "All Games" +msgstr "" + +#: pysollib/tile/selectgame.py:169 pysollib/tk/selectgame.py:170 +msgid "Alternate Names" +msgstr "" + +#: pysollib/tile/selectgame.py:170 pysollib/tk/selectgame.py:171 msgid "Popular Games" msgstr "" -#: pysollib/tile/selectgame.py:174 pysollib/tk/selectgame.py:174 +#: pysollib/tile/selectgame.py:176 pysollib/tk/selectgame.py:176 msgid "Custom Games" msgstr "" -#: pysollib/tile/selectgame.py:176 pysollib/tk/selectgame.py:177 +#: pysollib/tile/selectgame.py:178 pysollib/tk/selectgame.py:179 msgid "by Skill Level" msgstr "" -#: pysollib/tile/selectgame.py:177 pysollib/tile/selectgame.py:559 -#: pysollib/tk/selectgame.py:178 pysollib/tk/selectgame.py:570 +#: pysollib/tile/selectgame.py:179 pysollib/tile/selectgame.py:557 +#: pysollib/tk/selectgame.py:180 pysollib/tk/selectgame.py:557 #: pysollib/wizardutil.py:78 msgid "Luck only" msgstr "" -#: pysollib/tile/selectgame.py:179 pysollib/tile/selectgame.py:560 -#: pysollib/tk/selectgame.py:180 pysollib/tk/selectgame.py:571 +#: pysollib/tile/selectgame.py:181 pysollib/tile/selectgame.py:558 +#: pysollib/tk/selectgame.py:182 pysollib/tk/selectgame.py:558 #: pysollib/wizardutil.py:79 msgid "Mostly luck" msgstr "" -#: pysollib/tile/selectgame.py:181 pysollib/tile/selectgame.py:561 -#: pysollib/tk/selectgame.py:182 pysollib/tk/selectgame.py:572 +#: pysollib/tile/selectgame.py:183 pysollib/tile/selectgame.py:559 +#: pysollib/tk/selectgame.py:184 pysollib/tk/selectgame.py:559 #: pysollib/wizardutil.py:80 pysollib/wizardutil.py:84 msgid "Balanced" msgstr "" -#: pysollib/tile/selectgame.py:183 pysollib/tile/selectgame.py:562 -#: pysollib/tk/selectgame.py:184 pysollib/tk/selectgame.py:573 +#: pysollib/tile/selectgame.py:185 pysollib/tile/selectgame.py:560 +#: pysollib/tk/selectgame.py:186 pysollib/tk/selectgame.py:560 #: pysollib/wizardutil.py:81 msgid "Mostly skill" msgstr "" -#: pysollib/tile/selectgame.py:185 pysollib/tile/selectgame.py:563 -#: pysollib/tk/selectgame.py:186 pysollib/tk/selectgame.py:574 +#: pysollib/tile/selectgame.py:187 pysollib/tile/selectgame.py:561 +#: pysollib/tk/selectgame.py:188 pysollib/tk/selectgame.py:561 #: pysollib/wizardutil.py:82 msgid "Skill only" msgstr "" -#: pysollib/tile/selectgame.py:188 pysollib/tk/selectgame.py:189 +#: pysollib/tile/selectgame.py:190 pysollib/tk/selectgame.py:191 msgid "by Game Feature" msgstr "" -#: pysollib/tile/selectgame.py:189 pysollib/tk/selectgame.py:190 +#: pysollib/tile/selectgame.py:191 pysollib/tk/selectgame.py:192 msgid "by Number of Cards" msgstr "" -#: pysollib/tile/selectgame.py:190 pysollib/tk/selectgame.py:191 +#: pysollib/tile/selectgame.py:192 pysollib/tk/selectgame.py:193 msgid "32 cards" msgstr "" -#: pysollib/tile/selectgame.py:192 pysollib/tk/selectgame.py:193 +#: pysollib/tile/selectgame.py:194 pysollib/tk/selectgame.py:195 msgid "48 cards" msgstr "" -#: pysollib/tile/selectgame.py:194 pysollib/tk/selectgame.py:195 +#: pysollib/tile/selectgame.py:196 pysollib/tk/selectgame.py:197 msgid "52 cards" msgstr "" -#: pysollib/tile/selectgame.py:196 pysollib/tk/selectgame.py:197 +#: pysollib/tile/selectgame.py:198 pysollib/tk/selectgame.py:199 msgid "64 cards" msgstr "" -#: pysollib/tile/selectgame.py:198 pysollib/tk/selectgame.py:199 +#: pysollib/tile/selectgame.py:200 pysollib/tk/selectgame.py:201 msgid "78 cards" msgstr "" -#: pysollib/tile/selectgame.py:200 pysollib/tk/selectgame.py:201 +#: pysollib/tile/selectgame.py:202 pysollib/tk/selectgame.py:203 msgid "104 cards" msgstr "" -#: pysollib/tile/selectgame.py:202 pysollib/tk/selectgame.py:203 +#: pysollib/tile/selectgame.py:204 pysollib/tk/selectgame.py:205 msgid "144 cards" msgstr "" -#: pysollib/tile/selectgame.py:204 pysollib/tk/selectgame.py:205 +#: pysollib/tile/selectgame.py:206 pysollib/tk/selectgame.py:207 msgid "Other number" msgstr "" -#: pysollib/tile/selectgame.py:207 pysollib/tk/selectgame.py:208 +#: pysollib/tile/selectgame.py:209 pysollib/tk/selectgame.py:210 msgid "by Number of Decks" msgstr "" -#: pysollib/tile/selectgame.py:208 pysollib/tk/selectgame.py:209 +#: pysollib/tile/selectgame.py:210 pysollib/tk/selectgame.py:211 msgid "1 deck games" msgstr "" -#: pysollib/tile/selectgame.py:210 pysollib/tk/selectgame.py:211 +#: pysollib/tile/selectgame.py:212 pysollib/tk/selectgame.py:213 msgid "2 deck games" msgstr "" -#: pysollib/tile/selectgame.py:212 pysollib/tk/selectgame.py:213 +#: pysollib/tile/selectgame.py:214 pysollib/tk/selectgame.py:215 msgid "3 deck games" msgstr "" -#: pysollib/tile/selectgame.py:214 pysollib/tk/selectgame.py:215 +#: pysollib/tile/selectgame.py:216 pysollib/tk/selectgame.py:217 msgid "4 deck games" msgstr "" -#: pysollib/tile/selectgame.py:217 pysollib/tk/selectgame.py:218 +#: pysollib/tile/selectgame.py:219 pysollib/tk/selectgame.py:220 msgid "by Number of Redeals" msgstr "" -#: pysollib/tile/selectgame.py:218 pysollib/tk/selectgame.py:219 +#: pysollib/tile/selectgame.py:220 pysollib/tk/selectgame.py:221 msgid "No redeal" msgstr "" -#: pysollib/tile/selectgame.py:220 pysollib/tk/selectgame.py:221 +#: pysollib/tile/selectgame.py:222 pysollib/tk/selectgame.py:223 msgid "1 redeal" msgstr "" -#: pysollib/tile/selectgame.py:222 pysollib/tk/selectgame.py:223 +#: pysollib/tile/selectgame.py:224 pysollib/tk/selectgame.py:225 msgid "2 redeals" msgstr "" -#: pysollib/tile/selectgame.py:224 pysollib/tk/selectgame.py:225 +#: pysollib/tile/selectgame.py:226 pysollib/tk/selectgame.py:227 msgid "3 redeals" msgstr "" -#: pysollib/tile/selectgame.py:226 pysollib/tk/selectgame.py:227 +#: pysollib/tile/selectgame.py:228 pysollib/tk/selectgame.py:229 #: pysollib/wizardutil.py:124 msgid "Unlimited redeals" msgstr "" -#: pysollib/tile/selectgame.py:230 pysollib/tk/selectgame.py:231 +#: pysollib/tile/selectgame.py:232 pysollib/tk/selectgame.py:233 msgid "Other number of redeals" msgstr "" -#: pysollib/tile/selectgame.py:236 pysollib/tk/selectgame.py:237 +#: pysollib/tile/selectgame.py:239 pysollib/tk/selectgame.py:240 msgid "Other Categories" msgstr "" -#: pysollib/tile/selectgame.py:237 pysollib/tk/selectgame.py:238 +#: pysollib/tile/selectgame.py:240 pysollib/tk/selectgame.py:241 msgid "Games for Children (very easy)" msgstr "" -#: pysollib/tile/selectgame.py:239 pysollib/tk/selectgame.py:240 +#: pysollib/tile/selectgame.py:242 pysollib/tk/selectgame.py:243 msgid "Games with Scoring" msgstr "" -#: pysollib/tile/selectgame.py:241 pysollib/tk/selectgame.py:242 +#: pysollib/tile/selectgame.py:244 pysollib/tk/selectgame.py:245 msgid "Games with Separate Decks" msgstr "" -#: pysollib/tile/selectgame.py:243 pysollib/tk/selectgame.py:244 +#: pysollib/tile/selectgame.py:246 pysollib/tk/selectgame.py:247 msgid "Open Games (all cards visible)" msgstr "" -#: pysollib/tile/selectgame.py:245 pysollib/tk/selectgame.py:246 +#: pysollib/tile/selectgame.py:248 pysollib/tk/selectgame.py:249 msgid "Relaxed Variants" msgstr "" -#: pysollib/tile/selectgame.py:377 pysollib/tk/selectgame.py:386 +#: pysollib/tile/selectgame.py:378 pysollib/tk/selectgame.py:380 msgid "About game" msgstr "" -#: pysollib/tile/selectgame.py:387 pysollib/tk/selectgame.py:399 +#: pysollib/tile/selectgame.py:388 pysollib/tk/selectgame.py:390 #: pysollib/wizardutil.py:74 msgid "Name:" msgstr "" -#: pysollib/tile/selectgame.py:388 pysollib/tk/selectgame.py:400 +#: pysollib/tile/selectgame.py:389 pysollib/tk/selectgame.py:391 msgid "Alternate names:" msgstr "" -#: pysollib/tile/selectgame.py:389 pysollib/tk/selectgame.py:401 +#: pysollib/tile/selectgame.py:390 pysollib/tk/selectgame.py:392 msgid "Category:" msgstr "" -#: pysollib/tile/selectgame.py:391 pysollib/tk/selectgame.py:403 +#: pysollib/tile/selectgame.py:392 pysollib/tk/selectgame.py:394 #: pysollib/wizardutil.py:85 msgid "Skill level:" msgstr "" -#: pysollib/tile/selectgame.py:392 pysollib/tk/selectgame.py:404 +#: pysollib/tile/selectgame.py:393 pysollib/tk/selectgame.py:395 msgid "Decks:" msgstr "" -#: pysollib/tile/selectgame.py:393 pysollib/tk/selectgame.py:405 +#: pysollib/tile/selectgame.py:394 pysollib/tk/selectgame.py:396 msgid "Redeals:" msgstr "" -#: pysollib/tile/selectgame.py:395 pysollib/tk/selectgame.py:407 +#: pysollib/tile/selectgame.py:396 pysollib/tk/selectgame.py:398 msgid "Played:" msgstr "" -#: pysollib/tile/selectgame.py:396 pysollib/tile/tkstats.py:203 -#: pysollib/tile/tkstats.py:255 pysollib/tk/selectgame.py:408 +#: pysollib/tile/selectgame.py:397 pysollib/tile/tkstats.py:203 +#: pysollib/tile/tkstats.py:255 pysollib/tk/selectgame.py:399 #: pysollib/tk/tkstats.py:112 pysollib/tk/tkstats.py:164 #: data/glade-translations:9 data/glade-translations:13 msgid "Won:" msgstr "" -#: pysollib/tile/selectgame.py:397 pysollib/tile/tkstats.py:204 -#: pysollib/tile/tkstats.py:257 pysollib/tk/selectgame.py:409 +#: pysollib/tile/selectgame.py:398 pysollib/tile/tkstats.py:204 +#: pysollib/tile/tkstats.py:257 pysollib/tk/selectgame.py:400 #: pysollib/tk/tkstats.py:113 pysollib/tk/tkstats.py:165 #: data/glade-translations:11 data/glade-translations:14 msgid "Lost:" msgstr "" -#: pysollib/tile/selectgame.py:398 pysollib/tile/tkstats.py:777 -#: pysollib/tk/selectgame.py:410 pysollib/tk/tkstats.py:735 +#: pysollib/tile/selectgame.py:399 pysollib/tile/tkstats.py:784 +#: pysollib/tk/selectgame.py:401 pysollib/tk/tkstats.py:734 #: data/glade-translations:18 msgid "Playing time:" msgstr "" -#: pysollib/tile/selectgame.py:399 pysollib/tile/tkstats.py:784 -#: pysollib/tk/selectgame.py:411 pysollib/tk/tkstats.py:742 +#: pysollib/tile/selectgame.py:400 pysollib/tile/tkstats.py:791 +#: pysollib/tk/selectgame.py:402 pysollib/tk/tkstats.py:741 #: data/glade-translations:19 msgid "Moves:" msgstr "" -#: pysollib/tile/selectgame.py:400 pysollib/tk/selectgame.py:412 +#: pysollib/tile/selectgame.py:401 pysollib/tk/selectgame.py:403 msgid "% won:" msgstr "" -#: pysollib/tile/selectgame.py:432 pysollib/tk/selectgame.py:444 +#: pysollib/tile/selectgame.py:432 pysollib/tk/selectgame.py:434 msgid "&Rules" msgstr "" -#: pysollib/tile/selectgame.py:512 pysollib/tk/selectgame.py:523 +#: pysollib/tile/selectgame.py:512 pysollib/tk/selectgame.py:513 msgid "Playable Preview - " msgstr "" -#: pysollib/tile/selectgame.py:566 pysollib/tk/selectgame.py:577 +#: pysollib/tile/selectgame.py:564 pysollib/tk/selectgame.py:564 msgid "variable" msgstr "" -#: pysollib/tile/selectgame.py:567 pysollib/tk/selectgame.py:578 +#: pysollib/tile/selectgame.py:565 pysollib/tk/selectgame.py:565 msgid "unlimited" msgstr "" -#: pysollib/tile/selecttile.py:81 pysollib/tk/selecttile.py:80 +#: pysollib/tile/selecttile.py:78 pysollib/tk/selecttile.py:77 msgid "(no tiles)" msgstr "" -#: pysollib/tile/selecttile.py:85 pysollib/tk/selecttile.py:84 +#: pysollib/tile/selecttile.py:82 pysollib/tk/selecttile.py:81 msgid "Solid Colors" msgstr "" -#: pysollib/tile/selecttile.py:86 pysollib/tk/selecttile.py:85 +#: pysollib/tile/selecttile.py:83 pysollib/tk/selecttile.py:82 msgid "Blue" msgstr "" -#: pysollib/tile/selecttile.py:88 pysollib/tk/selecttile.py:87 +#: pysollib/tile/selecttile.py:85 pysollib/tk/selecttile.py:84 msgid "Navy" msgstr "" -#: pysollib/tile/selecttile.py:91 pysollib/tk/selecttile.py:90 +#: pysollib/tile/selecttile.py:88 pysollib/tk/selecttile.py:87 msgid "Teal" msgstr "" -#: pysollib/tile/selecttile.py:93 pysollib/tk/selecttile.py:92 +#: pysollib/tile/selecttile.py:90 pysollib/tk/selecttile.py:89 msgid "All Backgrounds" msgstr "" -#: pysollib/tile/selecttile.py:160 pysollib/tk/selecttile.py:159 +#: pysollib/tile/selecttile.py:156 pysollib/tk/selecttile.py:156 msgid "&Solid color..." msgstr "" -#: pysollib/tile/selecttile.py:178 pysollib/tk/selecttile.py:178 +#: pysollib/tile/selecttile.py:175 pysollib/tk/selecttile.py:176 msgid "Select table color" msgstr "" -#: pysollib/tile/solverdialog.py:77 pysollib/tk/solverdialog.py:76 +#: pysollib/tile/solverdialog.py:75 pysollib/tk/solverdialog.py:74 #: data/glade-translations:8 data/glade-translations:28 msgid "Game:" msgstr "" -#: pysollib/tile/solverdialog.py:96 pysollib/tk/solverdialog.py:99 +#: pysollib/tile/solverdialog.py:93 pysollib/tk/solverdialog.py:96 msgid "Solving method:" msgstr "" -#: pysollib/tile/solverdialog.py:113 pysollib/tk/solverdialog.py:116 +#: pysollib/tile/solverdialog.py:110 pysollib/tk/solverdialog.py:113 msgid "Preset:" msgstr "" -#: pysollib/tile/solverdialog.py:137 pysollib/tk/solverdialog.py:140 +#: pysollib/tile/solverdialog.py:134 pysollib/tk/solverdialog.py:137 msgid "Max iterations:" msgstr "" -#: pysollib/tile/solverdialog.py:147 pysollib/tk/solverdialog.py:150 +#: pysollib/tile/solverdialog.py:144 pysollib/tk/solverdialog.py:147 msgid "Max depth:" msgstr "" -#: pysollib/tile/solverdialog.py:158 pysollib/tk/solverdialog.py:161 +#: pysollib/tile/solverdialog.py:155 pysollib/tk/solverdialog.py:158 msgid "Show progress" msgstr "" -#: pysollib/tile/solverdialog.py:162 pysollib/tk/solverdialog.py:165 +#: pysollib/tile/solverdialog.py:159 pysollib/tk/solverdialog.py:162 msgid "Progress" msgstr "" -#: pysollib/tile/solverdialog.py:169 pysollib/tk/solverdialog.py:172 +#: pysollib/tile/solverdialog.py:166 pysollib/tk/solverdialog.py:169 msgid "Iteration:" msgstr "" -#: pysollib/tile/solverdialog.py:175 pysollib/tk/solverdialog.py:178 +#: pysollib/tile/solverdialog.py:172 pysollib/tk/solverdialog.py:175 msgid "Depth:" msgstr "" -#: pysollib/tile/solverdialog.py:181 pysollib/tk/solverdialog.py:184 +#: pysollib/tile/solverdialog.py:178 pysollib/tk/solverdialog.py:181 msgid "Stored-States:" msgstr "" -#: pysollib/tile/solverdialog.py:204 pysollib/tk/solverdialog.py:207 +#: pysollib/tile/solverdialog.py:198 pysollib/tk/solverdialog.py:201 msgid "&Close" msgstr "" -#: pysollib/tile/solverdialog.py:204 pysollib/tk/solverdialog.py:207 +#: pysollib/tile/solverdialog.py:198 pysollib/tk/solverdialog.py:201 msgid "&New" msgstr "" -#: pysollib/tile/solverdialog.py:204 pysollib/tk/solverdialog.py:207 +#: pysollib/tile/solverdialog.py:198 pysollib/tk/solverdialog.py:201 msgid "&Play" msgstr "" -#: pysollib/tile/solverdialog.py:204 pysollib/tk/solverdialog.py:207 +#: pysollib/tile/solverdialog.py:198 pysollib/tk/solverdialog.py:201 msgid "&Start" msgstr "" -#: pysollib/tile/solverdialog.py:276 pysollib/tk/solverdialog.py:279 +#: pysollib/tile/solverdialog.py:269 pysollib/tk/solverdialog.py:272 msgid "This game is solveable in %d move." msgid_plural "This game is solveable in %d moves." msgstr[0] "" msgstr[1] "" -#: pysollib/tile/solverdialog.py:282 pysollib/tk/solverdialog.py:285 +#: pysollib/tile/solverdialog.py:275 pysollib/tk/solverdialog.py:278 msgid "I could not solve this game." msgstr "" -#: pysollib/tile/soundoptionsdialog.py:77 pysollib/tk/soundoptionsdialog.py:75 +#: pysollib/tile/soundoptionsdialog.py:77 pysollib/tk/soundoptionsdialog.py:74 msgid "Are You Sure" msgstr "" -#: pysollib/tile/soundoptionsdialog.py:79 pysollib/tk/soundoptionsdialog.py:77 +#: pysollib/tile/soundoptionsdialog.py:79 pysollib/tk/soundoptionsdialog.py:76 msgid "Deal" msgstr "" -#: pysollib/tile/soundoptionsdialog.py:80 pysollib/tk/soundoptionsdialog.py:78 +#: pysollib/tile/soundoptionsdialog.py:80 pysollib/tk/soundoptionsdialog.py:77 msgid "Deal waste" msgstr "" -#: pysollib/tile/soundoptionsdialog.py:82 pysollib/tk/soundoptionsdialog.py:80 +#: pysollib/tile/soundoptionsdialog.py:82 pysollib/tk/soundoptionsdialog.py:79 msgid "Turn waste" msgstr "" -#: pysollib/tile/soundoptionsdialog.py:83 pysollib/tk/soundoptionsdialog.py:81 +#: pysollib/tile/soundoptionsdialog.py:83 pysollib/tk/soundoptionsdialog.py:80 msgid "Start drag" msgstr "" -#: pysollib/tile/soundoptionsdialog.py:85 pysollib/tk/soundoptionsdialog.py:83 +#: pysollib/tile/soundoptionsdialog.py:85 pysollib/tk/soundoptionsdialog.py:82 msgid "Drop" msgstr "" -#: pysollib/tile/soundoptionsdialog.py:86 pysollib/tk/soundoptionsdialog.py:84 +#: pysollib/tile/soundoptionsdialog.py:86 pysollib/tk/soundoptionsdialog.py:83 msgid "Drop pair" msgstr "" -#: pysollib/tile/soundoptionsdialog.py:87 pysollib/tk/soundoptionsdialog.py:85 +#: pysollib/tile/soundoptionsdialog.py:87 pysollib/tk/soundoptionsdialog.py:84 msgid "Auto drop" msgstr "" -#: pysollib/tile/soundoptionsdialog.py:89 pysollib/tk/soundoptionsdialog.py:87 +#: pysollib/tile/soundoptionsdialog.py:89 pysollib/tk/soundoptionsdialog.py:86 msgid "Flip" msgstr "" -#: pysollib/tile/soundoptionsdialog.py:90 pysollib/tk/soundoptionsdialog.py:88 +#: pysollib/tile/soundoptionsdialog.py:90 pysollib/tk/soundoptionsdialog.py:87 msgid "Auto flip" msgstr "" -#: pysollib/tile/soundoptionsdialog.py:91 pysollib/tk/soundoptionsdialog.py:89 +#: pysollib/tile/soundoptionsdialog.py:91 pysollib/tk/soundoptionsdialog.py:88 msgid "Move" msgstr "" -#: pysollib/tile/soundoptionsdialog.py:92 pysollib/tk/soundoptionsdialog.py:90 +#: pysollib/tile/soundoptionsdialog.py:92 pysollib/tk/soundoptionsdialog.py:89 msgid "No move" msgstr "" -#: pysollib/tile/soundoptionsdialog.py:94 pysollib/tile/toolbar.py:192 -#: pysollib/tk/soundoptionsdialog.py:92 pysollib/tk/toolbar.py:195 +#: pysollib/tile/soundoptionsdialog.py:94 pysollib/tile/toolbar.py:194 +#: pysollib/tk/soundoptionsdialog.py:91 pysollib/tk/toolbar.py:194 msgid "Undo" msgstr "" -#: pysollib/tile/soundoptionsdialog.py:95 pysollib/tile/toolbar.py:193 -#: pysollib/tk/soundoptionsdialog.py:93 pysollib/tk/toolbar.py:196 +#: pysollib/tile/soundoptionsdialog.py:95 pysollib/tile/toolbar.py:195 +#: pysollib/tk/soundoptionsdialog.py:92 pysollib/tk/toolbar.py:195 msgid "Redo" msgstr "" -#: pysollib/tile/soundoptionsdialog.py:97 pysollib/tk/soundoptionsdialog.py:95 +#: pysollib/tile/soundoptionsdialog.py:97 pysollib/tk/soundoptionsdialog.py:94 msgid "Autopilot lost" msgstr "" -#: pysollib/tile/soundoptionsdialog.py:98 pysollib/tk/soundoptionsdialog.py:96 +#: pysollib/tile/soundoptionsdialog.py:98 pysollib/tk/soundoptionsdialog.py:95 msgid "Autopilot won" msgstr "" #: pysollib/tile/soundoptionsdialog.py:101 -#: pysollib/tk/soundoptionsdialog.py:99 +#: pysollib/tk/soundoptionsdialog.py:98 msgid "Game lost" msgstr "" #: pysollib/tile/soundoptionsdialog.py:103 -#: pysollib/tk/soundoptionsdialog.py:101 +#: pysollib/tk/soundoptionsdialog.py:100 msgid "Perfect game" msgstr "" #: pysollib/tile/soundoptionsdialog.py:113 -#: pysollib/tk/soundoptionsdialog.py:111 data/glade-translations:73 +#: pysollib/tk/soundoptionsdialog.py:110 data/glade-translations:73 msgid "Sound enabled" msgstr "" #: pysollib/tile/soundoptionsdialog.py:119 -#: pysollib/tk/soundoptionsdialog.py:117 +#: pysollib/tk/soundoptionsdialog.py:116 msgid "Use DirectX for sound playing" msgstr "" #: pysollib/tile/soundoptionsdialog.py:125 -#: pysollib/tk/soundoptionsdialog.py:123 data/glade-translations:74 +#: pysollib/tk/soundoptionsdialog.py:122 data/glade-translations:74 msgid "Sample volume:" msgstr "" #: pysollib/tile/soundoptionsdialog.py:133 -#: pysollib/tk/soundoptionsdialog.py:131 data/glade-translations:75 +#: pysollib/tk/soundoptionsdialog.py:130 data/glade-translations:75 msgid "Music volume:" msgstr "" @@ -3220,88 +3234,92 @@ msgid "Enable samples" msgstr "" #: pysollib/tile/soundoptionsdialog.py:168 -#: pysollib/tk/soundoptionsdialog.py:170 +#: pysollib/tk/soundoptionsdialog.py:166 msgid "&Apply" msgstr "" #: pysollib/tile/soundoptionsdialog.py:201 -#: pysollib/tk/soundoptionsdialog.py:206 +#: pysollib/tk/soundoptionsdialog.py:201 msgid "Sound preferences info" msgstr "" #: pysollib/tile/soundoptionsdialog.py:202 -#: pysollib/tk/soundoptionsdialog.py:207 +#: pysollib/tk/soundoptionsdialog.py:202 msgid "" "Changing DirectX settings will take effect\n" "the next time you restart " msgstr "" -#: pysollib/tile/statusbar.py:151 pysollib/tk/statusbar.py:160 +#: pysollib/tile/statusbar.py:165 pysollib/tk/statusbar.py:163 msgid "Moves/Total moves" msgstr "" -#: pysollib/tile/statusbar.py:153 pysollib/tk/statusbar.py:162 +#: pysollib/tile/statusbar.py:167 pysollib/tk/statusbar.py:165 msgid "Games played: won/lost" msgstr "" -#: pysollib/tile/timeoutsdialog.py:67 pysollib/tk/timeoutsdialog.py:65 +#: pysollib/tile/timeoutsdialog.py:63 +msgid "Set delays in seconds" +msgstr "" + +#: pysollib/tile/timeoutsdialog.py:68 pysollib/tk/timeoutsdialog.py:63 #: data/glade-translations:34 msgid "Demo:" msgstr "" -#: pysollib/tile/timeoutsdialog.py:68 pysollib/tk/timeoutsdialog.py:66 +#: pysollib/tile/timeoutsdialog.py:69 pysollib/tk/timeoutsdialog.py:64 #: data/glade-translations:35 msgid "Hint:" msgstr "" -#: pysollib/tile/timeoutsdialog.py:69 pysollib/tk/timeoutsdialog.py:67 +#: pysollib/tile/timeoutsdialog.py:70 pysollib/tk/timeoutsdialog.py:65 #: data/glade-translations:36 msgid "Raise card:" msgstr "" -#: pysollib/tile/timeoutsdialog.py:71 pysollib/tk/timeoutsdialog.py:69 +#: pysollib/tile/timeoutsdialog.py:72 pysollib/tk/timeoutsdialog.py:67 #: data/glade-translations:38 msgid "Highlight cards:" msgstr "" -#: pysollib/tile/timeoutsdialog.py:72 pysollib/tk/timeoutsdialog.py:70 +#: pysollib/tile/timeoutsdialog.py:73 pysollib/tk/timeoutsdialog.py:68 #: data/glade-translations:39 msgid "Highlight same rank:" msgstr "" -#: pysollib/tile/tkconst.py:84 pysollib/tk/tkconst.py:83 +#: pysollib/tile/tkconst.py:82 pysollib/tk/tkconst.py:82 msgid "Icons only" msgstr "" -#: pysollib/tile/tkconst.py:85 pysollib/tk/tkconst.py:84 +#: pysollib/tile/tkconst.py:83 pysollib/tk/tkconst.py:83 msgid "Text below icons" msgstr "" -#: pysollib/tile/tkconst.py:86 pysollib/tk/tkconst.py:85 +#: pysollib/tile/tkconst.py:84 pysollib/tk/tkconst.py:84 msgid "Text beside icons" msgstr "" -#: pysollib/tile/tkconst.py:87 pysollib/tk/tkconst.py:86 +#: pysollib/tile/tkconst.py:85 pysollib/tk/tkconst.py:85 msgid "Text only" msgstr "" -#: pysollib/tile/tkhtml.py:255 pysollib/tk/tkhtml.py:252 +#: pysollib/tile/tkhtml.py:257 pysollib/tk/tkhtml.py:252 msgid "Index" msgstr "" -#: pysollib/tile/tkhtml.py:259 pysollib/tk/tkhtml.py:256 +#: pysollib/tile/tkhtml.py:261 pysollib/tk/tkhtml.py:256 msgid "Back" msgstr "" -#: pysollib/tile/tkhtml.py:263 pysollib/tk/tkhtml.py:260 +#: pysollib/tile/tkhtml.py:265 pysollib/tk/tkhtml.py:260 msgid "Forward" msgstr "" -#: pysollib/tile/tkhtml.py:267 pysollib/tk/tkhtml.py:264 +#: pysollib/tile/tkhtml.py:269 pysollib/tk/tkhtml.py:264 msgid "Close" msgstr "" -#: pysollib/tile/tkhtml.py:389 pysollib/tk/tkhtml.py:385 +#: pysollib/tile/tkhtml.py:391 pysollib/tk/tkhtml.py:386 msgid "" "HTML limitation:\n" "The %s protocol is not supported yet.\n" @@ -3311,19 +3329,19 @@ msgid "" "%s\n" msgstr "" -#: pysollib/tile/tkhtml.py:414 pysollib/tile/tkhtml.py:418 -#: pysollib/tk/tkhtml.py:410 pysollib/tk/tkhtml.py:414 +#: pysollib/tile/tkhtml.py:416 pysollib/tile/tkhtml.py:420 +#: pysollib/tk/tkhtml.py:411 pysollib/tk/tkhtml.py:415 msgid "Unable to service request:\n" msgstr "" -#: pysollib/tile/tkstats.py:93 pysollib/tile/tkstats.py:741 -#: pysollib/tile/tkstats.py:883 pysollib/tk/tkstats.py:904 +#: pysollib/tile/tkstats.py:93 pysollib/tile/tkstats.py:748 +#: pysollib/tile/tkstats.py:892 pysollib/tk/tkstats.py:903 #: data/glade-translations:17 msgid "Current game" msgstr "" -#: pysollib/tile/tkstats.py:97 pysollib/tile/tkstats.py:749 -#: pysollib/tile/tkstats.py:878 pysollib/tk/tkstats.py:898 +#: pysollib/tile/tkstats.py:97 pysollib/tile/tkstats.py:756 +#: pysollib/tile/tkstats.py:888 pysollib/tk/tkstats.py:897 #: data/glade-translations:30 msgid "All games" msgstr "" @@ -3364,283 +3382,283 @@ msgstr "" msgid "No games" msgstr "" -#: pysollib/tile/tkstats.py:516 +#: pysollib/tile/tkstats.py:522 msgid "Log" msgstr "" -#: pysollib/tile/tkstats.py:547 pysollib/tk/tkstats.py:512 -#: pysollib/tk/tkstats.py:578 pysollib/tk/tkstats.py:593 +#: pysollib/tile/tkstats.py:553 pysollib/tk/tkstats.py:511 +#: pysollib/tk/tkstats.py:577 pysollib/tk/tkstats.py:592 msgid "&Save to file" msgstr "" -#: pysollib/tile/tkstats.py:617 pysollib/tk/tkstats.py:608 +#: pysollib/tile/tkstats.py:623 pysollib/tk/tkstats.py:607 msgid "Highlight piles: " msgstr "" -#: pysollib/tile/tkstats.py:618 pysollib/tk/tkstats.py:609 +#: pysollib/tile/tkstats.py:624 pysollib/tk/tkstats.py:608 msgid "Highlight cards: " msgstr "" -#: pysollib/tile/tkstats.py:619 pysollib/tk/tkstats.py:610 +#: pysollib/tile/tkstats.py:625 pysollib/tk/tkstats.py:609 msgid "Highlight same rank: " msgstr "" -#: pysollib/tile/tkstats.py:622 pysollib/tk/tkstats.py:613 +#: pysollib/tile/tkstats.py:628 pysollib/tk/tkstats.py:612 msgid "" "\n" "Redeals: " msgstr "" -#: pysollib/tile/tkstats.py:623 pysollib/tk/tkstats.py:614 +#: pysollib/tile/tkstats.py:629 pysollib/tk/tkstats.py:613 msgid "" "\n" "Cards in Talon: " msgstr "" -#: pysollib/tile/tkstats.py:625 pysollib/tk/tkstats.py:616 +#: pysollib/tile/tkstats.py:631 pysollib/tk/tkstats.py:615 msgid "" "\n" "Cards in Waste: " msgstr "" -#: pysollib/tile/tkstats.py:627 pysollib/tk/tkstats.py:618 +#: pysollib/tile/tkstats.py:633 pysollib/tk/tkstats.py:617 msgid "" "\n" "Cards in Foundations: " msgstr "" -#: pysollib/tile/tkstats.py:631 pysollib/tk/tkstats.py:621 +#: pysollib/tile/tkstats.py:637 pysollib/tk/tkstats.py:620 msgid "Game status" msgstr "" -#: pysollib/tile/tkstats.py:634 pysollib/tk/tkstats.py:624 +#: pysollib/tile/tkstats.py:640 pysollib/tk/tkstats.py:623 msgid "Playing time: " msgstr "" -#: pysollib/tile/tkstats.py:635 pysollib/tk/tkstats.py:625 +#: pysollib/tile/tkstats.py:641 pysollib/tk/tkstats.py:624 msgid "Started at: " msgstr "" -#: pysollib/tile/tkstats.py:636 pysollib/tk/tkstats.py:626 +#: pysollib/tile/tkstats.py:642 pysollib/tk/tkstats.py:625 msgid "Moves: " msgstr "" -#: pysollib/tile/tkstats.py:637 pysollib/tk/tkstats.py:627 +#: pysollib/tile/tkstats.py:643 pysollib/tk/tkstats.py:626 msgid "Undo moves: " msgstr "" -#: pysollib/tile/tkstats.py:638 pysollib/tk/tkstats.py:628 +#: pysollib/tile/tkstats.py:644 pysollib/tk/tkstats.py:627 msgid "Bookmark moves: " msgstr "" -#: pysollib/tile/tkstats.py:639 pysollib/tk/tkstats.py:629 +#: pysollib/tile/tkstats.py:645 pysollib/tk/tkstats.py:628 msgid "Demo moves: " msgstr "" -#: pysollib/tile/tkstats.py:640 pysollib/tk/tkstats.py:630 +#: pysollib/tile/tkstats.py:646 pysollib/tk/tkstats.py:629 msgid "Total player moves: " msgstr "" -#: pysollib/tile/tkstats.py:641 pysollib/tk/tkstats.py:631 +#: pysollib/tile/tkstats.py:647 pysollib/tk/tkstats.py:630 msgid "Total moves in this game: " msgstr "" -#: pysollib/tile/tkstats.py:642 pysollib/tk/tkstats.py:632 +#: pysollib/tile/tkstats.py:648 pysollib/tk/tkstats.py:631 msgid "Hints: " msgstr "" -#: pysollib/tile/tkstats.py:671 pysollib/tk/tkstats.py:662 +#: pysollib/tile/tkstats.py:678 pysollib/tk/tkstats.py:661 msgid "N" msgstr "" -#: pysollib/tile/tkstats.py:684 pysollib/tk/tkstats.py:671 +#: pysollib/tile/tkstats.py:691 pysollib/tk/tkstats.py:670 msgid "Result" msgstr "" -#: pysollib/tile/tkstats.py:746 pysollib/tk/tkstats.py:780 +#: pysollib/tile/tkstats.py:753 pysollib/tk/tkstats.py:779 msgid "No TOP for this game" msgstr "" -#: pysollib/tile/tkstats.py:754 +#: pysollib/tile/tkstats.py:761 msgid "No TOP for all games" msgstr "" -#: pysollib/tile/tkstats.py:765 pysollib/tk/tkstats.py:727 +#: pysollib/tile/tkstats.py:772 pysollib/tk/tkstats.py:726 #: data/glade-translations:21 msgid "Minimum" msgstr "" -#: pysollib/tile/tkstats.py:767 pysollib/tk/tkstats.py:728 +#: pysollib/tile/tkstats.py:774 pysollib/tk/tkstats.py:727 #: data/glade-translations:22 msgid "Maximum" msgstr "" -#: pysollib/tile/tkstats.py:769 pysollib/tk/tkstats.py:729 +#: pysollib/tile/tkstats.py:776 pysollib/tk/tkstats.py:728 #: data/glade-translations:23 msgid "Average" msgstr "" -#: pysollib/tile/tkstats.py:791 pysollib/tk/tkstats.py:749 +#: pysollib/tile/tkstats.py:798 pysollib/tk/tkstats.py:748 #: data/glade-translations:20 msgid "Total moves:" msgstr "" -#: pysollib/tile/tkstats.py:888 pysollib/tk/tkstats.py:911 +#: pysollib/tile/tkstats.py:896 pysollib/tk/tkstats.py:909 msgid "Statistics for" msgstr "" -#: pysollib/tile/tkstats.py:893 pysollib/tk/tkstats.py:918 +#: pysollib/tile/tkstats.py:901 pysollib/tk/tkstats.py:914 msgid "Last 7 days" msgstr "" -#: pysollib/tile/tkstats.py:894 pysollib/tk/tkstats.py:919 +#: pysollib/tile/tkstats.py:902 pysollib/tk/tkstats.py:915 msgid "Last month" msgstr "" -#: pysollib/tile/tkstats.py:895 pysollib/tk/tkstats.py:920 +#: pysollib/tile/tkstats.py:903 pysollib/tk/tkstats.py:916 msgid "Last year" msgstr "" -#: pysollib/tile/tkstats.py:896 pysollib/tk/tkstats.py:921 +#: pysollib/tile/tkstats.py:904 pysollib/tk/tkstats.py:917 msgid "All time" msgstr "" -#: pysollib/tile/tkstats.py:902 pysollib/tk/tkstats.py:929 +#: pysollib/tile/tkstats.py:909 pysollib/tk/tkstats.py:924 msgid "Show graphs" msgstr "" -#: pysollib/tile/tkstats.py:950 pysollib/tile/tkstats.py:966 -#: pysollib/tile/tkstats.py:1005 pysollib/tk/tkstats.py:852 -#: pysollib/tk/tkstats.py:868 pysollib/tk/tkstats.py:980 +#: pysollib/tile/tkstats.py:954 pysollib/tile/tkstats.py:970 +#: pysollib/tile/tkstats.py:1009 pysollib/tk/tkstats.py:851 +#: pysollib/tk/tkstats.py:867 pysollib/tk/tkstats.py:973 msgid "Games/day" msgstr "" -#: pysollib/tile/tkstats.py:951 pysollib/tile/tkstats.py:1007 -#: pysollib/tk/tkstats.py:853 pysollib/tk/tkstats.py:982 +#: pysollib/tile/tkstats.py:955 pysollib/tile/tkstats.py:1011 +#: pysollib/tk/tkstats.py:852 pysollib/tk/tkstats.py:975 msgid "Games/week" msgstr "" -#: pysollib/tile/toolbar.py:186 pysollib/tk/toolbar.py:189 +#: pysollib/tile/toolbar.py:188 pysollib/tk/toolbar.py:188 msgid "New" msgstr "" -#: pysollib/tile/toolbar.py:187 pysollib/tk/toolbar.py:190 +#: pysollib/tile/toolbar.py:189 pysollib/tk/toolbar.py:189 msgid "" "Restart the\n" "current game" msgstr "" -#: pysollib/tile/toolbar.py:189 pysollib/tk/toolbar.py:192 +#: pysollib/tile/toolbar.py:191 pysollib/tk/toolbar.py:191 msgid "Open" msgstr "" -#: pysollib/tile/toolbar.py:189 pysollib/tk/toolbar.py:192 +#: pysollib/tile/toolbar.py:191 pysollib/tk/toolbar.py:191 msgid "" "Open a\n" "saved game" msgstr "" -#: pysollib/tile/toolbar.py:190 pysollib/tk/toolbar.py:193 +#: pysollib/tile/toolbar.py:192 pysollib/tk/toolbar.py:192 msgid "Save" msgstr "" -#: pysollib/tile/toolbar.py:190 pysollib/tk/toolbar.py:193 +#: pysollib/tile/toolbar.py:192 pysollib/tk/toolbar.py:192 msgid "Save game" msgstr "" -#: pysollib/tile/toolbar.py:192 pysollib/tk/toolbar.py:195 +#: pysollib/tile/toolbar.py:194 pysollib/tk/toolbar.py:194 msgid "Undo last move" msgstr "" -#: pysollib/tile/toolbar.py:193 pysollib/tk/toolbar.py:196 +#: pysollib/tile/toolbar.py:195 pysollib/tk/toolbar.py:195 msgid "Redo last move" msgstr "" -#: pysollib/tile/toolbar.py:194 pysollib/tk/toolbar.py:197 +#: pysollib/tile/toolbar.py:196 pysollib/tk/toolbar.py:196 msgid "Auto drop cards" msgstr "" -#: pysollib/tile/toolbar.py:194 pysollib/tk/toolbar.py:197 +#: pysollib/tile/toolbar.py:196 pysollib/tk/toolbar.py:196 msgid "Autodrop" msgstr "" -#: pysollib/tile/toolbar.py:195 pysollib/tk/toolbar.py:198 +#: pysollib/tile/toolbar.py:197 pysollib/tk/toolbar.py:197 msgid "Shuffle" msgstr "" -#: pysollib/tile/toolbar.py:195 pysollib/tk/toolbar.py:198 +#: pysollib/tile/toolbar.py:197 pysollib/tk/toolbar.py:197 msgid "Shuffle tiles" msgstr "" -#: pysollib/tile/toolbar.py:196 pysollib/tk/toolbar.py:199 +#: pysollib/tile/toolbar.py:198 pysollib/tk/toolbar.py:198 msgid "Pause" msgstr "" -#: pysollib/tile/toolbar.py:196 pysollib/tk/toolbar.py:199 +#: pysollib/tile/toolbar.py:198 pysollib/tk/toolbar.py:198 msgid "Pause game" msgstr "" -#: pysollib/tile/toolbar.py:198 pysollib/tk/toolbar.py:201 +#: pysollib/tile/toolbar.py:200 pysollib/tk/toolbar.py:200 msgid "View statistics" msgstr "" -#: pysollib/tile/toolbar.py:199 pysollib/tk/toolbar.py:202 +#: pysollib/tile/toolbar.py:201 pysollib/tk/toolbar.py:201 msgid "Rules" msgstr "" -#: pysollib/tile/toolbar.py:199 pysollib/tk/toolbar.py:202 +#: pysollib/tile/toolbar.py:201 pysollib/tk/toolbar.py:201 msgid "Rules for this game" msgstr "" -#: pysollib/tile/toolbar.py:201 pysollib/tk/toolbar.py:204 +#: pysollib/tile/toolbar.py:203 pysollib/tk/toolbar.py:203 msgid "Quit" msgstr "" -#: pysollib/tile/toolbar.py:215 pysollib/tk/toolbar.py:218 +#: pysollib/tile/toolbar.py:217 pysollib/tk/toolbar.py:217 msgid "Player" msgstr "" -#: pysollib/tile/toolbar.py:216 pysollib/tk/toolbar.py:219 +#: pysollib/tile/toolbar.py:218 pysollib/tk/toolbar.py:218 msgid "Player options" msgstr "" -#: pysollib/tile/toolbar.py:397 pysollib/tk/toolbar.py:434 +#: pysollib/tile/toolbar.py:399 pysollib/tk/toolbar.py:431 msgid "Toolbar" msgstr "" -#: pysollib/tk/menubar.py:412 +#: pysollib/tk/menubar.py:413 msgid "&Statistics" msgstr "" -#: pysollib/tk/menubar.py:413 pysollib/tk/menubar.py:422 +#: pysollib/tk/menubar.py:414 pysollib/tk/menubar.py:423 msgid "Current game..." msgstr "" -#: pysollib/tk/menubar.py:414 pysollib/tk/menubar.py:423 +#: pysollib/tk/menubar.py:415 pysollib/tk/menubar.py:424 msgid "All games..." msgstr "" -#: pysollib/tk/menubar.py:416 +#: pysollib/tk/menubar.py:417 msgid "Session log..." msgstr "" -#: pysollib/tk/menubar.py:417 +#: pysollib/tk/menubar.py:418 msgid "Full log..." msgstr "" -#: pysollib/tk/menubar.py:420 +#: pysollib/tk/menubar.py:421 msgid "Progression..." msgstr "" -#: pysollib/tk/playeroptionsdialog.py:120 +#: pysollib/tk/playeroptionsdialog.py:119 msgid "Choose..." msgstr "" -#: pysollib/tk/playeroptionsdialog.py:145 +#: pysollib/tk/playeroptionsdialog.py:144 msgid "Select name" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:144 data/glade-translations:76 +#: pysollib/tk/soundoptionsdialog.py:142 data/glade-translations:76 msgid "Enable samles" msgstr "" @@ -3648,43 +3666,43 @@ msgstr "" msgid "&All games..." msgstr "" -#: pysollib/tk/tkstats.py:513 +#: pysollib/tk/tkstats.py:512 msgid "&Reset all..." msgstr "" -#: pysollib/tk/tkstats.py:578 +#: pysollib/tk/tkstats.py:577 msgid "Session &log..." msgstr "" -#: pysollib/tk/tkstats.py:593 +#: pysollib/tk/tkstats.py:592 msgid "&Full log..." msgstr "" -#: pysollib/util.py:81 +#: pysollib/util.py:73 msgid "Club" msgstr "" -#: pysollib/util.py:81 +#: pysollib/util.py:73 msgid "Diamond" msgstr "" -#: pysollib/util.py:81 +#: pysollib/util.py:73 msgid "Heart" msgstr "" -#: pysollib/util.py:81 +#: pysollib/util.py:73 msgid "Spade" msgstr "" -#: pysollib/util.py:82 +#: pysollib/util.py:74 msgid "black" msgstr "" -#: pysollib/util.py:82 +#: pysollib/util.py:74 msgid "red" msgstr "" -#: pysollib/util.py:107 +#: pysollib/util.py:99 msgid "cardset" msgstr "" diff --git a/po/ru_games.po b/po/ru_games.po index bcd8ff84..236f8c20 100644 --- a/po/ru_games.po +++ b/po/ru_games.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PySol 0.0.1\n" -"POT-Creation-Date: Tue Jun 5 04:28:06 2007\n" +"POT-Creation-Date: Fri Jul 20 23:41:28 2007\n" "PO-Revision-Date: 2007-05-11 17:25+0400\n" "Last-Translator: Скоморох \n" "Language-Team: Russian \n" @@ -362,6 +362,9 @@ msgstr "Лодка" msgid "Bonaparte" msgstr "Бонапарт" +msgid "Boomerang" +msgstr "" + msgid "Boost" msgstr "Повышение" @@ -724,6 +727,9 @@ msgstr "Der lange Zopf" msgid "Der letzte Monarch" msgstr "Der letzte Monarch" +msgid "Desert Island" +msgstr "" + msgid "Deuces" msgstr "Двойки" @@ -809,6 +815,10 @@ msgstr "Двойной кузнечик" msgid "Double Fives" msgstr "Двойные пятёрки" +#, fuzzy +msgid "Double Footling" +msgstr "Двойной Дельфин" + msgid "Double FreeCell" msgstr "Двойная свободная ячейка" @@ -1138,10 +1148,17 @@ msgstr "Полёт" msgid "Flying Dragon" msgstr "Летящий дракон" +msgid "Footling" +msgstr "" + #, fuzzy msgid "ForeCell" msgstr "Свободная ячейка" +#, fuzzy +msgid "Forest Glade" +msgstr "Цветочный сад" + msgid "Formic" msgstr "Муравьиный" @@ -1339,6 +1356,10 @@ msgstr "Великая Герцогиня" msgid "Grand Duchess +" msgstr "Великая Герцогиня +" +#, fuzzy +msgid "Grandee" +msgstr "Гранада" + msgid "Grandfather" msgstr "Дедушка" @@ -1802,6 +1823,9 @@ msgstr "Лили" msgid "Limited" msgstr "Ограниченный" +msgid "Limpopo" +msgstr "" + msgid "Lion" msgstr "Лев" @@ -3370,6 +3394,9 @@ msgstr "Пауклонд" msgid "Spike" msgstr "Шип" +msgid "Spoilt" +msgstr "" + msgid "Squadron" msgstr "Эскадрон" @@ -3683,6 +3710,10 @@ msgstr "Люк" msgid "Trapdoor Spider" msgstr "Люк Паука" +#, fuzzy +msgid "Travellers" +msgstr "Волны" + msgid "Treasure Trove" msgstr "Клад" @@ -3692,6 +3723,10 @@ msgstr "Древо жизни" msgid "Trefoil" msgstr "Клевер" +#, fuzzy +msgid "Tri Peaks" +msgstr "Три вершины" + msgid "Triangle" msgstr "Треугольник" @@ -3740,6 +3775,10 @@ msgstr "Тройка" msgid "Trusty Twelve" msgstr "Верные двенадцать" +#, fuzzy +msgid "Turncoats" +msgstr "Турнир" + msgid "Tuxedo" msgstr "Смокинг" @@ -3838,6 +3877,9 @@ msgstr "Маджонг Victory Arrow" msgid "Virginia Reel" msgstr "Виргинский Рил" +msgid "Voracious" +msgstr "" + #, fuzzy msgid "Wake-Robin" msgstr "Робин" diff --git a/po/ru_pysol.po b/po/ru_pysol.po index 3fe81e6c..d3d53444 100644 --- a/po/ru_pysol.po +++ b/po/ru_pysol.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: Tue Jun 5 04:29:13 2007\n" -"PO-Revision-Date: 2007-06-05 04:31+0400\n" +"POT-Creation-Date: Fri Jul 20 23:42:39 2007\n" +"PO-Revision-Date: 2007-07-20 23:52+0400\n" "Last-Translator: Skomoroh \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" @@ -16,14 +16,14 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: pysollib/actions.py:268 pysollib/tile/toolbar.py:186 -#: pysollib/tk/toolbar.py:189 +#: pysollib/actions.py:268 pysollib/tile/toolbar.py:188 +#: pysollib/tk/toolbar.py:188 msgid "New game" msgstr "Новая игра" #: pysollib/actions.py:281 pysollib/tile/menubar.py:848 -#: pysollib/tile/menubar.py:862 pysollib/tk/menubar.py:851 -#: pysollib/tk/menubar.py:865 +#: pysollib/tile/menubar.py:862 pysollib/tk/menubar.py:849 +#: pysollib/tk/menubar.py:863 msgid "Select game" msgstr "Выбрать игру" @@ -57,52 +57,52 @@ msgstr "" msgid "&Next number" msgstr "&Следующий номер" -#: pysollib/actions.py:324 pysollib/app.py:1151 pysollib/app.py:1438 -#: pysollib/app.py:1450 pysollib/game.py:1019 pysollib/game.py:2289 -#: pysollib/tile/colorsdialog.py:112 pysollib/tile/edittextdialog.py:83 -#: pysollib/tile/fontsdialog.py:144 pysollib/tile/fontsdialog.py:204 -#: pysollib/tile/gameinfodialog.py:155 pysollib/tile/menubar.py:1349 -#: pysollib/tile/playeroptionsdialog.py:111 pysollib/tile/selectcardset.py:387 -#: pysollib/tile/selecttile.py:161 pysollib/tile/soundoptionsdialog.py:168 -#: pysollib/tile/soundoptionsdialog.py:206 pysollib/tile/timeoutsdialog.py:94 -#: pysollib/tile/tkhtml.py:504 pysollib/tile/tkstats.py:123 -#: pysollib/tile/tkstats.py:546 pysollib/tile/tkstats.py:645 -#: pysollib/tile/tkstats.py:727 pysollib/tile/tkwidget.py:154 -#: pysollib/tile/tkwidget.py:329 pysollib/tile/wizarddialog.py:146 -#: pysollib/tk/colorsdialog.py:111 pysollib/tk/edittextdialog.py:82 -#: pysollib/tk/fontsdialog.py:143 pysollib/tk/fontsdialog.py:205 -#: pysollib/tk/gameinfodialog.py:155 pysollib/tk/playeroptionsdialog.py:85 -#: pysollib/tk/playeroptionsdialog.py:160 pysollib/tk/selectcardset.py:241 -#: pysollib/tk/selectcardset.py:397 pysollib/tk/selecttile.py:159 -#: pysollib/tk/soundoptionsdialog.py:170 pysollib/tk/soundoptionsdialog.py:211 -#: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkhtml.py:500 -#: pysollib/tk/tkstats.py:289 pysollib/tk/tkstats.py:511 -#: pysollib/tk/tkstats.py:578 pysollib/tk/tkstats.py:593 -#: pysollib/tk/tkstats.py:635 pysollib/tk/tkstats.py:707 -#: pysollib/tk/tkstats.py:791 pysollib/tk/tkstats.py:965 -#: pysollib/tk/tkwidget.py:160 pysollib/tk/tkwidget.py:324 -#: pysollib/tk/wizarddialog.py:137 +#: pysollib/actions.py:324 pysollib/app.py:730 pysollib/app.py:1017 +#: pysollib/app.py:1029 pysollib/game.py:1018 pysollib/game.py:2305 +#: pysollib/tile/colorsdialog.py:114 pysollib/tile/edittextdialog.py:83 +#: pysollib/tile/fontsdialog.py:142 pysollib/tile/fontsdialog.py:202 +#: pysollib/tile/gameinfodialog.py:154 pysollib/tile/menubar.py:1351 +#: pysollib/tile/playeroptionsdialog.py:109 pysollib/tile/selectcardset.py:389 +#: pysollib/tile/selecttile.py:157 pysollib/tile/soundoptionsdialog.py:168 +#: pysollib/tile/soundoptionsdialog.py:206 pysollib/tile/timeoutsdialog.py:95 +#: pysollib/tile/tkhtml.py:506 pysollib/tile/tkstats.py:123 +#: pysollib/tile/tkstats.py:552 pysollib/tile/tkstats.py:653 +#: pysollib/tile/tkstats.py:734 pysollib/tile/tkwidget.py:155 +#: pysollib/tile/tkwidget.py:363 pysollib/tile/wizarddialog.py:148 +#: pysollib/tk/colorsdialog.py:113 pysollib/tk/edittextdialog.py:82 +#: pysollib/tk/fontsdialog.py:140 pysollib/tk/fontsdialog.py:202 +#: pysollib/tk/gameinfodialog.py:154 pysollib/tk/playeroptionsdialog.py:84 +#: pysollib/tk/playeroptionsdialog.py:159 pysollib/tk/selectcardset.py:237 +#: pysollib/tk/selectcardset.py:389 pysollib/tk/selecttile.py:156 +#: pysollib/tk/soundoptionsdialog.py:166 pysollib/tk/soundoptionsdialog.py:206 +#: pysollib/tk/timeoutsdialog.py:90 pysollib/tk/tkhtml.py:501 +#: pysollib/tk/tkstats.py:289 pysollib/tk/tkstats.py:510 +#: pysollib/tk/tkstats.py:577 pysollib/tk/tkstats.py:592 +#: pysollib/tk/tkstats.py:634 pysollib/tk/tkstats.py:706 +#: pysollib/tk/tkstats.py:790 pysollib/tk/tkstats.py:958 +#: pysollib/tk/tkwidget.py:161 pysollib/tk/tkwidget.py:359 +#: pysollib/tk/wizarddialog.py:138 msgid "&OK" msgstr "&ОК" -#: pysollib/actions.py:324 pysollib/app.py:1152 pysollib/app.py:1450 -#: pysollib/game.py:1019 pysollib/game.py:1690 pysollib/game.py:1706 -#: pysollib/game.py:1713 pysollib/game.py:1719 -#: pysollib/tile/colorsdialog.py:112 pysollib/tile/edittextdialog.py:83 -#: pysollib/tile/fontsdialog.py:144 pysollib/tile/fontsdialog.py:204 -#: pysollib/tile/playeroptionsdialog.py:111 pysollib/tile/selectcardset.py:237 -#: pysollib/tile/selectgame.py:302 pysollib/tile/selectgame.py:433 -#: pysollib/tile/selecttile.py:161 pysollib/tile/soundoptionsdialog.py:168 -#: pysollib/tile/timeoutsdialog.py:94 pysollib/tile/tkwidget.py:329 -#: pysollib/tile/wizarddialog.py:146 pysollib/tk/colorsdialog.py:111 -#: pysollib/tk/edittextdialog.py:82 pysollib/tk/fontsdialog.py:143 -#: pysollib/tk/fontsdialog.py:205 pysollib/tk/menubar.py:1155 -#: pysollib/tk/menubar.py:1157 pysollib/tk/playeroptionsdialog.py:85 -#: pysollib/tk/playeroptionsdialog.py:160 pysollib/tk/selectcardset.py:241 -#: pysollib/tk/selectgame.py:303 pysollib/tk/selectgame.py:444 -#: pysollib/tk/selecttile.py:159 pysollib/tk/soundoptionsdialog.py:170 -#: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkwidget.py:324 -#: pysollib/tk/wizarddialog.py:137 +#: pysollib/actions.py:324 pysollib/app.py:731 pysollib/app.py:1029 +#: pysollib/game.py:1018 pysollib/game.py:1692 pysollib/game.py:1711 +#: pysollib/game.py:1718 pysollib/game.py:1724 +#: pysollib/tile/colorsdialog.py:114 pysollib/tile/edittextdialog.py:83 +#: pysollib/tile/fontsdialog.py:142 pysollib/tile/fontsdialog.py:202 +#: pysollib/tile/playeroptionsdialog.py:109 pysollib/tile/selectcardset.py:238 +#: pysollib/tile/selectgame.py:303 pysollib/tile/selectgame.py:433 +#: pysollib/tile/selecttile.py:157 pysollib/tile/soundoptionsdialog.py:168 +#: pysollib/tile/timeoutsdialog.py:95 pysollib/tile/tkwidget.py:363 +#: pysollib/tile/wizarddialog.py:148 pysollib/tk/colorsdialog.py:113 +#: pysollib/tk/edittextdialog.py:82 pysollib/tk/fontsdialog.py:140 +#: pysollib/tk/fontsdialog.py:202 pysollib/tk/menubar.py:1155 +#: pysollib/tk/menubar.py:1157 pysollib/tk/playeroptionsdialog.py:84 +#: pysollib/tk/playeroptionsdialog.py:159 pysollib/tk/selectcardset.py:237 +#: pysollib/tk/selectgame.py:304 pysollib/tk/selectgame.py:434 +#: pysollib/tk/selecttile.py:156 pysollib/tk/soundoptionsdialog.py:166 +#: pysollib/tk/timeoutsdialog.py:90 pysollib/tk/tkwidget.py:359 +#: pysollib/tk/wizarddialog.py:138 msgid "&Cancel" msgstr "От&мена" @@ -114,8 +114,8 @@ msgstr "Выбор случайной игры" msgid "Select next game" msgstr "Выбрать следующую игру" -#: pysollib/actions.py:409 pysollib/tile/toolbar.py:201 -#: pysollib/tk/toolbar.py:204 +#: pysollib/actions.py:409 pysollib/tile/toolbar.py:203 +#: pysollib/tk/toolbar.py:203 msgid "Quit " msgstr "Выйти из " @@ -195,18 +195,18 @@ msgstr " для " msgid "Statistics for " msgstr "Статистика игры " -#: pysollib/actions.py:603 pysollib/tile/selectgame.py:380 -#: pysollib/tile/tkstats.py:74 pysollib/tile/toolbar.py:198 -#: pysollib/tk/selectgame.py:387 pysollib/tk/toolbar.py:201 +#: pysollib/actions.py:603 pysollib/tile/selectgame.py:381 +#: pysollib/tile/tkstats.py:74 pysollib/tile/toolbar.py:200 +#: pysollib/tk/selectgame.py:381 pysollib/tk/toolbar.py:200 msgid "Statistics" msgstr "Статистика" -#: pysollib/actions.py:607 pysollib/tile/tkstats.py:528 +#: pysollib/actions.py:607 pysollib/tile/tkstats.py:534 #: data/glade-translations:31 msgid "Full log" msgstr "Полный лог" -#: pysollib/actions.py:610 pysollib/tile/tkstats.py:532 +#: pysollib/actions.py:610 pysollib/tile/tkstats.py:538 #: data/glade-translations:32 msgid "Session log" msgstr "Лог сессии" @@ -267,37 +267,33 @@ msgstr "Настроить шрифт" msgid "Set timeouts" msgstr "Настроить таймауты" -#: pysollib/app.py:159 -msgid "Unknown" -msgstr "Неизвестный" - -#: pysollib/app.py:910 +#: pysollib/app.py:477 msgid "can't find game: " msgstr "" -#: pysollib/app.py:1153 pysollib/game.py:1690 pysollib/game.py:1706 -#: pysollib/game.py:1713 pysollib/game.py:1719 pysollib/tile/menubar.py:353 -#: pysollib/tk/menubar.py:349 +#: pysollib/app.py:732 pysollib/game.py:1692 pysollib/game.py:1711 +#: pysollib/game.py:1718 pysollib/game.py:1724 pysollib/tile/menubar.py:353 +#: pysollib/tk/menubar.py:350 msgid "&New game" msgstr "&Новая игра" -#: pysollib/app.py:1296 +#: pysollib/app.py:875 msgid "Loading %s %s..." msgstr "Загружается %s %s..." -#: pysollib/app.py:1335 +#: pysollib/app.py:914 msgid " load error" msgstr " ошибка при загрузке" -#: pysollib/app.py:1336 +#: pysollib/app.py:915 msgid "Error while loading " msgstr "Ошибка при загрузке" -#: pysollib/app.py:1430 +#: pysollib/app.py:1009 msgid "Incompatible " msgstr "Несовместимый " -#: pysollib/app.py:1432 +#: pysollib/app.py:1011 msgid "" "The currently selected %s %s\n" "is not compatible with the game\n" @@ -311,23 +307,23 @@ msgstr "" "\n" "Необходимо выбрать %s типа %s.\n" -#: pysollib/app.py:1448 +#: pysollib/app.py:1027 msgid "Please select a %s type %s" msgstr "Выберите %s типа %s" -#: pysollib/app.py:1678 +#: pysollib/app.py:1256 msgid "error loading plugin %s: %s" msgstr "" -#: pysollib/game.py:938 pysollib/game.py:944 +#: pysollib/game.py:937 pysollib/game.py:943 msgid "Player\n" msgstr "Игрок\n" -#: pysollib/game.py:1015 +#: pysollib/game.py:1014 msgid "Discard current game ?" msgstr "Завершить текущую игру?" -#: pysollib/game.py:1643 +#: pysollib/game.py:1642 msgid "" "\n" "You have reached\n" @@ -337,7 +333,7 @@ msgstr "" "Вы достигли\n" "#%d в %s игрового времени" -#: pysollib/game.py:1648 +#: pysollib/game.py:1647 msgid "" "\n" "and #%d in the %s of moves" @@ -345,7 +341,7 @@ msgstr "" "\n" "и #%d в %s количества ходов" -#: pysollib/game.py:1651 +#: pysollib/game.py:1650 msgid "" "\n" "You have reached\n" @@ -355,20 +351,36 @@ msgstr "" "Вы достигли\n" "#%d в %s количества ходов" -#: pysollib/game.py:1681 pysollib/game.py:1698 +#: pysollib/game.py:1680 pysollib/game.py:1700 +msgid "" +"Your playing time is %s\n" +"for %d move." +msgid_plural "" +"Your playing time is %s\n" +"for %d moves." +msgstr[0] "" +"Ваше игровое время: %s\n" +"Количество ходов: %s" +msgstr[1] "" +"Ваше игровое время: %s\n" +"Количество ходов: %s" +msgstr[2] "" +"Ваше игровое время: %s\n" +"Количество ходов: %s" + +#: pysollib/game.py:1684 pysollib/game.py:1704 #: pysollib/tile/soundoptionsdialog.py:102 -#: pysollib/tk/soundoptionsdialog.py:100 +#: pysollib/tk/soundoptionsdialog.py:99 msgid "Game won" msgstr "Игра выиграна" -#: pysollib/game.py:1682 +#: pysollib/game.py:1685 msgid "" "\n" "Congratulations, this\n" "was a truly perfect game !\n" "\n" -"Your playing time is %s\n" -"for %d moves.\n" +"%s\n" "%s\n" msgstr "" "\n" @@ -376,34 +388,31 @@ msgstr "" "Это была действительно\n" "великолепная игра!\n" "\n" -"Ваше игровое время: %s\n" -"Количество ходов: %s\n" +"%s\n" "%s\n" -#: pysollib/game.py:1699 +#: pysollib/game.py:1705 msgid "" "\n" "Congratulations, you did it !\n" "\n" -"Your playing time is %s\n" -"for %d moves.\n" +"%s\n" "%s\n" msgstr "" "\n" "Поздравляем!\n" "Вы сделали это!\n" "\n" -"Ваше игровое время: %s\n" -"Количество ходов: %s\n" +"%s\n" "%s\n" -#: pysollib/game.py:1711 pysollib/game.py:1717 +#: pysollib/game.py:1716 pysollib/game.py:1722 #: pysollib/tile/soundoptionsdialog.py:100 -#: pysollib/tk/soundoptionsdialog.py:98 +#: pysollib/tk/soundoptionsdialog.py:97 msgid "Game finished" msgstr "Игра закончена" -#: pysollib/game.py:1712 pysollib/game.py:2290 +#: pysollib/game.py:1717 pysollib/game.py:2306 msgid "" "\n" "Game finished\n" @@ -411,7 +420,7 @@ msgstr "" "\n" "Игра закончена\n" -#: pysollib/game.py:1718 +#: pysollib/game.py:1723 msgid "" "\n" "Game finished, but not without my help...\n" @@ -419,55 +428,58 @@ msgstr "" "\n" "Игра закончена, но не без моей помощи...\n" -#: pysollib/game.py:1719 +#: pysollib/game.py:1724 msgid "&Restart" msgstr "&Начало" -#: pysollib/game.py:2179 +#: pysollib/game.py:2188 msgid "Score %6d" msgstr "Счёт %6d" -#: pysollib/game.py:2281 +#: pysollib/game.py:2290 msgid "&Cool" msgstr "&Отлично" -#: pysollib/game.py:2281 +#: pysollib/game.py:2290 msgid "&Great" msgstr "&Здорово" -#: pysollib/game.py:2281 +#: pysollib/game.py:2291 msgid "&Wow" msgstr "&Ура" -#: pysollib/game.py:2281 +#: pysollib/game.py:2291 msgid "&Yeah" msgstr "&Ага" -#: pysollib/game.py:2282 pysollib/game.py:2293 pysollib/game.py:2305 +#: pysollib/game.py:2292 +msgid "" +"\n" +"Game solved in %d move.\n" +msgid_plural "" +"\n" +"Game solved in %d moves.\n" +msgstr[0] "\nИгра решена за %d ход.\n" +msgstr[1] "\nИгра решена за %d хода.\n" +msgstr[2] "\nИгра решена за %d ходов\n" + +#: pysollib/game.py:2296 pysollib/game.py:2309 pysollib/game.py:2321 msgid " Autopilot" msgstr " Автопилот" -#: pysollib/game.py:2283 -msgid "" -"\n" -"Game solved in %d moves.\n" -msgstr "" -"\n" -"Игра решена за %d ходов\n" - -#: pysollib/game.py:2304 +#: pysollib/game.py:2320 msgid "&Hmm" msgstr "&Хмм" -#: pysollib/game.py:2304 +#: pysollib/game.py:2320 msgid "&Oh well" msgstr "&Ох" -#: pysollib/game.py:2304 +#: pysollib/game.py:2320 msgid "&That's life" msgstr "&Такова жизнь" -#: pysollib/game.py:2306 +#: pysollib/game.py:2322 msgid "" "\n" "This won't come out...\n" @@ -475,31 +487,31 @@ msgstr "" "\n" "Не удалось...\n" -#: pysollib/game.py:2746 +#: pysollib/game.py:2763 msgid "Set bookmark" msgstr "Установить закладку" -#: pysollib/game.py:2747 +#: pysollib/game.py:2764 msgid "Replace existing bookmark %d ?" msgstr "Заменить существующую закладку %d ?" -#: pysollib/game.py:2769 +#: pysollib/game.py:2786 msgid "Goto bookmark" msgstr "Перейти к закладке" -#: pysollib/game.py:2770 +#: pysollib/game.py:2787 msgid "Goto bookmark %d ?" msgstr "Перейти к закладке %d ?" -#: pysollib/game.py:2801 +#: pysollib/game.py:2818 msgid "Open game" msgstr "Открыть игру" -#: pysollib/game.py:2812 pysollib/game.py:2822 pysollib/game.py:2827 +#: pysollib/game.py:2829 pysollib/game.py:2839 pysollib/game.py:2844 msgid "Load game error" msgstr "Ошибка при загрузке игры" -#: pysollib/game.py:2813 +#: pysollib/game.py:2830 msgid "" "Error while loading game.\n" "\n" @@ -511,11 +523,11 @@ msgstr "" "Возможно повреждён файл,\n" "или ошибка в программе." -#: pysollib/game.py:2823 +#: pysollib/game.py:2840 msgid "Error while loading game" msgstr "Ошибка при загрузке игры" -#: pysollib/game.py:2828 +#: pysollib/game.py:2845 msgid "" "Internal error while loading game.\n" "\n" @@ -525,26 +537,26 @@ msgstr "" "\n" "Пожалуйста сообщите об этой ошибке." -#: pysollib/game.py:2857 pysollib/tile/menubar.py:1391 +#: pysollib/game.py:2874 pysollib/tile/menubar.py:1392 #: pysollib/tk/menubar.py:1375 msgid "Save game error" msgstr "Ошибка при сохранении игры" -#: pysollib/game.py:2858 +#: pysollib/game.py:2875 msgid "Error while saving game" msgstr "Ошибка при сохранении игры" -#: pysollib/game.py:2883 +#: pysollib/game.py:2900 msgid "Invalid or damaged %s save file" msgstr "" -#: pysollib/game.py:2897 +#: pysollib/game.py:2916 msgid "" "Cannot load games saved with\n" "%s version %s" msgstr "" -#: pysollib/game.py:2914 +#: pysollib/game.py:2933 msgid "" "Cannot load this game from version %s\n" "as the game rules have changed\n" @@ -798,13 +810,13 @@ msgstr "" "4: 8 Д 3 7 В 2 6 10 Т 5 9 К" #: pysollib/games/canfield.py:529 pysollib/games/special/tarock.py:224 -#: pysollib/stack.py:1498 pysollib/util.py:86 pysollib/wizardutil.py:158 +#: pysollib/stack.py:1501 pysollib/util.py:78 pysollib/wizardutil.py:158 #: pysollib/wizardutil.py:216 msgid "King" msgstr "Король" #: pysollib/games/canfield.py:532 pysollib/games/special/tarock.py:224 -#: pysollib/stack.py:1497 pysollib/util.py:86 +#: pysollib/stack.py:1500 pysollib/util.py:78 msgid "Queen" msgstr "Королева" @@ -830,12 +842,12 @@ msgid "Waste. Build up or down regardless of suit." msgstr "Сброс. Складывать по возрастанию или убыванию не считаясь с мастью." #: pysollib/games/golf.py:117 pysollib/games/golf.py:305 -#: pysollib/stack.py:2253 +#: pysollib/stack.py:2256 msgid "Tableau. No building." msgstr "Игровой стол. Без выкладывания." -#: pysollib/games/golf.py:390 pysollib/games/pileon.py:257 -#: pysollib/stack.py:2142 +#: pysollib/games/golf.py:390 pysollib/games/pileon.py:255 +#: pysollib/stack.py:2145 msgid "Foundation. Build up regardless of suit." msgstr "Базовая ячейка. Складывать по возрастанию не считаясь с мастью." @@ -855,7 +867,7 @@ msgstr "" msgid "Reserve. Only Kings are acceptable." msgstr "Резерв. Только для королей." -#: pysollib/games/larasgame.py:163 pysollib/stack.py:1710 +#: pysollib/games/larasgame.py:163 pysollib/stack.py:1713 msgid "Round %d" msgstr "Раунд %d" @@ -970,7 +982,7 @@ msgid "Deal %d" msgstr "Сдача %d" #: pysollib/games/numerica.py:262 pysollib/games/royalcotillion.py:865 -#: pysollib/stack.py:2185 +#: pysollib/stack.py:2188 msgid "Foundation. Build up by color." msgstr "Базовая ячейка. Складывать по возрастанию в соответствии с цветом." @@ -1041,7 +1053,7 @@ msgstr "Жезлы" #: pysollib/games/special/tarock.py:223 #: pysollib/games/ultra/dashavatara.py:351 #: pysollib/games/ultra/hexadeck.py:273 pysollib/games/ultra/mughal.py:254 -#: pysollib/stack.py:1499 pysollib/util.py:85 pysollib/wizardutil.py:157 +#: pysollib/stack.py:1502 pysollib/util.py:77 pysollib/wizardutil.py:157 #: pysollib/wizardutil.py:161 pysollib/wizardutil.py:215 msgid "Ace" msgstr "Туз" @@ -1139,7 +1151,7 @@ msgid "Yellow" msgstr "Жёлтый" #: pysollib/games/ultra/dashavatara.py:353 pysollib/games/ultra/mughal.py:257 -#: pysollib/tile/selecttile.py:87 pysollib/tk/selecttile.py:86 +#: pysollib/tile/selecttile.py:84 pysollib/tk/selecttile.py:83 msgid "Green" msgstr "Зелёный" @@ -1156,12 +1168,12 @@ msgid "Grey" msgstr "Серый" #: pysollib/games/ultra/dashavatara.py:354 pysollib/games/ultra/mughal.py:257 -#: pysollib/tile/selecttile.py:90 pysollib/tk/selecttile.py:89 +#: pysollib/tile/selecttile.py:87 pysollib/tk/selecttile.py:86 msgid "Orange" msgstr "Оранжевый" -#: pysollib/games/ultra/dashavatara.py:354 pysollib/tile/selecttile.py:89 -#: pysollib/tk/selecttile.py:88 +#: pysollib/games/ultra/dashavatara.py:354 pysollib/tile/selecttile.py:86 +#: pysollib/tk/selecttile.py:85 msgid "Olive" msgstr "Оливковый" @@ -1365,53 +1377,49 @@ msgstr "" "Игровой стол. Складывать по убыванию не считаясь с мастью, можно перемещать " "любую серию открытых карт." -#: pysollib/help.py:59 +#: pysollib/help.py:54 msgid "A Python Solitaire Game Collection\n" msgstr "Коллекция питоновских пасьянсов\n" -#: pysollib/help.py:61 +#: pysollib/help.py:56 msgid "A World Domination Project\n" msgstr "Всемирный непревзойдённый проект\n" -#: pysollib/help.py:62 +#: pysollib/help.py:57 msgid "&Credits..." msgstr "&Благодарности..." -#: pysollib/help.py:62 +#: pysollib/help.py:57 msgid "&Nice" msgstr "&Отлично" -#: pysollib/help.py:64 +#: pysollib/help.py:59 msgid "&Enjoy" msgstr "&Наслаждайтесь" -#: pysollib/help.py:66 -msgid "" -"Version %s\n" -"\n" -msgstr "" -"Версия %s\n" -"\n" +#: pysollib/help.py:60 +msgid "Version %s" +msgstr "Версия %s" -#: pysollib/help.py:67 +#: pysollib/help.py:61 msgid "About " msgstr "О программе " -#: pysollib/help.py:68 +#: pysollib/help.py:63 msgid "" "PySol Fan Club edition\n" "%s%s\n" +"\n" "Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003\n" "Markus F.X.J. Oberhumer\n" "Copyright (C) 2003 Mt. Hood Playing Card Co.\n" -"Copyright (C) 2005 Skomoroh (Fan Club edition)\n" +"Copyright (C) 2005 Skomoroh\n" "All Rights Reserved.\n" "\n" "PySol is free software distributed under the terms\n" "of the GNU General Public License.\n" "\n" -"For more information about this application visit\n" -"%s" +"For more information about this application visit" msgstr "" "PySol Fan Club edition\n" "%s%s\n" @@ -1425,14 +1433,13 @@ msgstr "" "распространяющееся по лицензии GPL\n" "\n" "Для получения дополнительной информации\n" -"об этом приложении посетите сайт\n" -"%s" +"об этом приложении посетите сайт" -#: pysollib/help.py:97 +#: pysollib/help.py:93 msgid "Credits" msgstr "Благодарности" -#: pysollib/help.py:98 +#: pysollib/help.py:94 msgid "" " credits go to:\n" "\n" @@ -1447,23 +1454,23 @@ msgid "" "for making this program possible" msgstr "" -#: pysollib/help.py:133 +#: pysollib/help.py:129 msgid " HTML Problem" msgstr " проблема с HTML" -#: pysollib/help.py:134 +#: pysollib/help.py:130 msgid "Cannot find help document\n" msgstr "Не найден файл помощи\n" -#: pysollib/help.py:147 +#: pysollib/help.py:143 msgid " Help" msgstr " Помощь" -#: pysollib/main.py:65 pysollib/main.py:258 +#: pysollib/main.py:66 pysollib/main.py:281 msgid "%s installation error" msgstr "%s проблема с установкой" -#: pysollib/main.py:66 +#: pysollib/main.py:67 msgid "" "No cardsets were found !!!\n" "\n" @@ -1479,12 +1486,12 @@ msgstr "" "\n" "Пожалуйста проверьте установку %s.\n" -#: pysollib/main.py:73 pysollib/main.py:266 pysollib/tile/menubar.py:373 -#: pysollib/tk/menubar.py:369 +#: pysollib/main.py:74 pysollib/main.py:289 pysollib/tile/menubar.py:373 +#: pysollib/tk/menubar.py:370 msgid "&Quit" msgstr "В&ыход" -#: pysollib/main.py:91 +#: pysollib/main.py:92 msgid "" "%s\n" "try %s --help for more information" @@ -1492,7 +1499,7 @@ msgstr "" "%s\n" "попробуйте %s --help для получения более подробной информации" -#: pysollib/main.py:120 +#: pysollib/main.py:121 msgid "" "Usage: %s [OPTIONS] [FILE]\n" " -g --game=GAMENAME start game GAMENAME\n" @@ -1518,7 +1525,7 @@ msgstr "" " FILE - имя файла сохранённой игры\n" " MOD - одно из следующих значений: pss(default), pygame, oss, win\n" -#: pysollib/main.py:136 +#: pysollib/main.py:137 msgid "" "too many files\n" "try %s --help for more information" @@ -1526,7 +1533,7 @@ msgstr "" "слишком много файлов\n" "попробуйте %s --help для получения более подробной информации" -#: pysollib/main.py:142 +#: pysollib/main.py:143 msgid "" "invalid file name\n" "try %s --help for more information" @@ -1534,11 +1541,15 @@ msgstr "" "неправильное имя файла\n" "попробуйте %s --help для получения более подробной информации" -#: pysollib/main.py:182 +#: pysollib/main.py:167 msgid "invalid game id: " msgstr "неправильный номер игры: " -#: pysollib/main.py:259 +#: pysollib/main.py:214 +msgid "Welcome to %s" +msgstr "Добро пожаловать в %s" + +#: pysollib/main.py:282 msgid "" "\n" "No games were found !!!\n" @@ -1556,9 +1567,9 @@ msgstr "" "\n" "Пожалуйста проверьте установку %s.\n" -#: pysollib/main.py:328 -msgid "Welcome to %s" -msgstr "Добро пожаловать в %s" +#: pysollib/options.py:236 +msgid "Unknown" +msgstr "Неизвестный" #: pysollib/resource.py:191 msgid "French type (52 cards)" @@ -1824,148 +1835,148 @@ msgstr "Швейцария" msgid "USA" msgstr "США" -#: pysollib/settings.py:71 data/glade-translations:29 +#: pysollib/settings.py:70 data/glade-translations:29 msgid "Top 10" msgstr "Top 10" -#: pysollib/stack.py:1493 +#: pysollib/stack.py:1496 msgid "Base card - %s." msgstr "Базовая карта - %s." -#: pysollib/stack.py:1494 +#: pysollib/stack.py:1497 msgid "Empty row cannot be filled." msgstr "Пустой ряд не заполняется." -#: pysollib/stack.py:1495 +#: pysollib/stack.py:1498 msgid "any card" msgstr "любая карта" -#: pysollib/stack.py:1496 pysollib/util.py:86 +#: pysollib/stack.py:1499 pysollib/util.py:78 msgid "Jack" msgstr "Валет" -#: pysollib/stack.py:1506 +#: pysollib/stack.py:1509 msgid "No cards" msgstr "Нет карт" -#: pysollib/stack.py:1507 +#: pysollib/stack.py:1510 msgid "%d card" msgid_plural "%d cards" msgstr[0] "%d карта" msgstr[1] "%d карты" msgstr[2] "%d карт" -#: pysollib/stack.py:1719 pysollib/stack.py:1721 pysollib/stack.py:1757 +#: pysollib/stack.py:1722 pysollib/stack.py:1724 pysollib/stack.py:1760 msgid "Redeal" msgstr "Сдать" -#: pysollib/stack.py:1721 +#: pysollib/stack.py:1724 msgid "Stop" msgstr "Стоп" -#: pysollib/stack.py:1783 +#: pysollib/stack.py:1786 msgid "Variable redeals." msgstr "Переменное количество пересдач." -#: pysollib/stack.py:1784 +#: pysollib/stack.py:1787 msgid "Unlimited redeals." msgstr "Неограниченное количество пересдач." -#: pysollib/stack.py:1787 +#: pysollib/stack.py:1790 msgid "%d readeal" msgid_plural "%d redeals" msgstr[0] "%d пересдача" msgstr[1] "%d пересдачи" msgstr[2] "%d пересдач" -#: pysollib/stack.py:1789 +#: pysollib/stack.py:1792 msgid "Talon." msgstr "Колода." -#: pysollib/stack.py:2055 pysollib/stack.py:2702 +#: pysollib/stack.py:2058 pysollib/stack.py:2705 msgid "Reserve. No building." msgstr "Резерв. Без выкладывания." -#: pysollib/stack.py:2093 +#: pysollib/stack.py:2096 msgid "Foundation." msgstr "Базовая ячейка" -#: pysollib/stack.py:2131 +#: pysollib/stack.py:2134 msgid "Foundation. Build up by suit." msgstr "Базовая ячейка. Складывать по возрастанию в соответствии с мастью." -#: pysollib/stack.py:2132 +#: pysollib/stack.py:2135 msgid "Foundation. Build down by suit." msgstr "Базовая ячейка. Складывать по убыванию в соответствии с мастью." -#: pysollib/stack.py:2133 pysollib/stack.py:2144 pysollib/stack.py:2166 -#: pysollib/stack.py:2187 +#: pysollib/stack.py:2136 pysollib/stack.py:2147 pysollib/stack.py:2169 +#: pysollib/stack.py:2190 msgid "Foundation. Build by same rank." msgstr "Базовая ячейка. Складывать в соответствии с достоинством." -#: pysollib/stack.py:2143 +#: pysollib/stack.py:2146 msgid "Foundation. Build down regardless of suit." msgstr "Базовая ячейка. Складывать не считаясь с мастью." -#: pysollib/stack.py:2164 +#: pysollib/stack.py:2167 msgid "Foundation. Build up by alternate color." msgstr "Базовая ячейка. Складывать по возрастанию чередуя цвет." -#: pysollib/stack.py:2165 +#: pysollib/stack.py:2168 msgid "Foundation. Build down by alternate color." msgstr "Базовая ячейка. Складывать по убыванию чередуя цвет." -#: pysollib/stack.py:2186 +#: pysollib/stack.py:2189 msgid "Foundation. Build down by color." msgstr "Базовая ячейка. Складывать по убыванию в соответствии с цветом." -#: pysollib/stack.py:2295 +#: pysollib/stack.py:2298 msgid "Tableau. Build up by alternate color." msgstr "Игровой стол. Складывать по возрастанию чередуя цвет." -#: pysollib/stack.py:2296 +#: pysollib/stack.py:2299 msgid "Tableau. Build down by alternate color." msgstr "Игровой стол. Складывать по убыванию чередуя цвет." -#: pysollib/stack.py:2297 pysollib/stack.py:2307 pysollib/stack.py:2316 -#: pysollib/stack.py:2325 pysollib/stack.py:2335 pysollib/stack.py:2364 -#: pysollib/stack.py:2374 +#: pysollib/stack.py:2300 pysollib/stack.py:2310 pysollib/stack.py:2319 +#: pysollib/stack.py:2328 pysollib/stack.py:2338 pysollib/stack.py:2367 +#: pysollib/stack.py:2377 msgid "Tableau. Build by same rank." msgstr "Игровой стол. Складывать в соответствии с достоинством." -#: pysollib/stack.py:2305 +#: pysollib/stack.py:2308 msgid "Tableau. Build up by color." msgstr "Игровой стол. Складывать по возрастанию в соответствии с цветом." -#: pysollib/stack.py:2306 +#: pysollib/stack.py:2309 msgid "Tableau. Build down by color." msgstr "Игровой стол. Складывать по убыванию в соответствии с цветом." -#: pysollib/stack.py:2314 +#: pysollib/stack.py:2317 msgid "Tableau. Build up by suit." msgstr "Игровой стол. Складывать по возрастанию в соответствии с мастью." -#: pysollib/stack.py:2315 +#: pysollib/stack.py:2318 msgid "Tableau. Build down by suit." msgstr "Игровой стол. Складывать по убыванию в соответствии с мастью." -#: pysollib/stack.py:2323 +#: pysollib/stack.py:2326 msgid "Tableau. Build up regardless of suit." msgstr "Игровой стол. Складывать по возрастанию не считаясь с мастью." -#: pysollib/stack.py:2324 +#: pysollib/stack.py:2327 msgid "Tableau. Build down regardless of suit." msgstr "Игровой стол. Складывать по убыванию не считаясь с мастью." -#: pysollib/stack.py:2333 +#: pysollib/stack.py:2336 msgid "Tableau. Build up in any suit but the same." msgstr "Игровой стол. Складывать по возрастанию в любую масть кроме такой же." -#: pysollib/stack.py:2334 +#: pysollib/stack.py:2337 msgid "Tableau. Build down in any suit but the same." msgstr "Игровой стол. Складывать по убыванию в любую масть кроме такой же." -#: pysollib/stack.py:2362 +#: pysollib/stack.py:2365 msgid "" "Tableau. Build up regardless of suit. Sequences of cards in alternate color " "can be moved as a unit." @@ -1973,7 +1984,7 @@ msgstr "" "Игровой стол. Складывать по возрастанию не считаясь с мастью. Можно " "перемещать серии карт чередующихся цветом." -#: pysollib/stack.py:2363 +#: pysollib/stack.py:2366 msgid "" "Tableau. Build down regardless of suit. Sequences of cards in alternate " "color can be moved as a unit." @@ -1981,7 +1992,7 @@ msgstr "" "Игровой стол. Складывать по убыванию не считаясь с мастью. Можно перемещать " "серии карт чередующихся цветом." -#: pysollib/stack.py:2372 +#: pysollib/stack.py:2375 msgid "" "Tableau. Build up regardless of suit. Sequences of cards in the same suit " "can be moved as a unit." @@ -1989,7 +2000,7 @@ msgstr "" "Игровой стол. Складывать по возрастанию не считаясь с мастью. Можно " "перемещать серии карт одинаковой масти." -#: pysollib/stack.py:2373 +#: pysollib/stack.py:2376 msgid "" "Tableau. Build down regardless of suit. Sequences of cards in the same suit " "can be moved as a unit." @@ -1997,7 +2008,7 @@ msgstr "" "Игровой стол. Складывать по убыванию не считаясь с мастью. Можно перемещать " "серии карт одинаковой масти." -#: pysollib/stack.py:2395 +#: pysollib/stack.py:2398 msgid "" "Tableau. Build up by alternate color, can move any face-up cards regardless " "of sequence." @@ -2005,7 +2016,7 @@ msgstr "" "Игровой стол. Складывать по возрастанию чередуя цвет, можно перемещать любую " "серию открытых карт." -#: pysollib/stack.py:2396 +#: pysollib/stack.py:2399 msgid "" "Tableau. Build down by alternate color, can move any face-up cards " "regardless of sequence." @@ -2013,7 +2024,7 @@ msgstr "" "Игровой стол. Складывать по убыванию чередуя цвет, можно перемещать любую " "серию открытых карт." -#: pysollib/stack.py:2397 pysollib/stack.py:2410 pysollib/stack.py:2420 +#: pysollib/stack.py:2400 pysollib/stack.py:2413 pysollib/stack.py:2423 msgid "" "Tableau. Build by same rank, can move any face-up cards regardless of " "sequence." @@ -2021,14 +2032,14 @@ msgstr "" "Игровой стол. Складывать в соответствии с достоинством, можно перемещать " "любую серию открытых карт." -#: pysollib/stack.py:2408 +#: pysollib/stack.py:2411 msgid "" "Tableau. Build up by suit, can move any face-up cards regardless of sequence." msgstr "" "Игровой стол. Складывать по возрастанию в соответствии с мастью, можно " "перемещать любую серию открытых карт." -#: pysollib/stack.py:2409 +#: pysollib/stack.py:2412 msgid "" "Tableau. Build down by suit, can move any face-up cards regardless of " "sequence." @@ -2036,7 +2047,7 @@ msgstr "" "Игровой стол. Складывать по убыванию в соответствии с мастью, можно " "перемещать любую серию открытых карт." -#: pysollib/stack.py:2418 pysollib/stack.py:2419 +#: pysollib/stack.py:2421 pysollib/stack.py:2422 msgid "" "Tableau. Build up regardless of suit, can move any face-up cards regardless " "of sequence." @@ -2044,48 +2055,48 @@ msgstr "" "Игровой стол. Складывать по возрастанию не считаясь с мастью, можно " "перемещать любую серию открытых карт." -#: pysollib/stack.py:2452 +#: pysollib/stack.py:2455 msgid "Tableau. Build up or down by color." msgstr "" "Игровой стол. Складывать по возрастанию или убыванию в соответствии с цветом." -#: pysollib/stack.py:2463 +#: pysollib/stack.py:2466 msgid "Tableau. Build up or down by alternate color." msgstr "Игровой стол. Складывать по возрастанию или убыванию чередуя цвет." -#: pysollib/stack.py:2474 +#: pysollib/stack.py:2477 msgid "Tableau. Build up or down by suit." msgstr "" "Игровой стол. Складывать по возрастанию или убыванию в соответствии с мастью." -#: pysollib/stack.py:2485 +#: pysollib/stack.py:2488 msgid "Tableau. Build up or down regardless of suit." msgstr "" "Игровой стол. Складывать по возрастанию или убыванию не считаясь с мастью." -#: pysollib/stack.py:2586 +#: pysollib/stack.py:2589 msgid "Waste." msgstr "Сброс." -#: pysollib/stack.py:2703 +#: pysollib/stack.py:2706 msgid "Free cell." msgstr "Свободная ячейка." -#: pysollib/stats.py:52 pysollib/stats.py:122 pysollib/tile/tkstats.py:675 +#: pysollib/stats.py:52 pysollib/stats.py:122 pysollib/tile/tkstats.py:682 msgid "Game" msgstr "Игра" -#: pysollib/stats.py:53 pysollib/tile/tkstats.py:906 -#: pysollib/tile/tkstats.py:979 pysollib/tile/tkstats.py:980 -#: pysollib/tk/tkstats.py:881 pysollib/tk/tkstats.py:882 -#: pysollib/tk/tkstats.py:935 +#: pysollib/stats.py:53 pysollib/tile/tkstats.py:913 +#: pysollib/tile/tkstats.py:983 pysollib/tile/tkstats.py:984 +#: pysollib/tk/tkstats.py:880 pysollib/tk/tkstats.py:881 +#: pysollib/tk/tkstats.py:928 msgid "Played" msgstr "Играл" -#: pysollib/stats.py:54 pysollib/stats.py:161 pysollib/tile/tkstats.py:913 -#: pysollib/tile/tkstats.py:984 pysollib/tile/tkstats.py:985 -#: pysollib/tk/tkstats.py:886 pysollib/tk/tkstats.py:887 -#: pysollib/tk/tkstats.py:943 +#: pysollib/stats.py:54 pysollib/stats.py:161 pysollib/tile/tkstats.py:919 +#: pysollib/tile/tkstats.py:988 pysollib/tile/tkstats.py:989 +#: pysollib/tk/tkstats.py:885 pysollib/tk/tkstats.py:886 +#: pysollib/tk/tkstats.py:936 msgid "Won" msgstr "Выиграл" @@ -2093,8 +2104,8 @@ msgstr "Выиграл" msgid "Lost" msgstr "Проиграл" -#: pysollib/stats.py:56 pysollib/tile/statusbar.py:150 -#: pysollib/tk/statusbar.py:159 data/glade-translations:25 +#: pysollib/stats.py:56 pysollib/tile/statusbar.py:164 +#: pysollib/tk/statusbar.py:162 data/glade-translations:25 msgid "Playing time" msgstr "Время игры" @@ -2102,11 +2113,11 @@ msgstr "Время игры" msgid "Moves" msgstr "Ходов" -#: pysollib/stats.py:58 pysollib/tile/tkstats.py:920 -#: pysollib/tile/tkstats.py:952 pysollib/tile/tkstats.py:971 -#: pysollib/tile/tkstats.py:989 pysollib/tk/tkstats.py:854 -#: pysollib/tk/tkstats.py:873 pysollib/tk/tkstats.py:891 -#: pysollib/tk/tkstats.py:951 +#: pysollib/stats.py:58 pysollib/tile/tkstats.py:925 +#: pysollib/tile/tkstats.py:956 pysollib/tile/tkstats.py:975 +#: pysollib/tile/tkstats.py:993 pysollib/tk/tkstats.py:853 +#: pysollib/tk/tkstats.py:872 pysollib/tk/tkstats.py:890 +#: pysollib/tk/tkstats.py:944 msgid "% won" msgstr "% побед" @@ -2114,18 +2125,18 @@ msgstr "% побед" msgid "Status" msgstr "Статус" -#: pysollib/stats.py:122 pysollib/tile/statusbar.py:152 -#: pysollib/tile/tkstats.py:678 pysollib/tk/statusbar.py:161 -#: pysollib/tk/tkstats.py:665 +#: pysollib/stats.py:122 pysollib/tile/statusbar.py:166 +#: pysollib/tile/tkstats.py:685 pysollib/tk/statusbar.py:164 +#: pysollib/tk/tkstats.py:664 msgid "Game number" msgstr "Номер игры" -#: pysollib/stats.py:122 pysollib/tile/tkstats.py:681 -#: pysollib/tk/tkstats.py:668 +#: pysollib/stats.py:122 pysollib/tile/tkstats.py:688 +#: pysollib/tk/tkstats.py:667 msgid "Started at" msgstr "Игра начата" -#: pysollib/stats.py:146 pysollib/tile/tkstats.py:697 +#: pysollib/stats.py:146 pysollib/tile/tkstats.py:704 msgid "** UNKNOWN %d **" msgstr "" @@ -2162,49 +2173,49 @@ msgstr "Полный лог для " msgid "Session log for " msgstr "Лог сессии для " -#: pysollib/tile/colorsdialog.py:71 pysollib/tk/colorsdialog.py:70 +#: pysollib/tile/colorsdialog.py:69 pysollib/tk/colorsdialog.py:68 #: data/glade-translations:56 msgid "Text foreground:" msgstr "Цвет текста:" -#: pysollib/tile/colorsdialog.py:72 pysollib/tile/timeoutsdialog.py:70 -#: pysollib/tk/colorsdialog.py:71 pysollib/tk/timeoutsdialog.py:68 +#: pysollib/tile/colorsdialog.py:70 pysollib/tile/timeoutsdialog.py:71 +#: pysollib/tk/colorsdialog.py:69 pysollib/tk/timeoutsdialog.py:66 #: data/glade-translations:37 data/glade-translations:41 msgid "Highlight piles:" msgstr "Подсветка групп:" -#: pysollib/tile/colorsdialog.py:73 pysollib/tk/colorsdialog.py:72 +#: pysollib/tile/colorsdialog.py:71 pysollib/tk/colorsdialog.py:70 #: data/glade-translations:42 msgid "Highlight cards 1:" msgstr "Подсветка карт 1:" -#: pysollib/tile/colorsdialog.py:74 pysollib/tk/colorsdialog.py:73 +#: pysollib/tile/colorsdialog.py:72 pysollib/tk/colorsdialog.py:71 #: data/glade-translations:43 msgid "Highlight cards 2:" msgstr "Подсветка карт 2:" -#: pysollib/tile/colorsdialog.py:75 pysollib/tk/colorsdialog.py:74 +#: pysollib/tile/colorsdialog.py:73 pysollib/tk/colorsdialog.py:72 #: data/glade-translations:44 msgid "Highlight same rank 1:" msgstr "Подсветка карт одного достоинства 1:" -#: pysollib/tile/colorsdialog.py:76 pysollib/tk/colorsdialog.py:75 +#: pysollib/tile/colorsdialog.py:74 pysollib/tk/colorsdialog.py:73 #: data/glade-translations:45 msgid "Highlight same rank 2:" msgstr "Подсветка карт одного достоинства 2:" -#: pysollib/tile/colorsdialog.py:77 pysollib/tk/colorsdialog.py:76 +#: pysollib/tile/colorsdialog.py:75 pysollib/tk/colorsdialog.py:74 #: data/glade-translations:46 msgid "Hint arrow:" msgstr "Стрелка подсказки:" -#: pysollib/tile/colorsdialog.py:78 pysollib/tk/colorsdialog.py:77 +#: pysollib/tile/colorsdialog.py:76 pysollib/tk/colorsdialog.py:75 #: data/glade-translations:47 msgid "Highlight not matching:" msgstr "Подсветка отсутствия совпадения:" -#: pysollib/tile/colorsdialog.py:85 pysollib/tile/fontsdialog.py:185 -#: pysollib/tk/colorsdialog.py:84 pysollib/tk/fontsdialog.py:186 +#: pysollib/tile/colorsdialog.py:83 pysollib/tile/fontsdialog.py:183 +#: pysollib/tk/colorsdialog.py:82 pysollib/tk/fontsdialog.py:183 #: data/glade-translations:48 data/glade-translations:49 #: data/glade-translations:50 data/glade-translations:51 #: data/glade-translations:52 data/glade-translations:53 @@ -2216,244 +2227,244 @@ msgstr "Подсветка отсутствия совпадения:" msgid "Change..." msgstr "Изменить..." -#: pysollib/tile/colorsdialog.py:104 pysollib/tk/colorsdialog.py:103 +#: pysollib/tile/colorsdialog.py:103 pysollib/tk/colorsdialog.py:102 msgid "Select color" msgstr "Выбрать цвет" -#: pysollib/tile/findcarddialog.py:54 pysollib/tk/findcarddialog.py:54 +#: pysollib/tile/findcarddialog.py:51 pysollib/tk/findcarddialog.py:54 msgid "Find card" msgstr "Найти карту" -#: pysollib/tile/fontsdialog.py:90 pysollib/tk/fontsdialog.py:85 +#: pysollib/tile/fontsdialog.py:88 pysollib/tk/fontsdialog.py:82 msgid "abcdefghABCDEFGH" msgstr "abcdeABCDE абвгдАБВГД" -#: pysollib/tile/fontsdialog.py:99 pysollib/tk/fontsdialog.py:94 +#: pysollib/tile/fontsdialog.py:97 pysollib/tk/fontsdialog.py:91 msgid "Bold" msgstr "Жирный" -#: pysollib/tile/fontsdialog.py:103 pysollib/tk/fontsdialog.py:98 +#: pysollib/tile/fontsdialog.py:101 pysollib/tk/fontsdialog.py:95 msgid "Italic" msgstr "Наклонный" -#: pysollib/tile/fontsdialog.py:109 pysollib/tile/selectcardset.py:332 -#: pysollib/tk/selectcardset.py:341 +#: pysollib/tile/fontsdialog.py:107 pysollib/tile/selectcardset.py:334 +#: pysollib/tk/selectcardset.py:333 msgid "Size:" msgstr "Размер:" -#: pysollib/tile/fontsdialog.py:167 pysollib/tk/fontsdialog.py:168 +#: pysollib/tile/fontsdialog.py:165 pysollib/tk/fontsdialog.py:165 #: data/glade-translations:58 msgid "HTML: " msgstr "HTML: " -#: pysollib/tile/fontsdialog.py:168 pysollib/tk/fontsdialog.py:169 +#: pysollib/tile/fontsdialog.py:166 pysollib/tk/fontsdialog.py:166 #: data/glade-translations:59 msgid "Small: " msgstr "Маленький: " -#: pysollib/tile/fontsdialog.py:169 pysollib/tk/fontsdialog.py:170 +#: pysollib/tile/fontsdialog.py:167 pysollib/tk/fontsdialog.py:167 #: data/glade-translations:60 msgid "Fixed: " msgstr "Моноширинный: " -#: pysollib/tile/fontsdialog.py:170 pysollib/tk/fontsdialog.py:171 +#: pysollib/tile/fontsdialog.py:168 pysollib/tk/fontsdialog.py:168 #: data/glade-translations:61 msgid "Tableau default: " msgstr "Игровой стол по умолчанию: " -#: pysollib/tile/fontsdialog.py:171 pysollib/tk/fontsdialog.py:172 +#: pysollib/tile/fontsdialog.py:169 pysollib/tk/fontsdialog.py:169 #: data/glade-translations:62 msgid "Tableau fixed: " msgstr "Игровой стол моноширинный: " -#: pysollib/tile/fontsdialog.py:172 pysollib/tk/fontsdialog.py:173 +#: pysollib/tile/fontsdialog.py:170 pysollib/tk/fontsdialog.py:170 #: data/glade-translations:64 msgid "Tableau large: " msgstr "Игровой стол большой: " -#: pysollib/tile/fontsdialog.py:173 pysollib/tk/fontsdialog.py:174 +#: pysollib/tile/fontsdialog.py:171 pysollib/tk/fontsdialog.py:171 #: data/glade-translations:63 msgid "Tableau small: " msgstr "Игровой стол маленький: " -#: pysollib/tile/fontsdialog.py:195 pysollib/tk/fontsdialog.py:196 +#: pysollib/tile/fontsdialog.py:193 pysollib/tk/fontsdialog.py:193 msgid "Select font" msgstr "Выбрать шрифт" -#: pysollib/tile/menubar.py:86 pysollib/tk/menubar.py:84 +#: pysollib/tile/menubar.py:86 pysollib/tk/menubar.py:85 msgid "Compound" msgstr "Компоновка" -#: pysollib/tile/menubar.py:92 pysollib/tk/menubar.py:90 +#: pysollib/tile/menubar.py:92 pysollib/tk/menubar.py:91 msgid "Hide" msgstr "Спрятать" -#: pysollib/tile/menubar.py:95 pysollib/tk/menubar.py:93 +#: pysollib/tile/menubar.py:95 pysollib/tk/menubar.py:94 msgid "Top" msgstr "Сверху" -#: pysollib/tile/menubar.py:98 pysollib/tk/menubar.py:96 +#: pysollib/tile/menubar.py:98 pysollib/tk/menubar.py:97 msgid "Bottom" msgstr "Внизу" -#: pysollib/tile/menubar.py:101 pysollib/tk/menubar.py:99 +#: pysollib/tile/menubar.py:101 pysollib/tk/menubar.py:100 msgid "Left" msgstr "Слева" -#: pysollib/tile/menubar.py:104 pysollib/tk/menubar.py:102 +#: pysollib/tile/menubar.py:104 pysollib/tk/menubar.py:103 msgid "Right" msgstr "Справа" -#: pysollib/tile/menubar.py:115 pysollib/tk/menubar.py:113 +#: pysollib/tile/menubar.py:115 pysollib/tk/menubar.py:114 msgid "Visible buttons" msgstr "Показывать кнопки" #: pysollib/tile/menubar.py:350 pysollib/tile/menubar.py:520 -#: pysollib/tk/menubar.py:346 pysollib/tk/menubar.py:523 +#: pysollib/tk/menubar.py:347 pysollib/tk/menubar.py:524 msgid "&About " msgstr "&О программе " -#: pysollib/tile/menubar.py:352 pysollib/tk/menubar.py:348 +#: pysollib/tile/menubar.py:352 pysollib/tk/menubar.py:349 msgid "&File" msgstr "&Файл" -#: pysollib/tile/menubar.py:354 pysollib/tk/menubar.py:350 +#: pysollib/tile/menubar.py:354 pysollib/tk/menubar.py:351 msgid "R&ecent games" msgstr "Выбрать н&едавнюю игру" -#: pysollib/tile/menubar.py:356 pysollib/tk/menubar.py:352 +#: pysollib/tile/menubar.py:356 pysollib/tk/menubar.py:353 msgid "Select &random game" msgstr "С&лучайная игра" -#: pysollib/tile/menubar.py:357 pysollib/tk/menubar.py:353 +#: pysollib/tile/menubar.py:357 pysollib/tk/menubar.py:354 msgid "&All games" msgstr "&Все игры" -#: pysollib/tile/menubar.py:358 pysollib/tk/menubar.py:354 +#: pysollib/tile/menubar.py:358 pysollib/tk/menubar.py:355 msgid "Games played and &won" msgstr "&Выигранные игры" -#: pysollib/tile/menubar.py:359 pysollib/tk/menubar.py:355 +#: pysollib/tile/menubar.py:359 pysollib/tk/menubar.py:356 msgid "Games played and ¬ won" msgstr "&Невыигранные игры" -#: pysollib/tile/menubar.py:360 pysollib/tk/menubar.py:356 +#: pysollib/tile/menubar.py:360 pysollib/tk/menubar.py:357 msgid "Games not &played" msgstr "Не&сыгранные игры" -#: pysollib/tile/menubar.py:361 pysollib/tk/menubar.py:357 +#: pysollib/tile/menubar.py:361 pysollib/tk/menubar.py:358 msgid "Select game by nu&mber..." msgstr "Выбрать игру по &номеру..." -#: pysollib/tile/menubar.py:363 pysollib/tk/menubar.py:359 +#: pysollib/tile/menubar.py:363 pysollib/tk/menubar.py:360 msgid "Fa&vorite games" msgstr "&Избранные игры" -#: pysollib/tile/menubar.py:364 pysollib/tk/menubar.py:360 +#: pysollib/tile/menubar.py:364 pysollib/tk/menubar.py:361 msgid "A&dd to favorites" msgstr "&Добавить в избранное" -#: pysollib/tile/menubar.py:365 pysollib/tk/menubar.py:361 +#: pysollib/tile/menubar.py:365 pysollib/tk/menubar.py:362 msgid "Remove &from favorites" msgstr "&Удалить из избранных" -#: pysollib/tile/menubar.py:367 pysollib/tk/menubar.py:363 +#: pysollib/tile/menubar.py:367 pysollib/tk/menubar.py:364 msgid "&Open..." msgstr "&Открыть..." -#: pysollib/tile/menubar.py:368 pysollib/tk/menubar.py:364 +#: pysollib/tile/menubar.py:368 pysollib/tk/menubar.py:365 msgid "&Save" msgstr "&Сохранить" -#: pysollib/tile/menubar.py:369 pysollib/tk/menubar.py:365 +#: pysollib/tile/menubar.py:369 pysollib/tk/menubar.py:366 msgid "Save &as..." msgstr "Сохранить &как..." -#: pysollib/tile/menubar.py:371 pysollib/tk/menubar.py:367 +#: pysollib/tile/menubar.py:371 pysollib/tk/menubar.py:368 msgid "&Hold and quit" msgstr "Со&храниться и выйти" #: pysollib/tile/menubar.py:377 pysollib/tile/selectgame.py:433 -#: pysollib/tk/menubar.py:373 pysollib/tk/selectgame.py:444 +#: pysollib/tk/menubar.py:374 pysollib/tk/selectgame.py:434 msgid "&Select" msgstr "&Выбрать" -#: pysollib/tile/menubar.py:382 pysollib/tk/menubar.py:378 +#: pysollib/tile/menubar.py:382 pysollib/tk/menubar.py:379 msgid "&Edit" msgstr "Р&едактировать" -#: pysollib/tile/menubar.py:383 pysollib/tk/menubar.py:379 +#: pysollib/tile/menubar.py:383 pysollib/tk/menubar.py:380 msgid "&Undo" msgstr "&Отмена" -#: pysollib/tile/menubar.py:384 pysollib/tk/menubar.py:380 +#: pysollib/tile/menubar.py:384 pysollib/tk/menubar.py:381 msgid "&Redo" msgstr "&Повтор" -#: pysollib/tile/menubar.py:385 pysollib/tk/menubar.py:381 +#: pysollib/tile/menubar.py:385 pysollib/tk/menubar.py:382 msgid "Redo &all" msgstr "Вернуть все" -#: pysollib/tile/menubar.py:388 pysollib/tk/menubar.py:384 +#: pysollib/tile/menubar.py:388 pysollib/tk/menubar.py:385 msgid "&Set bookmark" msgstr "Установить &закладку" #: pysollib/tile/menubar.py:390 pysollib/tile/menubar.py:394 -#: pysollib/tk/menubar.py:386 pysollib/tk/menubar.py:390 +#: pysollib/tk/menubar.py:387 pysollib/tk/menubar.py:391 msgid "Bookmark %d" msgstr "Закладка %d" -#: pysollib/tile/menubar.py:392 pysollib/tk/menubar.py:388 +#: pysollib/tile/menubar.py:392 pysollib/tk/menubar.py:389 msgid "Go&to bookmark" msgstr "&Перейти к закладке" -#: pysollib/tile/menubar.py:397 pysollib/tk/menubar.py:393 +#: pysollib/tile/menubar.py:397 pysollib/tk/menubar.py:394 msgid "&Clear bookmarks" msgstr "О&чистить закладки" -#: pysollib/tile/menubar.py:400 pysollib/tile/toolbar.py:187 -#: pysollib/tk/menubar.py:396 pysollib/tk/toolbar.py:190 +#: pysollib/tile/menubar.py:400 pysollib/tile/toolbar.py:189 +#: pysollib/tk/menubar.py:397 pysollib/tk/toolbar.py:189 msgid "Restart" msgstr "Начало" -#: pysollib/tile/menubar.py:403 pysollib/tk/menubar.py:399 +#: pysollib/tile/menubar.py:403 pysollib/tk/menubar.py:400 msgid "Solitaire &Wizard" msgstr "Конструктор пасьянсов" -#: pysollib/tile/menubar.py:404 pysollib/tk/menubar.py:400 +#: pysollib/tile/menubar.py:404 pysollib/tk/menubar.py:401 msgid "&Edit current game" msgstr "Редактировать текущую игру" -#: pysollib/tile/menubar.py:406 pysollib/tk/menubar.py:402 +#: pysollib/tile/menubar.py:406 pysollib/tk/menubar.py:403 msgid "&Game" msgstr "&Игра" -#: pysollib/tile/menubar.py:407 pysollib/tk/menubar.py:403 +#: pysollib/tile/menubar.py:407 pysollib/tk/menubar.py:404 msgid "&Deal cards" msgstr "&Сдать карты" -#: pysollib/tile/menubar.py:408 pysollib/tk/menubar.py:404 +#: pysollib/tile/menubar.py:408 pysollib/tk/menubar.py:405 msgid "&Auto drop" msgstr "С&бросить карты" -#: pysollib/tile/menubar.py:409 pysollib/tk/menubar.py:405 +#: pysollib/tile/menubar.py:409 pysollib/tk/menubar.py:406 msgid "Shu&ffle tiles" msgstr "Переме&шать фишки" -#: pysollib/tile/menubar.py:410 pysollib/tk/menubar.py:406 +#: pysollib/tile/menubar.py:410 pysollib/tk/menubar.py:407 msgid "&Pause" msgstr "&Пауза" -#: pysollib/tile/menubar.py:413 pysollib/tk/menubar.py:409 +#: pysollib/tile/menubar.py:413 pysollib/tk/menubar.py:410 msgid "S&tatus..." msgstr "С&татус" -#: pysollib/tile/menubar.py:414 pysollib/tk/menubar.py:410 +#: pysollib/tile/menubar.py:414 pysollib/tk/menubar.py:411 msgid "&Comments..." msgstr "&Комментарии..." -#: pysollib/tile/menubar.py:416 pysollib/tile/tkstats.py:646 -#: pysollib/tk/tkstats.py:636 +#: pysollib/tile/menubar.py:416 pysollib/tile/tkstats.py:651 +#: pysollib/tk/tkstats.py:635 msgid "&Statistics..." msgstr "&Статистика..." @@ -2461,325 +2472,325 @@ msgstr "&Статистика..." msgid "Log..." msgstr "Лог..." -#: pysollib/tile/menubar.py:419 pysollib/tk/menubar.py:421 +#: pysollib/tile/menubar.py:419 pysollib/tk/menubar.py:422 msgid "D&emo statistics" msgstr "Статистика демо" -#: pysollib/tile/menubar.py:421 pysollib/tk/menubar.py:425 +#: pysollib/tile/menubar.py:421 pysollib/tk/menubar.py:426 msgid "&Assist" msgstr "&Подсказка" -#: pysollib/tile/menubar.py:422 pysollib/tk/menubar.py:426 +#: pysollib/tile/menubar.py:422 pysollib/tk/menubar.py:427 msgid "&Hint" msgstr "Подсказать &ход" -#: pysollib/tile/menubar.py:423 pysollib/tk/menubar.py:427 +#: pysollib/tile/menubar.py:423 pysollib/tk/menubar.py:428 msgid "Highlight p&iles" msgstr "П&оказать группы" -#: pysollib/tile/menubar.py:424 pysollib/tk/menubar.py:428 +#: pysollib/tile/menubar.py:424 pysollib/tk/menubar.py:429 msgid "&Find card" msgstr "&Найти карту" -#: pysollib/tile/menubar.py:426 pysollib/tk/menubar.py:430 +#: pysollib/tile/menubar.py:426 pysollib/tk/menubar.py:431 msgid "&Demo" msgstr "&Демо" -#: pysollib/tile/menubar.py:427 pysollib/tk/menubar.py:431 +#: pysollib/tile/menubar.py:427 pysollib/tk/menubar.py:432 msgid "Demo (&all games)" msgstr "Демо (&все игры)" #: pysollib/tile/menubar.py:429 pysollib/tile/menubar.py:431 -#: pysollib/tk/menubar.py:433 pysollib/tk/menubar.py:435 +#: pysollib/tk/menubar.py:434 pysollib/tk/menubar.py:436 msgid "&Solver (experimental)" msgstr "" -#: pysollib/tile/menubar.py:433 pysollib/tk/menubar.py:437 +#: pysollib/tile/menubar.py:433 pysollib/tk/menubar.py:438 msgid "&Piles description" msgstr "Описания &ячеек" -#: pysollib/tile/menubar.py:437 pysollib/tk/menubar.py:441 +#: pysollib/tile/menubar.py:437 pysollib/tk/menubar.py:442 msgid "&Options" msgstr "&Настройка" -#: pysollib/tile/menubar.py:438 pysollib/tk/menubar.py:442 +#: pysollib/tile/menubar.py:438 pysollib/tk/menubar.py:443 msgid "&Player options..." msgstr "Настройки &игрока..." -#: pysollib/tile/menubar.py:439 pysollib/tk/menubar.py:443 +#: pysollib/tile/menubar.py:439 pysollib/tk/menubar.py:444 msgid "&Automatic play" msgstr "Настройки &автоматической игры" -#: pysollib/tile/menubar.py:440 pysollib/tk/menubar.py:444 +#: pysollib/tile/menubar.py:440 pysollib/tk/menubar.py:445 msgid "Auto &face up" msgstr "Автоматически &переворачивать" -#: pysollib/tile/menubar.py:441 pysollib/tk/menubar.py:445 +#: pysollib/tile/menubar.py:441 pysollib/tk/menubar.py:446 msgid "A&uto drop" msgstr "А&втоматически сбрасывать карты" -#: pysollib/tile/menubar.py:442 pysollib/tk/menubar.py:446 +#: pysollib/tile/menubar.py:442 pysollib/tk/menubar.py:447 msgid "Auto &deal" msgstr "Автоматически &сдавать карты" -#: pysollib/tile/menubar.py:444 pysollib/tk/menubar.py:448 +#: pysollib/tile/menubar.py:444 pysollib/tk/menubar.py:449 msgid "&Quick play" msgstr "&Быстрая игра" -#: pysollib/tile/menubar.py:445 pysollib/tk/menubar.py:449 +#: pysollib/tile/menubar.py:445 pysollib/tk/menubar.py:450 msgid "Assist &level" msgstr "&Уровень подсказки" -#: pysollib/tile/menubar.py:446 pysollib/tk/menubar.py:450 +#: pysollib/tile/menubar.py:446 pysollib/tk/menubar.py:451 msgid "Enable &undo" msgstr "Разрешить &возврат хода" -#: pysollib/tile/menubar.py:447 pysollib/tk/menubar.py:451 +#: pysollib/tile/menubar.py:447 pysollib/tk/menubar.py:452 msgid "Enable &bookmarks" msgstr "Разрешить &закладки" -#: pysollib/tile/menubar.py:448 pysollib/tk/menubar.py:452 +#: pysollib/tile/menubar.py:448 pysollib/tk/menubar.py:453 msgid "Enable &hint" msgstr "Разрешить &подсказки" -#: pysollib/tile/menubar.py:449 pysollib/tk/menubar.py:453 +#: pysollib/tile/menubar.py:449 pysollib/tk/menubar.py:454 msgid "Enable highlight p&iles" msgstr "Разрешить показывать к&учи" -#: pysollib/tile/menubar.py:450 pysollib/tk/menubar.py:454 +#: pysollib/tile/menubar.py:450 pysollib/tk/menubar.py:455 msgid "Enable highlight &cards" msgstr "Разрешить показывать &карты" -#: pysollib/tile/menubar.py:451 pysollib/tk/menubar.py:455 +#: pysollib/tile/menubar.py:451 pysollib/tk/menubar.py:456 msgid "Enable highlight same &rank" msgstr "Разрешить показывать карты &одного достоинства" -#: pysollib/tile/menubar.py:452 pysollib/tk/menubar.py:456 +#: pysollib/tile/menubar.py:452 pysollib/tk/menubar.py:457 msgid "Highlight &no matching" msgstr "Подсветка отсутствия &совпадения" -#: pysollib/tile/menubar.py:454 pysollib/tk/menubar.py:458 +#: pysollib/tile/menubar.py:454 pysollib/tk/menubar.py:459 msgid "&Show removed tiles (in Mahjongg games)" msgstr "Показывать удалённые (в Маджонг)" -#: pysollib/tile/menubar.py:455 pysollib/tk/menubar.py:459 +#: pysollib/tile/menubar.py:455 pysollib/tk/menubar.py:460 msgid "Show hint &arrow (in Shisen-Sho games)" msgstr "Показывать стрелку (в Шисен-Сё)" -#: pysollib/tile/menubar.py:457 pysollib/tk/menubar.py:461 +#: pysollib/tile/menubar.py:457 pysollib/tk/menubar.py:462 msgid "&Sound..." msgstr "&Звук..." -#: pysollib/tile/menubar.py:465 pysollib/tk/menubar.py:469 +#: pysollib/tile/menubar.py:465 pysollib/tk/menubar.py:470 msgid "Cards&et..." msgstr "Коло&да..." -#: pysollib/tile/menubar.py:466 pysollib/tk/menubar.py:470 +#: pysollib/tile/menubar.py:466 pysollib/tk/menubar.py:471 msgid "Table t&ile..." msgstr "Игровой &стол..." -#: pysollib/tile/menubar.py:468 pysollib/tk/menubar.py:472 +#: pysollib/tile/menubar.py:468 pysollib/tk/menubar.py:473 msgid "Card &background" msgstr "&Рубашка карты" -#: pysollib/tile/menubar.py:469 pysollib/tk/menubar.py:473 +#: pysollib/tile/menubar.py:469 pysollib/tk/menubar.py:474 msgid "Card &view" msgstr "&Вид карты" -#: pysollib/tile/menubar.py:470 pysollib/tk/menubar.py:474 +#: pysollib/tile/menubar.py:470 pysollib/tk/menubar.py:475 msgid "Card shado&w" msgstr "Тень карты" -#: pysollib/tile/menubar.py:471 pysollib/tk/menubar.py:475 +#: pysollib/tile/menubar.py:471 pysollib/tk/menubar.py:476 msgid "Shade &legal moves" msgstr "Подсвечивать &разрешённые ходы" -#: pysollib/tile/menubar.py:472 pysollib/tk/menubar.py:476 +#: pysollib/tile/menubar.py:472 pysollib/tk/menubar.py:477 msgid "&Negative cards bottom" msgstr "&Негативные контуры карты" -#: pysollib/tile/menubar.py:473 pysollib/tk/menubar.py:477 +#: pysollib/tile/menubar.py:473 pysollib/tk/menubar.py:478 msgid "Shrink face-down cards" msgstr "Сжимать закрытые карты" -#: pysollib/tile/menubar.py:474 pysollib/tk/menubar.py:478 +#: pysollib/tile/menubar.py:474 pysollib/tk/menubar.py:479 msgid "Shade &filled stacks" msgstr "Затемнять заполненные ячейки" -#: pysollib/tile/menubar.py:475 pysollib/tk/menubar.py:479 +#: pysollib/tile/menubar.py:475 pysollib/tk/menubar.py:480 msgid "A&nimations" msgstr "Анимаци&я" -#: pysollib/tile/menubar.py:476 pysollib/tk/menubar.py:480 +#: pysollib/tile/menubar.py:476 pysollib/tk/menubar.py:481 msgid "&None" msgstr "&Нет" -#: pysollib/tile/menubar.py:477 pysollib/tk/menubar.py:481 +#: pysollib/tile/menubar.py:477 pysollib/tk/menubar.py:482 msgid "&Very fast" msgstr "&Очень быстрая" -#: pysollib/tile/menubar.py:478 pysollib/tk/menubar.py:482 +#: pysollib/tile/menubar.py:478 pysollib/tk/menubar.py:483 msgid "&Fast" msgstr "&Быстрая" -#: pysollib/tile/menubar.py:479 pysollib/tk/menubar.py:483 +#: pysollib/tile/menubar.py:479 pysollib/tk/menubar.py:484 msgid "&Medium" msgstr "С&редняя" -#: pysollib/tile/menubar.py:480 pysollib/tk/menubar.py:484 +#: pysollib/tile/menubar.py:480 pysollib/tk/menubar.py:485 msgid "&Slow" msgstr "&Медленная" -#: pysollib/tile/menubar.py:481 pysollib/tk/menubar.py:485 +#: pysollib/tile/menubar.py:481 pysollib/tk/menubar.py:486 msgid "V&ery slow" msgstr "&Очень медленная" -#: pysollib/tile/menubar.py:483 pysollib/tk/menubar.py:487 +#: pysollib/tile/menubar.py:483 pysollib/tk/menubar.py:488 msgid "&Redeal animation" msgstr "Анимация пере&сдачи" -#: pysollib/tile/menubar.py:485 pysollib/tk/menubar.py:489 +#: pysollib/tile/menubar.py:485 pysollib/tk/menubar.py:490 msgid "&Winning animation" msgstr "Анимация &победы" -#: pysollib/tile/menubar.py:486 pysollib/tk/menubar.py:490 +#: pysollib/tile/menubar.py:486 pysollib/tk/menubar.py:491 msgid "&Mouse" msgstr "&Мышь" -#: pysollib/tile/menubar.py:487 pysollib/tk/menubar.py:491 +#: pysollib/tile/menubar.py:487 pysollib/tk/menubar.py:492 msgid "&Drag-and-Drop" msgstr "" -#: pysollib/tile/menubar.py:488 pysollib/tk/menubar.py:492 +#: pysollib/tile/menubar.py:488 pysollib/tk/menubar.py:493 msgid "&Point-and-Click" msgstr "" -#: pysollib/tile/menubar.py:489 pysollib/tk/menubar.py:493 +#: pysollib/tile/menubar.py:489 pysollib/tk/menubar.py:494 msgid "&Sticky mouse" msgstr "&Липкая мышь" -#: pysollib/tile/menubar.py:491 pysollib/tk/menubar.py:495 +#: pysollib/tile/menubar.py:491 pysollib/tk/menubar.py:496 msgid "Use mouse for undo/redo" msgstr "Использовать мышь для отмены/повтора" -#: pysollib/tile/menubar.py:493 pysollib/tk/menubar.py:497 +#: pysollib/tile/menubar.py:493 pysollib/tk/menubar.py:498 msgid "&Fonts..." msgstr "&Шрифты..." -#: pysollib/tile/menubar.py:494 pysollib/tk/menubar.py:498 +#: pysollib/tile/menubar.py:494 pysollib/tk/menubar.py:499 msgid "&Colors..." msgstr "&Цвета..." -#: pysollib/tile/menubar.py:495 pysollib/tk/menubar.py:499 +#: pysollib/tile/menubar.py:495 pysollib/tk/menubar.py:500 msgid "Time&outs..." msgstr "Тайма&уты..." -#: pysollib/tile/menubar.py:498 pysollib/tk/menubar.py:501 +#: pysollib/tile/menubar.py:498 pysollib/tk/menubar.py:502 msgid "&Toolbar" msgstr "Панель и&нструментов" -#: pysollib/tile/menubar.py:500 pysollib/tk/menubar.py:503 +#: pysollib/tile/menubar.py:500 pysollib/tk/menubar.py:504 msgid "Stat&usbar" msgstr "Панель с&остояния" -#: pysollib/tile/menubar.py:501 pysollib/tk/menubar.py:504 +#: pysollib/tile/menubar.py:501 pysollib/tk/menubar.py:505 msgid "Show &statusbar" msgstr "Показывать панель состояния" -#: pysollib/tile/menubar.py:502 pysollib/tk/menubar.py:505 +#: pysollib/tile/menubar.py:502 pysollib/tk/menubar.py:506 msgid "Show &number of cards" msgstr "Показывать количество карт" -#: pysollib/tile/menubar.py:503 pysollib/tk/menubar.py:506 +#: pysollib/tile/menubar.py:503 pysollib/tk/menubar.py:507 msgid "Show &help bar" msgstr "Показывать панель помощи" -#: pysollib/tile/menubar.py:504 pysollib/tk/menubar.py:507 +#: pysollib/tile/menubar.py:504 pysollib/tk/menubar.py:508 msgid "Save games &geometry" msgstr "Сохранение &геометрии игры" -#: pysollib/tile/menubar.py:505 pysollib/tk/menubar.py:508 +#: pysollib/tile/menubar.py:505 pysollib/tk/menubar.py:509 msgid "&Demo logo" msgstr "Д&емо лого" -#: pysollib/tile/menubar.py:506 pysollib/tk/menubar.py:509 +#: pysollib/tile/menubar.py:506 pysollib/tk/menubar.py:510 msgid "Startup splash sc&reen" msgstr "О&кно запуска" -#: pysollib/tile/menubar.py:512 pysollib/tk/menubar.py:515 +#: pysollib/tile/menubar.py:512 pysollib/tk/menubar.py:516 msgid "&Help" msgstr "&Помощь" -#: pysollib/tile/menubar.py:513 pysollib/tk/menubar.py:516 +#: pysollib/tile/menubar.py:513 pysollib/tk/menubar.py:517 msgid "&Contents" msgstr "&Содержание" -#: pysollib/tile/menubar.py:514 pysollib/tk/menubar.py:517 +#: pysollib/tile/menubar.py:514 pysollib/tk/menubar.py:518 msgid "&How to play" msgstr "Как &играть" -#: pysollib/tile/menubar.py:515 pysollib/tk/menubar.py:518 +#: pysollib/tile/menubar.py:515 pysollib/tk/menubar.py:519 msgid "&Rules for this game" msgstr "&Правила текущей игры" -#: pysollib/tile/menubar.py:516 pysollib/tk/menubar.py:519 +#: pysollib/tile/menubar.py:516 pysollib/tk/menubar.py:520 msgid "&License terms" msgstr "&Лицензия" -#: pysollib/tile/menubar.py:635 pysollib/tk/menubar.py:638 +#: pysollib/tile/menubar.py:635 pysollib/tk/menubar.py:639 msgid "All &games..." msgstr "&Все игры..." -#: pysollib/tile/menubar.py:637 pysollib/tk/menubar.py:640 +#: pysollib/tile/menubar.py:637 pysollib/tk/menubar.py:641 msgid "Playable pre&view..." msgstr "Играемый &предпросмотр..." -#: pysollib/tile/menubar.py:690 pysollib/tk/menubar.py:693 +#: pysollib/tile/menubar.py:690 pysollib/tk/menubar.py:694 msgid "&Mahjongg games" msgstr "Игры маджонг" -#: pysollib/tile/menubar.py:728 pysollib/tk/menubar.py:731 +#: pysollib/tile/menubar.py:728 pysollib/tk/menubar.py:732 msgid "&Popular games" msgstr "&Популярные игры" -#: pysollib/tile/menubar.py:736 pysollib/tk/menubar.py:739 +#: pysollib/tile/menubar.py:736 pysollib/tk/menubar.py:740 msgid "&French games" msgstr "&Классические игры" -#: pysollib/tile/menubar.py:743 pysollib/tk/menubar.py:746 +#: pysollib/tile/menubar.py:743 pysollib/tk/menubar.py:747 msgid "&Oriental games" msgstr "&Восточные игры" -#: pysollib/tile/menubar.py:751 pysollib/tk/menubar.py:754 +#: pysollib/tile/menubar.py:751 pysollib/tk/menubar.py:755 msgid "&Special games" msgstr "&Особые игры" -#: pysollib/tile/menubar.py:757 pysollib/tk/menubar.py:760 +#: pysollib/tile/menubar.py:757 pysollib/tk/menubar.py:761 msgid "&Cusom games" msgstr "Самодельные игры" -#: pysollib/tile/menubar.py:763 pysollib/tk/menubar.py:766 +#: pysollib/tile/menubar.py:763 pysollib/tk/menubar.py:767 msgid "&All games by name" msgstr "&Все игры по имени" -#: pysollib/tile/menubar.py:1045 pysollib/tk/menubar.py:1048 +#: pysollib/tile/menubar.py:1047 pysollib/tk/menubar.py:1048 #: data/glade-translations:72 msgid "Sound settings" msgstr "Настройка звука" -#: pysollib/tile/menubar.py:1153 pysollib/tk/menubar.py:1160 +#: pysollib/tile/menubar.py:1155 pysollib/tk/menubar.py:1160 msgid "Select " msgstr "Выбрать " -#: pysollib/tile/menubar.py:1199 pysollib/tk/menubar.py:1207 +#: pysollib/tile/menubar.py:1201 pysollib/tk/menubar.py:1207 msgid "Select table background" msgstr "Выбрать фоновое изображение" -#: pysollib/tile/menubar.py:1344 +#: pysollib/tile/menubar.py:1346 msgid "Change theme" msgstr "Изменение темы" -#: pysollib/tile/menubar.py:1345 +#: pysollib/tile/menubar.py:1347 msgid "" "This settings will take effect\n" "the next time you restart " @@ -2787,41 +2798,41 @@ msgstr "" "Эта установка вступит в силу\n" "при следующем запуске " -#: pysollib/tile/menubar.py:1352 +#: pysollib/tile/menubar.py:1354 msgid "Set t&heme" msgstr "Установить &тему" -#: pysollib/tile/menubar.py:1358 +#: pysollib/tile/menubar.py:1359 #, fuzzy msgid "Default" msgstr "Сдача" -#: pysollib/tile/menubar.py:1359 +#: pysollib/tile/menubar.py:1360 #, fuzzy msgid "Classic" msgstr "Классический вид" -#: pysollib/tile/menubar.py:1360 +#: pysollib/tile/menubar.py:1361 msgid "Revitalized" msgstr "" -#: pysollib/tile/menubar.py:1361 +#: pysollib/tile/menubar.py:1362 msgid "Windows native" msgstr "" -#: pysollib/tile/menubar.py:1362 +#: pysollib/tile/menubar.py:1363 msgid "XP Native" msgstr "" -#: pysollib/tile/menubar.py:1363 +#: pysollib/tile/menubar.py:1364 msgid "Aqua" msgstr "" -#: pysollib/tile/menubar.py:1381 pysollib/tk/menubar.py:1365 +#: pysollib/tile/menubar.py:1382 pysollib/tk/menubar.py:1365 msgid "Solitaire Wizard" msgstr "Конструктор пасьянсов" -#: pysollib/tile/menubar.py:1392 pysollib/tk/menubar.py:1376 +#: pysollib/tile/menubar.py:1393 pysollib/tk/menubar.py:1376 msgid "" "\n" "Error while saving game.\n" @@ -2833,8 +2844,8 @@ msgstr "" "\n" "%s\n" -#: pysollib/tile/playeroptionsdialog.py:72 -#: pysollib/tk/playeroptionsdialog.py:112 +#: pysollib/tile/playeroptionsdialog.py:70 +#: pysollib/tk/playeroptionsdialog.py:111 msgid "" "\n" "Please enter your name" @@ -2842,576 +2853,580 @@ msgstr "" "\n" "Пожалуйста введите Ваше имя" -#: pysollib/tile/playeroptionsdialog.py:83 -#: pysollib/tk/playeroptionsdialog.py:124 +#: pysollib/tile/playeroptionsdialog.py:81 +#: pysollib/tk/playeroptionsdialog.py:123 msgid "Confirm quit" msgstr "Подтверждение выхода" -#: pysollib/tile/playeroptionsdialog.py:86 -#: pysollib/tk/playeroptionsdialog.py:128 +#: pysollib/tile/playeroptionsdialog.py:84 +#: pysollib/tk/playeroptionsdialog.py:127 msgid "Update statistics and logs" msgstr "Обновлять статистику и лог" -#: pysollib/tile/selectcardset.py:82 pysollib/tile/selectcardset.py:147 -#: pysollib/tk/selectcardset.py:81 pysollib/tk/selectcardset.py:146 +#: pysollib/tile/selectcardset.py:83 pysollib/tile/selectcardset.py:148 +#: pysollib/tk/selectcardset.py:82 pysollib/tk/selectcardset.py:147 msgid "(no cardsets)" msgstr "(нет колод)" -#: pysollib/tile/selectcardset.py:92 pysollib/tile/selectcardset.py:155 -#: pysollib/tk/selectcardset.py:91 pysollib/tk/selectcardset.py:154 +#: pysollib/tile/selectcardset.py:93 pysollib/tile/selectcardset.py:156 +#: pysollib/tk/selectcardset.py:92 pysollib/tk/selectcardset.py:155 msgid "by Type" msgstr "По типу" -#: pysollib/tile/selectcardset.py:102 pysollib/tile/selectcardset.py:113 -#: pysollib/tile/selectcardset.py:124 pysollib/tk/selectcardset.py:101 -#: pysollib/tk/selectcardset.py:112 pysollib/tk/selectcardset.py:123 +#: pysollib/tile/selectcardset.py:103 pysollib/tile/selectcardset.py:114 +#: pysollib/tile/selectcardset.py:125 pysollib/tk/selectcardset.py:102 +#: pysollib/tk/selectcardset.py:113 pysollib/tk/selectcardset.py:124 msgid "Uncategorized" msgstr "Неопределённый" -#: pysollib/tile/selectcardset.py:103 pysollib/tk/selectcardset.py:102 +#: pysollib/tile/selectcardset.py:104 pysollib/tk/selectcardset.py:103 msgid "by Style" msgstr "По стилю" -#: pysollib/tile/selectcardset.py:114 pysollib/tk/selectcardset.py:113 +#: pysollib/tile/selectcardset.py:115 pysollib/tk/selectcardset.py:114 msgid "by Nationality" msgstr "По национальности" -#: pysollib/tile/selectcardset.py:125 pysollib/tk/selectcardset.py:124 +#: pysollib/tile/selectcardset.py:126 pysollib/tk/selectcardset.py:125 msgid "by Date" msgstr "По дате" -#: pysollib/tile/selectcardset.py:128 pysollib/tk/selectcardset.py:127 +#: pysollib/tile/selectcardset.py:129 pysollib/tk/selectcardset.py:128 msgid "All Cardsets" msgstr "Все колоды" -#: pysollib/tile/selectcardset.py:129 pysollib/tk/selectcardset.py:128 +#: pysollib/tile/selectcardset.py:130 pysollib/tk/selectcardset.py:129 msgid "by Size" msgstr "По размеру" -#: pysollib/tile/selectcardset.py:130 pysollib/tk/selectcardset.py:129 +#: pysollib/tile/selectcardset.py:131 pysollib/tk/selectcardset.py:130 msgid "Tiny cardsets" msgstr "Очень маленькие колоды" -#: pysollib/tile/selectcardset.py:131 pysollib/tk/selectcardset.py:130 +#: pysollib/tile/selectcardset.py:132 pysollib/tk/selectcardset.py:131 msgid "Small cardsets" msgstr "Маленькие колоды" -#: pysollib/tile/selectcardset.py:132 pysollib/tk/selectcardset.py:131 +#: pysollib/tile/selectcardset.py:133 pysollib/tk/selectcardset.py:132 msgid "Medium cardsets" msgstr "Средние колоды" -#: pysollib/tile/selectcardset.py:133 pysollib/tk/selectcardset.py:132 +#: pysollib/tile/selectcardset.py:134 pysollib/tk/selectcardset.py:133 msgid "Large cardsets" msgstr "Большие колоды" -#: pysollib/tile/selectcardset.py:134 pysollib/tk/selectcardset.py:133 +#: pysollib/tile/selectcardset.py:135 pysollib/tk/selectcardset.py:134 msgid "XLarge cardsets" msgstr "Очень большие колоды" -#: pysollib/tile/selectcardset.py:236 pysollib/tk/menubar.py:1157 +#: pysollib/tile/selectcardset.py:237 pysollib/tk/menubar.py:1157 msgid "&Info..." msgstr "&Информация..." -#: pysollib/tile/selectcardset.py:237 pysollib/tk/menubar.py:1155 -#: pysollib/tk/menubar.py:1157 pysollib/tk/selectcardset.py:241 +#: pysollib/tile/selectcardset.py:238 pysollib/tk/menubar.py:1155 +#: pysollib/tk/menubar.py:1157 pysollib/tk/selectcardset.py:237 msgid "&Load" msgstr "&Загрузить" -#: pysollib/tile/selectcardset.py:313 pysollib/tk/selectcardset.py:320 +#: pysollib/tile/selectcardset.py:315 pysollib/tk/selectcardset.py:314 msgid "About cardset" msgstr "О наборе карт" -#: pysollib/tile/selectcardset.py:327 pysollib/tile/selectgame.py:390 -#: pysollib/tk/selectcardset.py:336 pysollib/tk/selectgame.py:402 +#: pysollib/tile/selectcardset.py:329 pysollib/tile/selectgame.py:391 +#: pysollib/tk/selectcardset.py:328 pysollib/tk/selectgame.py:393 #: pysollib/wizardutil.py:116 pysollib/wizardutil.py:153 #: pysollib/wizardutil.py:211 pysollib/wizardutil.py:269 msgid "Type:" msgstr "Тип:" -#: pysollib/tile/selectcardset.py:328 pysollib/tk/selectcardset.py:337 +#: pysollib/tile/selectcardset.py:330 pysollib/tk/selectcardset.py:329 msgid "Styles:" msgstr "Стиль:" -#: pysollib/tile/selectcardset.py:329 pysollib/tk/selectcardset.py:338 +#: pysollib/tile/selectcardset.py:331 pysollib/tk/selectcardset.py:330 msgid "Nationality:" msgstr "Национальность:" -#: pysollib/tile/selectcardset.py:330 pysollib/tk/selectcardset.py:339 +#: pysollib/tile/selectcardset.py:332 pysollib/tk/selectcardset.py:331 msgid "Year:" msgstr "Год:" -#: pysollib/tile/selectgame.py:100 pysollib/tk/selectgame.py:99 +#: pysollib/tile/selectgame.py:96 pysollib/tk/selectgame.py:96 msgid "(no games)" msgstr "(нет игр)" -#: pysollib/tile/selectgame.py:121 pysollib/tk/selectgame.py:120 +#: pysollib/tile/selectgame.py:115 pysollib/tk/selectgame.py:115 msgid "Mahjongg Games" msgstr "Игры маджонг" -#: pysollib/tile/selectgame.py:125 pysollib/tk/selectgame.py:124 +#: pysollib/tile/selectgame.py:119 pysollib/tk/selectgame.py:119 msgid "French games" msgstr "Классические игры" -#: pysollib/tile/selectgame.py:128 pysollib/tk/selectgame.py:127 +#: pysollib/tile/selectgame.py:122 pysollib/tk/selectgame.py:122 msgid "Oriental Games" msgstr "Восточные игры" -#: pysollib/tile/selectgame.py:131 pysollib/tk/selectgame.py:130 +#: pysollib/tile/selectgame.py:125 pysollib/tk/selectgame.py:125 msgid "Special Games" msgstr "Особые игры" -#: pysollib/tile/selectgame.py:134 pysollib/tk/selectgame.py:133 +#: pysollib/tile/selectgame.py:128 pysollib/tk/selectgame.py:128 msgid "Original Games" msgstr "Оригинальные игры" -#: pysollib/tile/selectgame.py:149 pysollib/tk/selectgame.py:148 +#: pysollib/tile/selectgame.py:142 pysollib/tk/selectgame.py:142 msgid "by Compatibility" msgstr "По совместимости с другими программами" -#: pysollib/tile/selectgame.py:157 pysollib/tk/selectgame.py:157 +#: pysollib/tile/selectgame.py:150 pysollib/tk/selectgame.py:151 msgid "New games in v. " msgstr "Новые игры в версии " -#: pysollib/tile/selectgame.py:160 pysollib/tk/selectgame.py:160 +#: pysollib/tile/selectgame.py:153 pysollib/tk/selectgame.py:154 msgid "by PySol version" msgstr "По версии PySol" -#: pysollib/tile/selectgame.py:166 pysollib/tk/selectgame.py:167 +#: pysollib/tile/selectgame.py:162 pysollib/tk/selectgame.py:163 +msgid "by Inventors" +msgstr "По изобретателям игр" + +#: pysollib/tile/selectgame.py:168 pysollib/tk/selectgame.py:169 msgid "All Games" msgstr "Все игры" -#: pysollib/tile/selectgame.py:167 pysollib/tk/selectgame.py:168 +#: pysollib/tile/selectgame.py:169 pysollib/tk/selectgame.py:170 msgid "Alternate Names" msgstr "Другие имена" -#: pysollib/tile/selectgame.py:168 pysollib/tk/selectgame.py:169 +#: pysollib/tile/selectgame.py:170 pysollib/tk/selectgame.py:171 msgid "Popular Games" msgstr "Популярные игры" -#: pysollib/tile/selectgame.py:174 pysollib/tk/selectgame.py:174 +#: pysollib/tile/selectgame.py:176 pysollib/tk/selectgame.py:176 msgid "Custom Games" msgstr "Самодельные игры" -#: pysollib/tile/selectgame.py:176 pysollib/tk/selectgame.py:177 +#: pysollib/tile/selectgame.py:178 pysollib/tk/selectgame.py:179 msgid "by Skill Level" msgstr "По уровню мастерства" -#: pysollib/tile/selectgame.py:177 pysollib/tile/selectgame.py:559 -#: pysollib/tk/selectgame.py:178 pysollib/tk/selectgame.py:570 +#: pysollib/tile/selectgame.py:179 pysollib/tile/selectgame.py:557 +#: pysollib/tk/selectgame.py:180 pysollib/tk/selectgame.py:557 #: pysollib/wizardutil.py:78 msgid "Luck only" msgstr "Только на везение" -#: pysollib/tile/selectgame.py:179 pysollib/tile/selectgame.py:560 -#: pysollib/tk/selectgame.py:180 pysollib/tk/selectgame.py:571 +#: pysollib/tile/selectgame.py:181 pysollib/tile/selectgame.py:558 +#: pysollib/tk/selectgame.py:182 pysollib/tk/selectgame.py:558 #: pysollib/wizardutil.py:79 msgid "Mostly luck" msgstr "В основном на везение" -#: pysollib/tile/selectgame.py:181 pysollib/tile/selectgame.py:561 -#: pysollib/tk/selectgame.py:182 pysollib/tk/selectgame.py:572 +#: pysollib/tile/selectgame.py:183 pysollib/tile/selectgame.py:559 +#: pysollib/tk/selectgame.py:184 pysollib/tk/selectgame.py:559 #: pysollib/wizardutil.py:80 pysollib/wizardutil.py:84 msgid "Balanced" msgstr "Сбалансированные" -#: pysollib/tile/selectgame.py:183 pysollib/tile/selectgame.py:562 -#: pysollib/tk/selectgame.py:184 pysollib/tk/selectgame.py:573 +#: pysollib/tile/selectgame.py:185 pysollib/tile/selectgame.py:560 +#: pysollib/tk/selectgame.py:186 pysollib/tk/selectgame.py:560 #: pysollib/wizardutil.py:81 msgid "Mostly skill" msgstr "В основном на мастерство" -#: pysollib/tile/selectgame.py:185 pysollib/tile/selectgame.py:563 -#: pysollib/tk/selectgame.py:186 pysollib/tk/selectgame.py:574 +#: pysollib/tile/selectgame.py:187 pysollib/tile/selectgame.py:561 +#: pysollib/tk/selectgame.py:188 pysollib/tk/selectgame.py:561 #: pysollib/wizardutil.py:82 msgid "Skill only" msgstr "Только на мастерство" -#: pysollib/tile/selectgame.py:188 pysollib/tk/selectgame.py:189 +#: pysollib/tile/selectgame.py:190 pysollib/tk/selectgame.py:191 msgid "by Game Feature" msgstr "По особенностям игры" -#: pysollib/tile/selectgame.py:189 pysollib/tk/selectgame.py:190 +#: pysollib/tile/selectgame.py:191 pysollib/tk/selectgame.py:192 msgid "by Number of Cards" msgstr "По количеству карт" -#: pysollib/tile/selectgame.py:190 pysollib/tk/selectgame.py:191 +#: pysollib/tile/selectgame.py:192 pysollib/tk/selectgame.py:193 msgid "32 cards" msgstr "32 карты" -#: pysollib/tile/selectgame.py:192 pysollib/tk/selectgame.py:193 +#: pysollib/tile/selectgame.py:194 pysollib/tk/selectgame.py:195 msgid "48 cards" msgstr "48 карт" -#: pysollib/tile/selectgame.py:194 pysollib/tk/selectgame.py:195 +#: pysollib/tile/selectgame.py:196 pysollib/tk/selectgame.py:197 msgid "52 cards" msgstr "52 карты" -#: pysollib/tile/selectgame.py:196 pysollib/tk/selectgame.py:197 +#: pysollib/tile/selectgame.py:198 pysollib/tk/selectgame.py:199 msgid "64 cards" msgstr "64 карты" -#: pysollib/tile/selectgame.py:198 pysollib/tk/selectgame.py:199 +#: pysollib/tile/selectgame.py:200 pysollib/tk/selectgame.py:201 msgid "78 cards" msgstr "78 карт" -#: pysollib/tile/selectgame.py:200 pysollib/tk/selectgame.py:201 +#: pysollib/tile/selectgame.py:202 pysollib/tk/selectgame.py:203 msgid "104 cards" msgstr "104 карты" -#: pysollib/tile/selectgame.py:202 pysollib/tk/selectgame.py:203 +#: pysollib/tile/selectgame.py:204 pysollib/tk/selectgame.py:205 msgid "144 cards" msgstr "144 карты" -#: pysollib/tile/selectgame.py:204 pysollib/tk/selectgame.py:205 +#: pysollib/tile/selectgame.py:206 pysollib/tk/selectgame.py:207 msgid "Other number" msgstr "Другое количество" -#: pysollib/tile/selectgame.py:207 pysollib/tk/selectgame.py:208 +#: pysollib/tile/selectgame.py:209 pysollib/tk/selectgame.py:210 msgid "by Number of Decks" msgstr "По количеству колод" -#: pysollib/tile/selectgame.py:208 pysollib/tk/selectgame.py:209 +#: pysollib/tile/selectgame.py:210 pysollib/tk/selectgame.py:211 msgid "1 deck games" msgstr "Игры с 1 колодой" -#: pysollib/tile/selectgame.py:210 pysollib/tk/selectgame.py:211 +#: pysollib/tile/selectgame.py:212 pysollib/tk/selectgame.py:213 msgid "2 deck games" msgstr "Игры с 2 колодами" -#: pysollib/tile/selectgame.py:212 pysollib/tk/selectgame.py:213 +#: pysollib/tile/selectgame.py:214 pysollib/tk/selectgame.py:215 msgid "3 deck games" msgstr "Игры с 3 колодами" -#: pysollib/tile/selectgame.py:214 pysollib/tk/selectgame.py:215 +#: pysollib/tile/selectgame.py:216 pysollib/tk/selectgame.py:217 msgid "4 deck games" msgstr "Игры с 4 колодами" -#: pysollib/tile/selectgame.py:217 pysollib/tk/selectgame.py:218 +#: pysollib/tile/selectgame.py:219 pysollib/tk/selectgame.py:220 msgid "by Number of Redeals" msgstr "По количеству пересдач" -#: pysollib/tile/selectgame.py:218 pysollib/tk/selectgame.py:219 +#: pysollib/tile/selectgame.py:220 pysollib/tk/selectgame.py:221 msgid "No redeal" msgstr "Без пересдачи" -#: pysollib/tile/selectgame.py:220 pysollib/tk/selectgame.py:221 +#: pysollib/tile/selectgame.py:222 pysollib/tk/selectgame.py:223 msgid "1 redeal" msgstr "1 пересдача" -#: pysollib/tile/selectgame.py:222 pysollib/tk/selectgame.py:223 +#: pysollib/tile/selectgame.py:224 pysollib/tk/selectgame.py:225 msgid "2 redeals" msgstr "2 пересдачи" -#: pysollib/tile/selectgame.py:224 pysollib/tk/selectgame.py:225 +#: pysollib/tile/selectgame.py:226 pysollib/tk/selectgame.py:227 msgid "3 redeals" msgstr "3 пересдачи" -#: pysollib/tile/selectgame.py:226 pysollib/tk/selectgame.py:227 +#: pysollib/tile/selectgame.py:228 pysollib/tk/selectgame.py:229 #: pysollib/wizardutil.py:124 msgid "Unlimited redeals" msgstr "Неограниченное количество пересдач" -#: pysollib/tile/selectgame.py:230 pysollib/tk/selectgame.py:231 +#: pysollib/tile/selectgame.py:232 pysollib/tk/selectgame.py:233 msgid "Other number of redeals" msgstr "Другое количество пересдач" -#: pysollib/tile/selectgame.py:236 pysollib/tk/selectgame.py:237 +#: pysollib/tile/selectgame.py:239 pysollib/tk/selectgame.py:240 msgid "Other Categories" msgstr "Другие категории" -#: pysollib/tile/selectgame.py:237 pysollib/tk/selectgame.py:238 +#: pysollib/tile/selectgame.py:240 pysollib/tk/selectgame.py:241 msgid "Games for Children (very easy)" msgstr "Игры для детей (очень лёгкие)" -#: pysollib/tile/selectgame.py:239 pysollib/tk/selectgame.py:240 +#: pysollib/tile/selectgame.py:242 pysollib/tk/selectgame.py:243 msgid "Games with Scoring" msgstr "Игры со счётом" -#: pysollib/tile/selectgame.py:241 pysollib/tk/selectgame.py:242 +#: pysollib/tile/selectgame.py:244 pysollib/tk/selectgame.py:245 msgid "Games with Separate Decks" msgstr "Игры с раздельными колодами" -#: pysollib/tile/selectgame.py:243 pysollib/tk/selectgame.py:244 +#: pysollib/tile/selectgame.py:246 pysollib/tk/selectgame.py:247 msgid "Open Games (all cards visible)" msgstr "Открытые игры (все карты видны)" -#: pysollib/tile/selectgame.py:245 pysollib/tk/selectgame.py:246 +#: pysollib/tile/selectgame.py:248 pysollib/tk/selectgame.py:249 msgid "Relaxed Variants" msgstr "Облегчённые варианты" -#: pysollib/tile/selectgame.py:377 pysollib/tk/selectgame.py:386 +#: pysollib/tile/selectgame.py:378 pysollib/tk/selectgame.py:380 msgid "About game" msgstr "Об игре " -#: pysollib/tile/selectgame.py:387 pysollib/tk/selectgame.py:399 +#: pysollib/tile/selectgame.py:388 pysollib/tk/selectgame.py:390 #: pysollib/wizardutil.py:74 msgid "Name:" msgstr "Имя:" -#: pysollib/tile/selectgame.py:388 pysollib/tk/selectgame.py:400 +#: pysollib/tile/selectgame.py:389 pysollib/tk/selectgame.py:391 msgid "Alternate names:" msgstr "Другие имена:" -#: pysollib/tile/selectgame.py:389 pysollib/tk/selectgame.py:401 +#: pysollib/tile/selectgame.py:390 pysollib/tk/selectgame.py:392 msgid "Category:" msgstr "Категория:" -#: pysollib/tile/selectgame.py:391 pysollib/tk/selectgame.py:403 +#: pysollib/tile/selectgame.py:392 pysollib/tk/selectgame.py:394 #: pysollib/wizardutil.py:85 msgid "Skill level:" msgstr "Уровень мастерства:" -#: pysollib/tile/selectgame.py:392 pysollib/tk/selectgame.py:404 +#: pysollib/tile/selectgame.py:393 pysollib/tk/selectgame.py:395 msgid "Decks:" msgstr "Колод:" -#: pysollib/tile/selectgame.py:393 pysollib/tk/selectgame.py:405 +#: pysollib/tile/selectgame.py:394 pysollib/tk/selectgame.py:396 msgid "Redeals:" msgstr "Пересдач:" -#: pysollib/tile/selectgame.py:395 pysollib/tk/selectgame.py:407 +#: pysollib/tile/selectgame.py:396 pysollib/tk/selectgame.py:398 msgid "Played:" msgstr "Играл:" -#: pysollib/tile/selectgame.py:396 pysollib/tile/tkstats.py:203 -#: pysollib/tile/tkstats.py:255 pysollib/tk/selectgame.py:408 +#: pysollib/tile/selectgame.py:397 pysollib/tile/tkstats.py:203 +#: pysollib/tile/tkstats.py:255 pysollib/tk/selectgame.py:399 #: pysollib/tk/tkstats.py:112 pysollib/tk/tkstats.py:164 #: data/glade-translations:9 data/glade-translations:13 msgid "Won:" msgstr "Выиграл:" -#: pysollib/tile/selectgame.py:397 pysollib/tile/tkstats.py:204 -#: pysollib/tile/tkstats.py:257 pysollib/tk/selectgame.py:409 +#: pysollib/tile/selectgame.py:398 pysollib/tile/tkstats.py:204 +#: pysollib/tile/tkstats.py:257 pysollib/tk/selectgame.py:400 #: pysollib/tk/tkstats.py:113 pysollib/tk/tkstats.py:165 #: data/glade-translations:11 data/glade-translations:14 msgid "Lost:" msgstr "Проиграл:" -#: pysollib/tile/selectgame.py:398 pysollib/tile/tkstats.py:777 -#: pysollib/tk/selectgame.py:410 pysollib/tk/tkstats.py:735 +#: pysollib/tile/selectgame.py:399 pysollib/tile/tkstats.py:784 +#: pysollib/tk/selectgame.py:401 pysollib/tk/tkstats.py:734 #: data/glade-translations:18 msgid "Playing time:" msgstr "Игровое время:" -#: pysollib/tile/selectgame.py:399 pysollib/tile/tkstats.py:784 -#: pysollib/tk/selectgame.py:411 pysollib/tk/tkstats.py:742 +#: pysollib/tile/selectgame.py:400 pysollib/tile/tkstats.py:791 +#: pysollib/tk/selectgame.py:402 pysollib/tk/tkstats.py:741 #: data/glade-translations:19 msgid "Moves:" msgstr "Ходов:" -#: pysollib/tile/selectgame.py:400 pysollib/tk/selectgame.py:412 +#: pysollib/tile/selectgame.py:401 pysollib/tk/selectgame.py:403 msgid "% won:" msgstr "% побед:" -#: pysollib/tile/selectgame.py:432 pysollib/tk/selectgame.py:444 +#: pysollib/tile/selectgame.py:432 pysollib/tk/selectgame.py:434 msgid "&Rules" msgstr "&Правила" -#: pysollib/tile/selectgame.py:512 pysollib/tk/selectgame.py:523 +#: pysollib/tile/selectgame.py:512 pysollib/tk/selectgame.py:513 msgid "Playable Preview - " msgstr "Играемый предпросмотр - " -#: pysollib/tile/selectgame.py:566 pysollib/tk/selectgame.py:577 +#: pysollib/tile/selectgame.py:564 pysollib/tk/selectgame.py:564 msgid "variable" msgstr "переменное кол-во" -#: pysollib/tile/selectgame.py:567 pysollib/tk/selectgame.py:578 +#: pysollib/tile/selectgame.py:565 pysollib/tk/selectgame.py:565 msgid "unlimited" msgstr "неограниченное кол-во" -#: pysollib/tile/selecttile.py:81 pysollib/tk/selecttile.py:80 +#: pysollib/tile/selecttile.py:78 pysollib/tk/selecttile.py:77 msgid "(no tiles)" msgstr "(нет плитки)" -#: pysollib/tile/selecttile.py:85 pysollib/tk/selecttile.py:84 +#: pysollib/tile/selecttile.py:82 pysollib/tk/selecttile.py:81 msgid "Solid Colors" msgstr "Монотонный цвет" -#: pysollib/tile/selecttile.py:86 pysollib/tk/selecttile.py:85 +#: pysollib/tile/selecttile.py:83 pysollib/tk/selecttile.py:82 msgid "Blue" msgstr "Голубой" -#: pysollib/tile/selecttile.py:88 pysollib/tk/selecttile.py:87 +#: pysollib/tile/selecttile.py:85 pysollib/tk/selecttile.py:84 msgid "Navy" msgstr "Синий" -#: pysollib/tile/selecttile.py:91 pysollib/tk/selecttile.py:90 +#: pysollib/tile/selecttile.py:88 pysollib/tk/selecttile.py:87 msgid "Teal" msgstr "Чайный" -#: pysollib/tile/selecttile.py:93 pysollib/tk/selecttile.py:92 +#: pysollib/tile/selecttile.py:90 pysollib/tk/selecttile.py:89 msgid "All Backgrounds" msgstr "Все фоновые изображения" -#: pysollib/tile/selecttile.py:160 pysollib/tk/selecttile.py:159 +#: pysollib/tile/selecttile.py:156 pysollib/tk/selecttile.py:156 msgid "&Solid color..." msgstr "М&онотонный цвет..." -#: pysollib/tile/selecttile.py:178 pysollib/tk/selecttile.py:178 +#: pysollib/tile/selecttile.py:175 pysollib/tk/selecttile.py:176 msgid "Select table color" msgstr "Выбрать цвет" -#: pysollib/tile/solverdialog.py:77 pysollib/tk/solverdialog.py:76 +#: pysollib/tile/solverdialog.py:75 pysollib/tk/solverdialog.py:74 #: data/glade-translations:8 data/glade-translations:28 msgid "Game:" msgstr "Игра:" -#: pysollib/tile/solverdialog.py:96 pysollib/tk/solverdialog.py:99 +#: pysollib/tile/solverdialog.py:93 pysollib/tk/solverdialog.py:96 msgid "Solving method:" msgstr "Метод решения:" -#: pysollib/tile/solverdialog.py:113 pysollib/tk/solverdialog.py:116 +#: pysollib/tile/solverdialog.py:110 pysollib/tk/solverdialog.py:113 msgid "Preset:" msgstr "" -#: pysollib/tile/solverdialog.py:137 pysollib/tk/solverdialog.py:140 +#: pysollib/tile/solverdialog.py:134 pysollib/tk/solverdialog.py:137 msgid "Max iterations:" msgstr "Максимум итераций:" -#: pysollib/tile/solverdialog.py:147 pysollib/tk/solverdialog.py:150 +#: pysollib/tile/solverdialog.py:144 pysollib/tk/solverdialog.py:147 msgid "Max depth:" msgstr "Максимальная глубина:" -#: pysollib/tile/solverdialog.py:158 pysollib/tk/solverdialog.py:161 +#: pysollib/tile/solverdialog.py:155 pysollib/tk/solverdialog.py:158 msgid "Show progress" msgstr "Показывать прогресс" -#: pysollib/tile/solverdialog.py:162 pysollib/tk/solverdialog.py:165 +#: pysollib/tile/solverdialog.py:159 pysollib/tk/solverdialog.py:162 msgid "Progress" msgstr "Прогресс" -#: pysollib/tile/solverdialog.py:169 pysollib/tk/solverdialog.py:172 +#: pysollib/tile/solverdialog.py:166 pysollib/tk/solverdialog.py:169 msgid "Iteration:" msgstr "Итераций:" -#: pysollib/tile/solverdialog.py:175 pysollib/tk/solverdialog.py:178 +#: pysollib/tile/solverdialog.py:172 pysollib/tk/solverdialog.py:175 msgid "Depth:" msgstr "Глубина:" -#: pysollib/tile/solverdialog.py:181 pysollib/tk/solverdialog.py:184 +#: pysollib/tile/solverdialog.py:178 pysollib/tk/solverdialog.py:181 msgid "Stored-States:" msgstr "Сохранённых состояний: " -#: pysollib/tile/solverdialog.py:204 pysollib/tk/solverdialog.py:207 +#: pysollib/tile/solverdialog.py:198 pysollib/tk/solverdialog.py:201 msgid "&Close" msgstr "&Закрыть" -#: pysollib/tile/solverdialog.py:204 pysollib/tk/solverdialog.py:207 +#: pysollib/tile/solverdialog.py:198 pysollib/tk/solverdialog.py:201 msgid "&New" msgstr "&Новая" -#: pysollib/tile/solverdialog.py:204 pysollib/tk/solverdialog.py:207 +#: pysollib/tile/solverdialog.py:198 pysollib/tk/solverdialog.py:201 msgid "&Play" msgstr "&Играть" -#: pysollib/tile/solverdialog.py:204 pysollib/tk/solverdialog.py:207 +#: pysollib/tile/solverdialog.py:198 pysollib/tk/solverdialog.py:201 msgid "&Start" msgstr "Н&ачать" -#: pysollib/tile/solverdialog.py:276 pysollib/tk/solverdialog.py:279 +#: pysollib/tile/solverdialog.py:269 pysollib/tk/solverdialog.py:272 msgid "This game is solveable in %d move." msgid_plural "This game is solveable in %d moves." msgstr[0] "Игра может быть решена за %d ход." msgstr[1] "Игра может быть решена за %d хода." msgstr[2] "Игра может быть решена за %d ходов." -#: pysollib/tile/solverdialog.py:282 pysollib/tk/solverdialog.py:285 +#: pysollib/tile/solverdialog.py:275 pysollib/tk/solverdialog.py:278 msgid "I could not solve this game." msgstr "Не смог решить игру." -#: pysollib/tile/soundoptionsdialog.py:77 pysollib/tk/soundoptionsdialog.py:75 +#: pysollib/tile/soundoptionsdialog.py:77 pysollib/tk/soundoptionsdialog.py:74 msgid "Are You Sure" msgstr "Вы уверены?" -#: pysollib/tile/soundoptionsdialog.py:79 pysollib/tk/soundoptionsdialog.py:77 +#: pysollib/tile/soundoptionsdialog.py:79 pysollib/tk/soundoptionsdialog.py:76 msgid "Deal" msgstr "Сдача" -#: pysollib/tile/soundoptionsdialog.py:80 pysollib/tk/soundoptionsdialog.py:78 +#: pysollib/tile/soundoptionsdialog.py:80 pysollib/tk/soundoptionsdialog.py:77 msgid "Deal waste" msgstr "Выкладывание на сброс" -#: pysollib/tile/soundoptionsdialog.py:82 pysollib/tk/soundoptionsdialog.py:80 +#: pysollib/tile/soundoptionsdialog.py:82 pysollib/tk/soundoptionsdialog.py:79 msgid "Turn waste" msgstr "Перелистывание сброса" -#: pysollib/tile/soundoptionsdialog.py:83 pysollib/tk/soundoptionsdialog.py:81 +#: pysollib/tile/soundoptionsdialog.py:83 pysollib/tk/soundoptionsdialog.py:80 msgid "Start drag" msgstr "Начало перемещения" -#: pysollib/tile/soundoptionsdialog.py:85 pysollib/tk/soundoptionsdialog.py:83 +#: pysollib/tile/soundoptionsdialog.py:85 pysollib/tk/soundoptionsdialog.py:82 msgid "Drop" msgstr "Сброс карты" -#: pysollib/tile/soundoptionsdialog.py:86 pysollib/tk/soundoptionsdialog.py:84 +#: pysollib/tile/soundoptionsdialog.py:86 pysollib/tk/soundoptionsdialog.py:83 msgid "Drop pair" msgstr "Сброс двух карт" -#: pysollib/tile/soundoptionsdialog.py:87 pysollib/tk/soundoptionsdialog.py:85 +#: pysollib/tile/soundoptionsdialog.py:87 pysollib/tk/soundoptionsdialog.py:84 msgid "Auto drop" msgstr "Автоматический сброс карты" -#: pysollib/tile/soundoptionsdialog.py:89 pysollib/tk/soundoptionsdialog.py:87 +#: pysollib/tile/soundoptionsdialog.py:89 pysollib/tk/soundoptionsdialog.py:86 msgid "Flip" msgstr "Переворачивание" -#: pysollib/tile/soundoptionsdialog.py:90 pysollib/tk/soundoptionsdialog.py:88 +#: pysollib/tile/soundoptionsdialog.py:90 pysollib/tk/soundoptionsdialog.py:87 msgid "Auto flip" msgstr "Автоматическое переворачивание" -#: pysollib/tile/soundoptionsdialog.py:91 pysollib/tk/soundoptionsdialog.py:89 +#: pysollib/tile/soundoptionsdialog.py:91 pysollib/tk/soundoptionsdialog.py:88 msgid "Move" msgstr "Перемещение" -#: pysollib/tile/soundoptionsdialog.py:92 pysollib/tk/soundoptionsdialog.py:90 +#: pysollib/tile/soundoptionsdialog.py:92 pysollib/tk/soundoptionsdialog.py:89 msgid "No move" msgstr "Отмена перемещения" -#: pysollib/tile/soundoptionsdialog.py:94 pysollib/tile/toolbar.py:192 -#: pysollib/tk/soundoptionsdialog.py:92 pysollib/tk/toolbar.py:195 +#: pysollib/tile/soundoptionsdialog.py:94 pysollib/tile/toolbar.py:194 +#: pysollib/tk/soundoptionsdialog.py:91 pysollib/tk/toolbar.py:194 msgid "Undo" msgstr "Отмена" -#: pysollib/tile/soundoptionsdialog.py:95 pysollib/tile/toolbar.py:193 -#: pysollib/tk/soundoptionsdialog.py:93 pysollib/tk/toolbar.py:196 +#: pysollib/tile/soundoptionsdialog.py:95 pysollib/tile/toolbar.py:195 +#: pysollib/tk/soundoptionsdialog.py:92 pysollib/tk/toolbar.py:195 msgid "Redo" msgstr "Повтор" -#: pysollib/tile/soundoptionsdialog.py:97 pysollib/tk/soundoptionsdialog.py:95 +#: pysollib/tile/soundoptionsdialog.py:97 pysollib/tk/soundoptionsdialog.py:94 msgid "Autopilot lost" msgstr "Автопилот выиграл" -#: pysollib/tile/soundoptionsdialog.py:98 pysollib/tk/soundoptionsdialog.py:96 +#: pysollib/tile/soundoptionsdialog.py:98 pysollib/tk/soundoptionsdialog.py:95 msgid "Autopilot won" msgstr "Автопилот проиграл" #: pysollib/tile/soundoptionsdialog.py:101 -#: pysollib/tk/soundoptionsdialog.py:99 +#: pysollib/tk/soundoptionsdialog.py:98 msgid "Game lost" msgstr "Игра проиграна" #: pysollib/tile/soundoptionsdialog.py:103 -#: pysollib/tk/soundoptionsdialog.py:101 +#: pysollib/tk/soundoptionsdialog.py:100 msgid "Perfect game" msgstr "Великолепная игра" #: pysollib/tile/soundoptionsdialog.py:113 -#: pysollib/tk/soundoptionsdialog.py:111 data/glade-translations:73 +#: pysollib/tk/soundoptionsdialog.py:110 data/glade-translations:73 msgid "Sound enabled" msgstr "Звук доступен" #: pysollib/tile/soundoptionsdialog.py:119 -#: pysollib/tk/soundoptionsdialog.py:117 +#: pysollib/tk/soundoptionsdialog.py:116 msgid "Use DirectX for sound playing" msgstr "Использовать DirectX для вывода звука" #: pysollib/tile/soundoptionsdialog.py:125 -#: pysollib/tk/soundoptionsdialog.py:123 data/glade-translations:74 +#: pysollib/tk/soundoptionsdialog.py:122 data/glade-translations:74 msgid "Sample volume:" msgstr "Уровень звуков:" #: pysollib/tile/soundoptionsdialog.py:133 -#: pysollib/tk/soundoptionsdialog.py:131 data/glade-translations:75 +#: pysollib/tk/soundoptionsdialog.py:130 data/glade-translations:75 msgid "Music volume:" msgstr "Уровень музыки:" @@ -3420,17 +3435,17 @@ msgid "Enable samples" msgstr "Включить звуки" #: pysollib/tile/soundoptionsdialog.py:168 -#: pysollib/tk/soundoptionsdialog.py:170 +#: pysollib/tk/soundoptionsdialog.py:166 msgid "&Apply" msgstr "&Применить" #: pysollib/tile/soundoptionsdialog.py:201 -#: pysollib/tk/soundoptionsdialog.py:206 +#: pysollib/tk/soundoptionsdialog.py:201 msgid "Sound preferences info" msgstr "Информация о настройках звука" #: pysollib/tile/soundoptionsdialog.py:202 -#: pysollib/tk/soundoptionsdialog.py:207 +#: pysollib/tk/soundoptionsdialog.py:202 msgid "" "Changing DirectX settings will take effect\n" "the next time you restart " @@ -3438,72 +3453,76 @@ msgstr "" "Изменения установок DirectX вступят в силу\n" "при следующем запуске " -#: pysollib/tile/statusbar.py:151 pysollib/tk/statusbar.py:160 +#: pysollib/tile/statusbar.py:165 pysollib/tk/statusbar.py:163 msgid "Moves/Total moves" msgstr "Ходов/Всего ходов" -#: pysollib/tile/statusbar.py:153 pysollib/tk/statusbar.py:162 +#: pysollib/tile/statusbar.py:167 pysollib/tk/statusbar.py:165 msgid "Games played: won/lost" msgstr "Игр: выиграно/проиграно" -#: pysollib/tile/timeoutsdialog.py:67 pysollib/tk/timeoutsdialog.py:65 +#: pysollib/tile/timeoutsdialog.py:63 +msgid "Set delays in seconds" +msgstr "Установить задержку в секундах" + +#: pysollib/tile/timeoutsdialog.py:68 pysollib/tk/timeoutsdialog.py:63 #: data/glade-translations:34 msgid "Demo:" msgstr "Демо:" -#: pysollib/tile/timeoutsdialog.py:68 pysollib/tk/timeoutsdialog.py:66 +#: pysollib/tile/timeoutsdialog.py:69 pysollib/tk/timeoutsdialog.py:64 #: data/glade-translations:35 msgid "Hint:" msgstr "Подсказка:" -#: pysollib/tile/timeoutsdialog.py:69 pysollib/tk/timeoutsdialog.py:67 +#: pysollib/tile/timeoutsdialog.py:70 pysollib/tk/timeoutsdialog.py:65 #: data/glade-translations:36 msgid "Raise card:" msgstr "Подъём карты:" -#: pysollib/tile/timeoutsdialog.py:71 pysollib/tk/timeoutsdialog.py:69 +#: pysollib/tile/timeoutsdialog.py:72 pysollib/tk/timeoutsdialog.py:67 #: data/glade-translations:38 msgid "Highlight cards:" msgstr "Подсветка карты:" -#: pysollib/tile/timeoutsdialog.py:72 pysollib/tk/timeoutsdialog.py:70 +#: pysollib/tile/timeoutsdialog.py:73 pysollib/tk/timeoutsdialog.py:68 #: data/glade-translations:39 msgid "Highlight same rank:" msgstr "Подсветка одинаковых карт:" -#: pysollib/tile/tkconst.py:84 pysollib/tk/tkconst.py:83 +#: pysollib/tile/tkconst.py:82 pysollib/tk/tkconst.py:82 msgid "Icons only" msgstr "Только пиктограммы" -#: pysollib/tile/tkconst.py:85 pysollib/tk/tkconst.py:84 +#: pysollib/tile/tkconst.py:83 pysollib/tk/tkconst.py:83 msgid "Text below icons" msgstr "Текст под пиктограммами" -#: pysollib/tile/tkconst.py:86 pysollib/tk/tkconst.py:85 +#: pysollib/tile/tkconst.py:84 pysollib/tk/tkconst.py:84 msgid "Text beside icons" msgstr "Текст рядом с пиктограммами" -#: pysollib/tile/tkconst.py:87 pysollib/tk/tkconst.py:86 +#: pysollib/tile/tkconst.py:85 pysollib/tk/tkconst.py:85 msgid "Text only" msgstr "Только текст" -#: pysollib/tile/tkhtml.py:255 pysollib/tk/tkhtml.py:252 +#: pysollib/tile/tkhtml.py:257 pysollib/tk/tkhtml.py:252 msgid "Index" msgstr "Индекс" -#: pysollib/tile/tkhtml.py:259 pysollib/tk/tkhtml.py:256 +#: pysollib/tile/tkhtml.py:261 pysollib/tk/tkhtml.py:256 msgid "Back" msgstr "Назад" -#: pysollib/tile/tkhtml.py:263 pysollib/tk/tkhtml.py:260 +#: pysollib/tile/tkhtml.py:265 pysollib/tk/tkhtml.py:260 msgid "Forward" msgstr "Вперёд" -#: pysollib/tile/tkhtml.py:267 pysollib/tk/tkhtml.py:264 +#: pysollib/tile/tkhtml.py:269 pysollib/tk/tkhtml.py:264 msgid "Close" msgstr "Закрыть" -#: pysollib/tile/tkhtml.py:389 pysollib/tk/tkhtml.py:385 +#: pysollib/tile/tkhtml.py:391 pysollib/tk/tkhtml.py:386 msgid "" "HTML limitation:\n" "The %s protocol is not supported yet.\n" @@ -3519,19 +3538,19 @@ msgstr "" "чтобы открыть URL:\n" "%s\n" -#: pysollib/tile/tkhtml.py:414 pysollib/tile/tkhtml.py:418 -#: pysollib/tk/tkhtml.py:410 pysollib/tk/tkhtml.py:414 +#: pysollib/tile/tkhtml.py:416 pysollib/tile/tkhtml.py:420 +#: pysollib/tk/tkhtml.py:411 pysollib/tk/tkhtml.py:415 msgid "Unable to service request:\n" msgstr "Невозможно выполнить запрос:\n" -#: pysollib/tile/tkstats.py:93 pysollib/tile/tkstats.py:741 -#: pysollib/tile/tkstats.py:883 pysollib/tk/tkstats.py:904 +#: pysollib/tile/tkstats.py:93 pysollib/tile/tkstats.py:748 +#: pysollib/tile/tkstats.py:892 pysollib/tk/tkstats.py:903 #: data/glade-translations:17 msgid "Current game" msgstr "Текущая игра" -#: pysollib/tile/tkstats.py:97 pysollib/tile/tkstats.py:749 -#: pysollib/tile/tkstats.py:878 pysollib/tk/tkstats.py:898 +#: pysollib/tile/tkstats.py:97 pysollib/tile/tkstats.py:756 +#: pysollib/tile/tkstats.py:888 pysollib/tk/tkstats.py:897 #: data/glade-translations:30 msgid "All games" msgstr "Все игры" @@ -3572,28 +3591,28 @@ msgstr "Всего:" msgid "No games" msgstr "Нет игр" -#: pysollib/tile/tkstats.py:516 +#: pysollib/tile/tkstats.py:522 msgid "Log" msgstr "Лог" -#: pysollib/tile/tkstats.py:547 pysollib/tk/tkstats.py:512 -#: pysollib/tk/tkstats.py:578 pysollib/tk/tkstats.py:593 +#: pysollib/tile/tkstats.py:553 pysollib/tk/tkstats.py:511 +#: pysollib/tk/tkstats.py:577 pysollib/tk/tkstats.py:592 msgid "&Save to file" msgstr "&Сохранить в файл" -#: pysollib/tile/tkstats.py:617 pysollib/tk/tkstats.py:608 +#: pysollib/tile/tkstats.py:623 pysollib/tk/tkstats.py:607 msgid "Highlight piles: " msgstr "Подсветка групп: " -#: pysollib/tile/tkstats.py:618 pysollib/tk/tkstats.py:609 +#: pysollib/tile/tkstats.py:624 pysollib/tk/tkstats.py:608 msgid "Highlight cards: " msgstr "Подсветка карт: " -#: pysollib/tile/tkstats.py:619 pysollib/tk/tkstats.py:610 +#: pysollib/tile/tkstats.py:625 pysollib/tk/tkstats.py:609 msgid "Highlight same rank: " msgstr "Подсветка карт одного достоинства: " -#: pysollib/tile/tkstats.py:622 pysollib/tk/tkstats.py:613 +#: pysollib/tile/tkstats.py:628 pysollib/tk/tkstats.py:612 msgid "" "\n" "Redeals: " @@ -3601,7 +3620,7 @@ msgstr "" "\n" "Раздач: " -#: pysollib/tile/tkstats.py:623 pysollib/tk/tkstats.py:614 +#: pysollib/tile/tkstats.py:629 pysollib/tk/tkstats.py:613 msgid "" "\n" "Cards in Talon: " @@ -3609,7 +3628,7 @@ msgstr "" "\n" "Карт в колоде: " -#: pysollib/tile/tkstats.py:625 pysollib/tk/tkstats.py:616 +#: pysollib/tile/tkstats.py:631 pysollib/tk/tkstats.py:615 msgid "" "\n" "Cards in Waste: " @@ -3617,7 +3636,7 @@ msgstr "" "\n" "Карт в сбросе: " -#: pysollib/tile/tkstats.py:627 pysollib/tk/tkstats.py:618 +#: pysollib/tile/tkstats.py:633 pysollib/tk/tkstats.py:617 msgid "" "\n" "Cards in Foundations: " @@ -3625,122 +3644,122 @@ msgstr "" "\n" "Карт на базовых ячейках: " -#: pysollib/tile/tkstats.py:631 pysollib/tk/tkstats.py:621 +#: pysollib/tile/tkstats.py:637 pysollib/tk/tkstats.py:620 msgid "Game status" msgstr "Статус игры" -#: pysollib/tile/tkstats.py:634 pysollib/tk/tkstats.py:624 +#: pysollib/tile/tkstats.py:640 pysollib/tk/tkstats.py:623 msgid "Playing time: " msgstr "Игровое время: " -#: pysollib/tile/tkstats.py:635 pysollib/tk/tkstats.py:625 +#: pysollib/tile/tkstats.py:641 pysollib/tk/tkstats.py:624 msgid "Started at: " msgstr "Игра начата: " -#: pysollib/tile/tkstats.py:636 pysollib/tk/tkstats.py:626 +#: pysollib/tile/tkstats.py:642 pysollib/tk/tkstats.py:625 msgid "Moves: " msgstr "Ходов: " -#: pysollib/tile/tkstats.py:637 pysollib/tk/tkstats.py:627 +#: pysollib/tile/tkstats.py:643 pysollib/tk/tkstats.py:626 msgid "Undo moves: " msgstr "Отменено ходов: " -#: pysollib/tile/tkstats.py:638 pysollib/tk/tkstats.py:628 +#: pysollib/tile/tkstats.py:644 pysollib/tk/tkstats.py:627 msgid "Bookmark moves: " msgstr "Ходов по закладкам: " -#: pysollib/tile/tkstats.py:639 pysollib/tk/tkstats.py:629 +#: pysollib/tile/tkstats.py:645 pysollib/tk/tkstats.py:628 msgid "Demo moves: " msgstr "Демо ходов: " -#: pysollib/tile/tkstats.py:640 pysollib/tk/tkstats.py:630 +#: pysollib/tile/tkstats.py:646 pysollib/tk/tkstats.py:629 msgid "Total player moves: " msgstr "Всего ходов игрока:" -#: pysollib/tile/tkstats.py:641 pysollib/tk/tkstats.py:631 +#: pysollib/tile/tkstats.py:647 pysollib/tk/tkstats.py:630 msgid "Total moves in this game: " msgstr "Всего ходов в этой игре: " -#: pysollib/tile/tkstats.py:642 pysollib/tk/tkstats.py:632 +#: pysollib/tile/tkstats.py:648 pysollib/tk/tkstats.py:631 msgid "Hints: " msgstr "Подсказок: " -#: pysollib/tile/tkstats.py:671 pysollib/tk/tkstats.py:662 +#: pysollib/tile/tkstats.py:678 pysollib/tk/tkstats.py:661 msgid "N" msgstr "N" -#: pysollib/tile/tkstats.py:684 pysollib/tk/tkstats.py:671 +#: pysollib/tile/tkstats.py:691 pysollib/tk/tkstats.py:670 msgid "Result" msgstr "Результат" -#: pysollib/tile/tkstats.py:746 pysollib/tk/tkstats.py:780 +#: pysollib/tile/tkstats.py:753 pysollib/tk/tkstats.py:779 msgid "No TOP for this game" msgstr "TOP для текущей игры отсутствует" -#: pysollib/tile/tkstats.py:754 +#: pysollib/tile/tkstats.py:761 msgid "No TOP for all games" msgstr "TOP для всех игр отсутствует" -#: pysollib/tile/tkstats.py:765 pysollib/tk/tkstats.py:727 +#: pysollib/tile/tkstats.py:772 pysollib/tk/tkstats.py:726 #: data/glade-translations:21 msgid "Minimum" msgstr "Минимум" -#: pysollib/tile/tkstats.py:767 pysollib/tk/tkstats.py:728 +#: pysollib/tile/tkstats.py:774 pysollib/tk/tkstats.py:727 #: data/glade-translations:22 msgid "Maximum" msgstr "Максимум" -#: pysollib/tile/tkstats.py:769 pysollib/tk/tkstats.py:729 +#: pysollib/tile/tkstats.py:776 pysollib/tk/tkstats.py:728 #: data/glade-translations:23 msgid "Average" msgstr "Среднее" -#: pysollib/tile/tkstats.py:791 pysollib/tk/tkstats.py:749 +#: pysollib/tile/tkstats.py:798 pysollib/tk/tkstats.py:748 #: data/glade-translations:20 msgid "Total moves:" msgstr "Всего ходов:" -#: pysollib/tile/tkstats.py:888 pysollib/tk/tkstats.py:911 +#: pysollib/tile/tkstats.py:896 pysollib/tk/tkstats.py:909 msgid "Statistics for" msgstr "Статистика за" -#: pysollib/tile/tkstats.py:893 pysollib/tk/tkstats.py:918 +#: pysollib/tile/tkstats.py:901 pysollib/tk/tkstats.py:914 msgid "Last 7 days" msgstr "Последние 7 дней" -#: pysollib/tile/tkstats.py:894 pysollib/tk/tkstats.py:919 +#: pysollib/tile/tkstats.py:902 pysollib/tk/tkstats.py:915 msgid "Last month" msgstr "Последний месяц" -#: pysollib/tile/tkstats.py:895 pysollib/tk/tkstats.py:920 +#: pysollib/tile/tkstats.py:903 pysollib/tk/tkstats.py:916 msgid "Last year" msgstr "Последний год" -#: pysollib/tile/tkstats.py:896 pysollib/tk/tkstats.py:921 +#: pysollib/tile/tkstats.py:904 pysollib/tk/tkstats.py:917 msgid "All time" msgstr "Всё время" -#: pysollib/tile/tkstats.py:902 pysollib/tk/tkstats.py:929 +#: pysollib/tile/tkstats.py:909 pysollib/tk/tkstats.py:924 msgid "Show graphs" msgstr "Показывать графики" -#: pysollib/tile/tkstats.py:950 pysollib/tile/tkstats.py:966 -#: pysollib/tile/tkstats.py:1005 pysollib/tk/tkstats.py:852 -#: pysollib/tk/tkstats.py:868 pysollib/tk/tkstats.py:980 +#: pysollib/tile/tkstats.py:954 pysollib/tile/tkstats.py:970 +#: pysollib/tile/tkstats.py:1009 pysollib/tk/tkstats.py:851 +#: pysollib/tk/tkstats.py:867 pysollib/tk/tkstats.py:973 msgid "Games/day" msgstr "Игр за день" -#: pysollib/tile/tkstats.py:951 pysollib/tile/tkstats.py:1007 -#: pysollib/tk/tkstats.py:853 pysollib/tk/tkstats.py:982 +#: pysollib/tile/tkstats.py:955 pysollib/tile/tkstats.py:1011 +#: pysollib/tk/tkstats.py:852 pysollib/tk/tkstats.py:975 msgid "Games/week" msgstr "Игр за неделю" -#: pysollib/tile/toolbar.py:186 pysollib/tk/toolbar.py:189 +#: pysollib/tile/toolbar.py:188 pysollib/tk/toolbar.py:188 msgid "New" msgstr "Новая" -#: pysollib/tile/toolbar.py:187 pysollib/tk/toolbar.py:190 +#: pysollib/tile/toolbar.py:189 pysollib/tk/toolbar.py:189 msgid "" "Restart the\n" "current game" @@ -3748,11 +3767,11 @@ msgstr "" "Начать текущую игру\n" "с начала" -#: pysollib/tile/toolbar.py:189 pysollib/tk/toolbar.py:192 +#: pysollib/tile/toolbar.py:191 pysollib/tk/toolbar.py:191 msgid "Open" msgstr "Открыть" -#: pysollib/tile/toolbar.py:189 pysollib/tk/toolbar.py:192 +#: pysollib/tile/toolbar.py:191 pysollib/tk/toolbar.py:191 msgid "" "Open a\n" "saved game" @@ -3760,107 +3779,107 @@ msgstr "" "Открыть\n" "сохранённую игру" -#: pysollib/tile/toolbar.py:190 pysollib/tk/toolbar.py:193 +#: pysollib/tile/toolbar.py:192 pysollib/tk/toolbar.py:192 msgid "Save" msgstr "Сохранить" -#: pysollib/tile/toolbar.py:190 pysollib/tk/toolbar.py:193 +#: pysollib/tile/toolbar.py:192 pysollib/tk/toolbar.py:192 msgid "Save game" msgstr "Сохранить игру" -#: pysollib/tile/toolbar.py:192 pysollib/tk/toolbar.py:195 +#: pysollib/tile/toolbar.py:194 pysollib/tk/toolbar.py:194 msgid "Undo last move" msgstr "Отменить последний ход" -#: pysollib/tile/toolbar.py:193 pysollib/tk/toolbar.py:196 +#: pysollib/tile/toolbar.py:195 pysollib/tk/toolbar.py:195 msgid "Redo last move" msgstr "Вернуть ход" -#: pysollib/tile/toolbar.py:194 pysollib/tk/toolbar.py:197 +#: pysollib/tile/toolbar.py:196 pysollib/tk/toolbar.py:196 msgid "Auto drop cards" msgstr "Автоматически сбросить карты" -#: pysollib/tile/toolbar.py:194 pysollib/tk/toolbar.py:197 +#: pysollib/tile/toolbar.py:196 pysollib/tk/toolbar.py:196 msgid "Autodrop" msgstr "Сбросить" -#: pysollib/tile/toolbar.py:195 pysollib/tk/toolbar.py:198 +#: pysollib/tile/toolbar.py:197 pysollib/tk/toolbar.py:197 msgid "Shuffle" msgstr "Перемешать" -#: pysollib/tile/toolbar.py:195 pysollib/tk/toolbar.py:198 +#: pysollib/tile/toolbar.py:197 pysollib/tk/toolbar.py:197 msgid "Shuffle tiles" msgstr "Перемешать фишки" -#: pysollib/tile/toolbar.py:196 pysollib/tk/toolbar.py:199 +#: pysollib/tile/toolbar.py:198 pysollib/tk/toolbar.py:198 msgid "Pause" msgstr "Пауза" -#: pysollib/tile/toolbar.py:196 pysollib/tk/toolbar.py:199 +#: pysollib/tile/toolbar.py:198 pysollib/tk/toolbar.py:198 msgid "Pause game" msgstr "Приостановить игру" -#: pysollib/tile/toolbar.py:198 pysollib/tk/toolbar.py:201 +#: pysollib/tile/toolbar.py:200 pysollib/tk/toolbar.py:200 msgid "View statistics" msgstr "Посмотреть статистику" -#: pysollib/tile/toolbar.py:199 pysollib/tk/toolbar.py:202 +#: pysollib/tile/toolbar.py:201 pysollib/tk/toolbar.py:201 msgid "Rules" msgstr "Правила" -#: pysollib/tile/toolbar.py:199 pysollib/tk/toolbar.py:202 +#: pysollib/tile/toolbar.py:201 pysollib/tk/toolbar.py:201 msgid "Rules for this game" msgstr "Правила текущей игры" -#: pysollib/tile/toolbar.py:201 pysollib/tk/toolbar.py:204 +#: pysollib/tile/toolbar.py:203 pysollib/tk/toolbar.py:203 msgid "Quit" msgstr "Выйти" -#: pysollib/tile/toolbar.py:215 pysollib/tk/toolbar.py:218 +#: pysollib/tile/toolbar.py:217 pysollib/tk/toolbar.py:217 msgid "Player" msgstr "Игрок" -#: pysollib/tile/toolbar.py:216 pysollib/tk/toolbar.py:219 +#: pysollib/tile/toolbar.py:218 pysollib/tk/toolbar.py:218 msgid "Player options" msgstr "Установки игрока" -#: pysollib/tile/toolbar.py:397 pysollib/tk/toolbar.py:434 +#: pysollib/tile/toolbar.py:399 pysollib/tk/toolbar.py:431 msgid "Toolbar" msgstr "Панель инструментов" -#: pysollib/tk/menubar.py:412 +#: pysollib/tk/menubar.py:413 msgid "&Statistics" msgstr "Ст&атистика" -#: pysollib/tk/menubar.py:413 pysollib/tk/menubar.py:422 +#: pysollib/tk/menubar.py:414 pysollib/tk/menubar.py:423 msgid "Current game..." msgstr "Текущая игра..." -#: pysollib/tk/menubar.py:414 pysollib/tk/menubar.py:423 +#: pysollib/tk/menubar.py:415 pysollib/tk/menubar.py:424 msgid "All games..." msgstr "Все игры..." -#: pysollib/tk/menubar.py:416 +#: pysollib/tk/menubar.py:417 msgid "Session log..." msgstr "Лог сессии..." -#: pysollib/tk/menubar.py:417 +#: pysollib/tk/menubar.py:418 msgid "Full log..." msgstr "Полный лог..." -#: pysollib/tk/menubar.py:420 +#: pysollib/tk/menubar.py:421 msgid "Progression..." msgstr "Прогресс..." -#: pysollib/tk/playeroptionsdialog.py:120 +#: pysollib/tk/playeroptionsdialog.py:119 msgid "Choose..." msgstr "Выбрать..." -#: pysollib/tk/playeroptionsdialog.py:145 +#: pysollib/tk/playeroptionsdialog.py:144 msgid "Select name" msgstr "Выбрать имя" -#: pysollib/tk/soundoptionsdialog.py:144 data/glade-translations:76 +#: pysollib/tk/soundoptionsdialog.py:142 data/glade-translations:76 msgid "Enable samles" msgstr "Включить звуки" @@ -3868,43 +3887,43 @@ msgstr "Включить звуки" msgid "&All games..." msgstr "&Все игры..." -#: pysollib/tk/tkstats.py:513 +#: pysollib/tk/tkstats.py:512 msgid "&Reset all..." msgstr "О&чистить все..." -#: pysollib/tk/tkstats.py:578 +#: pysollib/tk/tkstats.py:577 msgid "Session &log..." msgstr "&Лог сессии..." -#: pysollib/tk/tkstats.py:593 +#: pysollib/tk/tkstats.py:592 msgid "&Full log..." msgstr "&Полный лог..." -#: pysollib/util.py:81 +#: pysollib/util.py:73 msgid "Club" msgstr "Треф" -#: pysollib/util.py:81 +#: pysollib/util.py:73 msgid "Diamond" msgstr "Буби" -#: pysollib/util.py:81 +#: pysollib/util.py:73 msgid "Heart" msgstr "Черви" -#: pysollib/util.py:81 +#: pysollib/util.py:73 msgid "Spade" msgstr "Пики" -#: pysollib/util.py:82 +#: pysollib/util.py:74 msgid "black" msgstr "чёрный" -#: pysollib/util.py:82 +#: pysollib/util.py:74 msgid "red" msgstr "красный" -#: pysollib/util.py:107 +#: pysollib/util.py:99 msgid "cardset" msgstr "набор карт" @@ -4145,7 +4164,7 @@ msgstr "Треугольник" #: pysollib/wizardutil.py:266 pysollib/wizardutil.py:268 msgid "Rectangle" -msgstr "" +msgstr "Прямоугольник" #: pysollib/wizardutil.py:276 msgid "# of face-down cards dealt to the tableau pile:" diff --git a/pysollib/actions.py b/pysollib/actions.py index 34734c90..1a2104d7 100644 --- a/pysollib/actions.py +++ b/pysollib/actions.py @@ -591,7 +591,7 @@ class PysolMenubarActions: else: player = self.app.opt.player p0, p1, p2 = player, "", _(" for ") + player - n = _(self.game.gameinfo.short_name) + n = self.game.gameinfo.name # if mode == 100: d = Status_StatsDialog(self.top, game=self.game) diff --git a/pysollib/app.py b/pysollib/app.py index dff577a8..c506a376 100644 --- a/pysollib/app.py +++ b/pysollib/app.py @@ -1178,12 +1178,12 @@ Please select a %s type %s. def getGameTitleName(self, id): gi = self.gdb.get(id) if gi is None: return None - return _(gi.name) + return gi.name def getGameMenuitemName(self, id): gi = self.gdb.get(id) if gi is None: return None - return _(gi.short_name) + return gi.short_name def getGameRulesFilename(self, id): gi = self.gdb.get(id) diff --git a/pysollib/game.py b/pysollib/game.py index 267d0b5a..ca114020 100644 --- a/pysollib/game.py +++ b/pysollib/game.py @@ -38,6 +38,7 @@ import time import math import traceback +from gettext import ungettext from cStringIO import StringIO # PySol imports @@ -1676,15 +1677,18 @@ You have reached self.finished = True self.playSample("gameperfect", priority=1000) self.winAnimation(perfect=1) + text = ungettext('''Your playing time is %s\nfor %d move.''', + '''Your playing time is %s\nfor %d moves.''', + self.moves.index) + text = text % (time, self.moves.index) d = MfxMessageDialog(self.top, title=_("Game won"), text=_(''' Congratulations, this was a truly perfect game ! -Your playing time is %s -for %d moves. %s -''') % (time, self.moves.index, top_msg), +%s +''') % (text, top_msg), strings=(_("&New game"), None, _("&Cancel")), image=self.app.gimages.logos[5]) elif status == 1: @@ -1693,14 +1697,17 @@ for %d moves. self.finished = True self.playSample("gamewon", priority=1000) self.winAnimation() + text = ungettext('''Your playing time is %s\nfor %d move.''', + '''Your playing time is %s\nfor %d moves.''', + self.moves.index) + text = text % (time, self.moves.index) d = MfxMessageDialog(self.top, title=_("Game won"), text=_(''' Congratulations, you did it ! -Your playing time is %s -for %d moves. %s -''') % (time, self.moves.index, top_msg), +%s +''') % (text, top_msg), strings=(_("&New game"), None, _("&Cancel")), image=self.app.gimages.logos[4]) elif self.gstats.updated < 0: @@ -2282,9 +2289,12 @@ for %d moves. self.playSample("autopilotwon", priority=1000) s = self.app.miscrandom.choice((_("&Great"), _("&Cool"), _("&Yeah"), _("&Wow"))) + text = ungettext('\nGame solved in %d move.\n', + '\nGame solved in %d moves.\n', + self.moves.index) + text = text % self.moves.index d = MfxMessageDialog(self.top, title=TITLE+_(" Autopilot"), - text=_("\nGame solved in %d moves.\n") % - self.moves.index, + text=text, image=self.app.gimages.logos[4], strings=(s,), separator=True, diff --git a/pysollib/gamedb.py b/pysollib/gamedb.py index 8936adbb..5c7343e6 100644 --- a/pysollib/gamedb.py +++ b/pysollib/gamedb.py @@ -281,6 +281,7 @@ class GI: ("Art Cabral", (9,)), ("Charles Jewell", (220, 309,)), ("Robert Harbin", (381,)), + ("Robert Hogue", (22216,)), ("Michael Keller", (592,)), ("Fred Lunde", (459,)), ("Albert Morehead and Geoffrey Mott-Smith", (25, 42, 48, 173, @@ -409,21 +410,22 @@ class GameInfo(Struct): suits=range(4), ranks=range(13), trumps=(), rules_filename=None, ): - def to_unicode(s): + def gettext_name(s): if not isinstance(s, unicode): - return unicode(s, 'utf-8') - return s + return _(unicode(s, 'utf-8')) + return _(s) # ncards = decks * (len(suits) * len(ranks) + len(trumps)) game_flags = game_type & ~1023 game_type = game_type & 1023 - name = to_unicode(name) + name = gettext_name(name) if not short_name: short_name = name - short_name = to_unicode(short_name) + else: + short_name = gettext_name(short_name) if isinstance(altnames, basestring): altnames = (altnames,) - altnames = [to_unicode(n) for n in altnames] + altnames = [gettext_name(n) for n in altnames] # if not (1 <= category <= 9): if game_type == GI.GT_HANAFUDA: @@ -494,6 +496,11 @@ class GameManager: self.check_game = True self.current_filename = None self.registered_game_types = {} + self.callback = None # update progress-bar (see main.py) + self._num_games = 0 # for callback only + + def setCallback(self, func): + self.callback = func def getSelected(self): return self.__selected_key @@ -562,6 +569,10 @@ class GameManager: if self.current_filename is not None: gi.gameclass.MODULE_FILENAME = self.current_filename + if self.callback and self._num_games % 10 == 0: + self.callback() + self._num_games += 1 + # # access games database - we do not expose hidden games # @@ -581,20 +592,20 @@ class GameManager: if self.__games_by_name is None: l1, l2, l3 = [], [], [] for id, gi in self.__games.items(): - name = _(gi.name).lower() + name = gi.name #.lower() l1.append((name, id)) if gi.name != gi.short_name: - name = _(gi.short_name).lower() + name = gi.short_name #.lower() l2.append((name, id)) for n in gi.altnames: - name = _(n).lower() + name = n #.lower() l3.append((name, id, n)) l1.sort() l2.sort() l3.sort() - self.__games_by_name = tuple(map(lambda item: item[1], l1)) - self.__games_by_short_name = tuple(map(lambda item: item[1], l2)) - self.__games_by_altname = tuple(map(lambda item: item[1:], l3)) + self.__games_by_name = tuple([i[1] for i in l1]) + self.__games_by_short_name = tuple([i[1] for i in l2]) + self.__games_by_altname = tuple([i[1:] for i in l3]) return self.__games_by_name def getGamesIdSortedByShortName(self): diff --git a/pysollib/games/freecell.py b/pysollib/games/freecell.py index 146027b8..2283516c 100644 --- a/pysollib/games/freecell.py +++ b/pysollib/games/freecell.py @@ -604,6 +604,54 @@ class CanCan(FreeCell): self.s.talon.dealRowAvail() +# /*********************************************************************** +# // Limpopo +# ************************************************************************/ + +class Limpopo(Game): + + def createGame(self): + + # create layout + l, s = Layout(self), self.s + + # set window + self.setSize(l.XM+10.5*l.XS, l.YM+2*l.YS+20*l.YOFFSET) + + # create stacks + x, y = l.XM, l.YM+l.YS/2 + for i in (0,1): + stack = ReserveStack(x, y, self, max_cards=4) + s.reserves.append(stack) + stack.CARD_YOFFSET = l.YOFFSET + l.createText(stack, 'n') + x += l.XS + + x, y = l.XM+2.5*l.XS, l.YM + for i in range(8): + s.foundations.append(SS_FoundationStack(x, y, self, suit=i/2)) + x += l.XS + + x, y = l.XM+2.5*l.XS, l.YM+l.YS + for i in range(8): + s.rows.append(AC_RowStack(x, y, self)) + x += l.XS + + x, y = l.XM, self.height-l.YS + s.talon = InitialDealTalonStack(x, y, self) + + # define stack-groups + l.defaultStackGroups() + + def startGame(self): + for i in range(12): + self.s.talon.dealRow(frames=0) + self.startDealSample() + self.s.talon.dealRow() + + shallHighlightMatch = Game._shallHighlightMatch_AC + + # register the game registerGame(GameInfo(5, RelaxedFreeCell, "Relaxed FreeCell", @@ -652,4 +700,6 @@ registerGame(GameInfo(648, Headquarters, "Headquarters", GI.GT_FREECELL | GI.GT_OPEN | GI.GT_ORIGINAL, 2, 0, GI.SL_MOSTLY_SKILL)) registerGame(GameInfo(698, CanCan, "Can Can", GI.GT_RAGLAN | GI.GT_OPEN, 1, 0, GI.SL_MOSTLY_SKILL)) +registerGame(GameInfo(746, Limpopo, "Limpopo", + GI.GT_FREECELL | GI.GT_ORIGINAL, 2, 0, GI.SL_MOSTLY_SKILL)) diff --git a/pysollib/games/klondike.py b/pysollib/games/klondike.py index 0a7cd8b0..39aa1221 100644 --- a/pysollib/games/klondike.py +++ b/pysollib/games/klondike.py @@ -1470,9 +1470,9 @@ registerGame(GameInfo(541, BatsfordAgain, "Batsford Again", registerGame(GameInfo(572, GoldMine, "Gold Mine", GI.GT_NUMERICA, 1, 0, GI.SL_MOSTLY_SKILL)) registerGame(GameInfo(585, LuckyThirteen, "Lucky Thirteen", - GI.GT_NUMERICA, 1, 0, GI.SL_MOSTLY_LUCK)) + GI.GT_1DECK_TYPE, 1, 0, GI.SL_MOSTLY_LUCK)) registerGame(GameInfo(586, LuckyPiles, "Lucky Piles", - GI.GT_NUMERICA, 1, 0, GI.SL_MOSTLY_SKILL)) + GI.GT_FAN_TYPE, 1, 0, GI.SL_MOSTLY_SKILL)) registerGame(GameInfo(601, AmericanCanister, "American Canister", GI.GT_BELEAGUERED_CASTLE | GI.GT_OPEN, 1, 0, GI.SL_MOSTLY_SKILL)) registerGame(GameInfo(602, BritishCanister, "British Canister", diff --git a/pysollib/games/mahjongg/mahjongg.py b/pysollib/games/mahjongg/mahjongg.py index d9925625..2f5cfcad 100644 --- a/pysollib/games/mahjongg/mahjongg.py +++ b/pysollib/games/mahjongg/mahjongg.py @@ -30,6 +30,7 @@ __all__ = [] import sys, re import time #from tkFont import Font +from gettext import ungettext # PySol imports from pysollib.gamedb import registerGame, GameInfo, GI @@ -840,8 +841,6 @@ a solvable configuration.'''), if self.preview > 1 or self.texts.info is None: return - from gettext import ungettext - # find matching tiles stacks = [] for r in self.s.rows: diff --git a/pysollib/games/mahjongg/shisensho.py b/pysollib/games/mahjongg/shisensho.py index e8db5875..57eb180a 100644 --- a/pysollib/games/mahjongg/shisensho.py +++ b/pysollib/games/mahjongg/shisensho.py @@ -24,6 +24,7 @@ __all__ = [] # Imports import sys #from tkFont import Font +from gettext import ungettext # PySol imports from pysollib.gamedb import registerGame, GameInfo, GI @@ -381,7 +382,6 @@ class AbstractShisenGame(AbstractMahjonggGame): if self.preview > 1 or self.texts.info is None: return - from gettext import ungettext game = self.app.game if 0: diff --git a/pysollib/games/pileon.py b/pysollib/games/pileon.py index 6f05c127..b7d59bb2 100644 --- a/pysollib/games/pileon.py +++ b/pysollib/games/pileon.py @@ -224,9 +224,10 @@ class FourByFour_Hint(DefaultHint): class FourByFour_Foundation(AbstractFoundationStack): def _getNumSameCards(self): + decks = self.game.gameinfo.decks rank = self.cards[-1].rank n = 1 - for i in range(2,5): + for i in range(2, 4*decks+1): if len(self.cards) < i: break if self.cards[-i].rank != rank: @@ -235,23 +236,20 @@ class FourByFour_Foundation(AbstractFoundationStack): return n def _getDir(self): - if len(self.cards) < 4: + decks = self.game.gameinfo.decks + if len(self.cards) < 4*decks: return 0 - if isRankSequence(self.cards[-4:], dir=0): + if isRankSequence(self.cards[-4*decks:], dir=0): return 1 return 0 def acceptsCards(self, from_stack, cards): if not AbstractFoundationStack.acceptsCards(self, from_stack, cards): return False + if not self.cards: + return True dir = self._getDir() - return (self.cards[-1].rank+dir) % 13 == cards[0].rank - - if len(self.cards) < 4: - return cards[0].rank == self.cards[-1].rank - if isRankSequence(self.cards[-4:], dir=0): - return (cards[0].rank+1) % 13 == self.cards[-1].rank - return cards[0].rank == self.cards[-1].rank + return (self.cards[-1].rank+dir) % self.cap.mod == cards[0].rank def getHelp(self): return _('Foundation. Build up regardless of suit.') @@ -271,7 +269,7 @@ class FourByFour(Game): self.setSize(l.XM+7*l.XS, l.YM+2*l.YS+20*l.YOFFSET) x, y = l.XM, l.YM - s.talon = WasteTalonStack(y, x, self, max_rounds=1) + s.talon = WasteTalonStack(x, y, self, max_rounds=1) l.createText(s.talon, 's') x += l.XS s.waste = WasteStack(x, y, self) @@ -301,20 +299,26 @@ class FourByFour(Game): self.s.talon.dealCards() def updateText(self): + decks = self.gameinfo.decks if self.preview > 1: return f = self.s.foundations[0] if not f.cards: - return - if len(f.cards) == 52: + if f.cap.base_rank == ANY_RANK: + t = '' + else: + r = RANKS[f.cap.base_rank] + n = 4*decks + t = '%s (%d)' % (r, n) + elif len(f.cards) == 52*decks: t = '' else: n = f._getNumSameCards() - n = 4-n + n = 4*decks - n r = f.cards[-1].rank if n == 0: - n = 4 - r = (r+1)%13 + n = 4*decks + r = (r+1) % f.cap.mod r = RANKS[r] t = '%s (%d)' % (r, n) f.texts.misc.config(text=t) @@ -322,6 +326,65 @@ class FourByFour(Game): shallHighlightMatch = Game._shallHighlightMatch_RKW +# /*********************************************************************** +# // Footling +# ************************************************************************/ + +class Footling(FourByFour): + Hint_Class = DefaultHint + + def createGame(self, rows=8, reserves=4, playcards=15): + + decks = self.gameinfo.decks + + l, s = Layout(self), self.s + self.setSize(l.XM+rows*l.XS, l.YM+2*l.YS+playcards*l.YOFFSET) + + x, y = l.XM, l.YM + for i in range(reserves): + s.reserves.append(ReserveStack(x, y, self)) + x += l.XS + + x = self.width - 2*l.XS + s.foundations.append(FourByFour_Foundation(x, y, self, + suit=ANY_SUIT, base_rank=ACE, max_cards=52*decks, + max_accept=1, max_move=0)) + stack = s.foundations[0] + tx, ty, ta, tf = l.getTextAttr(stack, 'ne') + font = self.app.getFont('canvas_default') + stack.texts.misc = MfxCanvasText(self.canvas, tx, ty, + anchor=ta, font=font) + + x, y = l.XM, l.YM+l.YS + for i in range(rows): + s.rows.append(AC_RowStack(x, y, self)) + x += l.XS + + x, y = l.XM, self.height-l.YS + s.talon = InitialDealTalonStack(x, y, self) + + l.defaultStackGroups() + + def startGame(self): + for i in range(5): + self.s.talon.dealRow(frames=0) + self.startDealSample() + self.s.talon.dealRow() + self.s.talon.dealRowAvail() + + shallHighlightMatch = Game._shallHighlightMatch_AC + + +class DoubleFootling(Footling): + def createGame(self): + Footling.createGame(self, rows=10, reserves=5, playcards=18) + def startGame(self): + for i in range(9): + self.s.talon.dealRow(frames=0) + self.startDealSample() + self.s.talon.dealRow() + self.s.talon.dealRowAvail() + # register the game registerGame(GameInfo(41, PileOn, "PileOn", @@ -337,5 +400,9 @@ registerGame(GameInfo(555, Quartets, "Quartets", GI.GT_1DECK_TYPE | GI.GT_OPEN | GI.GT_ORIGINAL, 1, 0, GI.SL_MOSTLY_SKILL)) registerGame(GameInfo(703, FourByFour, "Four by Four", GI.GT_1DECK_TYPE, 1, 0, GI.SL_BALANCED)) +registerGame(GameInfo(740, Footling, "Footling", + GI.GT_FREECELL | GI.GT_OPEN | GI.GT_ORIGINAL, 1, 0, GI.SL_MOSTLY_SKILL)) +registerGame(GameInfo(741, DoubleFootling, "Double Footling", + GI.GT_FREECELL | GI.GT_OPEN | GI.GT_ORIGINAL, 2, 0, GI.SL_MOSTLY_SKILL)) diff --git a/pysollib/games/sultan.py b/pysollib/games/sultan.py index b1932e1e..d0753829 100644 --- a/pysollib/games/sultan.py +++ b/pysollib/games/sultan.py @@ -1112,6 +1112,162 @@ class Phalanx(Game): +# /*********************************************************************** +# // Grandee +# // Turncoats +# // Voracious +# ************************************************************************/ + +class Grandee(Game): + Hint_Class = CautiousDefaultHint + Talon_Class = DealRowTalonStack + RowStack_Class = SS_RowStack + + def createGame(self, waste=False, rows=14): + + # create layout + l, s = Layout(self), self.s + + # set window + decks = self.gameinfo.decks + w = max(decks*4, rows/2) + self.setSize(l.XM+w*l.XS, l.YM+5*l.YS) + + # create stacks + x, y = l.XM + (w-decks*4)*l.XS/2, l.YM + for i in range(4): + for j in range(decks): + s.foundations.append(SS_FoundationStack(x, y, self, suit=i)) + x += l.XS + + y = l.YM+1.5*l.YS + for i in range(2): + x = l.XM + (w-rows/2)*l.XS/2 + for j in range(rows/2): + stack = self.RowStack_Class(x, y, self, max_move=1) + stack.CARD_YOFFSET = 0 + s.rows.append(stack) + x += l.XS + y += l.YS + + x, y = self.width-l.XS, self.height-l.YS + s.talon = self.Talon_Class(x, y, self) + if waste: + l.createText(s.talon, 'n') + x -= l.XS + s.waste = WasteStack(x, y, self) + l.createText(s.waste, 'n') + else: + l.createText(s.talon, 'sw') + + # define stack-groups + l.defaultStackGroups() + + def startGame(self): + self.startDealSample() + self.s.talon.dealRow() + + shallHighlightMatch = Game._shallHighlightMatch_SS + + +class Turncoats(Grandee): + Talon_Class = TalonStack + RowStack_Class = StackWrapper(UD_AC_RowStack, base_rank=NO_RANK) + + def createGame(self): + Grandee.createGame(self, rows=12) + + def fillStack(self, stack): + if not stack.cards: + if stack in self.s.rows and self.s.talon.cards: + old_state = self.enterState(self.S_FILL) + self.s.talon.flipMove() + self.s.talon.moveMove(1, stack) + self.leaveState(old_state) + + shallHighlightMatch = Game._shallHighlightMatch_AC + + +class Voracious(Grandee): + Talon_Class = StackWrapper(WasteTalonStack, max_rounds=1) + RowStack_Class = StackWrapper(SS_RowStack, base_rank=NO_RANK) + + def createGame(self): + Grandee.createGame(self, waste=True, rows=12) + + def startGame(self): + self.startDealSample() + self.s.talon.dealRow() + self.s.talon.dealCards() + + def fillStack(self, stack): + if not stack.cards: + if stack in self.s.rows: + old_state = self.enterState(self.S_FILL) + if not self.s.waste.cards: + self.s.talon.dealCards() + if self.s.waste.cards: + self.s.waste.moveMove(1, stack) + self.leaveState(old_state) + + +# /*********************************************************************** +# // +# ************************************************************************/ + +class DesertIsland(Game): + + def createGame(self): + + # create layout + l, s = Layout(self), self.s + + # set window + self.setSize(l.XM+8*l.XS, l.YM+5*l.YS) + + # create stacks + x, y = l.XM, l.YM + for i in range(8): + s.foundations.append(SS_FoundationStack(x, y, self, + suit=i/2, max_cards=10)) + x += l.XS + + y = l.YM+l.YS + for i in range(3): + x = l.XM + for j in range(8): + ##stack = SS_RowStack(x, y, self, max_move=1) + stack = ReserveStack(x, y, self) + stack.CARD_YOFFSET = 0 + s.rows.append(stack) + x += l.XS + y += l.YS + + x, y = self.width-l.XS, self.height-l.YS + s.talon = DealRowTalonStack(x, y, self) + l.createText(s.talon, 'sw') + + # define stack-groups + l.defaultStackGroups() + + + def _shuffleHook(self, cards): + return self._shuffleHookMoveToTop(cards, + lambda c: (c.rank == ACE, c.suit)) + + def startGame(self): + self.s.talon.dealRow(rows=self.s.foundations, frames=0) + self.startDealSample() + self.s.talon.dealRow() + + def isGameWon(self): + for s in self.s.foundations: + if len(s.cards) != 10: + return False + return True + + + # register the game registerGame(GameInfo(330, Sultan, "Sultan", GI.GT_2DECK_TYPE, 2, 2, GI.SL_MOSTLY_LUCK, @@ -1157,3 +1313,11 @@ registerGame(GameInfo(729, TwoRings, "Two Rings", GI.GT_2DECK_TYPE, 2, 1, GI.SL_MOSTLY_LUCK)) registerGame(GameInfo(730, Phalanx, "Phalanx", GI.GT_1DECK_TYPE, 1, 0, GI.SL_MOSTLY_LUCK)) +registerGame(GameInfo(742, Grandee, "Grandee", + GI.GT_2DECK_TYPE, 2, 0, GI.SL_BALANCED)) +registerGame(GameInfo(743, Turncoats, "Turncoats", + GI.GT_1DECK_TYPE, 1, 0, GI.SL_BALANCED)) +registerGame(GameInfo(744, Voracious, "Voracious", + GI.GT_2DECK_TYPE, 2, 0, GI.SL_BALANCED)) +registerGame(GameInfo(745, DesertIsland, "Desert Island", + GI.GT_2DECK_TYPE | GI.GT_ORIGINAL, 2, 0, GI.SL_BALANCED)) diff --git a/pysollib/games/threepeaks.py b/pysollib/games/threepeaks.py index b8d78283..e56fe0fd 100644 --- a/pysollib/games/threepeaks.py +++ b/pysollib/games/threepeaks.py @@ -283,7 +283,9 @@ class ThreePeaksNoScore(ThreePeaks): registerGame(GameInfo(22216, ThreePeaks, "Three Peaks", - GI.GT_PAIRING_TYPE, 1, 0, GI.SL_BALANCED)) + GI.GT_PAIRING_TYPE, 1, 0, GI.SL_BALANCED, + altnames=("Tri Peaks",) + )) registerGame(GameInfo(22231, ThreePeaksNoScore, "Three Peaks Non-scoring", GI.GT_PAIRING_TYPE, 1, 0, GI.SL_BALANCED)) diff --git a/pysollib/init.py b/pysollib/init.py index ae2d8db3..a1b82319 100644 --- a/pysollib/init.py +++ b/pysollib/init.py @@ -81,12 +81,11 @@ def init(): gettext.bindtextdomain('pysol', locale_dir) gettext.textdomain('pysol') import __builtin__ - __builtin__.__dict__['_'] = gettext.ugettext # use unicode - __builtin__.__dict__['n_'] = lambda x: x + __builtin__._ = gettext.ugettext # use unicode + __builtin__.n_ = lambda x: x ## debug - if 'PYSOL_CHECK_GAMES' in os.environ or \ - 'PYSOL_DEBUG' in os.environ: + if 'PYSOL_CHECK_GAMES' in os.environ or 'PYSOL_DEBUG' in os.environ: settings.CHECK_GAMES = True print 'PySol debugging: set CHECK_GAMES to True' if 'PYSOL_DEBUG' in os.environ: diff --git a/pysollib/main.py b/pysollib/main.py index 4ff93d36..12591a52 100644 --- a/pysollib/main.py +++ b/pysollib/main.py @@ -44,6 +44,7 @@ from util import DataLoader from mfxutil import print_err from resource import Tile from app import Application +from gamedb import GAME_DB from pysolaudio import AbstractAudioClient, PysolSoundServerModuleClient from pysolaudio import Win32AudioClient, OSSAudioClient, PyGameAudioClient from settings import TITLE, SOUND_MOD @@ -149,6 +150,22 @@ def parse_option(argv): # ************************************************************************/ def pysol_init(app, args): + + # init commandline options (undocumented) + opts = parse_option(args) + if not opts: + return 1 + sys.exit(1) + opts, filename = opts + if filename: + app.commandline.loadgame = filename + app.commandline.game = opts['game'] + if opts['gameid'] is not None: + try: + app.commandline.gameid = int(opts['gameid']) + except ValueError: + print_err(_('invalid game id: ') + opts['gameid']) + # try to create the config directory for d in ( app.dn.config, @@ -166,32 +183,52 @@ def pysol_init(app, args): traceback.print_exc() pass - # init commandline options (undocumented) - opts = parse_option(args) - if not opts: - return 1 - sys.exit(1) - opts, filename = opts - if filename: - app.commandline.loadgame = filename - app.commandline.game = opts['game'] - if opts['gameid'] is not None: - try: - app.commandline.gameid = int(opts['gameid']) - except ValueError: - print_err(_('invalid game id: ') + opts['gameid']) + # load options + try: + app.loadOptions() + except: + traceback.print_exc() + pass + + # init DataLoader + f = os.path.join("html", "license.html") + app.dataloader = DataLoader(args[0], f) + + # init toolkit 1) + top = MfxRoot(className=TITLE) + app.top = top + app.top_bg = top.cget("bg") + app.top_cursor = top.cget("cursor") + + # init toolkit 2) + init_root_window(top, app) + + # prepare the progress bar + app.loadImages1() + if not app.progress_images: + app.progress_images = (loadImage(app.gimages.logos[0]), + loadImage(app.gimages.logos[1])) + app.wm_withdraw() + + # create the progress bar + title = _("Welcome to %s") % TITLE + color = app.opt.colors['table'] + if app.tabletile_index > 0: + color = "#008200" + app.intro.progress = PysolProgressBar(app, top, title=title, color=color, + images=app.progress_images, norm=2.0) + app.intro.progress.update(step=1) # init games database + def progressCallback(*args): + app.intro.progress.update(step=1) + GAME_DB.setCallback(progressCallback) import games if not opts['french-only']: import games.ultra import games.mahjongg import games.special - # init DataLoader - f = os.path.join("html", "license.html") - app.dataloader = DataLoader(args[0], f) - # try to load plugins if not opts["noplugins"]: for dir in (os.path.join(app.dataloader.dir, "games"), @@ -201,19 +238,7 @@ def pysol_init(app, args): app.loadPlugins(dir) except: pass - - # init toolkit 1) - top = MfxRoot(className=TITLE) - app.top = top - app.top_bg = top.cget("bg") - app.top_cursor = top.cget("cursor") - - # load options - try: - app.loadOptions() - except: - traceback.print_exc() - pass + GAME_DB.setCallback(None) # init audio 1) app.audio = None @@ -249,12 +274,10 @@ def pysol_init(app, args): else: app.opt.sound_mode = 0 - # init toolkit 2) - init_root_window(top, app) - # check games if len(app.gdb.getGamesIdSortedByName()) == 0: app.wm_withdraw() + app.intro.progress.destroy() d = MfxMessageDialog(top, title=_("%s installation error") % TITLE, text=_(''' No games were found !!! @@ -317,21 +340,6 @@ Please check your %s installation. break app.audio.playContinuousMusic(app.music_playlist) - # prepare the progress bar - app.loadImages1() - if not app.progress_images: - app.progress_images = (loadImage(app.gimages.logos[0]), - loadImage(app.gimages.logos[1])) - app.wm_withdraw() - - # create the progress bar - title = _("Welcome to %s") % TITLE - color = app.opt.colors['table'] - if app.tabletile_index > 0: - color = "#008200" - app.intro.progress = PysolProgressBar(app, top, title=title, color=color, - images=app.progress_images, norm=1.4) - # prepare other images app.loadImages2() app.loadImages3() diff --git a/pysollib/pysolgtk/menubar.py b/pysollib/pysolgtk/menubar.py index eb01fe61..66c16dd4 100644 --- a/pysollib/pysolgtk/menubar.py +++ b/pysollib/pysolgtk/menubar.py @@ -501,7 +501,6 @@ class PysolMenubar(PysolMenubarActions): label = gi.short_name else: label = gi.name - label = _(label) menu_item = gtk.MenuItem(label) menu_item.set_data('user_data', gi.id) menu_item.connect('activate', self.mSelectGame) @@ -523,7 +522,6 @@ class PysolMenubar(PysolMenubarActions): break m = min(n+d-1, len(games)-1) n1, n2 = games[n].name, games[m].name - n1, n2 = _(n1), _(n2) label = n1[:3]+' - '+n2[:3] submenu = self._createSubMenu(menu, label=label) self._addGamesSubMenu(games[n:n+d], submenu) @@ -568,7 +566,7 @@ class PysolMenubar(PysolMenubarActions): # games = {} for gi in mahjongg_games: - c = _(gi.short_name).strip()[0] + c = gi.short_name.strip()[0] if c in games: games[c].append(gi) else: diff --git a/pysollib/pysolgtk/selectgame.py b/pysollib/pysolgtk/selectgame.py index 1840526c..d4f4acdc 100644 --- a/pysollib/pysolgtk/selectgame.py +++ b/pysollib/pysolgtk/selectgame.py @@ -195,8 +195,6 @@ class SelectGameDialogWithPreview(MfxDialog): iter = store.append(root_iter) store.set(iter, 0, root_label, 1, -1) for label, games in gl: - label = _(label) - label = label.replace("&", "") self._addGames(store, iter, label, games) @@ -207,7 +205,6 @@ class SelectGameDialogWithPreview(MfxDialog): store.set(iter, 0, root_label, 1, -1) for id, name in games: child_iter = store.append(iter) - name = _(name) store.set(child_iter, 0, name, 1, id) @@ -292,7 +289,6 @@ class SelectGameDialogWithPreview(MfxDialog): data = [] for label, vg in GI.GAMES_BY_COMPATIBILITY: selecter = lambda gi, vg=vg: gi.id in vg - label = _(label) data.append((label, selecter)) self._addGamesFromData(data, store, root_iter, _("by Compatibility"), all_games) @@ -473,8 +469,8 @@ class SelectGameDialogWithPreview(MfxDialog): def updateInfo(self, gameid): gi = self.app.gdb.get(gameid) # info - name = _(gi.name) - altnames = '\n'.join([_(n) for n in gi.altnames]) + name = gi.name + altnames = '\n'.join(gi.altnames) category = _(CSI.TYPE[gi.category]) type = '' if gi.si.game_type in GI.TYPE_NAMES: diff --git a/pysollib/pysolgtk/tkstats.py b/pysollib/pysolgtk/tkstats.py index bee2c3a9..cf5e8d9d 100644 --- a/pysollib/pysolgtk/tkstats.py +++ b/pysollib/pysolgtk/tkstats.py @@ -86,7 +86,7 @@ class LogFormatter(PysolStatsFormatter): for result in self.getLogResults(player, prev_games): iter = self.store.append(None) self.store.set(iter, - 0, _(result[0]), + 0, result[0], 1, result[1], 2, result[2], 3, result[3], @@ -229,7 +229,7 @@ class Game_StatsDialog: current = 0 for id in self.games_id: gi = self.app.gdb.get(id) - combo.append_text(_(gi.name)) + combo.append_text(gi.name) if id == self.gameid: current = n n += 1 diff --git a/pysollib/tile/menubar.py b/pysollib/tile/menubar.py index 1486bb63..74feac32 100644 --- a/pysollib/tile/menubar.py +++ b/pysollib/tile/menubar.py @@ -702,7 +702,7 @@ class PysolMenubar(PysolMenubarActions): games = {} for gi in mahjongg_games: - c = _(gi.short_name).strip()[0] + c = gi.short_name.strip()[0] if c in games: games[c].append(gi) else: @@ -770,7 +770,7 @@ class PysolMenubar(PysolMenubarActions): if not games[n:n+d]: break m = min(n+d-1, len(games)-1) - label = _(games[n].name)[:3]+' - '+_(games[m].name)[:3] + label = games[n].name[:3] + ' - ' + games[m].name[:3] submenu = MfxMenu(menu, label=label, name=None) self._addSelectGameSubSubMenu(games[n:n+d], submenu, command, variable) @@ -787,9 +787,9 @@ class PysolMenubar(PysolMenubarActions): gi = games[i] columnbreak = i > 0 and (i % cb) == 0 if short_name: - label = _(gi.short_name) + label = gi.short_name else: - label = _(gi.name) + label = gi.name ## menu.add_radiobutton(command=command, variable=variable, ## columnbreak=columnbreak, ## value=gi.id, label=label, name=None) @@ -806,7 +806,7 @@ class PysolMenubar(PysolMenubarActions): if len(games) == 0: menu.add_radiobutton(label='', name=None, state='disabled') elif len(games) > self.__cb_max*4: - games.sort(lambda a, b: cmp(_(a.name), _(b.name))) + games.sort(lambda a, b: cmp(a.name, b.name)) self._addSelectAllGameSubMenu(games, menu, command=self.mSelectGame, variable=self.tkopt.gameid) diff --git a/pysollib/tile/selectgame.py b/pysollib/tile/selectgame.py index efd0ea0f..492081fb 100644 --- a/pysollib/tile/selectgame.py +++ b/pysollib/tile/selectgame.py @@ -68,7 +68,6 @@ class SelectGameNode(SelectDialogTreeNode): # key/value pairs for id, name in self.select_func: if id and name: - name = _(name) # name of game node = SelectGameLeaf(self.tree, self, name, key=id) contents.append(node) else: @@ -77,12 +76,10 @@ class SelectGameNode(SelectDialogTreeNode): # All games ##name = '%s (%s)' % (gi.name, CSI.TYPE_NAME[gi.category]) name = gi.name - name = _(name) # name of game node = SelectGameLeaf(self.tree, self, name, key=gi.id) contents.append(node) elif gi and self.select_func(gi): name = gi.name - name = _(name) # name of game node = SelectGameLeaf(self.tree, self, name, key=gi.id) contents.append(node) return contents or self.tree.data.no_games @@ -110,8 +107,6 @@ class SelectGameData(SelectDialogTreeData): for name, select_func in data: if name is None or not filter(select_func, self.all_games_gi): continue - name = _(name) - name = name.replace("&", "") gg.append(SelectGameNode(None, name, select_func)) g.append(gg) select_mahjongg_game = lambda gi: gi.si.game_type == GI.GT_MAHJONGG @@ -142,7 +137,6 @@ class SelectGameData(SelectDialogTreeData): select_func = lambda gi, games=games: gi.id in games if name is None or not filter(select_func, self.all_games_gi): continue - name = _(name) gg.append(SelectGameNode(None, name, select_func)) if 1 and gg: s_by_compatibility = SelectGameNode(None, _("by Compatibility"), @@ -553,8 +547,8 @@ class SelectGameDialogWithPreview(SelectGameDialog): def updateInfo(self, gameid): gi = self.app.gdb.get(gameid) # info - name = _(gi.name) - altnames = '\n'.join([_(n) for n in gi.altnames]) + name = gi.name + altnames = '\n'.join(gi.altnames) category = _(CSI.TYPE[gi.category]) type = '' if gi.si.game_type in GI.TYPE_NAMES: diff --git a/pysollib/tile/solverdialog.py b/pysollib/tile/solverdialog.py index 547d6e77..ac5620d5 100644 --- a/pysollib/tile/solverdialog.py +++ b/pysollib/tile/solverdialog.py @@ -78,7 +78,6 @@ class SolverDialog(MfxDialog): gamenames = [''] for id in games: name = app.getGameTitleName(id) - name = _(name) gamenames.append(name) self.games[name] = id gamenames.sort() @@ -231,7 +230,6 @@ class SolverDialog(MfxDialog): def connectGame(self, game): name = self.app.getGameTitleName(game.id) - name = _(name) if name in self.gamenames: self.start_button.config(state='normal') i = self.gamenames.index(name) diff --git a/pysollib/tile/tkstats.py b/pysollib/tile/tkstats.py index b2e4743a..be06efd8 100644 --- a/pysollib/tile/tkstats.py +++ b/pysollib/tile/tkstats.py @@ -392,7 +392,6 @@ class TreeFormatter(PysolStatsFormatter): num_rows = 0 for result in self.getLogResults(player, prev_games): t1, t2, t3, t4, t5, t6 = result - t1 = _(t1) # game name id = self.tree.insert(None, "end", text=t1, values=(t2, t3, t4)) self.parent_window.tree_items.append(id) num_rows += 1 @@ -861,7 +860,10 @@ class ProgressionFrame(Tile.Frame): frame.columnconfigure(0, weight=1) # constants - self.canvas_width, self.canvas_height = 550, 250 + w = dialog.tkfont.measure('M') * 42 + w = max(w, 500) + w = min(w, 600) + self.canvas_width, self.canvas_height = w, 250 if parent.winfo_screenwidth() < 800 or \ parent.winfo_screenheight() < 600: self.canvas_width, self.canvas_height = 400, 200 diff --git a/pysollib/tile/tkwrap.py b/pysollib/tile/tkwrap.py index a71b462d..e5ae7c6e 100644 --- a/pysollib/tile/tkwrap.py +++ b/pysollib/tile/tkwrap.py @@ -39,6 +39,7 @@ __all__ = ['TclError', # imports import Tkinter TclError = Tkinter.TclError +import Tile # PySol imports from tkconst import EVENT_PROPAGATE @@ -52,6 +53,7 @@ from tkconst import EVENT_PROPAGATE class MfxRoot(Tkinter.Tk): def __init__(self, **kw): Tkinter.Tk.__init__(self, **kw) + Tile.initialize(self) self.app = None self.wm_protocol('WM_DELETE_WINDOW', self.wmDeleteWindow) # for interruptible sleep diff --git a/pysollib/tk/menubar.py b/pysollib/tk/menubar.py index 8caa070d..178ec1ae 100644 --- a/pysollib/tk/menubar.py +++ b/pysollib/tk/menubar.py @@ -706,7 +706,7 @@ class PysolMenubar(PysolMenubarActions): games = {} for gi in mahjongg_games: - c = _(gi.short_name).strip()[0] + c = gi.short_name.strip()[0] if c in games: games[c].append(gi) else: @@ -774,7 +774,7 @@ class PysolMenubar(PysolMenubarActions): if not games[n:n+d]: break m = min(n+d-1, len(games)-1) - label = _(games[n].name)[:3]+' - '+_(games[m].name)[:3] + label = games[n].name[:3] + ' - ' + games[m].name[:3] submenu = MfxMenu(menu, label=label, name=None) self._addSelectGameSubSubMenu(games[n:n+d], submenu, command, variable) @@ -791,12 +791,9 @@ class PysolMenubar(PysolMenubarActions): gi = games[i] columnbreak = i > 0 and (i % cb) == 0 if short_name: - label = _(gi.short_name) + label = gi.short_name else: - label = _(gi.name) -## menu.add_radiobutton(command=command, variable=variable, -## columnbreak=columnbreak, -## value=gi.id, label=label, name=None) + label = gi.name # optimized by inlining menu.tk.call((menu._w, 'add', 'radiobutton') + menu._options({'command': command, @@ -810,7 +807,7 @@ class PysolMenubar(PysolMenubarActions): if len(games) == 0: menu.add_radiobutton(label='', name=None, state='disabled') elif len(games) > self.__cb_max*4: - games.sort(lambda a, b: cmp(_(a.name), _(b.name))) + games.sort(lambda a, b: cmp(a.name, b.name)) self._addSelectAllGameSubMenu(games, menu, command=self.mSelectGame, variable=self.tkopt.gameid) diff --git a/pysollib/tk/selectgame.py b/pysollib/tk/selectgame.py index 260a5aaf..a698a710 100644 --- a/pysollib/tk/selectgame.py +++ b/pysollib/tk/selectgame.py @@ -68,7 +68,6 @@ class SelectGameNode(SelectDialogTreeNode): # key/value pairs for id, name in self.select_func: if id and name: - name = _(name) # name of game node = SelectGameLeaf(self.tree, self, name, key=id) contents.append(node) else: @@ -77,12 +76,10 @@ class SelectGameNode(SelectDialogTreeNode): # All games ##name = '%s (%s)' % (gi.name, CSI.TYPE_NAME[gi.category]) name = gi.name - name = _(name) # name of game node = SelectGameLeaf(self.tree, self, name, key=gi.id) contents.append(node) elif gi and self.select_func(gi): name = gi.name - name = _(name) # name of game node = SelectGameLeaf(self.tree, self, name, key=gi.id) contents.append(node) return contents or self.tree.data.no_games @@ -110,8 +107,6 @@ class SelectGameData(SelectDialogTreeData): for name, select_func in data: if name is None or not filter(select_func, self.all_games_gi): continue - name = _(name) - name = name.replace("&", "") gg.append(SelectGameNode(None, name, select_func)) g.append(gg) select_mahjongg_game = lambda gi: gi.si.game_type == GI.GT_MAHJONGG @@ -142,7 +137,6 @@ class SelectGameData(SelectDialogTreeData): select_func = lambda gi, games=games: gi.id in games if name is None or not filter(select_func, self.all_games_gi): continue - name = _(name) gg.append(SelectGameNode(None, name, select_func)) if 1 and gg: s_by_compatibility = SelectGameNode(None, _("by Compatibility"), @@ -554,8 +548,7 @@ class SelectGameDialogWithPreview(SelectGameDialog): def updateInfo(self, gameid): gi = self.app.gdb.get(gameid) # info - name = _(gi.name) - altnames = '\n'.join([_(n) for n in gi.altnames]) + altnames = '\n'.join(gi.altnames) category = _(CSI.TYPE[gi.category]) type = '' if gi.si.game_type in GI.TYPE_NAMES: diff --git a/pysollib/tk/solverdialog.py b/pysollib/tk/solverdialog.py index ff2d5876..cd3a2f99 100644 --- a/pysollib/tk/solverdialog.py +++ b/pysollib/tk/solverdialog.py @@ -77,7 +77,6 @@ class SolverDialog(MfxDialog): gamenames = [''] for id in games: name = app.getGameTitleName(id) - name = _(name) gamenames.append(name) self.games[name] = id gamenames.sort() @@ -234,7 +233,6 @@ class SolverDialog(MfxDialog): def connectGame(self, game): name = self.app.getGameTitleName(game.id) - name = _(name) if name in self.gamenames: self.start_button.config(state='normal') i = self.gamenames.index(name) diff --git a/pysollib/tk/tkstats.py b/pysollib/tk/tkstats.py index 59c71a25..e7b81f95 100644 --- a/pysollib/tk/tkstats.py +++ b/pysollib/tk/tkstats.py @@ -431,7 +431,6 @@ class CanvasFormatter(PysolStatsFormatter): if not player or not prev_games: return 0 for result in self.getLogResults(player, prev_games): - result[0] = _(result[0]) # game name s = "%-25s %-20s %-17s %s" % tuple(result[:4]) id = self.canvas.create_text(1, y, text=s, anchor="nw", font=self.font, fill=self.fg) diff --git a/scripts/all_games.py b/scripts/all_games.py index 4f7b4a9f..34dbc3c9 100755 --- a/scripts/all_games.py +++ b/scripts/all_games.py @@ -16,6 +16,9 @@ rules_dir = os.path.normpath(os.path.join(pysollib_path, 'data/html/rules')) #pprint(sys.path) #print rules_dir +from pysollib.init import fix_gettext +fix_gettext() + import pysollib.games import pysollib.games.special import pysollib.games.ultra