diff --git a/Makefile b/Makefile index 44afc81e..6c2531cb 100644 --- a/Makefile +++ b/Makefile @@ -4,8 +4,7 @@ override LANG=C PYSOLLIB_FILES=pysollib/tk/*.py pysollib/*.py \ pysollib/games/*.py pysollib/games/special/*.py \ - pysollib/games/contrib/*.py pysollib/games/ultra/*.py \ - pysollib/games/mahjongg/*.py + pysollib/games/ultra/*.py pysollib/games/mahjongg/*.py .PHONY : install dist all_games_html rules pot mo diff --git a/po/games.pot b/po/games.pot index d218b330..fb51027c 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: Sat Jun 24 16:07:12 2006\n" +"POT-Creation-Date: Wed Aug 9 19:09:14 2006\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -66,6 +66,9 @@ msgstr "" msgid "Acquaintance" msgstr "" +msgid "Adela" +msgstr "" + msgid "Agnes Bernauer" msgstr "" @@ -102,12 +105,21 @@ msgstr "" msgid "Alternation" msgstr "" +msgid "Alternations" +msgstr "" + msgid "Amazons" msgstr "" +msgid "American Canister" +msgstr "" + msgid "American Toad" msgstr "" +msgid "Anno Domini" +msgstr "" + msgid "Another Round" msgstr "" @@ -141,6 +153,9 @@ msgstr "" msgid "Art Moderne" msgstr "" +msgid "Artic Garden" +msgstr "" + msgid "Ashrafi" msgstr "" @@ -150,6 +165,12 @@ msgstr "" msgid "Ashwapati" msgstr "" +msgid "Assembly" +msgstr "" + +msgid "Athena" +msgstr "" + msgid "Auld Lang Syne" msgstr "" @@ -183,6 +204,9 @@ msgstr "" msgid "Balarama" msgstr "" +msgid "Bastille Day" +msgstr "" + msgid "Bastion" msgstr "" @@ -195,6 +219,9 @@ msgstr "" msgid "Batsford" msgstr "" +msgid "Batsford Again" +msgstr "" + msgid "Bavarian Patience" msgstr "" @@ -204,6 +231,9 @@ msgstr "" msgid "Beatle" msgstr "" +msgid "Beetle" +msgstr "" + msgid "Beleaguered Castle" msgstr "" @@ -213,6 +243,9 @@ msgstr "" msgid "Betsy Ross" msgstr "" +msgid "Big Bertha" +msgstr "" + msgid "Big Braid" msgstr "" @@ -222,6 +255,12 @@ msgstr "" msgid "Big Courtyard" msgstr "" +msgid "Big Deal" +msgstr "" + +msgid "Big Divorce" +msgstr "" + msgid "Big Easy" msgstr "" @@ -231,9 +270,6 @@ msgstr "" msgid "Big Forty" msgstr "" -msgid "Big Ground" -msgstr "" - msgid "Big Harp" msgstr "" @@ -297,6 +333,12 @@ msgstr "" msgid "Boat" msgstr "" +msgid "Bonaparte" +msgstr "" + +msgid "Boost" +msgstr "" + msgid "Boudoir" msgstr "" @@ -309,6 +351,12 @@ msgstr "" msgid "Braid" msgstr "" +msgid "Brazilian Patience" +msgstr "" + +msgid "Breakwater" +msgstr "" + msgid "Bridesmaids" msgstr "" @@ -327,9 +375,18 @@ msgstr "" msgid "Brigade" msgstr "" +msgid "Brisbane" +msgstr "" + msgid "Bristol" msgstr "" +msgid "British Blockade" +msgstr "" + +msgid "British Canister" +msgstr "" + msgid "British Constitution" msgstr "" @@ -363,6 +420,9 @@ msgstr "" msgid "Canfield" msgstr "" +msgid "Canfield Rush" +msgstr "" + msgid "Canister" msgstr "" @@ -447,9 +507,15 @@ msgstr "" msgid "Chessboard" msgstr "" +msgid "Chinaman" +msgstr "" + msgid "Chinese Discipline" msgstr "" +msgid "Chinese Klondike" +msgstr "" + msgid "Chinese Solitaire" msgstr "" @@ -459,6 +525,12 @@ msgstr "" msgid "Cicely" msgstr "" +msgid "Circle Eight" +msgstr "" + +msgid "Circle Nine" +msgstr "" + msgid "Citadel" msgstr "" @@ -507,12 +579,24 @@ msgstr "" msgid "Corona" msgstr "" +msgid "Cotillion" +msgstr "" + msgid "Courtyard" msgstr "" +msgid "Cover" +msgstr "" + +msgid "Crescent" +msgstr "" + msgid "Cross" msgstr "" +msgid "Crossroads" +msgstr "" + msgid "Crown" msgstr "" @@ -549,6 +633,9 @@ msgstr "" msgid "Deep Well" msgstr "" +msgid "Delivery" +msgstr "" + msgid "Demon" msgstr "" @@ -579,6 +666,9 @@ msgstr "" msgid "Diamond" msgstr "" +msgid "Diamond Mine" +msgstr "" + msgid "Die Bildgallerie" msgstr "" @@ -615,6 +705,12 @@ msgstr "" msgid "Dojouji's Game Doubled" msgstr "" +msgid "Doorway" +msgstr "" + +msgid "Double Acquaintance" +msgstr "" + msgid "Double Bisley" msgstr "" @@ -633,9 +729,15 @@ msgstr "" msgid "Double Easthaven" msgstr "" +msgid "Double Fives" +msgstr "" + msgid "Double FreeCell" msgstr "" +msgid "Double Gold Mine" +msgstr "" + msgid "Double Grasshopper" msgstr "" @@ -669,12 +771,18 @@ msgstr "" msgid "Double Mahjongg Two Squares" msgstr "" +msgid "Double Measure" +msgstr "" + msgid "Double Rail" msgstr "" msgid "Double Russian Solitaire" msgstr "" +msgid "Double Russian Spider" +msgstr "" + msgid "Double Samuri" msgstr "" @@ -687,6 +795,9 @@ msgstr "" msgid "Double Yukon" msgstr "" +msgid "Double or Quits" +msgstr "" + msgid "Doublets" msgstr "" @@ -708,6 +819,9 @@ msgstr "" msgid "Drivel" msgstr "" +msgid "Duchess" +msgstr "" + msgid "Dude" msgstr "" @@ -717,6 +831,9 @@ msgstr "" msgid "Dumfries" msgstr "" +msgid "Dutch Solitaire" +msgstr "" + msgid "Eagle Wing" msgstr "" @@ -732,6 +849,9 @@ msgstr "" msgid "Easy x One" msgstr "" +msgid "Eclipse" +msgstr "" + msgid "Egyptian Solitaire" msgstr "" @@ -756,6 +876,12 @@ msgstr "" msgid "Elevator" msgstr "" +msgid "Elevens" +msgstr "" + +msgid "Elevens Too" +msgstr "" + msgid "Emperor" msgstr "" @@ -768,12 +894,18 @@ msgstr "" msgid "Escalator" msgstr "" +msgid "Eternal Triangle" +msgstr "" + msgid "Eularia" msgstr "" msgid "Excuse" msgstr "" +msgid "Exiled Kings" +msgstr "" + msgid "Express" msgstr "" @@ -783,6 +915,9 @@ msgstr "" msgid "F-15 Eagle" msgstr "" +msgid "Faerie Queen" +msgstr "" + msgid "Fair Lucy" msgstr "" @@ -795,12 +930,21 @@ msgstr "" msgid "Fan" msgstr "" +msgid "Fanny" +msgstr "" + msgid "Farandole" msgstr "" +msgid "Farmer's Wife" +msgstr "" + msgid "Faro" msgstr "" +msgid "Fascination Fan" +msgstr "" + msgid "Fastness" msgstr "" @@ -816,9 +960,18 @@ msgstr "" msgid "Fifteen plus" msgstr "" +msgid "Fifteens" +msgstr "" + +msgid "Final Battle" +msgstr "" + msgid "Firecracker" msgstr "" +msgid "Firing Squad" +msgstr "" + msgid "First Law" msgstr "" @@ -834,9 +987,15 @@ msgstr "" msgid "Five Pyramids" msgstr "" +msgid "Flamenco" +msgstr "" + msgid "Floating City" msgstr "" +msgid "Floradora" +msgstr "" + msgid "Flower Arrangement" msgstr "" @@ -873,6 +1032,9 @@ msgstr "" msgid "Fortunes" msgstr "" +msgid "Forty Nine" +msgstr "" + msgid "Forty Thieves" msgstr "" @@ -897,9 +1059,15 @@ msgstr "" msgid "Four Winds" msgstr "" +msgid "Foursome" +msgstr "" + msgid "Fourteen" msgstr "" +msgid "Frames" +msgstr "" + msgid "Fred's Spider" msgstr "" @@ -969,6 +1137,9 @@ msgstr "" msgid "Geoffrey" msgstr "" +msgid "German FreeCell" +msgstr "" + msgid "German Patience" msgstr "" @@ -978,9 +1149,15 @@ msgstr "" msgid "Giant" msgstr "" +msgid "Giza" +msgstr "" + msgid "Glade" msgstr "" +msgid "Glencoe" +msgstr "" + msgid "Glenwood" msgstr "" @@ -993,27 +1170,48 @@ msgstr "" msgid "Gnat" msgstr "" +msgid "Gold Mine" +msgstr "" + +msgid "Gold Rush" +msgstr "" + msgid "Golf" msgstr "" msgid "Good Measure" msgstr "" +msgid "Gotham" +msgstr "" + msgid "Grampus" msgstr "" msgid "Granada" msgstr "" +msgid "Grand Duchess" +msgstr "" + +msgid "Grand Duchess +" +msgstr "" + msgid "Grandfather" msgstr "" msgid "Grandfather's Clock" msgstr "" +msgid "Grandmamma's Patience" +msgstr "" + msgid "Grandmother's Game" msgstr "" +msgid "Grant's Reinforcement" +msgstr "" + msgid "Grasshopper" msgstr "" @@ -1065,12 +1263,18 @@ msgstr "" msgid "Hare" msgstr "" +msgid "Harvestman" +msgstr "" + msgid "Hayagriva" msgstr "" msgid "Haystack" msgstr "" +msgid "Headquarters" +msgstr "" + msgid "Heads and Tails" msgstr "" @@ -1113,12 +1317,18 @@ msgstr "" msgid "Hovercraft" msgstr "" +msgid "How They Run" +msgstr "" + msgid "Hurdles" msgstr "" msgid "Hurricane" msgstr "" +msgid "Hypotenuse" +msgstr "" + msgid "Idiot's Delight" msgstr "" @@ -1140,6 +1350,9 @@ msgstr "" msgid "Inca" msgstr "" +msgid "Indefatigable" +msgstr "" + msgid "Indian" msgstr "" @@ -1158,9 +1371,18 @@ msgstr "" msgid "Intelligence +" msgstr "" +msgid "Interchange" +msgstr "" + +msgid "Interment" +msgstr "" + msgid "Interregnum" msgstr "" +msgid "Intrigue" +msgstr "" + msgid "Iris" msgstr "" @@ -1200,6 +1422,9 @@ msgstr "" msgid "Jumbo" msgstr "" +msgid "Junction" +msgstr "" + msgid "Jungle" msgstr "" @@ -1242,6 +1467,9 @@ msgstr "" msgid "King Only Hex A Klon" msgstr "" +msgid "KingCell" +msgstr "" + msgid "Kingdom" msgstr "" @@ -1317,9 +1545,15 @@ msgstr "" msgid "La Belle Lucie" msgstr "" +msgid "La Chatelaine" +msgstr "" + msgid "La Nivernaise" msgstr "" +msgid "La Parisienne" +msgstr "" + msgid "Labyrinth" msgstr "" @@ -1335,6 +1569,12 @@ msgstr "" msgid "Lady of the Manor" msgstr "" +msgid "Lafayette" +msgstr "" + +msgid "Laggard Lady" +msgstr "" + msgid "Lanes" msgstr "" @@ -1347,6 +1587,9 @@ msgstr "" msgid "Lara's Game Relaxed" msgstr "" +msgid "Last Chance" +msgstr "" + msgid "Lattice" msgstr "" @@ -1356,9 +1599,15 @@ msgstr "" msgid "Le Grande Teton" msgstr "" +msgid "Legion" +msgstr "" + msgid "Leo" msgstr "" +msgid "Les Quatre Coins" +msgstr "" + msgid "Lesser Queue" msgstr "" @@ -1392,12 +1641,18 @@ msgstr "" msgid "Little Napoleon" msgstr "" +msgid "Lobachevsky" +msgstr "" + msgid "Long Braid" msgstr "" msgid "Long Journey to Cuddapah" msgstr "" +msgid "Long Tail" +msgstr "" + msgid "Loose Ends" msgstr "" @@ -1407,6 +1662,12 @@ msgstr "" msgid "Lucas" msgstr "" +msgid "Lucky Piles" +msgstr "" + +msgid "Lucky Thirteen" +msgstr "" + msgid "Madame" msgstr "" @@ -1959,6 +2220,9 @@ msgstr "" msgid "Makara" msgstr "" +msgid "Mamy Susan" +msgstr "" + msgid "Mancunian" msgstr "" @@ -1971,9 +2235,15 @@ msgstr "" msgid "Marie Rose" msgstr "" +msgid "Marshal" +msgstr "" + msgid "Martha" msgstr "" +msgid "Master" +msgstr "" + msgid "Matriarchy" msgstr "" @@ -1995,6 +2265,9 @@ msgstr "" msgid "Maze" msgstr "" +msgid "Measure" +msgstr "" + msgid "Memory 24" msgstr "" @@ -2172,6 +2445,9 @@ msgstr "" msgid "Numerica" msgstr "" +msgid "Numerica (2 decks)" +msgstr "" + msgid "Ocean Towers" msgstr "" @@ -2193,6 +2469,9 @@ msgstr "" msgid "Old Mole" msgstr "" +msgid "One234" +msgstr "" + msgid "Oonsoo" msgstr "" @@ -2214,6 +2493,9 @@ msgstr "" msgid "Open Peek" msgstr "" +msgid "Open Sly Fox" +msgstr "" + msgid "Open Spider" msgstr "" @@ -2229,6 +2511,9 @@ msgstr "" msgid "Osmosis" msgstr "" +msgid "Outback Patience" +msgstr "" + msgid "Owl" msgstr "" @@ -2244,6 +2529,9 @@ msgstr "" msgid "Panopticon" msgstr "" +msgid "Pantagruel" +msgstr "" + msgid "Pantheon" msgstr "" @@ -2256,6 +2544,15 @@ msgstr "" msgid "Parashurama" msgstr "" +msgid "Parisian" +msgstr "" + +msgid "Parisienne" +msgstr "" + +msgid "Parliament" +msgstr "" + msgid "Pas Seul" msgstr "" @@ -2316,6 +2613,9 @@ msgstr "" msgid "Picture Gallery" msgstr "" +msgid "Picture Patience" +msgstr "" + msgid "Pigtail" msgstr "" @@ -2349,6 +2649,12 @@ msgstr "" msgid "Portuguese Solitaire" msgstr "" +msgid "Primrose" +msgstr "" + +msgid "Princess Patience" +msgstr "" + msgid "Progression" msgstr "" @@ -2385,12 +2691,21 @@ msgstr "" msgid "Quadruple Alliance" msgstr "" +msgid "Quartets" +msgstr "" + +msgid "Queen Victoria" +msgstr "" + msgid "Queen of Italy" msgstr "" msgid "Queenie" msgstr "" +msgid "Queensland" +msgstr "" + msgid "Quilt" msgstr "" @@ -2436,6 +2751,9 @@ msgstr "" msgid "Red and Black" msgstr "" +msgid "Regal Family" +msgstr "" + msgid "Reindeer" msgstr "" @@ -2463,6 +2781,9 @@ msgstr "" msgid "Retinue" msgstr "" +msgid "Right Triangle" +msgstr "" + msgid "Rings" msgstr "" @@ -2502,6 +2823,9 @@ msgstr "" msgid "Roman Arena" msgstr "" +msgid "Roosevelt" +msgstr "" + msgid "Roost" msgstr "" @@ -2517,6 +2841,9 @@ msgstr "" msgid "Rows of Four" msgstr "" +msgid "Royal Aids" +msgstr "" + msgid "Royal Cotillion" msgstr "" @@ -2529,6 +2856,12 @@ msgstr "" msgid "Royal Marriage" msgstr "" +msgid "Royal Parade" +msgstr "" + +msgid "Royal Rendezvous" +msgstr "" + msgid "Rugby" msgstr "" @@ -2547,18 +2880,27 @@ msgstr "" msgid "Russian Solitaire" msgstr "" +msgid "Russian Spider" +msgstr "" + msgid "Salic Law" msgstr "" msgid "Samuri" msgstr "" +msgid "San Juan Hill" +msgstr "" + msgid "Sanibel" msgstr "" msgid "Saratoga" msgstr "" +msgid "Saxony" +msgstr "" + msgid "Scarab" msgstr "" @@ -2580,12 +2922,18 @@ msgstr "" msgid "Screw Up" msgstr "" +msgid "Scuffle" +msgstr "" + msgid "Sea Towers" msgstr "" msgid "Seahaven Towers" msgstr "" +msgid "Selective Castle" +msgstr "" + msgid "Senate" msgstr "" @@ -2610,6 +2958,9 @@ msgstr "" msgid "Seven by Four" msgstr "" +msgid "Shady Lanes" +msgstr "" + msgid "Shamrocks" msgstr "" @@ -2646,6 +2997,9 @@ msgstr "" msgid "Shisen-Sho 24x12" msgstr "" +msgid "Short Tail" +msgstr "" + msgid "Siam" msgstr "" @@ -2688,9 +3042,15 @@ msgstr "" msgid "Sixes and Sevens" msgstr "" +msgid "Skippy" +msgstr "" + msgid "Skiz" msgstr "" +msgid "Sly Fox" +msgstr "" + msgid "Small Harp" msgstr "" @@ -2709,9 +3069,15 @@ msgstr "" msgid "Solid Square" msgstr "" +msgid "Solstice" +msgstr "" + msgid "Somerset" msgstr "" +msgid "Soother" +msgstr "" + msgid "Souter" msgstr "" @@ -2805,6 +3171,9 @@ msgstr "" msgid "Step Pyramid" msgstr "" +msgid "Step-Up" +msgstr "" + msgid "Steps" msgstr "" @@ -2823,12 +3192,18 @@ msgstr "" msgid "Straight Up" msgstr "" +msgid "Strata" +msgstr "" + msgid "Strategerie" msgstr "" msgid "Strategy" msgstr "" +msgid "Strategy +" +msgstr "" + msgid "Streets" msgstr "" @@ -2838,6 +3213,9 @@ msgstr "" msgid "Stronghold" msgstr "" +msgid "Suit Elevens" +msgstr "" + msgid "Sukis" msgstr "" @@ -2925,6 +3303,12 @@ msgstr "" msgid "The Great Wall" msgstr "" +msgid "The Little Corporal" +msgstr "" + +msgid "The Spark" +msgstr "" + msgid "The Wish" msgstr "" @@ -2940,6 +3324,9 @@ msgstr "" msgid "Thirteen Up" msgstr "" +msgid "Thirteens" +msgstr "" + msgid "Thirty Six" msgstr "" @@ -2952,6 +3339,9 @@ msgstr "" msgid "Three Peaks Non-scoring" msgstr "" +msgid "Three Pirates" +msgstr "" + msgid "Three Shuffles and a Draw" msgstr "" @@ -2994,6 +3384,9 @@ msgstr "" msgid "Traditional Reviewed" msgstr "" +msgid "Trapdoor" +msgstr "" + msgid "Treasure Trove" msgstr "" @@ -3003,15 +3396,15 @@ msgstr "" msgid "Trefoil" msgstr "" -msgid "Tri Peaks" -msgstr "" - msgid "Trika" msgstr "" msgid "Trillium" msgstr "" +msgid "Triple Alliance" +msgstr "" + msgid "Triple Canfield" msgstr "" @@ -3039,9 +3432,18 @@ msgstr "" msgid "Triple Yukon" msgstr "" +msgid "Troika" +msgstr "" + +msgid "Troika +" +msgstr "" + msgid "Trusty Twelve" msgstr "" +msgid "Tuxedo" +msgstr "" + msgid "Twenty" msgstr "" @@ -3051,6 +3453,9 @@ msgstr "" msgid "Twin Picks" msgstr "" +msgid "Twin Queens" +msgstr "" + msgid "Twin Temples" msgstr "" @@ -3063,9 +3468,18 @@ msgstr "" msgid "Two Squares" msgstr "" +msgid "Ukrainian Solitaire" +msgstr "" + msgid "Union Square" msgstr "" +msgid "Unlimited" +msgstr "" + +msgid "Usk" +msgstr "" + msgid "Vagues" msgstr "" @@ -3081,13 +3495,16 @@ msgstr "" msgid "Variegated Canfield" msgstr "" +msgid "Vassal" +msgstr "" + msgid "Vegas Klondike" msgstr "" msgid "Vertical" msgstr "" -msgid "Very Big Ground" +msgid "Very Big Divorce" msgstr "" msgid "Vi" @@ -3096,6 +3513,9 @@ msgstr "" msgid "Victory Arrow" msgstr "" +msgid "Virginia Reel" +msgstr "" + msgid "Wake-Robin" msgstr "" @@ -3114,6 +3534,9 @@ msgstr "" msgid "Wasp" msgstr "" +msgid "Waterloo" +msgstr "" + msgid "Wave Motion" msgstr "" @@ -3141,6 +3564,9 @@ msgstr "" msgid "Whatever" msgstr "" +msgid "Wheatsheaf" +msgstr "" + msgid "Wheel of Fortune" msgstr "" @@ -3165,6 +3591,9 @@ msgstr "" msgid "Wisteria" msgstr "" +msgid "Wood" +msgstr "" + msgid "X-Files" msgstr "" diff --git a/po/pysol.pot b/po/pysol.pot index 75d594a7..a61a78e6 100644 --- a/po/pysol.pot +++ b/po/pysol.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: Sat Jun 24 16:07:07 2006\n" +"POT-Creation-Date: Wed Aug 9 19:09:09 2006\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -15,196 +15,196 @@ msgstr "" "Generated-By: pygettext.py 1.5\n" -#: pysollib/actions.py:346 pysollib/tk/toolbar.py:183 +#: pysollib/actions.py:358 pysollib/tk/toolbar.py:197 msgid "New game" msgstr "" -#: pysollib/actions.py:359 pysollib/tk/menubar.py:666 -#: pysollib/tk/menubar.py:680 +#: pysollib/actions.py:371 pysollib/tk/menubar.py:698 +#: pysollib/tk/menubar.py:712 msgid "Select game" msgstr "" -#: pysollib/actions.py:382 +#: pysollib/actions.py:394 msgid "Invalid game number" msgstr "" -#: pysollib/actions.py:383 +#: pysollib/actions.py:395 msgid "" "Invalid game number\n" msgstr "" -#: pysollib/actions.py:400 +#: pysollib/actions.py:412 msgid "Select next game number" msgstr "" -#: pysollib/actions.py:409 pysollib/actions.py:419 +#: pysollib/actions.py:421 pysollib/actions.py:431 msgid "Select new game number" msgstr "" -#: pysollib/actions.py:410 +#: pysollib/actions.py:422 msgid "" "\n" "\n" "Enter new game number" msgstr "" -#: pysollib/actions.py:411 +#: pysollib/actions.py:423 msgid "&Next number" msgstr "" -#: pysollib/actions.py:411 pysollib/app.py:1113 pysollib/app.py:1125 -#: pysollib/game.py:837 pysollib/game.py:1651 pysollib/main.py:413 -#: pysollib/main.py:421 pysollib/tk/colorsdialog.py:131 -#: pysollib/tk/edittextdialog.py:82 pysollib/tk/fontsdialog.py:140 -#: pysollib/tk/fontsdialog.py:204 pysollib/tk/gameinfodialog.py:143 +#: pysollib/actions.py:423 pysollib/app.py:1142 pysollib/app.py:1154 +#: pysollib/game.py:904 pysollib/game.py:1828 pysollib/main.py:439 +#: pysollib/main.py:447 pysollib/tk/colorsdialog.py:132 +#: 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:240 #: pysollib/tk/selectcardset.py:396 pysollib/tk/selecttile.py:158 -#: pysollib/tk/soundoptionsdialog.py:171 pysollib/tk/soundoptionsdialog.py:225 -#: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkhtml.py:474 +#: pysollib/tk/soundoptionsdialog.py:170 pysollib/tk/soundoptionsdialog.py:211 +#: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkhtml.py:503 #: pysollib/tk/tkstats.py:288 pysollib/tk/tkstats.py:573 #: pysollib/tk/tkstats.py:647 pysollib/tk/tkstats.py:663 #: pysollib/tk/tkstats.py:705 pysollib/tk/tkstats.py:777 -#: pysollib/tk/tkstats.py:861 pysollib/tk/tkwidget.py:156 -#: pysollib/tk/tkwidget.py:320 +#: pysollib/tk/tkstats.py:861 pysollib/tk/tkwidget.py:159 +#: pysollib/tk/tkwidget.py:324 msgid "&OK" msgstr "" -#: pysollib/actions.py:411 pysollib/app.py:1125 pysollib/game.py:837 -#: pysollib/game.py:1214 pysollib/game.py:1229 pysollib/game.py:1235 -#: pysollib/game.py:1240 pysollib/tk/colorsdialog.py:131 -#: pysollib/tk/edittextdialog.py:82 pysollib/tk/fontsdialog.py:140 -#: pysollib/tk/fontsdialog.py:204 pysollib/tk/menubar.py:849 -#: pysollib/tk/menubar.py:851 pysollib/tk/playeroptionsdialog.py:85 +#: pysollib/actions.py:423 pysollib/app.py:1154 pysollib/game.py:904 +#: pysollib/game.py:1290 pysollib/game.py:1305 pysollib/game.py:1312 +#: pysollib/game.py:1318 pysollib/tk/colorsdialog.py:132 +#: pysollib/tk/edittextdialog.py:82 pysollib/tk/fontsdialog.py:143 +#: pysollib/tk/fontsdialog.py:205 pysollib/tk/menubar.py:893 +#: pysollib/tk/menubar.py:895 pysollib/tk/playeroptionsdialog.py:85 #: pysollib/tk/playeroptionsdialog.py:160 pysollib/tk/selectcardset.py:240 -#: pysollib/tk/selectgame.py:275 pysollib/tk/selectgame.py:417 -#: pysollib/tk/selecttile.py:158 pysollib/tk/soundoptionsdialog.py:171 -#: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkwidget.py:320 +#: pysollib/tk/selectgame.py:266 pysollib/tk/selectgame.py:407 +#: pysollib/tk/selecttile.py:158 pysollib/tk/soundoptionsdialog.py:170 +#: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkwidget.py:324 msgid "&Cancel" msgstr "" -#: pysollib/actions.py:427 +#: pysollib/actions.py:439 msgid "Select random game" msgstr "" -#: pysollib/actions.py:463 +#: pysollib/actions.py:475 msgid "Select next game" msgstr "" -#: pysollib/actions.py:496 pysollib/tk/toolbar.py:197 +#: pysollib/actions.py:508 pysollib/tk/toolbar.py:211 msgid "Quit " msgstr "" -#: pysollib/actions.py:546 +#: pysollib/actions.py:558 msgid "Clear bookmarks" msgstr "" -#: pysollib/actions.py:547 +#: pysollib/actions.py:559 msgid "Clear all bookmarks ?" msgstr "" -#: pysollib/actions.py:557 +#: pysollib/actions.py:569 msgid "Restart game" msgstr "" -#: pysollib/actions.py:558 +#: pysollib/actions.py:570 msgid "Restart this game ?" msgstr "" -#: pysollib/actions.py:595 +#: pysollib/actions.py:611 msgid "" "Comments for %s:\n" "\n" msgstr "" -#: pysollib/actions.py:597 +#: pysollib/actions.py:613 msgid "Comments for " msgstr "" -#: pysollib/actions.py:615 pysollib/actions.py:651 +#: pysollib/actions.py:631 pysollib/actions.py:667 msgid "Error while writing to file" msgstr "" -#: pysollib/actions.py:618 pysollib/actions.py:654 +#: pysollib/actions.py:634 pysollib/actions.py:670 msgid " Info" msgstr "" -#: pysollib/actions.py:619 +#: pysollib/actions.py:635 msgid "" "Comments were appended to\n" "\n" msgstr "" -#: pysollib/actions.py:636 +#: pysollib/actions.py:652 msgid "Demo statistics" msgstr "" -#: pysollib/actions.py:639 +#: pysollib/actions.py:655 msgid "Your statistics" msgstr "" -#: pysollib/actions.py:655 +#: pysollib/actions.py:671 msgid "" " were appended to\n" "\n" msgstr "" -#: pysollib/actions.py:669 +#: pysollib/actions.py:685 msgid " Demo" msgstr "" -#: pysollib/actions.py:669 +#: pysollib/actions.py:685 msgid " Demo " msgstr "" -#: pysollib/actions.py:672 pysollib/actions.py:690 +#: pysollib/actions.py:688 pysollib/actions.py:706 msgid " for " msgstr "" -#: pysollib/actions.py:678 pysollib/actions.py:697 +#: pysollib/actions.py:694 pysollib/actions.py:713 msgid "Statistics for " msgstr "" -#: pysollib/actions.py:681 pysollib/tk/selectgame.py:359 -#: pysollib/tk/toolbar.py:194 +#: pysollib/actions.py:697 pysollib/tk/selectgame.py:350 +#: pysollib/tk/toolbar.py:208 msgid "Statistics" msgstr "" -#: pysollib/actions.py:684 +#: pysollib/actions.py:700 msgid "Full log" msgstr "" -#: pysollib/actions.py:687 +#: pysollib/actions.py:703 msgid "Session log" msgstr "" -#: pysollib/actions.py:693 +#: pysollib/actions.py:709 msgid "Game Info" msgstr "" -#: pysollib/actions.py:702 +#: pysollib/actions.py:718 msgid "Full log for " msgstr "" -#: pysollib/actions.py:707 +#: pysollib/actions.py:723 msgid "Session log for " msgstr "" -#: pysollib/actions.py:712 +#: pysollib/actions.py:728 msgid "Reset all statistics" msgstr "" -#: pysollib/actions.py:713 +#: pysollib/actions.py:729 msgid "" "Reset ALL statistics and logs for player\n" "%s ?" msgstr "" -#: pysollib/actions.py:719 +#: pysollib/actions.py:735 msgid "Reset game statistics" msgstr "" -#: pysollib/actions.py:720 +#: pysollib/actions.py:736 msgid "" "Reset statistics and logs for player\n" "%s\n" @@ -212,51 +212,51 @@ msgid "" "%s ?" msgstr "" -#: pysollib/actions.py:776 +#: pysollib/actions.py:792 msgid "Play demo" msgstr "" -#: pysollib/actions.py:787 +#: pysollib/actions.py:803 msgid "Set player options" msgstr "" -#: pysollib/actions.py:876 +#: pysollib/actions.py:898 msgid "Sound settings" msgstr "" -#: pysollib/actions.py:897 +#: pysollib/actions.py:919 msgid "Set colors" msgstr "" -#: pysollib/actions.py:916 +#: pysollib/actions.py:938 msgid "Set fonts" msgstr "" -#: pysollib/actions.py:925 +#: pysollib/actions.py:947 msgid "Set timeouts" msgstr "" -#: pysollib/app.py:85 +#: pysollib/app.py:87 msgid "Unknown" msgstr "" -#: pysollib/app.py:975 +#: pysollib/app.py:1004 msgid "Loading %s %s..." msgstr "" -#: pysollib/app.py:1010 +#: pysollib/app.py:1039 msgid " load error" msgstr "" -#: pysollib/app.py:1011 +#: pysollib/app.py:1040 msgid "Error while loading " msgstr "" -#: pysollib/app.py:1105 +#: pysollib/app.py:1134 msgid "Incompatible " msgstr "" -#: pysollib/app.py:1107 +#: pysollib/app.py:1136 msgid "" "The currently selected %s %s\n" "is not compatible with the game\n" @@ -265,58 +265,58 @@ msgid "" "Please select a %s type %s.\n" msgstr "" -#: pysollib/app.py:1123 +#: pysollib/app.py:1152 msgid "Please select a %s type %s" msgstr "" -#: pysollib/game.py:756 pysollib/game.py:762 +#: pysollib/game.py:823 pysollib/game.py:829 msgid "" "Player\n" msgstr "" -#: pysollib/game.py:833 +#: pysollib/game.py:900 msgid "Discard current game ?" msgstr "" -#: pysollib/game.py:1168 +#: pysollib/game.py:1244 msgid "" "\n" "You have reached\n" "#%d in the %s of playing time" msgstr "" -#: pysollib/game.py:1171 +#: pysollib/game.py:1247 msgid "" "\n" "and #%d in the %s of moves" msgstr "" -#: pysollib/game.py:1173 +#: pysollib/game.py:1249 msgid "" "\n" "You have reached\n" "#%d in the %s of moves" msgstr "" -#: pysollib/game.py:1176 +#: pysollib/game.py:1252 msgid "" "\n" "and #%d in the %s of total moves" msgstr "" -#: pysollib/game.py:1178 +#: pysollib/game.py:1254 msgid "" "\n" "You have reached\n" "#%d in the %s of total moves" msgstr "" -#: pysollib/game.py:1205 pysollib/game.py:1221 -#: pysollib/tk/soundoptionsdialog.py:102 +#: pysollib/game.py:1281 pysollib/game.py:1297 +#: pysollib/tk/soundoptionsdialog.py:100 msgid "Game won" msgstr "" -#: pysollib/game.py:1206 +#: pysollib/game.py:1282 msgid "" "\n" "Congratulations, this\n" @@ -327,12 +327,12 @@ msgid "" "%s\n" msgstr "" -#: pysollib/game.py:1214 pysollib/game.py:1229 pysollib/game.py:1235 -#: pysollib/game.py:1240 pysollib/tk/menubar.py:250 +#: pysollib/game.py:1290 pysollib/game.py:1305 pysollib/game.py:1312 +#: pysollib/game.py:1318 pysollib/tk/menubar.py:257 msgid "&New game" msgstr "" -#: pysollib/game.py:1222 +#: pysollib/game.py:1298 msgid "" "\n" "Congratulations, you did it !\n" @@ -342,100 +342,100 @@ msgid "" "%s\n" msgstr "" -#: pysollib/game.py:1233 pysollib/game.py:1238 -#: pysollib/tk/soundoptionsdialog.py:100 +#: pysollib/game.py:1310 pysollib/game.py:1316 +#: pysollib/tk/soundoptionsdialog.py:98 msgid "Game finished" msgstr "" -#: pysollib/game.py:1234 pysollib/game.py:1652 +#: pysollib/game.py:1311 pysollib/game.py:1829 msgid "" "\n" "Game finished\n" msgstr "" -#: pysollib/game.py:1239 +#: pysollib/game.py:1317 msgid "" "\n" "Game finished, but not without my help...\n" msgstr "" -#: pysollib/game.py:1240 +#: pysollib/game.py:1318 msgid "&Restart" msgstr "" -#: pysollib/game.py:1544 +#: pysollib/game.py:1720 msgid "Score %6d" msgstr "" -#: pysollib/game.py:1643 +#: pysollib/game.py:1819 msgid "&Cool" msgstr "" -#: pysollib/game.py:1643 +#: pysollib/game.py:1819 msgid "&Great" msgstr "" -#: pysollib/game.py:1643 +#: pysollib/game.py:1819 msgid "&Wow" msgstr "" -#: pysollib/game.py:1643 +#: pysollib/game.py:1819 msgid "&Yeah" msgstr "" -#: pysollib/game.py:1644 pysollib/game.py:1655 pysollib/game.py:1667 +#: pysollib/game.py:1820 pysollib/game.py:1832 pysollib/game.py:1845 msgid " Autopilot" msgstr "" -#: pysollib/game.py:1645 +#: pysollib/game.py:1821 msgid "" "\n" "Game solved in %d moves.\n" msgstr "" -#: pysollib/game.py:1666 +#: pysollib/game.py:1844 msgid "&Hmm" msgstr "" -#: pysollib/game.py:1666 +#: pysollib/game.py:1844 msgid "&Oh well" msgstr "" -#: pysollib/game.py:1666 +#: pysollib/game.py:1844 msgid "&That's life" msgstr "" -#: pysollib/game.py:1668 +#: pysollib/game.py:1846 msgid "" "\n" "This won't come out...\n" msgstr "" -#: pysollib/game.py:2072 +#: pysollib/game.py:2264 msgid "Set bookmark" msgstr "" -#: pysollib/game.py:2073 +#: pysollib/game.py:2265 msgid "Replace existing bookmark %d ?" msgstr "" -#: pysollib/game.py:2095 +#: pysollib/game.py:2287 msgid "Goto bookmark" msgstr "" -#: pysollib/game.py:2096 +#: pysollib/game.py:2288 msgid "Goto bookmark %d ?" msgstr "" -#: pysollib/game.py:2127 +#: pysollib/game.py:2319 msgid "Open game" msgstr "" -#: pysollib/game.py:2138 pysollib/game.py:2147 pysollib/game.py:2152 +#: pysollib/game.py:2330 pysollib/game.py:2339 pysollib/game.py:2344 msgid "Load game error" msgstr "" -#: pysollib/game.py:2139 +#: pysollib/game.py:2331 msgid "" "Error while loading game.\n" "\n" @@ -443,22 +443,22 @@ msgid "" "but this could also be a bug you might want to report." msgstr "" -#: pysollib/game.py:2148 +#: pysollib/game.py:2340 msgid "Error while loading game" msgstr "" -#: pysollib/game.py:2153 +#: pysollib/game.py:2345 msgid "" "Internal error while loading game.\n" "\n" "Please report this bug." msgstr "" -#: pysollib/game.py:2178 +#: pysollib/game.py:2370 msgid "Save game error" msgstr "" -#: pysollib/game.py:2179 +#: pysollib/game.py:2371 msgid "Error while saving game" msgstr "" @@ -670,27 +670,27 @@ msgstr "" msgid "Puzzle type" msgstr "" -#: pysollib/games/auldlangsyne.py:142 pysollib/games/calculation.py:101 -#: pysollib/games/numerica.py:90 pysollib/games/numerica.py:197 -#: pysollib/games/numerica.py:543 -msgid "Row. Build regardless of rank and suit." +#: pysollib/games/auldlangsyne.py:158 pysollib/games/calculation.py:104 +#: pysollib/games/numerica.py:90 pysollib/games/numerica.py:272 +#: pysollib/games/numerica.py:639 pysollib/games/numerica.py:743 +msgid "Tableau. Build regardless of rank and suit." msgstr "" -#: pysollib/games/braid.py:251 pysollib/games/napoleon.py:190 -#: pysollib/games/ultra/dashavatara.py:959 +#: pysollib/games/braid.py:248 pysollib/games/camelot.py:555 +#: pysollib/games/napoleon.py:182 pysollib/games/ultra/dashavatara.py:959 #: pysollib/games/ultra/hanafuda1.py:256 pysollib/games/ultra/hexadeck.py:1190 #: pysollib/games/ultra/mughal.py:802 msgid " Ascending" msgstr "" -#: pysollib/games/braid.py:253 pysollib/games/napoleon.py:192 -#: pysollib/games/ultra/dashavatara.py:961 +#: pysollib/games/braid.py:250 pysollib/games/camelot.py:554 +#: pysollib/games/napoleon.py:184 pysollib/games/ultra/dashavatara.py:961 #: pysollib/games/ultra/hanafuda1.py:258 pysollib/games/ultra/hexadeck.py:1192 #: pysollib/games/ultra/mughal.py:804 msgid " Descending" msgstr "" -#: pysollib/games/calculation.py:135 pysollib/games/calculation.py:230 +#: pysollib/games/calculation.py:121 msgid "" "1: 2 3 4 5 6 7 8 9 T J Q K\n" "2: 4 6 8 T Q A 3 5 7 9 J K\n" @@ -698,32 +698,34 @@ msgid "" "4: 8 Q 3 7 J 2 6 T A 5 9 K" msgstr "" -#: pysollib/games/curdsandwhey.py:58 -msgid "Row. Build down by suit or of the same rank." +#: pysollib/games/canfield.py:528 pysollib/games/special/tarock.py:224 +#: pysollib/stack.py:1287 pysollib/util.py:81 +msgid "King" msgstr "" -#: pysollib/games/fan.py:279 +#: pysollib/games/canfield.py:531 pysollib/games/special/tarock.py:224 +#: pysollib/stack.py:1286 pysollib/util.py:81 +msgid "Queen" +msgstr "" + +#: pysollib/games/curdsandwhey.py:60 +msgid "Tableau. Build down by suit or of the same rank." +msgstr "" + +#: pysollib/games/fan.py:280 msgid "Draw" msgstr "" -#: pysollib/games/fan.py:279 +#: pysollib/games/fan.py:280 msgid "X" msgstr "" -#: pysollib/games/fortythieves.py:429 pysollib/games/klondike.py:148 -msgid "Row. Build down in any suit but the same." +#: pysollib/games/golf.py:114 pysollib/games/golf.py:300 +#: pysollib/stack.py:1898 +msgid "Tableau. No building." msgstr "" -#: pysollib/games/golf.py:114 pysollib/games/golf.py:414 -#: pysollib/stack.py:1742 -msgid "Row. No building." -msgstr "" - -#: pysollib/games/golf.py:382 -msgid "Balance $%4d" -msgstr "" - -#: pysollib/games/golf.py:498 pysollib/stack.py:1675 +#: pysollib/games/golf.py:384 pysollib/stack.py:1831 msgid "Foundation. Build up regardless of suit." msgstr "" @@ -731,32 +733,36 @@ msgstr "" msgid "Balance $%d" msgstr "" -#: pysollib/games/klondike.py:388 +#: pysollib/games/klondike.py:419 msgid "Reserve. Only Kings are acceptable." msgstr "" -#: pysollib/games/mahjongg/mahjongg.py:294 +#: pysollib/games/larasgame.py:163 pysollib/stack.py:1508 +msgid "Round %d" +msgstr "" + +#: pysollib/games/mahjongg/mahjongg.py:298 msgid "" "No Free\n" "Matching\n" "Pairs" msgstr "" -#: pysollib/games/mahjongg/mahjongg.py:295 +#: pysollib/games/mahjongg/mahjongg.py:299 msgid "" "1 Free\n" "Matching\n" "Pair" msgstr "" -#: pysollib/games/mahjongg/mahjongg.py:296 +#: pysollib/games/mahjongg/mahjongg.py:300 msgid "" " Free\n" "Matching\n" "Pairs" msgstr "" -#: pysollib/games/mahjongg/mahjongg.py:297 +#: pysollib/games/mahjongg/mahjongg.py:301 msgid "" "\n" "Tiles\n" @@ -764,7 +770,7 @@ msgid "" "\n" msgstr "" -#: pysollib/games/mahjongg/mahjongg.py:298 +#: pysollib/games/mahjongg/mahjongg.py:302 msgid "" "\n" "Tiles\n" @@ -780,11 +786,25 @@ msgstr "" msgid "Deal %d" msgstr "" -#: pysollib/games/numerica.py:184 +#: pysollib/games/numerica.py:259 pysollib/games/royalcotillion.py:841 msgid "Foundation. Build up by color." msgstr "" -#: pysollib/games/poker.py:82 +#: pysollib/games/special/memory.py:178 pysollib/games/special/poker.py:191 +msgid "Points: %d" +msgstr "" + +#: pysollib/games/special/memory.py:181 pysollib/games/special/poker.py:189 +msgid "" +"WON\n" +"\n" +msgstr "" + +#: pysollib/games/special/memory.py:182 pysollib/games/special/poker.py:193 +msgid "Total: %d" +msgstr "" + +#: pysollib/games/special/poker.py:82 msgid "" "Royal Flush\n" "Straight Flush\n" @@ -797,20 +817,6 @@ msgid "" "One Pair" msgstr "" -#: pysollib/games/poker.py:189 pysollib/games/special/memory.py:181 -msgid "" -"WON\n" -"\n" -msgstr "" - -#: pysollib/games/poker.py:191 pysollib/games/special/memory.py:178 -msgid "Points: %d" -msgstr "" - -#: pysollib/games/poker.py:193 pysollib/games/special/memory.py:182 -msgid "Total: %d" -msgstr "" - #: pysollib/games/special/tarock.py:222 msgid "Coin" msgstr "" @@ -834,7 +840,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:1192 pysollib/util.py:80 +#: pysollib/stack.py:1288 pysollib/util.py:80 msgid "Ace" msgstr "" @@ -846,14 +852,16 @@ msgstr "" msgid "Valet" msgstr "" -#: pysollib/games/special/tarock.py:224 pysollib/stack.py:1190 -#: pysollib/util.py:81 -msgid "Queen" +#: pysollib/games/threepeaks.py:218 +msgid "Score:\tThis hand: " msgstr "" -#: pysollib/games/special/tarock.py:224 pysollib/stack.py:1191 -#: pysollib/util.py:81 -msgid "King" +#: pysollib/games/threepeaks.py:219 +msgid "\tThis game: " +msgstr "" + +#: pysollib/games/tournament.py:245 +msgid "Reserve. Build down by suit." msgstr "" #: pysollib/games/ultra/dashavatara.py:349 @@ -1066,10 +1074,6 @@ msgstr "" msgid "Willow" msgstr "" -#: pysollib/games/ultra/larasgame.py:157 pysollib/stack.py:1370 -msgid "Round %d" -msgstr "" - #: pysollib/games/ultra/mughal.py:252 msgid "Crown" msgstr "" @@ -1106,27 +1110,19 @@ msgstr "" msgid "Tan" msgstr "" -#: pysollib/games/ultra/threepeaks.py:217 -msgid "Score:\tThis hand: " +#: pysollib/games/yukon.py:139 +msgid "Tableau. Build down in any suit but the same, can move any face-up cards regardless of sequence." msgstr "" -#: pysollib/games/ultra/threepeaks.py:218 -msgid "\tThis game: " +#: pysollib/games/yukon.py:198 +msgid "Tableau. Build up or down by suit, can move any face-up cards regardless of sequence." msgstr "" -#: pysollib/games/yukon.py:145 -msgid "Row. Build down in any suit but the same, can move any face-up cards regardless of sequence." +#: pysollib/games/yukon.py:215 +msgid "Tableau. Build up or down by alternate color, can move any face-up cards regardless of sequence." msgstr "" -#: pysollib/games/yukon.py:201 -msgid "Row. Build up or down by suit, can move any face-up cards regardless of sequence." -msgstr "" - -#: pysollib/games/yukon.py:218 -msgid "Row. Build up or down by alternate color, can move any face-up cards regardless of sequence." -msgstr "" - -#: pysollib/games/yukon.py:320 +#: pysollib/games/yukon.py:317 msgid "" "Club: A 2 3 4 5 6 7 8 9 T J Q K\n" "Spade: 2 4 6 8 T Q A 3 5 7 9 J K\n" @@ -1134,6 +1130,10 @@ msgid "" "Diamond: 4 8 Q 3 7 J 2 6 T A 5 9 K" msgstr "" +#: pysollib/games/yukon.py:639 +msgid "Tableau. Build down regardless of suit, can move any face-up cards regardless of sequence." +msgstr "" + #: pysollib/help.py:64 msgid "" "A Python Solitaire Game Collection\n" @@ -1215,7 +1215,7 @@ msgstr "" msgid " Help" msgstr "" -#: pysollib/main.py:68 pysollib/main.py:321 +#: pysollib/main.py:68 pysollib/main.py:348 msgid " installation error" msgstr "" @@ -1229,19 +1229,20 @@ msgid "" "Please check your %s installation.\n" msgstr "" -#: pysollib/main.py:76 pysollib/main.py:330 pysollib/tk/menubar.py:269 +#: pysollib/main.py:76 pysollib/main.py:356 pysollib/tk/menubar.py:276 msgid "&Quit" msgstr "" -#: pysollib/main.py:95 +#: pysollib/main.py:98 msgid "" "%s: %s\n" "try %s --help for more information" msgstr "" -#: pysollib/main.py:120 +#: pysollib/main.py:135 msgid "" "Usage: %s [OPTIONS] [FILE]\n" +" -g --game=GAMENAME start game GAMENAME\n" " --fg --foreground=COLOR foreground color\n" " --bg --background=COLOR background color\n" " --fn --font=FONT default font\n" @@ -1252,19 +1253,19 @@ msgid "" " FILE - file name of a saved game\n" msgstr "" -#: pysollib/main.py:133 +#: pysollib/main.py:149 msgid "" "%s: too many files\n" "try %s --help for more information" msgstr "" -#: pysollib/main.py:137 +#: pysollib/main.py:153 msgid "" -"%s: invalide file name\n" +"%s: invalid file name\n" "try %s --help for more information" msgstr "" -#: pysollib/main.py:322 +#: pysollib/main.py:349 msgid "" "\n" "No games were found !!!\n" @@ -1275,462 +1276,491 @@ msgid "" "Please check your %s installation.\n" msgstr "" -#: pysollib/main.py:408 pysollib/main.py:416 +#: pysollib/main.py:434 pysollib/main.py:442 msgid " installation problem" msgstr "" -#: pysollib/main.py:409 +#: pysollib/main.py:435 msgid "" "Your Python installation is compiled without thread support.\n" "\n" "Sounds and background music will be disabled." msgstr "" -#: pysollib/main.py:417 +#: pysollib/main.py:443 msgid "" "The pysolsoundserver module was not found.\n" "\n" "Sounds and background music will be disabled." msgstr "" -#: pysollib/main.py:424 +#: pysollib/main.py:450 msgid "Welcome to " msgstr "" -#: pysollib/resource.py:242 +#: pysollib/resource.py:243 msgid "French type (52 cards)" msgstr "" -#: pysollib/resource.py:243 +#: pysollib/resource.py:244 msgid "Hanafuda type (48 cards)" msgstr "" -#: pysollib/resource.py:244 +#: pysollib/resource.py:245 msgid "Tarock type (78 cards)" msgstr "" -#: pysollib/resource.py:245 +#: pysollib/resource.py:246 msgid "Mahjongg type (42 tiles)" msgstr "" -#: pysollib/resource.py:246 +#: pysollib/resource.py:247 msgid "Hex A Deck type (68 cards)" msgstr "" -#: pysollib/resource.py:247 +#: pysollib/resource.py:248 msgid "Mughal Ganjifa type (96 cards)" msgstr "" -#: pysollib/resource.py:248 +#: pysollib/resource.py:249 msgid "Navagraha Ganjifa type (108 cards)" msgstr "" -#: pysollib/resource.py:249 +#: pysollib/resource.py:250 msgid "Dashavatara Ganjifa type (120 cards)" msgstr "" -#: pysollib/resource.py:250 +#: pysollib/resource.py:251 msgid "Trumps only type (variable cards)" msgstr "" -#: pysollib/resource.py:254 +#: pysollib/resource.py:255 msgid "French" msgstr "" -#: pysollib/resource.py:255 pysollib/resource.py:279 +#: pysollib/resource.py:256 pysollib/resource.py:280 msgid "Hanafuda" msgstr "" -#: pysollib/resource.py:256 pysollib/resource.py:295 +#: pysollib/resource.py:257 pysollib/resource.py:296 msgid "Tarock" msgstr "" -#: pysollib/resource.py:257 pysollib/resource.py:282 +#: pysollib/resource.py:258 pysollib/resource.py:283 msgid "Mahjongg" msgstr "" -#: pysollib/resource.py:258 pysollib/resource.py:280 +#: pysollib/resource.py:259 pysollib/resource.py:281 msgid "Hex A Deck" msgstr "" -#: pysollib/resource.py:259 +#: pysollib/resource.py:260 msgid "Mughal Ganjifa" msgstr "" -#: pysollib/resource.py:260 +#: pysollib/resource.py:261 msgid "Navagraha Ganjifa" msgstr "" -#: pysollib/resource.py:261 +#: pysollib/resource.py:262 msgid "Dashavatara Ganjifa" msgstr "" -#: pysollib/resource.py:262 +#: pysollib/resource.py:263 msgid "Trumps only" msgstr "" -#: pysollib/resource.py:267 +#: pysollib/resource.py:268 msgid "Adult" msgstr "" -#: pysollib/resource.py:268 +#: pysollib/resource.py:269 msgid "Animals" msgstr "" -#: pysollib/resource.py:269 +#: pysollib/resource.py:270 msgid "Anime" msgstr "" -#: pysollib/resource.py:270 +#: pysollib/resource.py:271 msgid "Art" msgstr "" -#: pysollib/resource.py:271 +#: pysollib/resource.py:272 msgid "Cartoons" msgstr "" -#: pysollib/resource.py:272 +#: pysollib/resource.py:273 msgid "Children" msgstr "" -#: pysollib/resource.py:273 +#: pysollib/resource.py:274 msgid "Classic look" msgstr "" -#: pysollib/resource.py:274 +#: pysollib/resource.py:275 msgid "Collectors" msgstr "" -#: pysollib/resource.py:275 +#: pysollib/resource.py:276 msgid "Computers" msgstr "" -#: pysollib/resource.py:276 +#: pysollib/resource.py:277 msgid "Engines" msgstr "" -#: pysollib/resource.py:277 +#: pysollib/resource.py:278 msgid "Fantasy" msgstr "" -#: pysollib/resource.py:278 +#: pysollib/resource.py:279 msgid "Ganjifa" msgstr "" -#: pysollib/resource.py:281 +#: pysollib/resource.py:282 msgid "Holiday" msgstr "" -#: pysollib/resource.py:283 +#: pysollib/resource.py:284 msgid "Movies" msgstr "" -#: pysollib/resource.py:284 +#: pysollib/resource.py:285 msgid "Matrix" msgstr "" -#: pysollib/resource.py:285 +#: pysollib/resource.py:286 msgid "Music" msgstr "" -#: pysollib/resource.py:286 +#: pysollib/resource.py:287 msgid "Nature" msgstr "" -#: pysollib/resource.py:287 +#: pysollib/resource.py:288 msgid "Operating Systems" msgstr "" -#: pysollib/resource.py:288 +#: pysollib/resource.py:289 msgid "People" msgstr "" -#: pysollib/resource.py:289 +#: pysollib/resource.py:290 msgid "Places" msgstr "" -#: pysollib/resource.py:290 +#: pysollib/resource.py:291 msgid "Plain" msgstr "" -#: pysollib/resource.py:291 +#: pysollib/resource.py:292 msgid "Products" msgstr "" -#: pysollib/resource.py:292 +#: pysollib/resource.py:293 msgid "Round cardsets" msgstr "" -#: pysollib/resource.py:293 +#: pysollib/resource.py:294 msgid "Science Fiction" msgstr "" -#: pysollib/resource.py:294 +#: pysollib/resource.py:295 msgid "Sports" msgstr "" -#: pysollib/resource.py:296 +#: pysollib/resource.py:297 msgid "Vehicels" msgstr "" -#: pysollib/resource.py:297 +#: pysollib/resource.py:298 msgid "Video Games" msgstr "" -#: pysollib/resource.py:302 +#: pysollib/resource.py:303 msgid "Australia" msgstr "" -#: pysollib/resource.py:303 +#: pysollib/resource.py:304 msgid "Austria" msgstr "" -#: pysollib/resource.py:304 +#: pysollib/resource.py:305 msgid "Belgium" msgstr "" -#: pysollib/resource.py:305 +#: pysollib/resource.py:306 msgid "Canada" msgstr "" -#: pysollib/resource.py:306 +#: pysollib/resource.py:307 msgid "China" msgstr "" -#: pysollib/resource.py:307 +#: pysollib/resource.py:308 msgid "Czech Republic" msgstr "" -#: pysollib/resource.py:308 +#: pysollib/resource.py:309 msgid "Denmark" msgstr "" -#: pysollib/resource.py:309 +#: pysollib/resource.py:310 msgid "England" msgstr "" -#: pysollib/resource.py:310 +#: pysollib/resource.py:311 msgid "France" msgstr "" -#: pysollib/resource.py:311 +#: pysollib/resource.py:312 msgid "Germany" msgstr "" -#: pysollib/resource.py:312 +#: pysollib/resource.py:313 msgid "Great Britain" msgstr "" -#: pysollib/resource.py:313 +#: pysollib/resource.py:314 msgid "Hungary" msgstr "" -#: pysollib/resource.py:314 +#: pysollib/resource.py:315 msgid "India" msgstr "" -#: pysollib/resource.py:315 +#: pysollib/resource.py:316 msgid "Italy" msgstr "" -#: pysollib/resource.py:316 +#: pysollib/resource.py:317 msgid "Japan" msgstr "" -#: pysollib/resource.py:317 +#: pysollib/resource.py:318 msgid "Netherlands" msgstr "" -#: pysollib/resource.py:318 +#: pysollib/resource.py:319 msgid "Russia" msgstr "" -#: pysollib/resource.py:319 +#: pysollib/resource.py:320 msgid "Spain" msgstr "" -#: pysollib/resource.py:320 +#: pysollib/resource.py:321 msgid "Sweden" msgstr "" -#: pysollib/resource.py:321 +#: pysollib/resource.py:322 msgid "Switzerland" msgstr "" -#: pysollib/resource.py:322 +#: pysollib/resource.py:323 msgid "USA" msgstr "" -#: pysollib/settings.py:58 +#: pysollib/settings.py:47 msgid "Top 10" msgstr "" -#: pysollib/stack.py:1186 +#: pysollib/stack.py:1282 msgid "Base card - %s." msgstr "" -#: pysollib/stack.py:1187 +#: pysollib/stack.py:1283 msgid "Empty row cannot be filled." msgstr "" -#: pysollib/stack.py:1188 +#: pysollib/stack.py:1284 msgid "any card" msgstr "" -#: pysollib/stack.py:1189 pysollib/util.py:81 +#: pysollib/stack.py:1285 pysollib/util.py:81 msgid "Jack" msgstr "" -#: pysollib/stack.py:1198 +#: pysollib/stack.py:1298 msgid "No cards" msgstr "" -#: pysollib/stack.py:1199 +#: pysollib/stack.py:1299 msgid "1 card" msgstr "" -#: pysollib/stack.py:1200 +#: pysollib/stack.py:1300 msgid " cards" msgstr "" -#: pysollib/stack.py:1379 pysollib/stack.py:1381 pysollib/stack.py:1412 +#: pysollib/stack.py:1517 pysollib/stack.py:1519 pysollib/stack.py:1550 msgid "Redeal" msgstr "" -#: pysollib/stack.py:1381 +#: pysollib/stack.py:1519 msgid "Stop" msgstr "" -#: pysollib/stack.py:1432 +#: pysollib/stack.py:1570 msgid "Variable redeals." msgstr "" -#: pysollib/stack.py:1433 +#: pysollib/stack.py:1571 msgid "Unlimited redeals." msgstr "" -#: pysollib/stack.py:1434 +#: pysollib/stack.py:1572 msgid "No redeals." msgstr "" -#: pysollib/stack.py:1435 +#: pysollib/stack.py:1573 msgid "One redeal." msgstr "" -#: pysollib/stack.py:1436 +#: pysollib/stack.py:1574 msgid " redeals." msgstr "" -#: pysollib/stack.py:1438 +#: pysollib/stack.py:1576 msgid "Talon." msgstr "" -#: pysollib/stack.py:1613 pysollib/stack.py:2037 +#: pysollib/stack.py:1762 pysollib/stack.py:2212 msgid "Reserve. No building." msgstr "" -#: pysollib/stack.py:1659 +#: pysollib/stack.py:1799 +msgid "Foundation." +msgstr "" + +#: pysollib/stack.py:1815 msgid "Foundation. Build up by suit." msgstr "" -#: pysollib/stack.py:1660 +#: pysollib/stack.py:1816 msgid "Foundation. Build down by suit." msgstr "" -#: pysollib/stack.py:1661 pysollib/stack.py:1677 pysollib/stack.py:1699 +#: pysollib/stack.py:1817 pysollib/stack.py:1833 pysollib/stack.py:1855 msgid "Foundation. Build by same rank." msgstr "" -#: pysollib/stack.py:1676 +#: pysollib/stack.py:1832 msgid "Foundation. Build down regardless of suit." msgstr "" -#: pysollib/stack.py:1697 +#: pysollib/stack.py:1853 msgid "Foundation. Build up by alternate color." msgstr "" -#: pysollib/stack.py:1698 +#: pysollib/stack.py:1854 msgid "Foundation. Build down by alternate color." msgstr "" -#: pysollib/stack.py:1772 -msgid "Row. Build up by alternate color." -msgstr "" - -#: pysollib/stack.py:1773 -msgid "Row. Build down by alternate color." -msgstr "" - -#: pysollib/stack.py:1774 pysollib/stack.py:1784 pysollib/stack.py:1793 -#: pysollib/stack.py:1802 pysollib/stack.py:1830 -msgid "Row. Build by same rank." -msgstr "" - -#: pysollib/stack.py:1782 -msgid "Row. Build up by color." -msgstr "" - -#: pysollib/stack.py:1783 -msgid "Row. Build down by color." -msgstr "" - -#: pysollib/stack.py:1791 -msgid "Row. Build up by suit." -msgstr "" - -#: pysollib/stack.py:1792 -msgid "Row. Build down by suit." -msgstr "" - -#: pysollib/stack.py:1800 pysollib/stack.py:1828 -msgid "Row. Build up regardless of suit." -msgstr "" - -#: pysollib/stack.py:1801 pysollib/stack.py:1829 -msgid "Row. Build down regardless of suit." -msgstr "" - -#: pysollib/stack.py:1851 -msgid "Row. Build up by alternate color, can move any face-up cards regardless of sequence." -msgstr "" - -#: pysollib/stack.py:1852 -msgid "Row. Build down by alternate color, can move any face-up cards regardless of sequence." -msgstr "" - -#: pysollib/stack.py:1853 pysollib/stack.py:1864 -msgid "Row. Build by same rank, can move any face-up cards regardless of sequence." -msgstr "" - -#: pysollib/stack.py:1862 -msgid "Row. Build up by suit, can move any face-up cards regardless of sequence." -msgstr "" - -#: pysollib/stack.py:1863 -msgid "Row. Build down by suit, can move any face-up cards regardless of sequence." -msgstr "" - -#: pysollib/stack.py:1896 -msgid "Row. Build up or down by color." -msgstr "" - -#: pysollib/stack.py:1907 -msgid "Row. Build up or down by alternate color." -msgstr "" - -#: pysollib/stack.py:1918 -msgid "Row. Build up or down by suit." +#: pysollib/stack.py:1928 +msgid "Tableau. Build up by alternate color." msgstr "" #: pysollib/stack.py:1929 -msgid "Row. Build up or down regardless of suit." +msgid "Tableau. Build down by alternate color." msgstr "" -#: pysollib/stack.py:1940 +#: pysollib/stack.py:1930 pysollib/stack.py:1940 pysollib/stack.py:1949 +#: pysollib/stack.py:1958 pysollib/stack.py:1968 pysollib/stack.py:1991 +#: pysollib/stack.py:2001 +msgid "Tableau. Build by same rank." +msgstr "" + +#: pysollib/stack.py:1938 +msgid "Tableau. Build up by color." +msgstr "" + +#: pysollib/stack.py:1939 +msgid "Tableau. Build down by color." +msgstr "" + +#: pysollib/stack.py:1947 +msgid "Tableau. Build up by suit." +msgstr "" + +#: pysollib/stack.py:1948 +msgid "Tableau. Build down by suit." +msgstr "" + +#: pysollib/stack.py:1956 +msgid "Tableau. Build up regardless of suit." +msgstr "" + +#: pysollib/stack.py:1957 +msgid "Tableau. Build down regardless of suit." +msgstr "" + +#: pysollib/stack.py:1966 +msgid "Tableau. Build up in any suit but the same." +msgstr "" + +#: pysollib/stack.py:1967 +msgid "Tableau. Build down in any suit but the same." +msgstr "" + +#: pysollib/stack.py:1989 +msgid "Tableau. Build up regardless of suit. Sequences of cards in alternate color can be moved as a unit." +msgstr "" + +#: pysollib/stack.py:1990 +msgid "Tableau. Build down regardless of suit. Sequences of cards in alternate color can be moved as a unit." +msgstr "" + +#: pysollib/stack.py:1999 +msgid "Tableau. Build up regardless of suit. Sequences of cards in the same suit can be moved as a unit." +msgstr "" + +#: pysollib/stack.py:2000 +msgid "Tableau. Build down regardless of suit. Sequences of cards in the same suit can be moved as a unit." +msgstr "" + +#: pysollib/stack.py:2022 +msgid "Tableau. Build up by alternate color, can move any face-up cards regardless of sequence." +msgstr "" + +#: pysollib/stack.py:2023 +msgid "Tableau. Build down by alternate color, can move any face-up cards regardless of sequence." +msgstr "" + +#: pysollib/stack.py:2024 pysollib/stack.py:2037 +msgid "Tableau. Build by same rank, can move any face-up cards regardless of sequence." +msgstr "" + +#: pysollib/stack.py:2035 +msgid "Tableau. Build up by suit, can move any face-up cards regardless of sequence." +msgstr "" + +#: pysollib/stack.py:2036 +msgid "Tableau. Build down by suit, can move any face-up cards regardless of sequence." +msgstr "" + +#: pysollib/stack.py:2069 +msgid "Tableau. Build up or down by color." +msgstr "" + +#: pysollib/stack.py:2080 +msgid "Tableau. Build up or down by alternate color." +msgstr "" + +#: pysollib/stack.py:2091 +msgid "Tableau. Build up or down by suit." +msgstr "" + +#: pysollib/stack.py:2102 +msgid "Tableau. Build up or down regardless of suit." +msgstr "" + +#: pysollib/stack.py:2113 msgid "Waste." msgstr "" -#: pysollib/stack.py:2038 +#: pysollib/stack.py:2213 msgid "Free cell." msgstr "" @@ -1750,7 +1780,7 @@ msgstr "" msgid "Lost" msgstr "" -#: pysollib/stats.py:122 pysollib/tk/statusbar.py:135 +#: pysollib/stats.py:122 pysollib/tk/statusbar.py:157 msgid "Playing time" msgstr "" @@ -1774,7 +1804,7 @@ msgstr "" msgid "Status" msgstr "" -#: pysollib/stats.py:162 pysollib/tk/statusbar.py:137 +#: pysollib/stats.py:162 pysollib/tk/statusbar.py:159 #: pysollib/tk/tkstats.py:735 msgid "Game number" msgstr "" @@ -1807,8 +1837,8 @@ msgstr "" msgid "Text foreground:" msgstr "" -#: pysollib/tk/colorsdialog.py:79 pysollib/tk/colorsdialog.py:97 -#: pysollib/tk/fontsdialog.py:185 +#: pysollib/tk/colorsdialog.py:79 pysollib/tk/colorsdialog.py:98 +#: pysollib/tk/fontsdialog.py:186 msgid "Change..." msgstr "" @@ -1840,10 +1870,14 @@ msgstr "" msgid "Highlight not matching:" msgstr "" -#: pysollib/tk/colorsdialog.py:123 +#: pysollib/tk/colorsdialog.py:124 msgid "Select color" msgstr "" +#: pysollib/tk/findcarddialog.py:52 pysollib/tk/menubar.py:329 +msgid "Find card" +msgstr "" + #: pysollib/tk/fontsdialog.py:85 msgid "abcdefghABCDEFGH" msgstr "" @@ -1852,11 +1886,39 @@ msgstr "" msgid "Bold" msgstr "" -#: pysollib/tk/fontsdialog.py:97 +#: pysollib/tk/fontsdialog.py:98 msgid "Italic" msgstr "" -#: pysollib/tk/fontsdialog.py:195 +#: pysollib/tk/fontsdialog.py:168 +msgid "HTML: " +msgstr "" + +#: pysollib/tk/fontsdialog.py:169 +msgid "Small: " +msgstr "" + +#: pysollib/tk/fontsdialog.py:170 +msgid "Fixed: " +msgstr "" + +#: pysollib/tk/fontsdialog.py:171 +msgid "Tableau default: " +msgstr "" + +#: pysollib/tk/fontsdialog.py:172 +msgid "Tableau fixed: " +msgstr "" + +#: pysollib/tk/fontsdialog.py:173 +msgid "Tableau large: " +msgstr "" + +#: pysollib/tk/fontsdialog.py:174 +msgid "Tableau small: " +msgstr "" + +#: pysollib/tk/fontsdialog.py:196 msgid "Select font" msgstr "" @@ -1912,416 +1974,428 @@ msgstr "" msgid "Customize toolbar" msgstr "" -#: pysollib/tk/menubar.py:249 +#: pysollib/tk/menubar.py:256 msgid "&File" msgstr "" -#: pysollib/tk/menubar.py:251 +#: pysollib/tk/menubar.py:258 msgid "R&ecent games" msgstr "" -#: pysollib/tk/menubar.py:253 +#: pysollib/tk/menubar.py:260 msgid "Select &random game" msgstr "" -#: pysollib/tk/menubar.py:254 +#: pysollib/tk/menubar.py:261 msgid "&All games" msgstr "" -#: pysollib/tk/menubar.py:255 +#: pysollib/tk/menubar.py:262 msgid "Games played and &won" msgstr "" -#: pysollib/tk/menubar.py:256 +#: pysollib/tk/menubar.py:263 msgid "Games played and ¬ won" msgstr "" -#: pysollib/tk/menubar.py:257 +#: pysollib/tk/menubar.py:264 msgid "Games not &played" msgstr "" -#: pysollib/tk/menubar.py:258 +#: pysollib/tk/menubar.py:265 msgid "Select game by nu&mber..." msgstr "" -#: pysollib/tk/menubar.py:260 +#: pysollib/tk/menubar.py:267 msgid "Fa&vorite games" msgstr "" -#: pysollib/tk/menubar.py:261 +#: pysollib/tk/menubar.py:268 msgid "A&dd to favorites" msgstr "" -#: pysollib/tk/menubar.py:262 +#: pysollib/tk/menubar.py:269 msgid "R&emove from favorites" msgstr "" -#: pysollib/tk/menubar.py:264 +#: pysollib/tk/menubar.py:271 msgid "&Open..." msgstr "" -#: pysollib/tk/menubar.py:265 +#: pysollib/tk/menubar.py:272 msgid "&Save" msgstr "" -#: pysollib/tk/menubar.py:266 +#: pysollib/tk/menubar.py:273 msgid "Save &as..." msgstr "" -#: pysollib/tk/menubar.py:268 +#: pysollib/tk/menubar.py:275 msgid "&Hold and quit" msgstr "" -#: pysollib/tk/menubar.py:271 pysollib/tk/selectgame.py:417 +#: pysollib/tk/menubar.py:280 pysollib/tk/selectgame.py:407 msgid "&Select" msgstr "" -#: pysollib/tk/menubar.py:274 +#: pysollib/tk/menubar.py:285 msgid "&Edit" msgstr "" -#: pysollib/tk/menubar.py:275 +#: pysollib/tk/menubar.py:286 msgid "&Undo" msgstr "" -#: pysollib/tk/menubar.py:276 +#: pysollib/tk/menubar.py:287 msgid "&Redo" msgstr "" -#: pysollib/tk/menubar.py:277 +#: pysollib/tk/menubar.py:288 msgid "Redo &all" msgstr "" -#: pysollib/tk/menubar.py:280 +#: pysollib/tk/menubar.py:291 msgid "&Set bookmark" msgstr "" -#: pysollib/tk/menubar.py:282 pysollib/tk/menubar.py:286 +#: pysollib/tk/menubar.py:293 pysollib/tk/menubar.py:297 msgid "Bookmark %d" msgstr "" -#: pysollib/tk/menubar.py:284 +#: pysollib/tk/menubar.py:295 msgid "Go&to bookmark" msgstr "" -#: pysollib/tk/menubar.py:289 +#: pysollib/tk/menubar.py:300 msgid "&Clear bookmarks" msgstr "" -#: pysollib/tk/menubar.py:292 +#: pysollib/tk/menubar.py:303 msgid "Restart &game" msgstr "" -#: pysollib/tk/menubar.py:294 +#: pysollib/tk/menubar.py:305 msgid "&Game" msgstr "" -#: pysollib/tk/menubar.py:295 +#: pysollib/tk/menubar.py:306 msgid "&Deal cards" msgstr "" -#: pysollib/tk/menubar.py:296 pysollib/tk/menubar.py:325 +#: pysollib/tk/menubar.py:307 pysollib/tk/menubar.py:342 msgid "&Auto drop" msgstr "" -#: pysollib/tk/menubar.py:297 +#: pysollib/tk/menubar.py:308 msgid "&Pause" msgstr "" -#: pysollib/tk/menubar.py:300 +#: pysollib/tk/menubar.py:311 msgid "S&tatus..." msgstr "" -#: pysollib/tk/menubar.py:301 +#: pysollib/tk/menubar.py:312 msgid "&Comments..." msgstr "" -#: pysollib/tk/menubar.py:303 +#: pysollib/tk/menubar.py:314 msgid "&Statistics" msgstr "" -#: pysollib/tk/menubar.py:304 pysollib/tk/menubar.py:312 +#: pysollib/tk/menubar.py:315 pysollib/tk/menubar.py:323 msgid "Current game..." msgstr "" -#: pysollib/tk/menubar.py:305 pysollib/tk/menubar.py:313 +#: pysollib/tk/menubar.py:316 pysollib/tk/menubar.py:324 msgid "All games..." msgstr "" -#: pysollib/tk/menubar.py:307 +#: pysollib/tk/menubar.py:318 msgid "Session log..." msgstr "" -#: pysollib/tk/menubar.py:308 +#: pysollib/tk/menubar.py:319 msgid "Full log..." msgstr "" -#: pysollib/tk/menubar.py:311 +#: pysollib/tk/menubar.py:322 msgid "D&emo statistics" msgstr "" -#: pysollib/tk/menubar.py:315 +#: pysollib/tk/menubar.py:326 msgid "&Assist" msgstr "" -#: pysollib/tk/menubar.py:316 +#: pysollib/tk/menubar.py:327 msgid "&Hint" msgstr "" -#: pysollib/tk/menubar.py:317 +#: pysollib/tk/menubar.py:328 msgid "Highlight p&iles" msgstr "" -#: pysollib/tk/menubar.py:319 +#: pysollib/tk/menubar.py:331 msgid "&Demo" msgstr "" -#: pysollib/tk/menubar.py:320 +#: pysollib/tk/menubar.py:332 msgid "Demo (&all games)" msgstr "" -#: pysollib/tk/menubar.py:321 -msgid "&Options" -msgstr "" - -#: pysollib/tk/menubar.py:322 -msgid "&Player options..." -msgstr "" - -#: pysollib/tk/menubar.py:323 -msgid "&Automatic play" -msgstr "" - -#: pysollib/tk/menubar.py:324 -msgid "Auto &face up" -msgstr "" - -#: pysollib/tk/menubar.py:326 -msgid "Auto &deal" -msgstr "" - -#: pysollib/tk/menubar.py:328 -msgid "&Quick play" -msgstr "" - -#: pysollib/tk/menubar.py:329 -msgid "Assist &level" -msgstr "" - -#: pysollib/tk/menubar.py:330 -msgid "Enable &undo" -msgstr "" - -#: pysollib/tk/menubar.py:331 -msgid "Enable &bookmarks" -msgstr "" - -#: pysollib/tk/menubar.py:332 -msgid "Enable &hint" -msgstr "" - -#: pysollib/tk/menubar.py:333 -msgid "Enable highlight p&iles" -msgstr "" - #: pysollib/tk/menubar.py:334 -msgid "Enable highlight &cards" -msgstr "" - -#: pysollib/tk/menubar.py:335 -msgid "Enable highlight same &rank" -msgstr "" - -#: pysollib/tk/menubar.py:336 -msgid "Highlight &no matching" +msgid "Piles description" msgstr "" #: pysollib/tk/menubar.py:338 -msgid "Show removed tiles (in Mahjongg games)" +msgid "&Options" msgstr "" #: pysollib/tk/menubar.py:339 -msgid "Show hint arrow (in Shisen-Sho games)" +msgid "&Player options..." +msgstr "" + +#: pysollib/tk/menubar.py:340 +msgid "&Automatic play" msgstr "" #: pysollib/tk/menubar.py:341 -msgid "&Sound..." +msgid "Auto &face up" +msgstr "" + +#: pysollib/tk/menubar.py:343 +msgid "Auto &deal" +msgstr "" + +#: pysollib/tk/menubar.py:345 +msgid "&Quick play" +msgstr "" + +#: pysollib/tk/menubar.py:346 +msgid "Assist &level" +msgstr "" + +#: pysollib/tk/menubar.py:347 +msgid "Enable &undo" +msgstr "" + +#: pysollib/tk/menubar.py:348 +msgid "Enable &bookmarks" msgstr "" #: pysollib/tk/menubar.py:349 -msgid "Cards&et..." +msgid "Enable &hint" msgstr "" #: pysollib/tk/menubar.py:350 -msgid "Table t&ile..." +msgid "Enable highlight p&iles" +msgstr "" + +#: pysollib/tk/menubar.py:351 +msgid "Enable highlight &cards" msgstr "" #: pysollib/tk/menubar.py:352 -msgid "Card &background" +msgid "Enable highlight same &rank" msgstr "" #: pysollib/tk/menubar.py:353 -msgid "Card &view" -msgstr "" - -#: pysollib/tk/menubar.py:354 -msgid "Card shado&w" +msgid "Highlight &no matching" msgstr "" #: pysollib/tk/menubar.py:355 -msgid "Shade &legal moves" +msgid "&Show removed tiles (in Mahjongg games)" msgstr "" #: pysollib/tk/menubar.py:356 -msgid "&Negative cards bottom" -msgstr "" - -#: pysollib/tk/menubar.py:357 -msgid "A&nimations" +msgid "Show hint &arrow (in Shisen-Sho games)" msgstr "" #: pysollib/tk/menubar.py:358 -msgid "&None" -msgstr "" - -#: pysollib/tk/menubar.py:359 -msgid "&Timer based" -msgstr "" - -#: pysollib/tk/menubar.py:360 -msgid "&Fast" -msgstr "" - -#: pysollib/tk/menubar.py:361 -msgid "&Slow" -msgstr "" - -#: pysollib/tk/menubar.py:362 -msgid "&Very slow" -msgstr "" - -#: pysollib/tk/menubar.py:363 -msgid "Stick&y mouse" -msgstr "" - -#: pysollib/tk/menubar.py:365 -msgid "&Fonts..." +msgid "&Sound..." msgstr "" #: pysollib/tk/menubar.py:366 -msgid "&Colors..." +msgid "Cards&et..." msgstr "" #: pysollib/tk/menubar.py:367 -msgid "Time&outs..." +msgid "Table t&ile..." msgstr "" #: pysollib/tk/menubar.py:369 -msgid "&Toolbar" +msgid "Card &background" +msgstr "" + +#: pysollib/tk/menubar.py:370 +msgid "Card &view" msgstr "" #: pysollib/tk/menubar.py:371 -msgid "Stat&usbar" +msgid "Card shado&w" msgstr "" #: pysollib/tk/menubar.py:372 -msgid "Show &statusbar" +msgid "Shade &legal moves" msgstr "" #: pysollib/tk/menubar.py:373 -msgid "Show &number of cards" +msgid "&Negative cards bottom" msgstr "" #: pysollib/tk/menubar.py:374 -msgid "Show &help bar" +msgid "Shade &filled stacks" msgstr "" #: pysollib/tk/menubar.py:375 -msgid "Save games &geometry" +msgid "A&nimations" msgstr "" #: pysollib/tk/menubar.py:376 -msgid "&Demo logo" +msgid "&None" msgstr "" #: pysollib/tk/menubar.py:377 -msgid "Startup splash sc&reen" +msgid "&Timer based" +msgstr "" + +#: pysollib/tk/menubar.py:378 +msgid "&Fast" +msgstr "" + +#: pysollib/tk/menubar.py:379 +msgid "&Slow" +msgstr "" + +#: pysollib/tk/menubar.py:380 +msgid "&Very slow" msgstr "" #: pysollib/tk/menubar.py:381 -msgid "&Help" +msgid "Stick&y mouse" msgstr "" #: pysollib/tk/menubar.py:382 -msgid "&Contents" -msgstr "" - -#: pysollib/tk/menubar.py:383 -msgid "&How to play" +msgid "Use mouse for undo/redo" msgstr "" #: pysollib/tk/menubar.py:384 -msgid "&Rules for this game" +msgid "&Fonts..." msgstr "" #: pysollib/tk/menubar.py:385 -msgid "&License terms" +msgid "&Colors..." +msgstr "" + +#: pysollib/tk/menubar.py:386 +msgid "Time&outs..." msgstr "" #: pysollib/tk/menubar.py:388 +msgid "&Toolbar" +msgstr "" + +#: pysollib/tk/menubar.py:390 +msgid "Stat&usbar" +msgstr "" + +#: pysollib/tk/menubar.py:391 +msgid "Show &statusbar" +msgstr "" + +#: pysollib/tk/menubar.py:392 +msgid "Show &number of cards" +msgstr "" + +#: pysollib/tk/menubar.py:393 +msgid "Show &help bar" +msgstr "" + +#: pysollib/tk/menubar.py:394 +msgid "Save games &geometry" +msgstr "" + +#: pysollib/tk/menubar.py:395 +msgid "&Demo logo" +msgstr "" + +#: pysollib/tk/menubar.py:396 +msgid "Startup splash sc&reen" +msgstr "" + +#: pysollib/tk/menubar.py:402 +msgid "&Help" +msgstr "" + +#: pysollib/tk/menubar.py:403 +msgid "&Contents" +msgstr "" + +#: pysollib/tk/menubar.py:404 +msgid "&How to play" +msgstr "" + +#: pysollib/tk/menubar.py:405 +msgid "&Rules for this game" +msgstr "" + +#: pysollib/tk/menubar.py:406 +msgid "&License terms" +msgstr "" + +#: pysollib/tk/menubar.py:409 msgid "&About " msgstr "" -#: pysollib/tk/menubar.py:496 +#: pysollib/tk/menubar.py:521 msgid "All &games..." msgstr "" -#: pysollib/tk/menubar.py:497 +#: pysollib/tk/menubar.py:523 msgid "Playable pre&view..." msgstr "" -#: pysollib/tk/menubar.py:499 -msgid "&Popular games" -msgstr "" - -#: pysollib/tk/menubar.py:502 -msgid "&French games" -msgstr "" - -#: pysollib/tk/menubar.py:505 +#: pysollib/tk/menubar.py:572 msgid "&Mahjongg games" msgstr "" -#: pysollib/tk/menubar.py:508 +#: pysollib/tk/menubar.py:610 +msgid "&Popular games" +msgstr "" + +#: pysollib/tk/menubar.py:618 +msgid "&French games" +msgstr "" + +#: pysollib/tk/menubar.py:625 msgid "&Oriental games" msgstr "" -#: pysollib/tk/menubar.py:512 +#: pysollib/tk/menubar.py:633 msgid "&Special games" msgstr "" -#: pysollib/tk/menubar.py:516 +#: pysollib/tk/menubar.py:639 msgid "All games by name" msgstr "" -#: pysollib/tk/menubar.py:849 pysollib/tk/menubar.py:851 +#: pysollib/tk/menubar.py:893 pysollib/tk/menubar.py:895 #: pysollib/tk/selectcardset.py:240 msgid "&Load" msgstr "" -#: pysollib/tk/menubar.py:851 +#: pysollib/tk/menubar.py:895 msgid "&Info..." msgstr "" -#: pysollib/tk/menubar.py:854 +#: pysollib/tk/menubar.py:898 msgid "Select " msgstr "" -#: pysollib/tk/menubar.py:915 +#: pysollib/tk/menubar.py:959 msgid "Select table background" msgstr "" -#: pysollib/tk/menubar.py:927 pysollib/tk/selecttile.py:177 +#: pysollib/tk/menubar.py:971 pysollib/tk/selecttile.py:177 msgid "Select table color" msgstr "" @@ -2404,7 +2478,7 @@ msgstr "" msgid "About cardset" msgstr "" -#: pysollib/tk/selectcardset.py:335 pysollib/tk/selectgame.py:374 +#: pysollib/tk/selectcardset.py:335 pysollib/tk/selectgame.py:365 msgid "Type:" msgstr "" @@ -2428,253 +2502,253 @@ msgstr "" msgid "(no games)" msgstr "" -#: pysollib/tk/selectgame.py:118 -msgid "French games" -msgstr "" - #: pysollib/tk/selectgame.py:121 -msgid "Oriental Games" -msgstr "" - -#: pysollib/tk/selectgame.py:124 -msgid "Special Games" -msgstr "" - -#: pysollib/tk/selectgame.py:127 -msgid "Original Games" -msgstr "" - -#: pysollib/tk/selectgame.py:141 -msgid "by Compatibility" -msgstr "" - -#: pysollib/tk/selectgame.py:159 -msgid "New games in v." -msgstr "" - -#: pysollib/tk/selectgame.py:162 -msgid "by PySol version" -msgstr "" - -#: pysollib/tk/selectgame.py:169 -msgid "All Games" -msgstr "" - -#: pysollib/tk/selectgame.py:170 -msgid "Alternate Names" -msgstr "" - -#: pysollib/tk/selectgame.py:171 -msgid "Popular Games" -msgstr "" - -#: pysollib/tk/selectgame.py:172 msgid "Mahjongg Games" msgstr "" -#: pysollib/tk/selectgame.py:178 +#: pysollib/tk/selectgame.py:124 +msgid "French games" +msgstr "" + +#: pysollib/tk/selectgame.py:126 +msgid "Oriental Games" +msgstr "" + +#: pysollib/tk/selectgame.py:128 +msgid "Special Games" +msgstr "" + +#: pysollib/tk/selectgame.py:130 +msgid "Original Games" +msgstr "" + +#: pysollib/tk/selectgame.py:144 +msgid "by Compatibility" +msgstr "" + +#: pysollib/tk/selectgame.py:152 +msgid "New games in v." +msgstr "" + +#: pysollib/tk/selectgame.py:155 +msgid "by PySol version" +msgstr "" + +#: pysollib/tk/selectgame.py:162 +msgid "All Games" +msgstr "" + +#: pysollib/tk/selectgame.py:163 +msgid "Alternate Names" +msgstr "" + +#: pysollib/tk/selectgame.py:164 +msgid "Popular Games" +msgstr "" + +#: pysollib/tk/selectgame.py:169 msgid "by Skill Level" msgstr "" -#: pysollib/tk/selectgame.py:179 pysollib/tk/selectgame.py:546 +#: pysollib/tk/selectgame.py:170 pysollib/tk/selectgame.py:542 msgid "Luck only" msgstr "" -#: pysollib/tk/selectgame.py:180 pysollib/tk/selectgame.py:547 +#: pysollib/tk/selectgame.py:171 pysollib/tk/selectgame.py:543 msgid "Mostly luck" msgstr "" -#: pysollib/tk/selectgame.py:181 pysollib/tk/selectgame.py:548 +#: pysollib/tk/selectgame.py:172 pysollib/tk/selectgame.py:544 msgid "Balanced" msgstr "" -#: pysollib/tk/selectgame.py:182 pysollib/tk/selectgame.py:549 +#: pysollib/tk/selectgame.py:173 pysollib/tk/selectgame.py:545 msgid "Mostly skill" msgstr "" -#: pysollib/tk/selectgame.py:183 pysollib/tk/selectgame.py:550 +#: pysollib/tk/selectgame.py:174 pysollib/tk/selectgame.py:546 msgid "Skill only" msgstr "" -#: pysollib/tk/selectgame.py:185 +#: pysollib/tk/selectgame.py:176 msgid "by Game Feature" msgstr "" -#: pysollib/tk/selectgame.py:186 +#: pysollib/tk/selectgame.py:177 msgid "by Number of Cards" msgstr "" -#: pysollib/tk/selectgame.py:187 +#: pysollib/tk/selectgame.py:178 msgid "32 cards" msgstr "" -#: pysollib/tk/selectgame.py:188 +#: pysollib/tk/selectgame.py:179 msgid "48 cards" msgstr "" -#: pysollib/tk/selectgame.py:189 +#: pysollib/tk/selectgame.py:180 msgid "52 cards" msgstr "" -#: pysollib/tk/selectgame.py:190 +#: pysollib/tk/selectgame.py:181 msgid "64 cards" msgstr "" -#: pysollib/tk/selectgame.py:191 +#: pysollib/tk/selectgame.py:182 msgid "78 cards" msgstr "" -#: pysollib/tk/selectgame.py:192 +#: pysollib/tk/selectgame.py:183 msgid "104 cards" msgstr "" -#: pysollib/tk/selectgame.py:193 +#: pysollib/tk/selectgame.py:184 msgid "144 cards" msgstr "" -#: pysollib/tk/selectgame.py:194 +#: pysollib/tk/selectgame.py:185 msgid "Other number" msgstr "" -#: pysollib/tk/selectgame.py:196 +#: pysollib/tk/selectgame.py:187 msgid "by Number of Decks" msgstr "" -#: pysollib/tk/selectgame.py:197 +#: pysollib/tk/selectgame.py:188 msgid "1 deck games" msgstr "" -#: pysollib/tk/selectgame.py:198 +#: pysollib/tk/selectgame.py:189 msgid "2 deck games" msgstr "" -#: pysollib/tk/selectgame.py:199 +#: pysollib/tk/selectgame.py:190 msgid "3 deck games" msgstr "" -#: pysollib/tk/selectgame.py:200 +#: pysollib/tk/selectgame.py:191 msgid "4 deck games" msgstr "" -#: pysollib/tk/selectgame.py:202 +#: pysollib/tk/selectgame.py:193 msgid "by Number of Redeals" msgstr "" -#: pysollib/tk/selectgame.py:203 +#: pysollib/tk/selectgame.py:194 msgid "No redeal" msgstr "" -#: pysollib/tk/selectgame.py:204 +#: pysollib/tk/selectgame.py:195 msgid "1 redeal" msgstr "" -#: pysollib/tk/selectgame.py:205 +#: pysollib/tk/selectgame.py:196 msgid "2 redeals" msgstr "" -#: pysollib/tk/selectgame.py:206 +#: pysollib/tk/selectgame.py:197 msgid "3 redeals" msgstr "" -#: pysollib/tk/selectgame.py:207 +#: pysollib/tk/selectgame.py:198 msgid "Unlimited redeals" msgstr "" -#: pysollib/tk/selectgame.py:209 +#: pysollib/tk/selectgame.py:200 msgid "Other number of redeals" msgstr "" -#: pysollib/tk/selectgame.py:214 +#: pysollib/tk/selectgame.py:205 msgid "Other Categories" msgstr "" -#: pysollib/tk/selectgame.py:215 +#: pysollib/tk/selectgame.py:206 msgid "Games for Children (very easy)" msgstr "" -#: pysollib/tk/selectgame.py:216 +#: pysollib/tk/selectgame.py:207 msgid "Games with Scoring" msgstr "" -#: pysollib/tk/selectgame.py:217 +#: pysollib/tk/selectgame.py:208 msgid "Games with Separate Decks" msgstr "" -#: pysollib/tk/selectgame.py:218 +#: pysollib/tk/selectgame.py:209 msgid "Open Games (all cards visible)" msgstr "" -#: pysollib/tk/selectgame.py:219 +#: pysollib/tk/selectgame.py:210 msgid "Relaxed Variants" msgstr "" -#: pysollib/tk/selectgame.py:358 +#: pysollib/tk/selectgame.py:349 msgid "About game" msgstr "" -#: pysollib/tk/selectgame.py:371 +#: pysollib/tk/selectgame.py:362 msgid "Name:" msgstr "" -#: pysollib/tk/selectgame.py:372 +#: pysollib/tk/selectgame.py:363 msgid "Alternate names:" msgstr "" -#: pysollib/tk/selectgame.py:373 +#: pysollib/tk/selectgame.py:364 msgid "Category:" msgstr "" -#: pysollib/tk/selectgame.py:375 +#: pysollib/tk/selectgame.py:366 msgid "Skill level:" msgstr "" -#: pysollib/tk/selectgame.py:376 +#: pysollib/tk/selectgame.py:367 msgid "Decks:" msgstr "" -#: pysollib/tk/selectgame.py:377 +#: pysollib/tk/selectgame.py:368 msgid "Redeals:" msgstr "" -#: pysollib/tk/selectgame.py:379 +#: pysollib/tk/selectgame.py:370 msgid "Played:" msgstr "" -#: pysollib/tk/selectgame.py:380 pysollib/tk/tkstats.py:111 +#: pysollib/tk/selectgame.py:371 pysollib/tk/tkstats.py:111 #: pysollib/tk/tkstats.py:163 msgid "Won:" msgstr "" -#: pysollib/tk/selectgame.py:381 pysollib/tk/tkstats.py:112 +#: pysollib/tk/selectgame.py:372 pysollib/tk/tkstats.py:112 #: pysollib/tk/tkstats.py:164 msgid "Lost:" msgstr "" -#: pysollib/tk/selectgame.py:382 pysollib/tk/tkstats.py:805 +#: pysollib/tk/selectgame.py:373 pysollib/tk/tkstats.py:805 msgid "Playing time:" msgstr "" -#: pysollib/tk/selectgame.py:383 pysollib/tk/tkstats.py:812 +#: pysollib/tk/selectgame.py:374 pysollib/tk/tkstats.py:812 msgid "Moves:" msgstr "" -#: pysollib/tk/selectgame.py:384 +#: pysollib/tk/selectgame.py:375 msgid "% won:" msgstr "" -#: pysollib/tk/selectgame.py:417 +#: pysollib/tk/selectgame.py:407 msgid "&Rules" msgstr "" -#: pysollib/tk/selectgame.py:497 +#: pysollib/tk/selectgame.py:487 msgid "Playable Preview - " msgstr "" -#: pysollib/tk/selectgame.py:553 +#: pysollib/tk/selectgame.py:549 msgid "variable" msgstr "" -#: pysollib/tk/selectgame.py:554 +#: pysollib/tk/selectgame.py:550 msgid "unlimited" msgstr "" @@ -2706,121 +2780,117 @@ msgstr "" msgid "&Solid color..." msgstr "" -#: pysollib/tk/soundoptionsdialog.py:77 +#: pysollib/tk/soundoptionsdialog.py:75 msgid "Are You Sure" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:79 +#: pysollib/tk/soundoptionsdialog.py:77 msgid "Deal" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:80 +#: pysollib/tk/soundoptionsdialog.py:78 msgid "Deal waste" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:82 +#: pysollib/tk/soundoptionsdialog.py:80 msgid "Turn waste" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:83 +#: pysollib/tk/soundoptionsdialog.py:81 msgid "Start drag" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:85 +#: pysollib/tk/soundoptionsdialog.py:83 msgid "Drop" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:86 +#: pysollib/tk/soundoptionsdialog.py:84 msgid "Drop pair" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:87 +#: pysollib/tk/soundoptionsdialog.py:85 msgid "Auto drop" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:89 +#: pysollib/tk/soundoptionsdialog.py:87 msgid "Flip" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:90 +#: pysollib/tk/soundoptionsdialog.py:88 msgid "Auto flip" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:91 +#: pysollib/tk/soundoptionsdialog.py:89 msgid "Move" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:92 +#: pysollib/tk/soundoptionsdialog.py:90 msgid "No move" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:94 pysollib/tk/toolbar.py:189 +#: pysollib/tk/soundoptionsdialog.py:92 pysollib/tk/toolbar.py:203 msgid "Undo" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:95 pysollib/tk/toolbar.py:190 +#: pysollib/tk/soundoptionsdialog.py:93 pysollib/tk/toolbar.py:204 msgid "Redo" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:97 +#: pysollib/tk/soundoptionsdialog.py:95 msgid "Autopilot lost" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:98 +#: pysollib/tk/soundoptionsdialog.py:96 msgid "Autopilot won" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:101 +#: pysollib/tk/soundoptionsdialog.py:99 msgid "Game lost" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:103 +#: pysollib/tk/soundoptionsdialog.py:101 msgid "Perfect game" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:113 +#: pysollib/tk/soundoptionsdialog.py:111 msgid "Sound enabled" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:119 +#: pysollib/tk/soundoptionsdialog.py:117 msgid "Use DirectX for sound playing" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:125 +#: pysollib/tk/soundoptionsdialog.py:123 msgid "Sample volume:" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:133 +#: pysollib/tk/soundoptionsdialog.py:131 msgid "Music volume:" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:146 +#: pysollib/tk/soundoptionsdialog.py:144 msgid "Enable samles" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:171 +#: pysollib/tk/soundoptionsdialog.py:170 msgid "&Apply" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:171 pysollib/tk/soundoptionsdialog.py:173 -msgid "&Mixer..." -msgstr "" - -#: pysollib/tk/soundoptionsdialog.py:222 +#: pysollib/tk/soundoptionsdialog.py:206 msgid "Sound preferences info" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:223 +#: pysollib/tk/soundoptionsdialog.py:207 msgid "" "Changing DirectX settings will take effect\n" "the next time you restart " msgstr "" -#: pysollib/tk/statusbar.py:136 +#: pysollib/tk/statusbar.py:158 msgid "Moves/Total moves" msgstr "" -#: pysollib/tk/statusbar.py:138 +#: pysollib/tk/statusbar.py:160 msgid "Games played: won/lost" msgstr "" @@ -2860,25 +2930,25 @@ msgstr "" msgid "Text only" msgstr "" -#: pysollib/tk/tkhtml.py:230 +#: pysollib/tk/tkhtml.py:255 msgid "Index" msgstr "" -#: pysollib/tk/tkhtml.py:234 +#: pysollib/tk/tkhtml.py:259 msgid "Back" msgstr "" -#: pysollib/tk/tkhtml.py:238 +#: pysollib/tk/tkhtml.py:263 msgid "Forward" msgstr "" -#: pysollib/tk/tkhtml.py:242 +#: pysollib/tk/tkhtml.py:267 msgid "Close" msgstr "" -#: pysollib/tk/tkhtml.py:360 +#: pysollib/tk/tkhtml.py:389 msgid "" -" HTML limitation:\n" +"HTML limitation:\n" "The %s protocol is not supported yet.\n" "\n" "Please use your standard web browser\n" @@ -2886,7 +2956,7 @@ msgid "" "%s\n" msgstr "" -#: pysollib/tk/tkhtml.py:385 pysollib/tk/tkhtml.py:389 +#: pysollib/tk/tkhtml.py:414 pysollib/tk/tkhtml.py:418 msgid "" "Unable to service request:\n" msgstr "" @@ -3054,87 +3124,87 @@ msgstr "" msgid "No TOP for this game" msgstr "" -#: pysollib/tk/toolbar.py:183 +#: pysollib/tk/toolbar.py:197 msgid "New" msgstr "" -#: pysollib/tk/toolbar.py:184 +#: pysollib/tk/toolbar.py:198 msgid "Restart" msgstr "" -#: pysollib/tk/toolbar.py:184 +#: pysollib/tk/toolbar.py:198 msgid "" "Restart the\n" "current game" msgstr "" -#: pysollib/tk/toolbar.py:186 +#: pysollib/tk/toolbar.py:200 msgid "Open" msgstr "" -#: pysollib/tk/toolbar.py:186 +#: pysollib/tk/toolbar.py:200 msgid "" "Open a\n" "saved game" msgstr "" -#: pysollib/tk/toolbar.py:187 +#: pysollib/tk/toolbar.py:201 msgid "Save" msgstr "" -#: pysollib/tk/toolbar.py:187 +#: pysollib/tk/toolbar.py:201 msgid "Save game" msgstr "" -#: pysollib/tk/toolbar.py:189 +#: pysollib/tk/toolbar.py:203 msgid "Undo last move" msgstr "" -#: pysollib/tk/toolbar.py:190 +#: pysollib/tk/toolbar.py:204 msgid "Redo last move" msgstr "" -#: pysollib/tk/toolbar.py:191 +#: pysollib/tk/toolbar.py:205 msgid "Auto drop cards" msgstr "" -#: pysollib/tk/toolbar.py:191 +#: pysollib/tk/toolbar.py:205 msgid "Autodrop" msgstr "" -#: pysollib/tk/toolbar.py:192 +#: pysollib/tk/toolbar.py:206 msgid "Pause" msgstr "" -#: pysollib/tk/toolbar.py:192 +#: pysollib/tk/toolbar.py:206 msgid "Pause game" msgstr "" -#: pysollib/tk/toolbar.py:194 +#: pysollib/tk/toolbar.py:208 msgid "View statistics" msgstr "" -#: pysollib/tk/toolbar.py:195 +#: pysollib/tk/toolbar.py:209 msgid "Rules" msgstr "" -#: pysollib/tk/toolbar.py:195 +#: pysollib/tk/toolbar.py:209 msgid "Rules for this game" msgstr "" -#: pysollib/tk/toolbar.py:197 +#: pysollib/tk/toolbar.py:211 msgid "Quit" msgstr "" -#: pysollib/tk/toolbar.py:209 +#: pysollib/tk/toolbar.py:225 msgid "Player" msgstr "" -#: pysollib/tk/toolbar.py:210 +#: pysollib/tk/toolbar.py:226 msgid "Player options" msgstr "" -#: pysollib/tk/toolbar.py:435 +#: pysollib/tk/toolbar.py:464 msgid "Toolbar" msgstr "" diff --git a/po/ru_games.po b/po/ru_games.po index 7e58a268..49ddfe07 100644 --- a/po/ru_games.po +++ b/po/ru_games.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: PySol 0.0.1\n" -"POT-Creation-Date: Sat Jun 24 16:07:12 2006\n" -"PO-Revision-Date: 2006-06-28 00:12+0400\n" +"POT-Creation-Date: Wed Aug 9 19:09:14 2006\n" +"PO-Revision-Date: 2006-08-09 23:52+0400\n" "Last-Translator: Скоморох \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" @@ -58,7 +58,7 @@ msgid "Aces Up 5" msgstr "Тузы вверх 5" msgid "Achtmal Acht" -msgstr "" +msgstr "Achtmal Acht" msgid "Acme" msgstr "Высшая точка" @@ -66,6 +66,9 @@ msgstr "Высшая точка" msgid "Acquaintance" msgstr "Знакомство" +msgid "Adela" +msgstr "Адела" + msgid "Agnes Bernauer" msgstr "Агнесса Берно" @@ -94,7 +97,7 @@ msgid "Ali Baba" msgstr "Али Баба" msgid "All in a Row" -msgstr "" +msgstr "Всё в ряд" msgid "Altar" msgstr "Алтарь" @@ -102,12 +105,21 @@ msgstr "Алтарь" msgid "Alternation" msgstr "Чередование" +msgid "Alternations" +msgstr "Чередования" + msgid "Amazons" msgstr "Амазонки" +msgid "American Canister" +msgstr "Американская коробочка" + msgid "American Toad" msgstr "Американская жаба" +msgid "Anno Domini" +msgstr "Anno Domini" + msgid "Another Round" msgstr "Другой Раунд" @@ -124,7 +136,7 @@ msgid "Arabella" msgstr "Арабелла" msgid "Arachnida" -msgstr "" +msgstr "Арахнида" msgid "Arena" msgstr "Арена" @@ -141,8 +153,12 @@ msgstr "Стрела" msgid "Art Moderne" msgstr "Современное искусство" +#, fuzzy +msgid "Artic Garden" +msgstr "Сад" + msgid "Ashrafi" -msgstr "" +msgstr "Ashrafi" msgid "Ashta Dikapala" msgstr "" @@ -150,6 +166,12 @@ msgstr "" msgid "Ashwapati" msgstr "" +msgid "Assembly" +msgstr "Ассамблея" + +msgid "Athena" +msgstr "Афины" + msgid "Auld Lang Syne" msgstr "Старые добрые времена" @@ -184,19 +206,24 @@ msgstr "Баланс" msgid "Balarama" msgstr "" +msgid "Bastille Day" +msgstr "День Бастилии" + msgid "Bastion" msgstr "Бастион" msgid "Bat" msgstr "Летучая мышь" -#, fuzzy msgid "Bath" -msgstr "Летучая мышь" +msgstr "Ванна" msgid "Batsford" msgstr "Бетсфорд" +msgid "Batsford Again" +msgstr "Бетсфорд снова" + msgid "Bavarian Patience" msgstr "Баварский пасьянс" @@ -206,6 +233,10 @@ msgstr "Клюв и ласты" msgid "Beatle" msgstr "Жук" +#, fuzzy +msgid "Beetle" +msgstr "Жук" + msgid "Beleaguered Castle" msgstr "Осаждённый замок" @@ -215,6 +246,9 @@ msgstr "Бельведер" msgid "Betsy Ross" msgstr "Бетси Росс" +msgid "Big Bertha" +msgstr "Большая Берта" + msgid "Big Braid" msgstr "Большая коса" @@ -224,6 +258,13 @@ msgstr "Большая Ячейка" msgid "Big Courtyard" msgstr "Большой Внутренний двор" +msgid "Big Deal" +msgstr "Большая Расдача" + +#, fuzzy +msgid "Big Divorce" +msgstr "Большая дыра" + #, fuzzy msgid "Big Easy" msgstr "Большая арфа" @@ -235,10 +276,6 @@ msgstr "Большой Летящий Дракон" msgid "Big Forty" msgstr "Форт" -#, fuzzy -msgid "Big Ground" -msgstr "Большая гора" - msgid "Big Harp" msgstr "Большая арфа" @@ -249,7 +286,7 @@ msgid "Big Mountain" msgstr "Большая гора" msgid "Big Spider" -msgstr "Большой паук" +msgstr "Большой Паук" msgid "Big Spider (1 suit)" msgstr "Большой Паук (1 масть)" @@ -260,9 +297,8 @@ msgstr "Большой Паук (2 масти)" msgid "Big Streets" msgstr "Большие Улицы" -#, fuzzy msgid "Big Sumo" -msgstr "Большая дыра" +msgstr "Большое Сумо" msgid "Big York" msgstr "Большой Йорк" @@ -303,6 +339,12 @@ msgstr "Боров" msgid "Boat" msgstr "Лодка" +msgid "Bonaparte" +msgstr "Бонапарт" + +msgid "Boost" +msgstr "Повышение" + msgid "Boudoir" msgstr "Будуар" @@ -310,11 +352,17 @@ msgid "Box Fan" msgstr "Коробка для веера" msgid "Box Kite" -msgstr "" +msgstr "Воздушный змей" msgid "Braid" msgstr "Коса" +msgid "Brazilian Patience" +msgstr "Бразильский пасьянс" + +msgid "Breakwater" +msgstr "Волнолом" + msgid "Bridesmaids" msgstr "Подружки невесты" @@ -334,9 +382,18 @@ msgstr "" msgid "Brigade" msgstr "Бригада" +msgid "Brisbane" +msgstr "Брисбен" + msgid "Bristol" msgstr "Бристоль" +msgid "British Blockade" +msgstr "Британская блокада" + +msgid "British Canister" +msgstr "Британская коробочка" + msgid "British Constitution" msgstr "Британская конституция" @@ -352,9 +409,8 @@ msgstr "Буффало Билл" msgid "Bug" msgstr "Клоп" -#, fuzzy msgid "Busy Aces" -msgstr "Русские тузы" +msgstr "Занятые тузы" msgid "Butterfly" msgstr "Бабочка" @@ -371,6 +427,9 @@ msgstr "Камелот" msgid "Canfield" msgstr "Кенфилд" +msgid "Canfield Rush" +msgstr "Пустяковый Кенфилд" + msgid "Canister" msgstr "Коробочка" @@ -456,9 +515,15 @@ msgstr "Маджонг ChessMania" msgid "Chessboard" msgstr "Шахматная доска" +msgid "Chinaman" +msgstr "Китаец" + msgid "Chinese Discipline" msgstr "Китайский порядок" +msgid "Chinese Klondike" +msgstr "Китайский Клондайк" + msgid "Chinese Solitaire" msgstr "Китайский пасьянс" @@ -468,6 +533,12 @@ msgstr "Щепка" msgid "Cicely" msgstr "Кервель" +msgid "Circle Eight" +msgstr "Восемь в круг" + +msgid "Circle Nine" +msgstr "Девять в круг" + msgid "Citadel" msgstr "Цитадель" @@ -507,9 +578,8 @@ msgstr "Виток" msgid "Corkscrew" msgstr "Штопор" -#, fuzzy msgid "Corner Suite" -msgstr "Углы" +msgstr "Угловые масти" msgid "Corners" msgstr "Углы" @@ -517,14 +587,26 @@ msgstr "Углы" msgid "Corona" msgstr "Корона" +msgid "Cotillion" +msgstr "Котильон" + msgid "Courtyard" msgstr "Внутренний двор" +msgid "Cover" +msgstr "Конверт" + +msgid "Crescent" +msgstr "Полумесяц" + msgid "Cross" msgstr "Крест" +msgid "Crossroads" +msgstr "Перекрестки" + msgid "Crown" -msgstr "Венец" +msgstr "Корона" msgid "Cruel" msgstr "Изнурительный" @@ -538,9 +620,8 @@ msgstr "Купол" msgid "Curds and Whey" msgstr "Творог и сыворотка" -#, fuzzy msgid "Czarina" -msgstr "Мария" +msgstr "Царевна" #, fuzzy msgid "Danda" @@ -549,9 +630,8 @@ msgstr "Алмаз" msgid "Dashavatara" msgstr "Дашаватара" -#, fuzzy msgid "Dashavatara Circles" -msgstr "Дашаватара" +msgstr "Дашаватара Круги" msgid "Dead King Golf" msgstr "Гольф Смертельный Король" @@ -562,63 +642,65 @@ msgstr "Глубокий" msgid "Deep Well" msgstr "Глубокий колодец" -#, fuzzy +msgid "Delivery" +msgstr "Доставка" + msgid "Demon" -msgstr "Алмаз" +msgstr "Демон" msgid "Der Katzenschwanz" -msgstr "" +msgstr "Der Katzenschwanz" msgid "Der Zopf" -msgstr "" +msgstr "Der Zopf" -#, fuzzy msgid "Der freie Napoleon" -msgstr "Свободный Наполеон" +msgstr "Der freie Napoleon" -#, fuzzy msgid "Der kleine Napoleon" -msgstr "Свободный Наполеон" +msgstr "Der kleine Napoleon" msgid "Der lange Zopf" -msgstr "" +msgstr "Der lange Zopf" -#, fuzzy msgid "Der letzte Monarch" -msgstr "Последний ,Монарх" +msgstr "Der letzte Monarch" msgid "Deuces" msgstr "Двойки" msgid "Dhanpati" -msgstr "" +msgstr "Dhanpati" msgid "Diamond" -msgstr "Алмаз" +msgstr "Буби" + +msgid "Diamond Mine" +msgstr "Алмазный рудник" msgid "Die Bildgallerie" -msgstr "" +msgstr "Die Bildgallerie" msgid "Die Königsbergerin" -msgstr "" +msgstr "Die Königsbergerin" msgid "Die Russische" -msgstr "" +msgstr "Die Russische" msgid "Die Schlange" -msgstr "" +msgstr "Die Schlange" msgid "Die böse Sieben" -msgstr "" +msgstr "Die böse Sieben" msgid "Die große Harfe" -msgstr "" +msgstr "Die große Harfe" msgid "Die kleine Harfe" -msgstr "" +msgstr "Die kleine Harfe" msgid "Dieppe" -msgstr "" +msgstr "Dieppe" msgid "Diplomat" msgstr "Дипломат" @@ -632,6 +714,12 @@ msgstr "" msgid "Dojouji's Game Doubled" msgstr "" +msgid "Doorway" +msgstr "Вход" + +msgid "Double Acquaintance" +msgstr "Двойное Знакомство" + msgid "Double Bisley" msgstr "Двойной Бисли" @@ -651,9 +739,15 @@ msgstr "Двойной разводной мост" msgid "Double Easthaven" msgstr "Двойной кузнечик" +msgid "Double Fives" +msgstr "Двойные пятёрки" + msgid "Double FreeCell" msgstr "Двойная свободная ячейка" +msgid "Double Gold Mine" +msgstr "Двойной Золотой рудник" + msgid "Double Grasshopper" msgstr "Двойной кузнечик" @@ -687,20 +781,24 @@ msgstr "Двойной Маджонг Двойная вершина" msgid "Double Mahjongg Two Squares" msgstr "Двойной Маджонг Два квадрата" +msgid "Double Measure" +msgstr "Двойная Мера" + msgid "Double Rail" msgstr "Двойные рельсы" -#, fuzzy msgid "Double Russian Solitaire" -msgstr "Русский солитер" +msgstr "Двойной Русский солитер" + +msgid "Double Russian Spider" +msgstr "Двойной Русский Паук" #, fuzzy msgid "Double Samuri" msgstr "Двойные рельсы" -#, fuzzy msgid "Double Scorpion" -msgstr "Двойные рельсы" +msgstr "Двойной Скорпион" #, fuzzy msgid "Double Your Fun" @@ -709,6 +807,9 @@ msgstr "Двойной Юкон" msgid "Double Yukon" msgstr "Двойной Юкон" +msgid "Double or Quits" +msgstr "Двойная и расчёт" + msgid "Doublets" msgstr "Дубликаты" @@ -730,6 +831,9 @@ msgstr "Показ мод" msgid "Drivel" msgstr "Бессмыслица" +msgid "Duchess" +msgstr "Герцогиня" + msgid "Dude" msgstr "Пижон" @@ -739,6 +843,9 @@ msgstr "Герцог" msgid "Dumfries" msgstr "" +msgid "Dutch Solitaire" +msgstr "Голландский пасьянс" + msgid "Eagle Wing" msgstr "Крыло орла" @@ -754,6 +861,9 @@ msgstr "" msgid "Easy x One" msgstr "" +msgid "Eclipse" +msgstr "Затмение" + msgid "Egyptian Solitaire" msgstr "Египетский пасьянс" @@ -778,6 +888,12 @@ msgstr "Ельба" msgid "Elevator" msgstr "Лифт" +msgid "Elevens" +msgstr "Одиннадцать" + +msgid "Elevens Too" +msgstr "Тоже Одиннадцать" + msgid "Emperor" msgstr "Император" @@ -790,12 +906,17 @@ msgstr "Предприятие" msgid "Escalator" msgstr "Эскалатор" -#, fuzzy +msgid "Eternal Triangle" +msgstr "Вечный треугольник" + msgid "Eularia" -msgstr "Мария" +msgstr "Евлария" msgid "Excuse" -msgstr "" +msgstr "Оправдание" + +msgid "Exiled Kings" +msgstr "Изгнанные короли" msgid "Express" msgstr "Экспресс" @@ -807,8 +928,11 @@ msgstr "Глаз" msgid "F-15 Eagle" msgstr "Маджонг F-15 Eagle" +msgid "Faerie Queen" +msgstr "Королева фей" + msgid "Fair Lucy" -msgstr "" +msgstr "Честная Люси" #, fuzzy msgid "Fairest" @@ -820,14 +944,23 @@ msgstr "Падающая звезда" msgid "Fan" msgstr "Веер" +msgid "Fanny" +msgstr "Корма" + msgid "Farandole" msgstr "Фарандола" +msgid "Farmer's Wife" +msgstr "Фермерская жена" + msgid "Faro" msgstr "Фараон" +msgid "Fascination Fan" +msgstr "Очаровательный веер" + msgid "Fastness" -msgstr "Цитадель" +msgstr "Крепость" #, fuzzy msgid "Fatimeh's Game" @@ -843,9 +976,18 @@ msgstr "Пятнашки" msgid "Fifteen plus" msgstr "Пятнадцать плюс" +msgid "Fifteens" +msgstr "Пятнадцать" + +msgid "Final Battle" +msgstr "Последняя битва" + msgid "Firecracker" msgstr "Хлопушка" +msgid "Firing Squad" +msgstr "Салютная команда" + msgid "First Law" msgstr "Фундаментальный закон" @@ -862,9 +1004,16 @@ msgstr "Пять тузов" msgid "Five Pyramids" msgstr "Пять пирамид" +msgid "Flamenco" +msgstr "Фламенко" + msgid "Floating City" msgstr "Плавающий город" +#, fuzzy +msgid "Floradora" +msgstr "Колорадо" + msgid "Flower Arrangement" msgstr "Аранжировка цветов" @@ -896,13 +1045,15 @@ msgstr "Крепость" msgid "Fortress Towers" msgstr "Крепостные башни" -#, fuzzy msgid "Fortune's Favor" -msgstr "Благосклонность фортуны" +msgstr "Любимец фортуны" msgid "Fortunes" msgstr "Судьба" +msgid "Forty Nine" +msgstr "Сорок девять" + msgid "Forty Thieves" msgstr "Сорок разбойников" @@ -927,9 +1078,15 @@ msgstr "Четыре кучи" msgid "Four Winds" msgstr "Четыре ветра" +msgid "Foursome" +msgstr "Квартеты" + msgid "Fourteen" msgstr "Четырнадцать" +msgid "Frames" +msgstr "Рамки" + msgid "Fred's Spider" msgstr "Паук Фреда" @@ -960,10 +1117,10 @@ msgid "Future" msgstr "Будущее" msgid "Gajapati" -msgstr "" +msgstr "Gajapati" msgid "Gaji" -msgstr "" +msgstr "Gaji" msgid "Galary" msgstr "Галерея" @@ -981,7 +1138,7 @@ msgid "Gargantua" msgstr "Гаргантюа" msgid "Garhpati" -msgstr "" +msgstr "Garhpati" msgid "Gate" msgstr "Ворота" @@ -1002,18 +1159,28 @@ msgstr "Происхождение +" msgid "Geoffrey" msgstr "Джефри" +msgid "German FreeCell" +msgstr "Немецкая Свободная ячейка" + msgid "German Patience" -msgstr "Германский пасьянс" +msgstr "Немецкая пасьянс" msgid "Ghulam" -msgstr "" +msgstr "Ghulam" msgid "Giant" msgstr "Великан" +msgid "Giza" +msgstr "Гиза" + msgid "Glade" msgstr "Поляна" +#, fuzzy +msgid "Glencoe" +msgstr "Гленвуд" + msgid "Glenwood" msgstr "Гленвуд" @@ -1026,27 +1193,48 @@ msgstr "Глория" msgid "Gnat" msgstr "Комар" +msgid "Gold Mine" +msgstr "Золотой рудник" + +msgid "Gold Rush" +msgstr "Золотой пустяк" + msgid "Golf" msgstr "Гольф" msgid "Good Measure" msgstr "Полная мера" +msgid "Gotham" +msgstr "Простак" + msgid "Grampus" msgstr "Касатка" msgid "Granada" msgstr "Гранада" +msgid "Grand Duchess" +msgstr "Великая Герцогиня" + +msgid "Grand Duchess +" +msgstr "Великая Герцогиня +" + msgid "Grandfather" msgstr "Дедушка" msgid "Grandfather's Clock" msgstr "Дедушкины часы" +msgid "Grandmamma's Patience" +msgstr "Бабушкин пасьянс" + msgid "Grandmother's Game" msgstr "Бабушкина игра" +msgid "Grant's Reinforcement" +msgstr "Подкрепление Гранта" + msgid "Grasshopper" msgstr "Кузнечик" @@ -1081,9 +1269,8 @@ msgstr "Половинный Маджонг Улыбка" msgid "Half Mahjongg Wall" msgstr "Половинный Маджонг Стена" -#, fuzzy msgid "Hanafuda Four Seasons" -msgstr "Четыре сезона" +msgstr "Ханафуда Четыре сезона" msgid "Hanoi Puzzle 4" msgstr "Ханойская головоломка 4" @@ -1100,12 +1287,18 @@ msgstr "С Новым Годом" msgid "Hare" msgstr "Заяц" +msgid "Harvestman" +msgstr "Сенокосец" + msgid "Hayagriva" msgstr "" msgid "Haystack" msgstr "Стог сена" +msgid "Headquarters" +msgstr "Штаб" + msgid "Heads and Tails" msgstr "Головы и хвосты" @@ -1113,11 +1306,10 @@ msgid "Helios" msgstr "Гелиос" msgid "Hex A Klon" -msgstr "" +msgstr "Шестнадцатиричный Клондайк" -#, fuzzy msgid "Hex A Klon by Threes" -msgstr "Клондайк по три" +msgstr "Шестнадцатиричный Клондайк по три" msgid "Hex Labyrinth" msgstr "Шестнадцатеричный лабиринт" @@ -1128,18 +1320,17 @@ msgstr "Тайные ходы" msgid "Hidden Words" msgstr "Спрятанные слова" -#, fuzzy msgid "High and Low" -msgstr "Маджонг High and Low" +msgstr "Верхний и нижний" msgid "Hiranyaksha" -msgstr "" +msgstr "Hiranyaksha" msgid "Hopscotch" msgstr "Классы" msgid "Horse" -msgstr "Лошадь" +msgstr "Конь" msgid "House in the Wood" msgstr "Дом в лесу" @@ -1150,12 +1341,18 @@ msgstr "Дом на холме" msgid "Hovercraft" msgstr "Ховеркрафт" +msgid "How They Run" +msgstr "Как оно работает" + msgid "Hurdles" msgstr "Барьеры" msgid "Hurricane" msgstr "Ураган" +msgid "Hypotenuse" +msgstr "Гипотенуза" + msgid "Idiot's Delight" msgstr "Дурацкое удовольствие" @@ -1163,7 +1360,7 @@ msgid "Idle Aces" msgstr "Свободные тузы" msgid "IloveU" -msgstr "" +msgstr "IloveU" msgid "Imperial Guards" msgstr "Императорская гвардия" @@ -1176,7 +1373,10 @@ msgid "Inazuma" msgstr "Маджонг Inazuma" msgid "Inca" -msgstr "" +msgstr "Инка" + +msgid "Indefatigable" +msgstr "Неутомимый" msgid "Indian" msgstr "Индийский" @@ -1196,9 +1396,18 @@ msgstr "Смекалка" msgid "Intelligence +" msgstr "Смекалка +" +msgid "Interchange" +msgstr "Чередование" + +msgid "Interment" +msgstr "Погребение" + msgid "Interregnum" msgstr "Междуцарствие" +msgid "Intrigue" +msgstr "Интрига" + msgid "Iris" msgstr "Ирис" @@ -1238,6 +1447,9 @@ msgstr "Путешествие в Куддапах" msgid "Jumbo" msgstr "Гигант" +msgid "Junction" +msgstr "Соединение" + msgid "Jungle" msgstr "Джунгли" @@ -1271,7 +1483,7 @@ msgid "Katrina's Game Relaxed" msgstr "" msgid "Khadga" -msgstr "" +msgstr "Khadga" msgid "King Albert" msgstr "Король Альберт" @@ -1280,7 +1492,10 @@ msgid "King Only Baker's Game" msgstr "" msgid "King Only Hex A Klon" -msgstr "" +msgstr "Королевский Шестнадцатиричный Клондайк" + +msgid "KingCell" +msgstr "Королевская Ячейка" msgid "Kingdom" msgstr "Королевство" @@ -1305,10 +1520,10 @@ msgid "Km" msgstr "" msgid "Knotty Nines" -msgstr "" +msgstr "Сложная Девятка" msgid "Krebs" -msgstr "" +msgstr "Кребс" msgid "Kujaku" msgstr "" @@ -1371,8 +1586,14 @@ msgstr "Маджонг Kyodai 42" msgid "La Belle Lucie" msgstr "Прекрасная Люси" +msgid "La Chatelaine" +msgstr "La Chatelaine" + msgid "La Nivernaise" -msgstr "" +msgstr "La Nivernaise" + +msgid "La Parisienne" +msgstr "La Parisienne" msgid "Labyrinth" msgstr "Лабиринт" @@ -1380,15 +1601,20 @@ msgstr "Лабиринт" msgid "Lady Betty" msgstr "Леди Бетти" -#, fuzzy msgid "Lady Jane" -msgstr "Леди Полк" +msgstr "Леди Джейн" msgid "Lady Palk" msgstr "Леди Полк" msgid "Lady of the Manor" -msgstr "" +msgstr "Госпожа поместья" + +msgid "Lafayette" +msgstr "Лафайет" + +msgid "Laggard Lady" +msgstr "Ленивая леди" msgid "Lanes" msgstr "Тропинки" @@ -1403,18 +1629,27 @@ msgstr "" msgid "Lara's Game Relaxed" msgstr "" +msgid "Last Chance" +msgstr "Последний шанс" + msgid "Lattice" msgstr "Решётка" msgid "Le Cadran" -msgstr "" +msgstr "Le Cadran" msgid "Le Grande Teton" -msgstr "" +msgstr "Le Grande Teton" + +msgid "Legion" +msgstr "Легион" msgid "Leo" msgstr "Лев" +msgid "Les Quatre Coins" +msgstr "Les Quatre Coins" + msgid "Lesser Queue" msgstr "Короткая коса" @@ -1431,7 +1666,7 @@ msgid "Limited" msgstr "Ограниченный" msgid "Lion" -msgstr "Лион" +msgstr "Лев" msgid "Little Billie" msgstr "Малыш Билли" @@ -1447,9 +1682,11 @@ msgstr "Малые ворота" msgid "Little Gate" msgstr "Малые ворота" -#, fuzzy msgid "Little Napoleon" -msgstr "Свободный Наполеон" +msgstr "Маленький Наполеон" + +msgid "Lobachevsky" +msgstr "Лобачевский" msgid "Long Braid" msgstr "Долгая коса" @@ -1457,6 +1694,10 @@ msgstr "Долгая коса" msgid "Long Journey to Cuddapah" msgstr "Долгое путешествие в Куддапах" +#, fuzzy +msgid "Long Tail" +msgstr "Долгая коса" + msgid "Loose Ends" msgstr "Свободные концы" @@ -1466,6 +1707,12 @@ msgstr "Потеря" msgid "Lucas" msgstr "Лукас" +msgid "Lucky Piles" +msgstr "Счастливая ячейка" + +msgid "Lucky Thirteen" +msgstr "Счастливые Тринадцать" + msgid "Madame" msgstr "Мадам" @@ -1651,7 +1898,7 @@ msgid "Mahjongg Hidden Words" msgstr "Маджонг Спрятанные слова" msgid "Mahjongg High and Low" -msgstr "Маджонг High and Low" +msgstr "Маджонг Верхний и нижний" msgid "Mahjongg Horse" msgstr "Маджонг Лошадь" @@ -1672,7 +1919,7 @@ msgid "Mahjongg Inazuma" msgstr "Маджонг Inazuma" msgid "Mahjongg Inca" -msgstr "Маджонг Inca" +msgstr "Маджонг Инка" msgid "Mahjongg Inner Circle" msgstr "Маджонг Внутренний круг" @@ -1693,7 +1940,7 @@ msgid "Mahjongg Km" msgstr "Маджонг Km" msgid "Mahjongg Krebs" -msgstr "Маджонг Krebs" +msgstr "Маджонг Кребс" msgid "Mahjongg Kujaku" msgstr "Маджонг Kujaku" @@ -1975,7 +2222,7 @@ msgid "Mahjongg Twin" msgstr "Маджонг Twin" msgid "Mahjongg Twin Temples" -msgstr "Маджонг Twin Temples" +msgstr "Маджонг Двойной храм" msgid "Mahjongg Two Domes" msgstr "Маджонг Two Domes" @@ -2020,6 +2267,9 @@ msgstr "Маджонг Приятный" msgid "Makara" msgstr "Мария" +msgid "Mamy Susan" +msgstr "Мамочка Сюзи" + msgid "Mancunian" msgstr "Манчестерский" @@ -2032,9 +2282,15 @@ msgstr "Мария Луиза" msgid "Marie Rose" msgstr "Мари Роз" +msgid "Marshal" +msgstr "Маршал" + msgid "Martha" msgstr "Марта" +msgid "Master" +msgstr "Мастер" + msgid "Matriarchy" msgstr "Матриархат" @@ -2042,14 +2298,13 @@ msgid "Matrimony" msgstr "Супружество" msgid "MatsuKiri" -msgstr "" +msgstr "MatsuKiri" msgid "MatsuKiri Strict" -msgstr "" +msgstr "Строгий MatsuKiri" -#, fuzzy msgid "Matsya" -msgstr "Майя" +msgstr "Матся" msgid "Maya" msgstr "Майя" @@ -2057,14 +2312,17 @@ msgstr "Майя" msgid "Maze" msgstr "Путаница" +msgid "Measure" +msgstr "Мера" + msgid "Memory 24" -msgstr "" +msgstr "Запоминание 24" msgid "Memory 30" -msgstr "" +msgstr "Запоминание 30" msgid "Memory 40" -msgstr "" +msgstr "Запоминание 40" msgid "Merlin's Meander" msgstr "Орнамент Мерлина" @@ -2078,9 +2336,8 @@ msgstr "" msgid "Midshipman" msgstr "Гардемарин" -#, fuzzy msgid "Millie" -msgstr "Ячейка Миллиган" +msgstr "Милли" msgid "Milligan Cell" msgstr "Ячейка Миллиган" @@ -2112,7 +2369,7 @@ msgid "Mississippi" msgstr "Миссисипи" msgid "Mod-3" -msgstr "" +msgstr "Mod-3" msgid "Monaco" msgstr "Монако" @@ -2142,7 +2399,6 @@ msgstr "Мотылёк" msgid "Mount Olympus" msgstr "Гора Олимп" -#, fuzzy msgid "Moving Left" msgstr "Движение влево" @@ -2150,7 +2406,7 @@ msgid "Mrs. Mop" msgstr "Миссис Моп" msgid "Mughal Circles" -msgstr "" +msgstr "Мугал Круги" #, fuzzy msgid "Multi X" @@ -2195,7 +2451,7 @@ msgid "Napoleon's Tomb" msgstr "Гробница Наполеона" msgid "Narasimha" -msgstr "" +msgstr "Нарасимха" #, fuzzy msgid "Narpati" @@ -2238,16 +2494,17 @@ msgstr "Северо-Западные Территории" msgid "Number Ten" msgstr "Номер десять" -#, fuzzy msgid "Number Twelve" -msgstr "Номер десять" +msgstr "Номер двенадцать" msgid "Numerica" msgstr "Числовой" -#, fuzzy +msgid "Numerica (2 decks)" +msgstr "Числовой (2 колоды)" + msgid "Ocean Towers" -msgstr "Морские башни" +msgstr "Океанские башни" msgid "Octagon" msgstr "Восьмиугольник" @@ -2268,6 +2525,9 @@ msgstr "Маджонг Okie's Nitemare" msgid "Old Mole" msgstr "Старая дамба" +msgid "One234" +msgstr "Раз234" + msgid "Oonsoo" msgstr "" @@ -2289,6 +2549,9 @@ msgstr "Открытый гигант" msgid "Open Peek" msgstr "" +msgid "Open Sly Fox" +msgstr "Открытая Хитрая лиса" + msgid "Open Spider" msgstr "Открытый паук" @@ -2304,6 +2567,9 @@ msgstr "Порядок" msgid "Osmosis" msgstr "Осмос" +msgid "Outback Patience" +msgstr "Необжитой пасьянс" + msgid "Owl" msgstr "Сова" @@ -2320,6 +2586,9 @@ msgstr "Пагода" msgid "Panopticon" msgstr "Паноптикум" +msgid "Pantagruel" +msgstr "Пантагрюель" + msgid "Pantheon" msgstr "Пантеон" @@ -2332,6 +2601,15 @@ msgstr "Параллели" msgid "Parashurama" msgstr "" +msgid "Parisian" +msgstr "Парижский" + +msgid "Parisienne" +msgstr "" + +msgid "Parliament" +msgstr "Парламент" + msgid "Pas Seul" msgstr "Сольный танец" @@ -2383,9 +2661,8 @@ msgstr "Перпетуум-мобиле" msgid "Perseverance" msgstr "Настойчивость" -#, fuzzy msgid "Phantom Blockade" -msgstr "Блокада" +msgstr "Призрачная блокада" msgid "Phoenix" msgstr "Феникс" @@ -2393,6 +2670,9 @@ msgstr "Феникс" msgid "Picture Gallery" msgstr "Картинная галерея" +msgid "Picture Patience" +msgstr "Картинный пасьянс" + #, fuzzy msgid "Pigtail" msgstr "Косичка" @@ -2413,11 +2693,10 @@ msgid "Plus Belle" msgstr "" msgid "Poker Shuffle" -msgstr "" +msgstr "Покер с тасованием" -#, fuzzy msgid "Poker Square" -msgstr "Два квадрата" +msgstr "Покер-квадрат" msgid "Ponytail" msgstr "Конский хвост" @@ -2428,6 +2707,12 @@ msgstr "Портал" msgid "Portuguese Solitaire" msgstr "Португальский пасьянс" +msgid "Primrose" +msgstr "Первоцвет" + +msgid "Princess Patience" +msgstr "Княжеский пасьянс" + msgid "Progression" msgstr "Движение" @@ -2449,21 +2734,26 @@ msgstr "Пирамида 1" msgid "Pyramid 2" msgstr "Пирамида 2" -#, fuzzy msgid "Pyramid Golf" -msgstr "Пирамида 1" +msgstr "Пирамидальный Голф" msgid "Q.C." msgstr "" msgid "Quad" -msgstr "" +msgstr "Четвёрка" msgid "Quadrangle" msgstr "Четырёхугольник" msgid "Quadruple Alliance" -msgstr "" +msgstr "Четырёхсторонний альянс" + +msgid "Quartets" +msgstr "Квартеты" + +msgid "Queen Victoria" +msgstr "Королева Виктория" msgid "Queen of Italy" msgstr "Королева Италии" @@ -2471,6 +2761,9 @@ msgstr "Королева Италии" msgid "Queenie" msgstr "" +msgid "Queensland" +msgstr "" + msgid "Quilt" msgstr "Одеяло" @@ -2516,11 +2809,14 @@ msgstr "Красная Луна" msgid "Red and Black" msgstr "Красное и Чёрное" +msgid "Regal Family" +msgstr "Царская семья" + msgid "Reindeer" msgstr "Северный олень" msgid "Relax" -msgstr "" +msgstr "Смягчённый" msgid "Relaxed FreeCell" msgstr "Смягчённая Свободная ячейка" @@ -2543,6 +2839,9 @@ msgstr "Ремонт" msgid "Retinue" msgstr "Свита" +msgid "Right Triangle" +msgstr "Правый Треугольник" + msgid "Rings" msgstr "Круги" @@ -2582,6 +2881,9 @@ msgstr "Ракета" msgid "Roman Arena" msgstr "Римская арена" +msgid "Roosevelt" +msgstr "Рузвельт" + msgid "Roost" msgstr "Насест" @@ -2593,10 +2895,13 @@ msgid "Roslin" msgstr "Робин" msgid "Rouge et Noir" -msgstr "" +msgstr "Rouge et Noir" msgid "Rows of Four" -msgstr "" +msgstr "Четыре в ряд" + +msgid "Royal Aids" +msgstr "Королевская помощь" msgid "Royal Cotillion" msgstr "Королевский котильон" @@ -2611,6 +2916,12 @@ msgstr "Королевская семья" msgid "Royal Marriage" msgstr "Королевская свадьба" +msgid "Royal Parade" +msgstr "Королевский парад" + +msgid "Royal Rendezvous" +msgstr "Королевское рандеву" + msgid "Rugby" msgstr "Регби" @@ -2629,24 +2940,32 @@ msgstr "Русский пункт" msgid "Russian Solitaire" msgstr "Русский солитер" +msgid "Russian Spider" +msgstr "Русский паук" + msgid "Salic Law" msgstr "Салический закон" msgid "Samuri" msgstr "" +msgid "San Juan Hill" +msgstr "Гора Сан-Хуан" + msgid "Sanibel" msgstr "Санибел" -#, fuzzy msgid "Saratoga" -msgstr "Звёздные врата" +msgstr "Дорожный сундук" + +msgid "Saxony" +msgstr "Саксония" msgid "Scarab" msgstr "Скарабей" msgid "Scheidungsgrund" -msgstr "" +msgstr "Scheidungsgrund" msgid "Scorpion" msgstr "Скорпион" @@ -2660,9 +2979,11 @@ msgstr "Хвост скорпиона" msgid "Scotch Patience" msgstr "Шотландский пасьянс" -#, fuzzy msgid "Screw Up" -msgstr "Тузы вверх" +msgstr "Завинчивание" + +msgid "Scuffle" +msgstr "Потасовка" msgid "Sea Towers" msgstr "Морские башни" @@ -2670,6 +2991,9 @@ msgstr "Морские башни" msgid "Seahaven Towers" msgstr "" +msgid "Selective Castle" +msgstr "Избирательный Замок" + msgid "Senate" msgstr "Сенат" @@ -2694,6 +3018,9 @@ msgstr "Семь по пять" msgid "Seven by Four" msgstr "Семь по четыре" +msgid "Shady Lanes" +msgstr "Тенистые аллеи" + msgid "Shamrocks" msgstr "Трилистник" @@ -2731,11 +3058,14 @@ msgstr "" msgid "Shisen-Sho 24x12" msgstr "" +msgid "Short Tail" +msgstr "Короткий хвост" + msgid "Siam" msgstr "Сиам" msgid "Sieben bis As" -msgstr "" +msgstr "Sieben bis As" msgid "Signora" msgstr "Синьора" @@ -2752,9 +3082,8 @@ msgstr "Простые пары" msgid "Simple Simon" msgstr "Симон-простофиля" -#, fuzzy msgid "Simplex" -msgstr "Улыбка" +msgstr "Симплекс" msgid "Simplicity" msgstr "Простота" @@ -2775,9 +3104,15 @@ msgstr "Шесть мудрецов" msgid "Sixes and Sevens" msgstr "Шестёрки и семёрки" +msgid "Skippy" +msgstr "" + msgid "Skiz" msgstr "" +msgid "Sly Fox" +msgstr "Хитрая лиса" + msgid "Small Harp" msgstr "Малая арфа" @@ -2794,13 +3129,18 @@ msgstr "Хвост" msgid "Snakestone" msgstr "Хвост" -#, fuzzy msgid "Solid Square" -msgstr "Два квадрата" +msgstr "Сплошное каре" + +msgid "Solstice" +msgstr "Солнцестояние" msgid "Somerset" msgstr "Сомерсет" +msgid "Soother" +msgstr "Пустышка" + #, fuzzy msgid "Souter" msgstr "Петух" @@ -2841,20 +3181,17 @@ msgstr "Паук 3x3" msgid "Spider Web" msgstr "Паутина" -#, fuzzy msgid "Spidercells" -msgstr "Паук" +msgstr "Паутинные ячейки" msgid "Spiderette" -msgstr "Паучок" +msgstr "Паучиха" -#, fuzzy msgid "Spidike" -msgstr "Паук" +msgstr "Пауклонд" -#, fuzzy msgid "Spike" -msgstr "Паук" +msgstr "Шип" msgid "Squadron" msgstr "Эскадрон" @@ -2902,6 +3239,10 @@ msgstr "Звёздные врата" msgid "Step Pyramid" msgstr "Семь пирамид" +#, fuzzy +msgid "Step-Up" +msgstr "Шаги" + msgid "Steps" msgstr "Шаги" @@ -2920,6 +3261,9 @@ msgstr "Сокровищница" msgid "Straight Up" msgstr "" +msgid "Strata" +msgstr "Пласт" + #, fuzzy msgid "Strategerie" msgstr "Стратегия" @@ -2927,6 +3271,9 @@ msgstr "Стратегия" msgid "Strategy" msgstr "Стратегия" +msgid "Strategy +" +msgstr "Стратегия +" + msgid "Streets" msgstr "Улицы" @@ -2934,7 +3281,10 @@ msgid "Streets and Alleys" msgstr "Улицы и аллеи" msgid "Stronghold" -msgstr "Цитадель" +msgstr "Твердыня" + +msgid "Suit Elevens" +msgstr "Одиннадцать в масть" msgid "Sukis" msgstr "" @@ -2948,9 +3298,8 @@ msgstr "Султан +" msgid "Sultan of Turkey" msgstr "Турецкий султан" -#, fuzzy msgid "Sumo" -msgstr "Гигант" +msgstr "Сумо" #, fuzzy msgid "SunMoon" @@ -2959,16 +3308,14 @@ msgstr "Голубая луна" msgid "Super Challenge FreeCell" msgstr "Очень Сложная Свободная ячейка" -#, fuzzy msgid "Super Flower Garden" -msgstr "Цветочный сад" +msgstr "Превосходный Цветочный сад" msgid "Super Samuri" msgstr "" -#, fuzzy msgid "Superior Canfield" -msgstr "Двойной Кенфилд" +msgstr "Больший Кенфилд" msgid "Surprise" msgstr "Сюрприз" @@ -2977,7 +3324,7 @@ msgid "Surukh" msgstr "" msgid "Sweet Sixteen" -msgstr "" +msgstr "Приятные шестнадцать" msgid "Taipei" msgstr "Тайпей" @@ -2986,7 +3333,7 @@ msgid "Take Away" msgstr "Удаление" msgid "Tam O'Shanter" -msgstr "" +msgstr "Там О'Шантер" msgid "Tarantula" msgstr "Тарантул" @@ -3027,6 +3374,12 @@ msgstr "Сад" msgid "The Great Wall" msgstr "Великая Стена" +msgid "The Little Corporal" +msgstr "Маленький Капрал" + +msgid "The Spark" +msgstr "Вспышка" + msgid "The Wish" msgstr "Желание" @@ -3042,6 +3395,9 @@ msgstr "Театр" msgid "Thirteen Up" msgstr "Тринадцать вверх" +msgid "Thirteens" +msgstr "Тринадцать" + msgid "Thirty Six" msgstr "Тридцать шесть" @@ -3054,6 +3410,9 @@ msgstr "Три вершины" msgid "Three Peaks Non-scoring" msgstr "Три вершины без подсчёта очков" +msgid "Three Pirates" +msgstr "Три пирата" + msgid "Three Shuffles and a Draw" msgstr "" @@ -3102,6 +3461,9 @@ msgstr "Башни" msgid "Traditional Reviewed" msgstr "Маджонг Traditional Reviewed" +msgid "Trapdoor" +msgstr "Люк" + msgid "Treasure Trove" msgstr "Клад" @@ -3111,15 +3473,14 @@ msgstr "Древо жизни" msgid "Trefoil" msgstr "Клевер" -#, fuzzy -msgid "Tri Peaks" -msgstr "Три вершины" - msgid "Trika" msgstr "" msgid "Trillium" -msgstr "" +msgstr "Триллиум" + +msgid "Triple Alliance" +msgstr "Тройной альянс" msgid "Triple Canfield" msgstr "Тройной Кенфилд" @@ -3148,36 +3509,54 @@ msgstr "Тройной Скорпион" msgid "Triple Yukon" msgstr "Тройной Юкон" -#, fuzzy +msgid "Troika" +msgstr "Тройка" + +msgid "Troika +" +msgstr "Тройка +" + msgid "Trusty Twelve" -msgstr "Сорок разбойников" +msgstr "Верные двенадцать" + +msgid "Tuxedo" +msgstr "Смокинг" msgid "Twenty" msgstr "Двенадцать" msgid "Twin" -msgstr "" +msgstr "Двоня" msgid "Twin Picks" -msgstr "" +msgstr "Двойная вершина" + +msgid "Twin Queens" +msgstr "Двойные королевы" -#, fuzzy msgid "Twin Temples" -msgstr "Маджонг Twin Temples" +msgstr "Двойной храм" #, fuzzy msgid "Two Domes" msgstr "Маджонг Two Domes" msgid "Two Familiars" -msgstr "" +msgstr "Два знакомца" msgid "Two Squares" msgstr "Два квадрата" -#, fuzzy +msgid "Ukrainian Solitaire" +msgstr "Украинский пасьянс" + msgid "Union Square" -msgstr "Два квадрата" +msgstr "Объединённый квадрата" + +msgid "Unlimited" +msgstr "Неограниченный" + +msgid "Usk" +msgstr "" msgid "Vagues" msgstr "Смутный" @@ -3195,14 +3574,16 @@ msgstr "Марта" msgid "Variegated Canfield" msgstr "Пёстрый Кенфилд" -#, fuzzy +msgid "Vassal" +msgstr "Вассал" + msgid "Vegas Klondike" -msgstr "Казино Клондайк" +msgstr "Вегас Клондайк" msgid "Vertical" msgstr "Вертикаль" -msgid "Very Big Ground" +msgid "Very Big Divorce" msgstr "" msgid "Vi" @@ -3212,6 +3593,9 @@ msgstr "" msgid "Victory Arrow" msgstr "Маджонг Victory Arrow" +msgid "Virginia Reel" +msgstr "" + #, fuzzy msgid "Wake-Robin" msgstr "Робин" @@ -3232,6 +3616,9 @@ msgstr "Фаворит Вашингтона" msgid "Wasp" msgstr "Оса" +msgid "Waterloo" +msgstr "Ватерлоо" + msgid "Wave Motion" msgstr "Волновое движение" @@ -3261,6 +3648,9 @@ msgstr "" msgid "Whatever" msgstr "Нечто" +msgid "Wheatsheaf" +msgstr "" + msgid "Wheel of Fortune" msgstr "Колесо фортуны" @@ -3286,6 +3676,9 @@ msgstr "Ветряная мельница" msgid "Wisteria" msgstr "Глициния" +msgid "Wood" +msgstr "Дерево" + #, fuzzy msgid "X-Files" msgstr "Маджонг X-Files" @@ -3315,9 +3708,16 @@ msgstr "Церлин (3 колоды)" msgid "Zeus" msgstr "Зевс" -#, fuzzy msgid "Zodiac" -msgstr "Скандинавский" +msgstr "Зодиак" + +#, fuzzy +#~ msgid "Big Ground" +#~ msgstr "Большая гора" + +#, fuzzy +#~ msgid "Tri Peaks" +#~ msgstr "Три вершины" #~ msgid "Ground for a Divorce (3 decks)" #~ msgstr "Повод для разрыва (3 колоды)" @@ -3327,7 +3727,3 @@ msgstr "Скандинавский" #~ msgid "Triple York" #~ msgstr "Тройной Йорк" - -#, fuzzy -#~ msgid "Adelaide" -#~ msgstr "Аделаида" diff --git a/po/ru_pysol.po b/po/ru_pysol.po index 6253a42b..8690c272 100644 --- a/po/ru_pysol.po +++ b/po/ru_pysol.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: PySol 0.0.1\n" -"POT-Creation-Date: Sat Jun 24 16:07:07 2006\n" -"PO-Revision-Date: 2006-06-25 23:53+0400\n" +"POT-Creation-Date: Wed Aug 9 19:09:09 2006\n" +"PO-Revision-Date: 2006-08-10 00:30+0400\n" "Last-Translator: Скоморох \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" @@ -14,32 +14,32 @@ msgstr "" "Content-Transfer-Encoding: utf-8\n" "Generated-By: pygettext.py 1.5\n" -#: pysollib/actions.py:346 pysollib/tk/toolbar.py:183 +#: pysollib/actions.py:358 pysollib/tk/toolbar.py:197 msgid "New game" msgstr "Новая игра" -#: pysollib/actions.py:359 pysollib/tk/menubar.py:666 -#: pysollib/tk/menubar.py:680 +#: pysollib/actions.py:371 pysollib/tk/menubar.py:698 +#: pysollib/tk/menubar.py:712 msgid "Select game" msgstr "Выбрать игру" -#: pysollib/actions.py:382 +#: pysollib/actions.py:394 msgid "Invalid game number" msgstr "Неправильный номер игры" -#: pysollib/actions.py:383 +#: pysollib/actions.py:395 msgid "Invalid game number\n" msgstr "Неправильный номер игры\n" -#: pysollib/actions.py:400 +#: pysollib/actions.py:412 msgid "Select next game number" msgstr "Выберите номер следующей игры" -#: pysollib/actions.py:409 pysollib/actions.py:419 +#: pysollib/actions.py:421 pysollib/actions.py:431 msgid "Select new game number" msgstr "Выберите номер новой игры" -#: pysollib/actions.py:410 +#: pysollib/actions.py:422 msgid "" "\n" "\n" @@ -49,70 +49,70 @@ msgstr "" "\n" "Введите номер новой игры" -#: pysollib/actions.py:411 +#: pysollib/actions.py:423 msgid "&Next number" msgstr "&Следующий номер" -#: pysollib/actions.py:411 pysollib/app.py:1113 pysollib/app.py:1125 -#: pysollib/game.py:837 pysollib/game.py:1651 pysollib/main.py:413 -#: pysollib/main.py:421 pysollib/tk/colorsdialog.py:131 -#: pysollib/tk/edittextdialog.py:82 pysollib/tk/fontsdialog.py:140 -#: pysollib/tk/fontsdialog.py:204 pysollib/tk/gameinfodialog.py:143 +#: pysollib/actions.py:423 pysollib/app.py:1142 pysollib/app.py:1154 +#: pysollib/game.py:904 pysollib/game.py:1828 pysollib/main.py:439 +#: pysollib/main.py:447 pysollib/tk/colorsdialog.py:132 +#: 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:240 #: pysollib/tk/selectcardset.py:396 pysollib/tk/selecttile.py:158 -#: pysollib/tk/soundoptionsdialog.py:171 pysollib/tk/soundoptionsdialog.py:225 -#: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkhtml.py:474 +#: pysollib/tk/soundoptionsdialog.py:170 pysollib/tk/soundoptionsdialog.py:211 +#: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkhtml.py:503 #: pysollib/tk/tkstats.py:288 pysollib/tk/tkstats.py:573 #: pysollib/tk/tkstats.py:647 pysollib/tk/tkstats.py:663 #: pysollib/tk/tkstats.py:705 pysollib/tk/tkstats.py:777 -#: pysollib/tk/tkstats.py:861 pysollib/tk/tkwidget.py:156 -#: pysollib/tk/tkwidget.py:320 +#: pysollib/tk/tkstats.py:861 pysollib/tk/tkwidget.py:159 +#: pysollib/tk/tkwidget.py:324 msgid "&OK" msgstr "&ОК" -#: pysollib/actions.py:411 pysollib/app.py:1125 pysollib/game.py:837 -#: pysollib/game.py:1214 pysollib/game.py:1229 pysollib/game.py:1235 -#: pysollib/game.py:1240 pysollib/tk/colorsdialog.py:131 -#: pysollib/tk/edittextdialog.py:82 pysollib/tk/fontsdialog.py:140 -#: pysollib/tk/fontsdialog.py:204 pysollib/tk/menubar.py:849 -#: pysollib/tk/menubar.py:851 pysollib/tk/playeroptionsdialog.py:85 +#: pysollib/actions.py:423 pysollib/app.py:1154 pysollib/game.py:904 +#: pysollib/game.py:1290 pysollib/game.py:1305 pysollib/game.py:1312 +#: pysollib/game.py:1318 pysollib/tk/colorsdialog.py:132 +#: pysollib/tk/edittextdialog.py:82 pysollib/tk/fontsdialog.py:143 +#: pysollib/tk/fontsdialog.py:205 pysollib/tk/menubar.py:893 +#: pysollib/tk/menubar.py:895 pysollib/tk/playeroptionsdialog.py:85 #: pysollib/tk/playeroptionsdialog.py:160 pysollib/tk/selectcardset.py:240 -#: pysollib/tk/selectgame.py:275 pysollib/tk/selectgame.py:417 -#: pysollib/tk/selecttile.py:158 pysollib/tk/soundoptionsdialog.py:171 -#: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkwidget.py:320 +#: pysollib/tk/selectgame.py:266 pysollib/tk/selectgame.py:407 +#: pysollib/tk/selecttile.py:158 pysollib/tk/soundoptionsdialog.py:170 +#: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkwidget.py:324 msgid "&Cancel" msgstr "От&мена" -#: pysollib/actions.py:427 +#: pysollib/actions.py:439 msgid "Select random game" msgstr "Выбор случайной игры" -#: pysollib/actions.py:463 +#: pysollib/actions.py:475 msgid "Select next game" msgstr "Выбрать следующую игру" -#: pysollib/actions.py:496 pysollib/tk/toolbar.py:197 +#: pysollib/actions.py:508 pysollib/tk/toolbar.py:211 msgid "Quit " msgstr "Выйти из " -#: pysollib/actions.py:546 +#: pysollib/actions.py:558 msgid "Clear bookmarks" msgstr "Удалить закладки" -#: pysollib/actions.py:547 +#: pysollib/actions.py:559 msgid "Clear all bookmarks ?" msgstr "Удалить все закладки?" -#: pysollib/actions.py:557 +#: pysollib/actions.py:569 msgid "Restart game" msgstr "Начать игру с начала" -#: pysollib/actions.py:558 +#: pysollib/actions.py:570 msgid "Restart this game ?" msgstr "Начать игру с начала?" -#: pysollib/actions.py:595 +#: pysollib/actions.py:611 msgid "" "Comments for %s:\n" "\n" @@ -120,19 +120,19 @@ msgstr "" "Комментарий для %s:\n" "\n" -#: pysollib/actions.py:597 +#: pysollib/actions.py:613 msgid "Comments for " msgstr "Комментарий для " -#: pysollib/actions.py:615 pysollib/actions.py:651 +#: pysollib/actions.py:631 pysollib/actions.py:667 msgid "Error while writing to file" msgstr "Ошибка при записи в файл" -#: pysollib/actions.py:618 pysollib/actions.py:654 +#: pysollib/actions.py:634 pysollib/actions.py:670 msgid " Info" msgstr " Информация" -#: pysollib/actions.py:619 +#: pysollib/actions.py:635 msgid "" "Comments were appended to\n" "\n" @@ -140,15 +140,15 @@ msgstr "" "Комментарий добавлен в файл\n" "\n" -#: pysollib/actions.py:636 +#: pysollib/actions.py:652 msgid "Demo statistics" msgstr "Статистика демо" -#: pysollib/actions.py:639 +#: pysollib/actions.py:655 msgid "Your statistics" msgstr "Ваша статистика" -#: pysollib/actions.py:655 +#: pysollib/actions.py:671 msgid "" " were appended to\n" "\n" @@ -156,52 +156,52 @@ msgstr "" " добавлена в файл\n" "\n" -#: pysollib/actions.py:669 +#: pysollib/actions.py:685 msgid " Demo" msgstr " Демо" -#: pysollib/actions.py:669 +#: pysollib/actions.py:685 msgid " Demo " msgstr " Демо " -#: pysollib/actions.py:672 pysollib/actions.py:690 +#: pysollib/actions.py:688 pysollib/actions.py:706 msgid " for " msgstr " для " -#: pysollib/actions.py:678 pysollib/actions.py:697 +#: pysollib/actions.py:694 pysollib/actions.py:713 msgid "Statistics for " msgstr "Статистика игры " -#: pysollib/actions.py:681 pysollib/tk/selectgame.py:359 -#: pysollib/tk/toolbar.py:194 +#: pysollib/actions.py:697 pysollib/tk/selectgame.py:350 +#: pysollib/tk/toolbar.py:208 msgid "Statistics" msgstr "Статистика" -#: pysollib/actions.py:684 +#: pysollib/actions.py:700 msgid "Full log" msgstr "Полный лог" -#: pysollib/actions.py:687 +#: pysollib/actions.py:703 msgid "Session log" msgstr "Лог сессии" -#: pysollib/actions.py:693 +#: pysollib/actions.py:709 msgid "Game Info" msgstr "Информация об игре" -#: pysollib/actions.py:702 +#: pysollib/actions.py:718 msgid "Full log for " msgstr "Полный лог для " -#: pysollib/actions.py:707 +#: pysollib/actions.py:723 msgid "Session log for " msgstr "Лог сессии для " -#: pysollib/actions.py:712 +#: pysollib/actions.py:728 msgid "Reset all statistics" msgstr "Очистить всю статистику" -#: pysollib/actions.py:713 +#: pysollib/actions.py:729 msgid "" "Reset ALL statistics and logs for player\n" "%s ?" @@ -209,11 +209,11 @@ msgstr "" "Очистить всю статистику и лог для игрока\n" "%s?" -#: pysollib/actions.py:719 +#: pysollib/actions.py:735 msgid "Reset game statistics" msgstr "Очистить статистику игры" -#: pysollib/actions.py:720 +#: pysollib/actions.py:736 msgid "" "Reset statistics and logs for player\n" "%s\n" @@ -225,51 +225,51 @@ msgstr "" "и игры\n" "%s?" -#: pysollib/actions.py:776 +#: pysollib/actions.py:792 msgid "Play demo" msgstr "Показать демо" -#: pysollib/actions.py:787 +#: pysollib/actions.py:803 msgid "Set player options" msgstr "Установить настройки игрока" -#: pysollib/actions.py:876 +#: pysollib/actions.py:898 msgid "Sound settings" msgstr "Настройка звука" -#: pysollib/actions.py:897 +#: pysollib/actions.py:919 msgid "Set colors" msgstr "Настроить цвета" -#: pysollib/actions.py:916 +#: pysollib/actions.py:938 msgid "Set fonts" msgstr "Настроить шрифт" -#: pysollib/actions.py:925 +#: pysollib/actions.py:947 msgid "Set timeouts" msgstr "Настроить таймауты" -#: pysollib/app.py:85 +#: pysollib/app.py:87 msgid "Unknown" msgstr "Неизвестный" -#: pysollib/app.py:975 +#: pysollib/app.py:1004 msgid "Loading %s %s..." msgstr "Загружается %s %s..." -#: pysollib/app.py:1010 +#: pysollib/app.py:1039 msgid " load error" msgstr " ошибка при загрузке" -#: pysollib/app.py:1011 +#: pysollib/app.py:1040 msgid "Error while loading " msgstr "Ошибка при загрузке" -#: pysollib/app.py:1105 +#: pysollib/app.py:1134 msgid "Incompatible " msgstr "Несовместимый " -#: pysollib/app.py:1107 +#: pysollib/app.py:1136 msgid "" "The currently selected %s %s\n" "is not compatible with the game\n" @@ -283,19 +283,19 @@ msgstr "" "\n" "Необходимо выбрать %s типа %s.\n" -#: pysollib/app.py:1123 +#: pysollib/app.py:1152 msgid "Please select a %s type %s" msgstr "Выберите %s типа %s" -#: pysollib/game.py:756 pysollib/game.py:762 +#: pysollib/game.py:823 pysollib/game.py:829 msgid "Player\n" msgstr "Игрок\n" -#: pysollib/game.py:833 +#: pysollib/game.py:900 msgid "Discard current game ?" msgstr "Завершить текущую игру?" -#: pysollib/game.py:1168 +#: pysollib/game.py:1244 msgid "" "\n" "You have reached\n" @@ -305,7 +305,7 @@ msgstr "" "Вы достигли\n" "#%d в %s игрового времени" -#: pysollib/game.py:1171 +#: pysollib/game.py:1247 msgid "" "\n" "and #%d in the %s of moves" @@ -313,7 +313,7 @@ msgstr "" "\n" "и #%d в %s количества ходов" -#: pysollib/game.py:1173 +#: pysollib/game.py:1249 msgid "" "\n" "You have reached\n" @@ -323,7 +323,7 @@ msgstr "" "Вы достигли\n" "#%d в %s количества ходов" -#: pysollib/game.py:1176 +#: pysollib/game.py:1252 msgid "" "\n" "and #%d in the %s of total moves" @@ -331,7 +331,7 @@ msgstr "" "\n" "и #%d в %s общего количества ходов" -#: pysollib/game.py:1178 +#: pysollib/game.py:1254 msgid "" "\n" "You have reached\n" @@ -341,12 +341,12 @@ msgstr "" "Вы достигли\n" "#%d в %s общего количества ходов" -#: pysollib/game.py:1205 pysollib/game.py:1221 -#: pysollib/tk/soundoptionsdialog.py:102 +#: pysollib/game.py:1281 pysollib/game.py:1297 +#: pysollib/tk/soundoptionsdialog.py:100 msgid "Game won" msgstr "Игра выиграна" -#: pysollib/game.py:1206 +#: pysollib/game.py:1282 msgid "" "\n" "Congratulations, this\n" @@ -365,12 +365,12 @@ msgstr "" "Количество ходов: %s\n" "%s\n" -#: pysollib/game.py:1214 pysollib/game.py:1229 pysollib/game.py:1235 -#: pysollib/game.py:1240 pysollib/tk/menubar.py:250 +#: pysollib/game.py:1290 pysollib/game.py:1305 pysollib/game.py:1312 +#: pysollib/game.py:1318 pysollib/tk/menubar.py:257 msgid "&New game" msgstr "&Новая игра" -#: pysollib/game.py:1222 +#: pysollib/game.py:1298 msgid "" "\n" "Congratulations, you did it !\n" @@ -387,12 +387,12 @@ msgstr "" "Количество ходов: %s\n" "%s\n" -#: pysollib/game.py:1233 pysollib/game.py:1238 -#: pysollib/tk/soundoptionsdialog.py:100 +#: pysollib/game.py:1310 pysollib/game.py:1316 +#: pysollib/tk/soundoptionsdialog.py:98 msgid "Game finished" msgstr "Игра закончена" -#: pysollib/game.py:1234 pysollib/game.py:1652 +#: pysollib/game.py:1311 pysollib/game.py:1829 msgid "" "\n" "Game finished\n" @@ -400,7 +400,7 @@ msgstr "" "\n" "Игра закончена\n" -#: pysollib/game.py:1239 +#: pysollib/game.py:1317 msgid "" "\n" "Game finished, but not without my help...\n" @@ -408,35 +408,35 @@ msgstr "" "\n" "Игра закончена, но не без моей помощи...\n" -#: pysollib/game.py:1240 +#: pysollib/game.py:1318 msgid "&Restart" msgstr "&Начало" -#: pysollib/game.py:1544 +#: pysollib/game.py:1720 msgid "Score %6d" msgstr "Счет %6d" -#: pysollib/game.py:1643 +#: pysollib/game.py:1819 msgid "&Cool" msgstr "&Отлично" -#: pysollib/game.py:1643 +#: pysollib/game.py:1819 msgid "&Great" msgstr "&Эдорово" -#: pysollib/game.py:1643 +#: pysollib/game.py:1819 msgid "&Wow" msgstr "&Ура" -#: pysollib/game.py:1643 +#: pysollib/game.py:1819 msgid "&Yeah" msgstr "&Ага" -#: pysollib/game.py:1644 pysollib/game.py:1655 pysollib/game.py:1667 +#: pysollib/game.py:1820 pysollib/game.py:1832 pysollib/game.py:1845 msgid " Autopilot" msgstr " Автопилот" -#: pysollib/game.py:1645 +#: pysollib/game.py:1821 msgid "" "\n" "Game solved in %d moves.\n" @@ -444,19 +444,19 @@ msgstr "" "\n" "Игра решена за %d ходов\n" -#: pysollib/game.py:1666 +#: pysollib/game.py:1844 msgid "&Hmm" msgstr "&Хмм" -#: pysollib/game.py:1666 +#: pysollib/game.py:1844 msgid "&Oh well" msgstr "&Ох" -#: pysollib/game.py:1666 +#: pysollib/game.py:1844 msgid "&That's life" msgstr "&Такова жизнь" -#: pysollib/game.py:1668 +#: pysollib/game.py:1846 msgid "" "\n" "This won't come out...\n" @@ -464,43 +464,47 @@ msgstr "" "\n" "Не удалось...\n" -#: pysollib/game.py:2072 +#: pysollib/game.py:2264 msgid "Set bookmark" msgstr "Установить закладку" -#: pysollib/game.py:2073 +#: pysollib/game.py:2265 msgid "Replace existing bookmark %d ?" msgstr "Заменить существующую закладку %d ?" -#: pysollib/game.py:2095 +#: pysollib/game.py:2287 msgid "Goto bookmark" msgstr "Перейти к закладке" -#: pysollib/game.py:2096 +#: pysollib/game.py:2288 msgid "Goto bookmark %d ?" msgstr "Перейти к закладке %d ?" -#: pysollib/game.py:2127 +#: pysollib/game.py:2319 msgid "Open game" msgstr "Открыть игру" -#: pysollib/game.py:2138 pysollib/game.py:2147 pysollib/game.py:2152 +#: pysollib/game.py:2330 pysollib/game.py:2339 pysollib/game.py:2344 msgid "Load game error" msgstr "Ошибка при загрузке игры" -#: pysollib/game.py:2139 +#: pysollib/game.py:2331 msgid "" "Error while loading game.\n" "\n" "Probably the game file is damaged,\n" "but this could also be a bug you might want to report." msgstr "" +"Ошибка при загрузке игры.\n" +"\n" +"Возможно повреждён файл,\n" +"или ошибка в программе." -#: pysollib/game.py:2148 +#: pysollib/game.py:2340 msgid "Error while loading game" msgstr "Ошибка при загрузке игры" -#: pysollib/game.py:2153 +#: pysollib/game.py:2345 msgid "" "Internal error while loading game.\n" "\n" @@ -510,11 +514,11 @@ msgstr "" "\n" "Пожалуйста сообщите об этой ошибке." -#: pysollib/game.py:2178 +#: pysollib/game.py:2370 msgid "Save game error" msgstr "Ошибка при сохранении игры" -#: pysollib/game.py:2179 +#: pysollib/game.py:2371 msgid "Error while saving game" msgstr "Ошибка при сохранении игры" @@ -726,27 +730,27 @@ msgstr "Покер" msgid "Puzzle type" msgstr "Пазлы" -#: pysollib/games/auldlangsyne.py:142 pysollib/games/calculation.py:101 -#: pysollib/games/numerica.py:90 pysollib/games/numerica.py:197 -#: pysollib/games/numerica.py:543 -msgid "Row. Build regardless of rank and suit." -msgstr "" +#: pysollib/games/auldlangsyne.py:158 pysollib/games/calculation.py:104 +#: pysollib/games/numerica.py:90 pysollib/games/numerica.py:272 +#: pysollib/games/numerica.py:639 pysollib/games/numerica.py:743 +msgid "Tableau. Build regardless of rank and suit." +msgstr "Игровой стол. Складывать не считаясь с мастью и достоинством." -#: pysollib/games/braid.py:251 pysollib/games/napoleon.py:190 -#: pysollib/games/ultra/dashavatara.py:959 +#: pysollib/games/braid.py:248 pysollib/games/camelot.py:555 +#: pysollib/games/napoleon.py:182 pysollib/games/ultra/dashavatara.py:959 #: pysollib/games/ultra/hanafuda1.py:256 pysollib/games/ultra/hexadeck.py:1190 #: pysollib/games/ultra/mughal.py:802 msgid " Ascending" msgstr " вверх" -#: pysollib/games/braid.py:253 pysollib/games/napoleon.py:192 -#: pysollib/games/ultra/dashavatara.py:961 +#: pysollib/games/braid.py:250 pysollib/games/camelot.py:554 +#: pysollib/games/napoleon.py:184 pysollib/games/ultra/dashavatara.py:961 #: pysollib/games/ultra/hanafuda1.py:258 pysollib/games/ultra/hexadeck.py:1192 #: pysollib/games/ultra/mughal.py:804 msgid " Descending" msgstr " вниз" -#: pysollib/games/calculation.py:135 pysollib/games/calculation.py:230 +#: pysollib/games/calculation.py:121 msgid "" "1: 2 3 4 5 6 7 8 9 T J Q K\n" "2: 4 6 8 T Q A 3 5 7 9 J K\n" @@ -758,44 +762,50 @@ msgstr "" "3: 6 9 Д 2 5 8 В Т 4 7 10 К\n" "4: 8 Д 3 7 В 2 6 10 Т 5 9 К" -#: pysollib/games/curdsandwhey.py:58 -msgid "Row. Build down by suit or of the same rank." -msgstr "" +#: pysollib/games/canfield.py:528 pysollib/games/special/tarock.py:224 +#: pysollib/stack.py:1287 pysollib/util.py:81 +msgid "King" +msgstr "Король" -#: pysollib/games/fan.py:279 +#: pysollib/games/canfield.py:531 pysollib/games/special/tarock.py:224 +#: pysollib/stack.py:1286 pysollib/util.py:81 +msgid "Queen" +msgstr "Королева" + +#: pysollib/games/curdsandwhey.py:60 +msgid "Tableau. Build down by suit or of the same rank." +msgstr "Игровой стол. Складывать в масть по убыванию или с таким же достоинством." + +#: pysollib/games/fan.py:280 msgid "Draw" msgstr "Снять" -#: pysollib/games/fan.py:279 +#: pysollib/games/fan.py:280 msgid "X" msgstr "Х" -#: pysollib/games/fortythieves.py:429 pysollib/games/klondike.py:148 -msgid "Row. Build down in any suit but the same." -msgstr "" +#: pysollib/games/golf.py:114 pysollib/games/golf.py:300 +#: pysollib/stack.py:1898 +msgid "Tableau. No building." +msgstr "Игровой стол. Без выкладывания." -#: pysollib/games/golf.py:114 pysollib/games/golf.py:414 -#: pysollib/stack.py:1742 -msgid "Row. No building." -msgstr "" - -#: pysollib/games/golf.py:382 -msgid "Balance $%4d" -msgstr "Баланс $%4d" - -#: pysollib/games/golf.py:498 pysollib/stack.py:1675 +#: pysollib/games/golf.py:384 pysollib/stack.py:1831 msgid "Foundation. Build up regardless of suit." -msgstr "" +msgstr "Базовая ячейка. Складывать по возрастанию не считаясь с мастью." #: pysollib/games/klondike.py:115 msgid "Balance $%d" msgstr "Баланс $%d" -#: pysollib/games/klondike.py:388 +#: pysollib/games/klondike.py:419 msgid "Reserve. Only Kings are acceptable." -msgstr "" +msgstr "Резерв. Только для королей." -#: pysollib/games/mahjongg/mahjongg.py:294 +#: pysollib/games/larasgame.py:163 pysollib/stack.py:1508 +msgid "Round %d" +msgstr "Раунд %d" + +#: pysollib/games/mahjongg/mahjongg.py:298 msgid "" "No Free\n" "Matching\n" @@ -805,7 +815,7 @@ msgstr "" "свободных\n" "пар" -#: pysollib/games/mahjongg/mahjongg.py:295 +#: pysollib/games/mahjongg/mahjongg.py:299 msgid "" "1 Free\n" "Matching\n" @@ -815,7 +825,7 @@ msgstr "" "свободная\n" "пара" -#: pysollib/games/mahjongg/mahjongg.py:296 +#: pysollib/games/mahjongg/mahjongg.py:300 msgid "" " Free\n" "Matching\n" @@ -825,7 +835,7 @@ msgstr "" "свободных\n" "пар" -#: pysollib/games/mahjongg/mahjongg.py:297 +#: pysollib/games/mahjongg/mahjongg.py:301 msgid "" "\n" "Tiles\n" @@ -836,7 +846,7 @@ msgstr "" "удалено\n" "\n" -#: pysollib/games/mahjongg/mahjongg.py:298 +#: pysollib/games/mahjongg/mahjongg.py:302 msgid "" "\n" "Tiles\n" @@ -855,11 +865,27 @@ msgstr "Раунд %d/%d" msgid "Deal %d" msgstr "Сдача %d" -#: pysollib/games/numerica.py:184 +#: pysollib/games/numerica.py:259 pysollib/games/royalcotillion.py:841 msgid "Foundation. Build up by color." -msgstr "" +msgstr "Базовая ячейка. Складывать по возрастанию в соответствии с цветом." -#: pysollib/games/poker.py:82 +#: pysollib/games/special/memory.py:178 pysollib/games/special/poker.py:191 +msgid "Points: %d" +msgstr "Очков: %d" + +#: pysollib/games/special/memory.py:181 pysollib/games/special/poker.py:189 +msgid "" +"WON\n" +"\n" +msgstr "" +"Выигрыш\n" +"\n" + +#: pysollib/games/special/memory.py:182 pysollib/games/special/poker.py:193 +msgid "Total: %d" +msgstr "Всего: %d" + +#: pysollib/games/special/poker.py:82 msgid "" "Royal Flush\n" "Straight Flush\n" @@ -881,22 +907,6 @@ msgstr "" "Две пары\n" "Пара" -#: pysollib/games/poker.py:189 pysollib/games/special/memory.py:181 -msgid "" -"WON\n" -"\n" -msgstr "" -"Выигрыш\n" -"\n" - -#: pysollib/games/poker.py:191 pysollib/games/special/memory.py:178 -msgid "Points: %d" -msgstr "Очков: %d" - -#: pysollib/games/poker.py:193 pysollib/games/special/memory.py:182 -msgid "Total: %d" -msgstr "Всего: %d" - #: pysollib/games/special/tarock.py:222 msgid "Coin" msgstr "Монеты" @@ -920,7 +930,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:1192 pysollib/util.py:80 +#: pysollib/stack.py:1288 pysollib/util.py:80 msgid "Ace" msgstr "Туз" @@ -932,15 +942,17 @@ msgstr "Паж" msgid "Valet" msgstr "Валет" -#: pysollib/games/special/tarock.py:224 pysollib/stack.py:1190 -#: pysollib/util.py:81 -msgid "Queen" -msgstr "Королева" +#: pysollib/games/threepeaks.py:218 +msgid "Score:\tThis hand: " +msgstr "Очков: Текущая раздача: " -#: pysollib/games/special/tarock.py:224 pysollib/stack.py:1191 -#: pysollib/util.py:81 -msgid "King" -msgstr "Король" +#: pysollib/games/threepeaks.py:219 +msgid "\tThis game: " +msgstr " Эта игра: " + +#: pysollib/games/tournament.py:245 +msgid "Reserve. Build down by suit." +msgstr "Резерв. Складывать по убыванию в соответствии с мастью." #: pysollib/games/ultra/dashavatara.py:349 msgid "Boar" @@ -1134,7 +1146,7 @@ msgstr "Ирис" #: pysollib/games/ultra/hanafuda_common.py:68 msgid "Peony" -msgstr "Пеон" +msgstr "Пион" #: pysollib/games/ultra/hanafuda_common.py:69 msgid "Chrysanthemum" @@ -1152,10 +1164,6 @@ msgstr "Павловния" msgid "Willow" msgstr "Ива" -#: pysollib/games/ultra/larasgame.py:157 pysollib/stack.py:1370 -msgid "Round %d" -msgstr "Раунд %d" - #: pysollib/games/ultra/mughal.py:252 msgid "Crown" msgstr "Корона" @@ -1192,33 +1200,25 @@ msgstr "Резерв" msgid "Tan" msgstr "" -#: pysollib/games/ultra/threepeaks.py:217 -msgid "Score:\tThis hand: " -msgstr "Очков: Текущая раздача: " - -#: pysollib/games/ultra/threepeaks.py:218 -msgid "\tThis game: " -msgstr " Эта игра: " - -#: pysollib/games/yukon.py:145 +#: pysollib/games/yukon.py:139 msgid "" -"Row. Build down in any suit but the same, can move any face-up cards " +"Tableau. Build down in any suit but the same, can move any face-up cards " "regardless of sequence." -msgstr "" +msgstr "Игровой стол. Складывать по убыванию в любую масть кроме такой же, можно перемещать любую серию открытых карт." -#: pysollib/games/yukon.py:201 +#: pysollib/games/yukon.py:198 msgid "" -"Row. Build up or down by suit, can move any face-up cards regardless of " +"Tableau. Build up or down by suit, can move any face-up cards regardless of " "sequence." -msgstr "" +msgstr "Игровой стол. Складывать по возрастанию или убыванию в соответствии с мастью, можно перемещать любую серию открытых карт." -#: pysollib/games/yukon.py:218 +#: pysollib/games/yukon.py:215 msgid "" -"Row. Build up or down by alternate color, can move any face-up cards " +"Tableau. Build up or down by alternate color, can move any face-up cards " "regardless of sequence." -msgstr "" +msgstr "Игровой стол. Складывать по возрастанию или убыванию чередуя цвет, можно перемещать любую серию открытых карт." -#: pysollib/games/yukon.py:320 +#: pysollib/games/yukon.py:317 msgid "" "Club: A 2 3 4 5 6 7 8 9 T J Q K\n" "Spade: 2 4 6 8 T Q A 3 5 7 9 J K\n" @@ -1230,6 +1230,12 @@ msgstr "" "Черви: 3 6 9 Д 2 5 8 В Т 4 7 10 К\n" "Буби: 4 8 Д 3 7 В 2 6 10 Т 5 9 К" +#: pysollib/games/yukon.py:639 +msgid "" +"Tableau. Build down regardless of suit, can move any face-up cards " +"regardless of sequence." +msgstr "Игровой стол. Складывать по убыванию не считаясь с мастью, можно перемещать любую серию открытых карт." + #: pysollib/help.py:64 msgid "A Python Solitaire Game Collection\n" msgstr "Коллекция питоновских пасьянсев\n" @@ -1324,7 +1330,7 @@ msgstr "Не найден файл помощи\n" msgid " Help" msgstr " Помощь" -#: pysollib/main.py:68 pysollib/main.py:321 +#: pysollib/main.py:68 pysollib/main.py:348 msgid " installation error" msgstr " проблема с установкой" @@ -1338,11 +1344,11 @@ msgid "" "Please check your %s installation.\n" msgstr "" -#: pysollib/main.py:76 pysollib/main.py:330 pysollib/tk/menubar.py:269 +#: pysollib/main.py:76 pysollib/main.py:356 pysollib/tk/menubar.py:276 msgid "&Quit" msgstr "В&ыход" -#: pysollib/main.py:95 +#: pysollib/main.py:98 msgid "" "%s: %s\n" "try %s --help for more information" @@ -1350,9 +1356,10 @@ msgstr "" "%s: %s\n" "попробуйте %s --help для получения более подробной информаци" -#: pysollib/main.py:120 +#: pysollib/main.py:135 msgid "" "Usage: %s [OPTIONS] [FILE]\n" +" -g --game=GAMENAME start game GAMENAME\n" " --fg --foreground=COLOR foreground color\n" " --bg --background=COLOR background color\n" " --fn --font=FONT default font\n" @@ -1363,6 +1370,7 @@ msgid "" " FILE - file name of a saved game\n" msgstr "" "Испльзование: %s [OPTIONS] [FILE]\n" +" -g --game=GAMENAME начинать с игры GAMENAME\n" " --fg --foreground=COLOR цвет текста\n" " --bg --background=COLOR цвет фона\n" " --fn --font=FONT шрифт по умолчанию\n" @@ -1372,7 +1380,7 @@ msgstr "" "\n" " FILE - имя файла сохраненной игры\n" -#: pysollib/main.py:133 +#: pysollib/main.py:149 msgid "" "%s: too many files\n" "try %s --help for more information" @@ -1380,15 +1388,15 @@ msgstr "" "\"%s: слишком много файлов\n" "попробуйте %s --help для получения более подробной информаци" -#: pysollib/main.py:137 +#: pysollib/main.py:153 msgid "" -"%s: invalide file name\n" +"%s: invalid file name\n" "try %s --help for more information" msgstr "" "%s: неправильное имя файла\n" "попробуйте %s --help для получения более подробной информаци" -#: pysollib/main.py:322 +#: pysollib/main.py:349 msgid "" "\n" "No games were found !!!\n" @@ -1399,18 +1407,18 @@ msgid "" "Please check your %s installation.\n" msgstr "" -#: pysollib/main.py:408 pysollib/main.py:416 +#: pysollib/main.py:434 pysollib/main.py:442 msgid " installation problem" msgstr "" -#: pysollib/main.py:409 +#: pysollib/main.py:435 msgid "" "Your Python installation is compiled without thread support.\n" "\n" "Sounds and background music will be disabled." msgstr "" -#: pysollib/main.py:417 +#: pysollib/main.py:443 msgid "" "The pysolsoundserver module was not found.\n" "\n" @@ -1420,452 +1428,491 @@ msgstr "" "\n" "Звук и фоновая музыка будут недоступны" -#: pysollib/main.py:424 +#: pysollib/main.py:450 msgid "Welcome to " msgstr "Добро пожаловать в " -#: pysollib/resource.py:242 +#: pysollib/resource.py:243 msgid "French type (52 cards)" msgstr "Классические (52 карты)" -#: pysollib/resource.py:243 +#: pysollib/resource.py:244 msgid "Hanafuda type (48 cards)" msgstr "Ханафуда (48 карт)" -#: pysollib/resource.py:244 +#: pysollib/resource.py:245 msgid "Tarock type (78 cards)" msgstr "Таро (78 карт)" -#: pysollib/resource.py:245 +#: pysollib/resource.py:246 msgid "Mahjongg type (42 tiles)" msgstr "Маджонг (42 фишки)" -#: pysollib/resource.py:246 +#: pysollib/resource.py:247 msgid "Hex A Deck type (68 cards)" msgstr "Hex A Deck (68 карт)" -#: pysollib/resource.py:247 +#: pysollib/resource.py:248 msgid "Mughal Ganjifa type (96 cards)" msgstr "Мугал Ганджифа (96 карт)" -#: pysollib/resource.py:248 +#: pysollib/resource.py:249 msgid "Navagraha Ganjifa type (108 cards)" msgstr "Наваграха Ганджифа (108 карт)" -#: pysollib/resource.py:249 +#: pysollib/resource.py:250 msgid "Dashavatara Ganjifa type (120 cards)" msgstr "Дашаватара Ганджифа (120 карт)" -#: pysollib/resource.py:250 +#: pysollib/resource.py:251 msgid "Trumps only type (variable cards)" -msgstr "" +msgstr "Без мастей (переменное количество карт)" -#: pysollib/resource.py:254 +#: pysollib/resource.py:255 msgid "French" msgstr "Классические" -#: pysollib/resource.py:255 pysollib/resource.py:279 +#: pysollib/resource.py:256 pysollib/resource.py:280 msgid "Hanafuda" msgstr "Ханафуда" -#: pysollib/resource.py:256 pysollib/resource.py:295 +#: pysollib/resource.py:257 pysollib/resource.py:296 msgid "Tarock" msgstr "Таро" -#: pysollib/resource.py:257 pysollib/resource.py:282 +#: pysollib/resource.py:258 pysollib/resource.py:283 msgid "Mahjongg" msgstr "Маджонг" -#: pysollib/resource.py:258 pysollib/resource.py:280 +#: pysollib/resource.py:259 pysollib/resource.py:281 msgid "Hex A Deck" msgstr "Hex A Deck" -#: pysollib/resource.py:259 +#: pysollib/resource.py:260 msgid "Mughal Ganjifa" msgstr "Мугал Ганджифа" -#: pysollib/resource.py:260 +#: pysollib/resource.py:261 msgid "Navagraha Ganjifa" msgstr "Наваграха Ганджифа" -#: pysollib/resource.py:261 +#: pysollib/resource.py:262 msgid "Dashavatara Ganjifa" msgstr "Дашаватара Ганджифа" -#: pysollib/resource.py:262 +#: pysollib/resource.py:263 #, fuzzy msgid "Trumps only" msgstr "Козырь" -#: pysollib/resource.py:267 +#: pysollib/resource.py:268 msgid "Adult" msgstr "Для взрослых" -#: pysollib/resource.py:268 +#: pysollib/resource.py:269 msgid "Animals" msgstr "Животные" -#: pysollib/resource.py:269 +#: pysollib/resource.py:270 msgid "Anime" msgstr "Мультфильмы" -#: pysollib/resource.py:270 +#: pysollib/resource.py:271 msgid "Art" msgstr "Искусство" -#: pysollib/resource.py:271 +#: pysollib/resource.py:272 msgid "Cartoons" msgstr "Комиксы" -#: pysollib/resource.py:272 +#: pysollib/resource.py:273 msgid "Children" msgstr "Дети" -#: pysollib/resource.py:273 +#: pysollib/resource.py:274 msgid "Classic look" msgstr "Классический вид" -#: pysollib/resource.py:274 +#: pysollib/resource.py:275 msgid "Collectors" msgstr "Коллекционные" -#: pysollib/resource.py:275 +#: pysollib/resource.py:276 msgid "Computers" msgstr "Компьютеры" -#: pysollib/resource.py:276 +#: pysollib/resource.py:277 msgid "Engines" msgstr "Машины" -#: pysollib/resource.py:277 +#: pysollib/resource.py:278 msgid "Fantasy" msgstr "Фентези" -#: pysollib/resource.py:278 +#: pysollib/resource.py:279 msgid "Ganjifa" msgstr "Ганджифа" -#: pysollib/resource.py:281 +#: pysollib/resource.py:282 msgid "Holiday" msgstr "Праздники" -#: pysollib/resource.py:283 +#: pysollib/resource.py:284 msgid "Movies" msgstr "Фильмы" -#: pysollib/resource.py:284 +#: pysollib/resource.py:285 msgid "Matrix" msgstr "Мозаика" -#: pysollib/resource.py:285 +#: pysollib/resource.py:286 msgid "Music" msgstr "Музыка" -#: pysollib/resource.py:286 +#: pysollib/resource.py:287 msgid "Nature" msgstr "Природа" -#: pysollib/resource.py:287 +#: pysollib/resource.py:288 msgid "Operating Systems" msgstr "Операционные системы" -#: pysollib/resource.py:288 +#: pysollib/resource.py:289 msgid "People" msgstr "Люди" -#: pysollib/resource.py:289 +#: pysollib/resource.py:290 msgid "Places" msgstr "Дома" -#: pysollib/resource.py:290 +#: pysollib/resource.py:291 msgid "Plain" msgstr "Простые" -#: pysollib/resource.py:291 +#: pysollib/resource.py:292 msgid "Products" msgstr "Продукты" -#: pysollib/resource.py:292 +#: pysollib/resource.py:293 msgid "Round cardsets" msgstr "Закруглённые" -#: pysollib/resource.py:293 +#: pysollib/resource.py:294 msgid "Science Fiction" msgstr "Научная фантастика" -#: pysollib/resource.py:294 +#: pysollib/resource.py:295 msgid "Sports" msgstr "Спорт" -#: pysollib/resource.py:296 +#: pysollib/resource.py:297 msgid "Vehicels" msgstr "Транспортные средства" -#: pysollib/resource.py:297 +#: pysollib/resource.py:298 msgid "Video Games" msgstr "Видеоигры" -#: pysollib/resource.py:302 +#: pysollib/resource.py:303 msgid "Australia" msgstr "Австралия" -#: pysollib/resource.py:303 +#: pysollib/resource.py:304 msgid "Austria" msgstr "Австрия" -#: pysollib/resource.py:304 +#: pysollib/resource.py:305 msgid "Belgium" msgstr "Бельгия" -#: pysollib/resource.py:305 +#: pysollib/resource.py:306 msgid "Canada" msgstr "Канада" -#: pysollib/resource.py:306 +#: pysollib/resource.py:307 msgid "China" msgstr "Китай" -#: pysollib/resource.py:307 +#: pysollib/resource.py:308 msgid "Czech Republic" msgstr "Чехия" -#: pysollib/resource.py:308 +#: pysollib/resource.py:309 msgid "Denmark" msgstr "Дания" -#: pysollib/resource.py:309 +#: pysollib/resource.py:310 msgid "England" msgstr "Англия" -#: pysollib/resource.py:310 +#: pysollib/resource.py:311 msgid "France" msgstr "Франция" -#: pysollib/resource.py:311 +#: pysollib/resource.py:312 msgid "Germany" msgstr "Германия" -#: pysollib/resource.py:312 +#: pysollib/resource.py:313 msgid "Great Britain" msgstr "Великобритания" -#: pysollib/resource.py:313 +#: pysollib/resource.py:314 msgid "Hungary" msgstr "Венгрия" -#: pysollib/resource.py:314 +#: pysollib/resource.py:315 msgid "India" msgstr "Индия" -#: pysollib/resource.py:315 +#: pysollib/resource.py:316 msgid "Italy" msgstr "Италия" -#: pysollib/resource.py:316 +#: pysollib/resource.py:317 msgid "Japan" msgstr "Япония" -#: pysollib/resource.py:317 +#: pysollib/resource.py:318 msgid "Netherlands" msgstr "Голландия" -#: pysollib/resource.py:318 +#: pysollib/resource.py:319 msgid "Russia" msgstr "Россия" -#: pysollib/resource.py:319 +#: pysollib/resource.py:320 msgid "Spain" msgstr "Испания" -#: pysollib/resource.py:320 +#: pysollib/resource.py:321 msgid "Sweden" msgstr "Швеция" -#: pysollib/resource.py:321 +#: pysollib/resource.py:322 msgid "Switzerland" msgstr "Швейцария" -#: pysollib/resource.py:322 +#: pysollib/resource.py:323 msgid "USA" msgstr "США" -#: pysollib/settings.py:58 +#: pysollib/settings.py:47 msgid "Top 10" msgstr "Top 10" -#: pysollib/stack.py:1186 +#: pysollib/stack.py:1282 msgid "Base card - %s." -msgstr "" +msgstr "Базовая карта - %s." -#: pysollib/stack.py:1187 +#: pysollib/stack.py:1283 msgid "Empty row cannot be filled." -msgstr "" +msgstr "Пустой ряд не заполняется." -#: pysollib/stack.py:1188 +#: pysollib/stack.py:1284 msgid "any card" -msgstr "" +msgstr "любая сарта" -#: pysollib/stack.py:1189 pysollib/util.py:81 +#: pysollib/stack.py:1285 pysollib/util.py:81 msgid "Jack" msgstr "Валет" -#: pysollib/stack.py:1198 +#: pysollib/stack.py:1298 msgid "No cards" msgstr "Нет карт" -#: pysollib/stack.py:1199 +#: pysollib/stack.py:1299 msgid "1 card" msgstr "1 карта" -#: pysollib/stack.py:1200 +#: pysollib/stack.py:1300 msgid " cards" msgstr " карт" -#: pysollib/stack.py:1379 pysollib/stack.py:1381 pysollib/stack.py:1412 +#: pysollib/stack.py:1517 pysollib/stack.py:1519 pysollib/stack.py:1550 msgid "Redeal" msgstr "Сдать" -#: pysollib/stack.py:1381 +#: pysollib/stack.py:1519 msgid "Stop" msgstr "Стоп" -#: pysollib/stack.py:1432 +#: pysollib/stack.py:1570 msgid "Variable redeals." msgstr "Переменное количество пересдач." -#: pysollib/stack.py:1433 +#: pysollib/stack.py:1571 msgid "Unlimited redeals." msgstr "Неограниченное количество пересдач." -#: pysollib/stack.py:1434 +#: pysollib/stack.py:1572 msgid "No redeals." msgstr "Без пересдачи." -#: pysollib/stack.py:1435 +#: pysollib/stack.py:1573 msgid "One redeal." msgstr "1 пересдача." -#: pysollib/stack.py:1436 +#: pysollib/stack.py:1574 msgid " redeals." msgstr " пересдачи." -#: pysollib/stack.py:1438 +#: pysollib/stack.py:1576 msgid "Talon." -msgstr "" +msgstr "Колода." -#: pysollib/stack.py:1613 pysollib/stack.py:2037 +#: pysollib/stack.py:1762 pysollib/stack.py:2212 msgid "Reserve. No building." -msgstr "" +msgstr "Резерв. Без выкладывания." -#: pysollib/stack.py:1659 +#: pysollib/stack.py:1799 +msgid "Foundation." +msgstr "Базовая ячейка" + +#: pysollib/stack.py:1815 msgid "Foundation. Build up by suit." -msgstr "" +msgstr "Базовая ячейка. Складывать по возрастанию в соответствии с мастью." -#: pysollib/stack.py:1660 +#: pysollib/stack.py:1816 msgid "Foundation. Build down by suit." -msgstr "" +msgstr "Базовая ячейка. Складывать по убыванию в соответствии с мастью." -#: pysollib/stack.py:1661 pysollib/stack.py:1677 pysollib/stack.py:1699 +#: pysollib/stack.py:1817 pysollib/stack.py:1833 pysollib/stack.py:1855 msgid "Foundation. Build by same rank." -msgstr "" +msgstr "Базовая ячейка. Складывать в соответствии с достоинством." -#: pysollib/stack.py:1676 +#: pysollib/stack.py:1832 msgid "Foundation. Build down regardless of suit." -msgstr "" +msgstr "Базовая ячейка. Складывать не считаясь с мастью." -#: pysollib/stack.py:1697 +#: pysollib/stack.py:1853 msgid "Foundation. Build up by alternate color." -msgstr "" +msgstr "Базовая ячейка. Складывать по возрастанию чередуя цвет." -#: pysollib/stack.py:1698 +#: pysollib/stack.py:1854 msgid "Foundation. Build down by alternate color." -msgstr "" +msgstr "Базовая ячейка. Складывать по убыванию чередуя цвет." -#: pysollib/stack.py:1772 -msgid "Row. Build up by alternate color." -msgstr "" - -#: pysollib/stack.py:1773 -msgid "Row. Build down by alternate color." -msgstr "" - -#: pysollib/stack.py:1774 pysollib/stack.py:1784 pysollib/stack.py:1793 -#: pysollib/stack.py:1802 pysollib/stack.py:1830 -msgid "Row. Build by same rank." -msgstr "" - -#: pysollib/stack.py:1782 -msgid "Row. Build up by color." -msgstr "" - -#: pysollib/stack.py:1783 -msgid "Row. Build down by color." -msgstr "" - -#: pysollib/stack.py:1791 -msgid "Row. Build up by suit." -msgstr "" - -#: pysollib/stack.py:1792 -msgid "Row. Build down by suit." -msgstr "" - -#: pysollib/stack.py:1800 pysollib/stack.py:1828 -msgid "Row. Build up regardless of suit." -msgstr "" - -#: pysollib/stack.py:1801 pysollib/stack.py:1829 -msgid "Row. Build down regardless of suit." -msgstr "" - -#: pysollib/stack.py:1851 -msgid "" -"Row. Build up by alternate color, can move any face-up cards regardless of " -"sequence." -msgstr "" - -#: pysollib/stack.py:1852 -msgid "" -"Row. Build down by alternate color, can move any face-up cards regardless of " -"sequence." -msgstr "" - -#: pysollib/stack.py:1853 pysollib/stack.py:1864 -msgid "" -"Row. Build by same rank, can move any face-up cards regardless of sequence." -msgstr "" - -#: pysollib/stack.py:1862 -msgid "" -"Row. Build up by suit, can move any face-up cards regardless of sequence." -msgstr "" - -#: pysollib/stack.py:1863 -msgid "" -"Row. Build down by suit, can move any face-up cards regardless of sequence." -msgstr "" - -#: pysollib/stack.py:1896 -msgid "Row. Build up or down by color." -msgstr "" - -#: pysollib/stack.py:1907 -msgid "Row. Build up or down by alternate color." -msgstr "" - -#: pysollib/stack.py:1918 -msgid "Row. Build up or down by suit." -msgstr "" +#: pysollib/stack.py:1928 +msgid "Tableau. Build up by alternate color." +msgstr "Игровой стол. Складывать по возрастанию чередуя цвет." #: pysollib/stack.py:1929 -msgid "Row. Build up or down regardless of suit." -msgstr "" +msgid "Tableau. Build down by alternate color." +msgstr "Игровой стол. Складывать по убыванию чередуя цвет." -#: pysollib/stack.py:1940 +#: pysollib/stack.py:1930 pysollib/stack.py:1940 pysollib/stack.py:1949 +#: pysollib/stack.py:1958 pysollib/stack.py:1968 pysollib/stack.py:1991 +#: pysollib/stack.py:2001 +msgid "Tableau. Build by same rank." +msgstr "Игровой стол. Складывать в соответствии с достоинством." + +#: pysollib/stack.py:1938 +msgid "Tableau. Build up by color." +msgstr "Игровой стол. Складывать по возрастанию в соответствии с цветом." + +#: pysollib/stack.py:1939 +msgid "Tableau. Build down by color." +msgstr "Игровой стол. Складывать по убыванию в соответствии с цветом." + +#: pysollib/stack.py:1947 +msgid "Tableau. Build up by suit." +msgstr "Игровой стол. Складывать по возрастанию в соответствии с мастью." + +#: pysollib/stack.py:1948 +msgid "Tableau. Build down by suit." +msgstr "Игровой стол. Складывать по убыванию в соответствии с мастью." + +#: pysollib/stack.py:1956 +msgid "Tableau. Build up regardless of suit." +msgstr "Игровой стол. Складывать по возрастанию не считаясь с мастью." + +#: pysollib/stack.py:1957 +msgid "Tableau. Build down regardless of suit." +msgstr "Игровой стол. Складывать по убыванию не считаясь с мастью." + +#: pysollib/stack.py:1966 +msgid "Tableau. Build up in any suit but the same." +msgstr "Игровой стол. Складывать по возрастанию в любую масть кроме такой же." + +#: pysollib/stack.py:1967 +msgid "Tableau. Build down in any suit but the same." +msgstr "Игровой стол. Складывать по убыванию в любую масть кроме такой же." + +#: pysollib/stack.py:1989 +msgid "" +"Tableau. Build up regardless of suit. Sequences of cards in alternate color " +"can be moved as a unit." +msgstr "Игровой стол. Складывать по возрастанию не считаясь с мастью. Можно перемещать серии карт чередующихся цветом." + +#: pysollib/stack.py:1990 +msgid "" +"Tableau. Build down regardless of suit. Sequences of cards in alternate " +"color can be moved as a unit." +msgstr "Игровой стол. Складывать по убыванию не считаясь с мастью. Можно перемещать серии карт чередующихся цветом." + +#: pysollib/stack.py:1999 +msgid "" +"Tableau. Build up regardless of suit. Sequences of cards in the same suit " +"can be moved as a unit." +msgstr "Игровой стол. Складывать по возрастанию не считаясь с мастью. Можно перемещать серии карт одинаковой масти." + +#: pysollib/stack.py:2000 +msgid "" +"Tableau. Build down regardless of suit. Sequences of cards in the same suit " +"can be moved as a unit." +msgstr "Игровой стол. Складывать по убыванию не считаясь с мастью. Можно перемещать серии карт одинаковой масти." + +#: pysollib/stack.py:2022 +msgid "" +"Tableau. Build up by alternate color, can move any face-up cards regardless " +"of sequence." +msgstr "Игровой стол. Складывать по возрастанию чередуя цвет, можно перемещать любую серию открытых карт." + +#: pysollib/stack.py:2023 +msgid "" +"Tableau. Build down by alternate color, can move any face-up cards " +"regardless of sequence." +msgstr "Игровой стол. Складывать по убыванию чередуя цвет, можно перемещать любую серию открытых карт." + +#: pysollib/stack.py:2024 pysollib/stack.py:2037 +msgid "" +"Tableau. Build by same rank, can move any face-up cards regardless of " +"sequence." +msgstr "Игровой стол. Складывать в соответствии с достоинством, можно перемещать любую серию открытых карт." + +#: pysollib/stack.py:2035 +msgid "" +"Tableau. Build up by suit, can move any face-up cards regardless of sequence." +msgstr "Игровой стол. Складывать по возрастанию в соответствии с мастью, можно перемещать любую серию открытых карт." + +#: pysollib/stack.py:2036 +msgid "" +"Tableau. Build down by suit, can move any face-up cards regardless of " +"sequence." +msgstr "Игровой стол. Складывать по убыванию в соответствии с мастью, можно перемещать любую серию открытых карт." + +#: pysollib/stack.py:2069 +msgid "Tableau. Build up or down by color." +msgstr "Игровой стол. Складывать по возрастанию или убыванию в соответствии с цветом." + +#: pysollib/stack.py:2080 +msgid "Tableau. Build up or down by alternate color." +msgstr "Игровой стол. Складывать по возрастанию или убыванию чередуя цвет." + +#: pysollib/stack.py:2091 +msgid "Tableau. Build up or down by suit." +msgstr "Игровой стол. Складывать по возрастанию или убыванию в соответствии с мастью." + +#: pysollib/stack.py:2102 +msgid "Tableau. Build up or down regardless of suit." +msgstr "Игровой стол. Складывать по возрастанию или убыванию не считаясь с мастью." + +#: pysollib/stack.py:2113 msgid "Waste." -msgstr "" +msgstr "Сброс." -#: pysollib/stack.py:2038 +#: pysollib/stack.py:2213 msgid "Free cell." msgstr "Свободная ячейка." @@ -1885,7 +1932,7 @@ msgstr "Выиграл" msgid "Lost" msgstr "Проиграл" -#: pysollib/stats.py:122 pysollib/tk/statusbar.py:135 +#: pysollib/stats.py:122 pysollib/tk/statusbar.py:157 msgid "Playing time" msgstr "Время игры" @@ -1909,7 +1956,7 @@ msgstr "Игра" msgid "Status" msgstr "Статус" -#: pysollib/stats.py:162 pysollib/tk/statusbar.py:137 +#: pysollib/stats.py:162 pysollib/tk/statusbar.py:159 #: pysollib/tk/tkstats.py:735 msgid "Game number" msgstr "Номер игры" @@ -1942,8 +1989,8 @@ msgstr "Великолепная" msgid "Text foreground:" msgstr "Цвет текста:" -#: pysollib/tk/colorsdialog.py:79 pysollib/tk/colorsdialog.py:97 -#: pysollib/tk/fontsdialog.py:185 +#: pysollib/tk/colorsdialog.py:79 pysollib/tk/colorsdialog.py:98 +#: pysollib/tk/fontsdialog.py:186 msgid "Change..." msgstr "Изменить..." @@ -1975,10 +2022,14 @@ msgstr "Стрелка подсказки:" msgid "Highlight not matching:" msgstr "Подсветка отсутствия совпадения:" -#: pysollib/tk/colorsdialog.py:123 +#: pysollib/tk/colorsdialog.py:124 msgid "Select color" msgstr "Выбрать цвет" +#: pysollib/tk/findcarddialog.py:52 pysollib/tk/menubar.py:329 +msgid "Find card" +msgstr "Найти карту" + #: pysollib/tk/fontsdialog.py:85 msgid "abcdefghABCDEFGH" msgstr "abcdeABCDE абвгдАБВГД" @@ -1987,11 +2038,39 @@ msgstr "abcdeABCDE абвгдАБВГД" msgid "Bold" msgstr "Жирный" -#: pysollib/tk/fontsdialog.py:97 +#: pysollib/tk/fontsdialog.py:98 msgid "Italic" msgstr "Наклонный" -#: pysollib/tk/fontsdialog.py:195 +#: pysollib/tk/fontsdialog.py:168 +msgid "HTML: " +msgstr "HTML: " + +#: pysollib/tk/fontsdialog.py:169 +msgid "Small: " +msgstr "Маленький: " + +#: pysollib/tk/fontsdialog.py:170 +msgid "Fixed: " +msgstr "Моноширинный: " + +#: pysollib/tk/fontsdialog.py:171 +msgid "Tableau default: " +msgstr "Игровой стол по умолчанию: " + +#: pysollib/tk/fontsdialog.py:172 +msgid "Tableau fixed: " +msgstr "Игровой стол моноширинный: " + +#: pysollib/tk/fontsdialog.py:173 +msgid "Tableau large: " +msgstr "Игровой стол большой: " + +#: pysollib/tk/fontsdialog.py:174 +msgid "Tableau small: " +msgstr "Игровой стол маленький: " + +#: pysollib/tk/fontsdialog.py:196 msgid "Select font" msgstr "Выбрать шрифт" @@ -2047,416 +2126,428 @@ msgstr "Большие пиктограммы" msgid "Customize toolbar" msgstr "Настроить панель инструментов" -#: pysollib/tk/menubar.py:249 +#: pysollib/tk/menubar.py:256 msgid "&File" msgstr "&Файл" -#: pysollib/tk/menubar.py:251 +#: pysollib/tk/menubar.py:258 msgid "R&ecent games" msgstr "Выбрать н&едавнюю игру" -#: pysollib/tk/menubar.py:253 +#: pysollib/tk/menubar.py:260 msgid "Select &random game" msgstr "С&лучайная игра" -#: pysollib/tk/menubar.py:254 +#: pysollib/tk/menubar.py:261 msgid "&All games" msgstr "&Все игры" -#: pysollib/tk/menubar.py:255 +#: pysollib/tk/menubar.py:262 msgid "Games played and &won" msgstr "&Выигранные игры" -#: pysollib/tk/menubar.py:256 +#: pysollib/tk/menubar.py:263 msgid "Games played and ¬ won" msgstr "&Невыигранные игры" -#: pysollib/tk/menubar.py:257 +#: pysollib/tk/menubar.py:264 msgid "Games not &played" msgstr "Не&сыгранные игры" -#: pysollib/tk/menubar.py:258 +#: pysollib/tk/menubar.py:265 msgid "Select game by nu&mber..." msgstr "Выбрать игру по &номеру..." -#: pysollib/tk/menubar.py:260 +#: pysollib/tk/menubar.py:267 msgid "Fa&vorite games" msgstr "&Избранные игры" -#: pysollib/tk/menubar.py:261 +#: pysollib/tk/menubar.py:268 msgid "A&dd to favorites" msgstr "&Добавить в избранное" -#: pysollib/tk/menubar.py:262 +#: pysollib/tk/menubar.py:269 msgid "R&emove from favorites" msgstr "&Удалить из избранных" -#: pysollib/tk/menubar.py:264 +#: pysollib/tk/menubar.py:271 msgid "&Open..." msgstr "&Открыть..." -#: pysollib/tk/menubar.py:265 +#: pysollib/tk/menubar.py:272 msgid "&Save" msgstr "&Сохранить" -#: pysollib/tk/menubar.py:266 +#: pysollib/tk/menubar.py:273 msgid "Save &as..." msgstr "Сохранить &как..." -#: pysollib/tk/menubar.py:268 +#: pysollib/tk/menubar.py:275 msgid "&Hold and quit" msgstr "Со&храниться и выйти" -#: pysollib/tk/menubar.py:271 pysollib/tk/selectgame.py:417 +#: pysollib/tk/menubar.py:280 pysollib/tk/selectgame.py:407 msgid "&Select" msgstr "&Выбрать" -#: pysollib/tk/menubar.py:274 +#: pysollib/tk/menubar.py:285 msgid "&Edit" msgstr "Р&едактировать" -#: pysollib/tk/menubar.py:275 +#: pysollib/tk/menubar.py:286 msgid "&Undo" msgstr "&Отмена" -#: pysollib/tk/menubar.py:276 +#: pysollib/tk/menubar.py:287 msgid "&Redo" msgstr "&Повтор" -#: pysollib/tk/menubar.py:277 +#: pysollib/tk/menubar.py:288 msgid "Redo &all" msgstr "Вернуть все" -#: pysollib/tk/menubar.py:280 +#: pysollib/tk/menubar.py:291 msgid "&Set bookmark" msgstr "Установить &закладку" -#: pysollib/tk/menubar.py:282 pysollib/tk/menubar.py:286 +#: pysollib/tk/menubar.py:293 pysollib/tk/menubar.py:297 msgid "Bookmark %d" msgstr "Закладка %d" -#: pysollib/tk/menubar.py:284 +#: pysollib/tk/menubar.py:295 msgid "Go&to bookmark" msgstr "&Перейти к закладке" -#: pysollib/tk/menubar.py:289 +#: pysollib/tk/menubar.py:300 msgid "&Clear bookmarks" msgstr "О&чистить закладки" -#: pysollib/tk/menubar.py:292 +#: pysollib/tk/menubar.py:303 msgid "Restart &game" msgstr "&Начать с начала" -#: pysollib/tk/menubar.py:294 +#: pysollib/tk/menubar.py:305 msgid "&Game" msgstr "&Игра" -#: pysollib/tk/menubar.py:295 +#: pysollib/tk/menubar.py:306 msgid "&Deal cards" msgstr "&Сдать карты" -#: pysollib/tk/menubar.py:296 pysollib/tk/menubar.py:325 +#: pysollib/tk/menubar.py:307 pysollib/tk/menubar.py:342 msgid "&Auto drop" msgstr "С&бросить карты" -#: pysollib/tk/menubar.py:297 +#: pysollib/tk/menubar.py:308 msgid "&Pause" msgstr "&Пауза" -#: pysollib/tk/menubar.py:300 +#: pysollib/tk/menubar.py:311 msgid "S&tatus..." msgstr "С&татус" -#: pysollib/tk/menubar.py:301 +#: pysollib/tk/menubar.py:312 msgid "&Comments..." msgstr "&Комментарии..." -#: pysollib/tk/menubar.py:303 +#: pysollib/tk/menubar.py:314 msgid "&Statistics" msgstr "Ст&атистика" -#: pysollib/tk/menubar.py:304 pysollib/tk/menubar.py:312 +#: pysollib/tk/menubar.py:315 pysollib/tk/menubar.py:323 msgid "Current game..." msgstr "Текущая игра..." -#: pysollib/tk/menubar.py:305 pysollib/tk/menubar.py:313 +#: pysollib/tk/menubar.py:316 pysollib/tk/menubar.py:324 msgid "All games..." msgstr "Все игры..." -#: pysollib/tk/menubar.py:307 +#: pysollib/tk/menubar.py:318 msgid "Session log..." msgstr "Лог сессии..." -#: pysollib/tk/menubar.py:308 +#: pysollib/tk/menubar.py:319 msgid "Full log..." msgstr "Полный лог..." -#: pysollib/tk/menubar.py:311 +#: pysollib/tk/menubar.py:322 msgid "D&emo statistics" msgstr "Статистика демо" -#: pysollib/tk/menubar.py:315 +#: pysollib/tk/menubar.py:326 msgid "&Assist" msgstr "&Подсказка" -#: pysollib/tk/menubar.py:316 +#: pysollib/tk/menubar.py:327 msgid "&Hint" msgstr "Подсказать &ход" -#: pysollib/tk/menubar.py:317 +#: pysollib/tk/menubar.py:328 msgid "Highlight p&iles" msgstr "П&оказать группы" -#: pysollib/tk/menubar.py:319 +#: pysollib/tk/menubar.py:331 msgid "&Demo" msgstr "&Демо" -#: pysollib/tk/menubar.py:320 +#: pysollib/tk/menubar.py:332 msgid "Demo (&all games)" msgstr "Демо (&все игры)" -#: pysollib/tk/menubar.py:321 +#: pysollib/tk/menubar.py:334 +msgid "Piles description" +msgstr "Описания ячеек" + +#: pysollib/tk/menubar.py:338 msgid "&Options" msgstr "&Настройка" -#: pysollib/tk/menubar.py:322 +#: pysollib/tk/menubar.py:339 msgid "&Player options..." msgstr "Настройки &игрока..." -#: pysollib/tk/menubar.py:323 +#: pysollib/tk/menubar.py:340 msgid "&Automatic play" msgstr "Настройки &автоматической игры" -#: pysollib/tk/menubar.py:324 +#: pysollib/tk/menubar.py:341 msgid "Auto &face up" msgstr "Автоматически переворачивать" -#: pysollib/tk/menubar.py:326 +#: pysollib/tk/menubar.py:343 msgid "Auto &deal" msgstr "Автоматически &сдавать карты" -#: pysollib/tk/menubar.py:328 +#: pysollib/tk/menubar.py:345 msgid "&Quick play" msgstr "&Быстрая игра" -#: pysollib/tk/menubar.py:329 +#: pysollib/tk/menubar.py:346 msgid "Assist &level" msgstr "&Уровень подсказки" -#: pysollib/tk/menubar.py:330 +#: pysollib/tk/menubar.py:347 msgid "Enable &undo" msgstr "Разрешить &возврат хода" -#: pysollib/tk/menubar.py:331 +#: pysollib/tk/menubar.py:348 msgid "Enable &bookmarks" msgstr "Разрешить &закладки" -#: pysollib/tk/menubar.py:332 +#: pysollib/tk/menubar.py:349 msgid "Enable &hint" msgstr "Разрешить &подсказки" -#: pysollib/tk/menubar.py:333 +#: pysollib/tk/menubar.py:350 msgid "Enable highlight p&iles" msgstr "Разрешить показывать к&учи" -#: pysollib/tk/menubar.py:334 +#: pysollib/tk/menubar.py:351 msgid "Enable highlight &cards" msgstr "Разрешить показывать &карты" -#: pysollib/tk/menubar.py:335 +#: pysollib/tk/menubar.py:352 msgid "Enable highlight same &rank" msgstr "Разрешить показывать карты &одного достоинства" -#: pysollib/tk/menubar.py:336 +#: pysollib/tk/menubar.py:353 msgid "Highlight &no matching" msgstr "Подсветка отсутствия &совпадения:" -#: pysollib/tk/menubar.py:338 -msgid "Show removed tiles (in Mahjongg games)" +#: pysollib/tk/menubar.py:355 +msgid "&Show removed tiles (in Mahjongg games)" msgstr "Показывать удаленные (в Маджонг)" -#: pysollib/tk/menubar.py:339 -msgid "Show hint arrow (in Shisen-Sho games)" +#: pysollib/tk/menubar.py:356 +msgid "Show hint &arrow (in Shisen-Sho games)" msgstr "Показывать стрелку (в Шисен-Сё)" -#: pysollib/tk/menubar.py:341 +#: pysollib/tk/menubar.py:358 msgid "&Sound..." msgstr "&Звук..." -#: pysollib/tk/menubar.py:349 +#: pysollib/tk/menubar.py:366 msgid "Cards&et..." msgstr "Коло&да..." -#: pysollib/tk/menubar.py:350 +#: pysollib/tk/menubar.py:367 msgid "Table t&ile..." msgstr "Игровой &стол..." -#: pysollib/tk/menubar.py:352 +#: pysollib/tk/menubar.py:369 msgid "Card &background" msgstr "&Рубашка карты" -#: pysollib/tk/menubar.py:353 +#: pysollib/tk/menubar.py:370 msgid "Card &view" msgstr "&Вид карты" -#: pysollib/tk/menubar.py:354 +#: pysollib/tk/menubar.py:371 msgid "Card shado&w" msgstr "Тень карты" -#: pysollib/tk/menubar.py:355 +#: pysollib/tk/menubar.py:372 msgid "Shade &legal moves" msgstr "Подсвечивать &разрешенные ходы" -#: pysollib/tk/menubar.py:356 +#: pysollib/tk/menubar.py:373 msgid "&Negative cards bottom" msgstr "&Негативные контуры карты" -#: pysollib/tk/menubar.py:357 +#: pysollib/tk/menubar.py:374 +msgid "Shade &filled stacks" +msgstr "Затемнять заполненные ячейки" + +#: pysollib/tk/menubar.py:375 msgid "A&nimations" msgstr "Анимаци&я" -#: pysollib/tk/menubar.py:358 +#: pysollib/tk/menubar.py:376 msgid "&None" msgstr "&Нет" -#: pysollib/tk/menubar.py:359 +#: pysollib/tk/menubar.py:377 msgid "&Timer based" msgstr "Базирующаяся на &таймере" -#: pysollib/tk/menubar.py:360 +#: pysollib/tk/menubar.py:378 msgid "&Fast" msgstr "&Быстрая" -#: pysollib/tk/menubar.py:361 +#: pysollib/tk/menubar.py:379 msgid "&Slow" msgstr "&Медленная" -#: pysollib/tk/menubar.py:362 +#: pysollib/tk/menubar.py:380 msgid "&Very slow" msgstr "&Очень медленная" -#: pysollib/tk/menubar.py:363 +#: pysollib/tk/menubar.py:381 msgid "Stick&y mouse" msgstr "&Липкая мышь" -#: pysollib/tk/menubar.py:365 +#: pysollib/tk/menubar.py:382 +msgid "Use mouse for undo/redo" +msgstr "Использовать мышь для вперед/назад" + +#: pysollib/tk/menubar.py:384 msgid "&Fonts..." msgstr "&Шрифты..." -#: pysollib/tk/menubar.py:366 +#: pysollib/tk/menubar.py:385 msgid "&Colors..." msgstr "&Цвета..." -#: pysollib/tk/menubar.py:367 +#: pysollib/tk/menubar.py:386 msgid "Time&outs..." msgstr "Тайма&уты..." -#: pysollib/tk/menubar.py:369 +#: pysollib/tk/menubar.py:388 msgid "&Toolbar" msgstr "Панель и&нструментов" -#: pysollib/tk/menubar.py:371 +#: pysollib/tk/menubar.py:390 msgid "Stat&usbar" msgstr "Панель с&остояния" -#: pysollib/tk/menubar.py:372 +#: pysollib/tk/menubar.py:391 msgid "Show &statusbar" msgstr "Показывать панель состояния" -#: pysollib/tk/menubar.py:373 +#: pysollib/tk/menubar.py:392 msgid "Show &number of cards" msgstr "Показывать количество карт" -#: pysollib/tk/menubar.py:374 +#: pysollib/tk/menubar.py:393 msgid "Show &help bar" msgstr "Показывать панель помощи" -#: pysollib/tk/menubar.py:375 +#: pysollib/tk/menubar.py:394 msgid "Save games &geometry" msgstr "Сохранение &геометрии игры" -#: pysollib/tk/menubar.py:376 +#: pysollib/tk/menubar.py:395 msgid "&Demo logo" msgstr "Д&емо лого" -#: pysollib/tk/menubar.py:377 +#: pysollib/tk/menubar.py:396 msgid "Startup splash sc&reen" msgstr "О&кно запуска" -#: pysollib/tk/menubar.py:381 +#: pysollib/tk/menubar.py:402 msgid "&Help" msgstr "&Помощь" -#: pysollib/tk/menubar.py:382 +#: pysollib/tk/menubar.py:403 msgid "&Contents" msgstr "&Содержание" -#: pysollib/tk/menubar.py:383 +#: pysollib/tk/menubar.py:404 msgid "&How to play" msgstr "Как &играть" -#: pysollib/tk/menubar.py:384 +#: pysollib/tk/menubar.py:405 msgid "&Rules for this game" msgstr "&Правила текущей игры" -#: pysollib/tk/menubar.py:385 +#: pysollib/tk/menubar.py:406 msgid "&License terms" msgstr "&Лицензия" -#: pysollib/tk/menubar.py:388 +#: pysollib/tk/menubar.py:409 msgid "&About " msgstr "&О программе " -#: pysollib/tk/menubar.py:496 +#: pysollib/tk/menubar.py:521 msgid "All &games..." msgstr "&Все игры..." -#: pysollib/tk/menubar.py:497 +#: pysollib/tk/menubar.py:523 msgid "Playable pre&view..." msgstr "Играемый &предпросмотр..." -#: pysollib/tk/menubar.py:499 -msgid "&Popular games" -msgstr "&Популярные игры" - -#: pysollib/tk/menubar.py:502 -msgid "&French games" -msgstr "&Классические игры" - -#: pysollib/tk/menubar.py:505 +#: pysollib/tk/menubar.py:572 msgid "&Mahjongg games" msgstr "Игры маджонг" -#: pysollib/tk/menubar.py:508 +#: pysollib/tk/menubar.py:610 +msgid "&Popular games" +msgstr "&Популярные игры" + +#: pysollib/tk/menubar.py:618 +msgid "&French games" +msgstr "&Классические игры" + +#: pysollib/tk/menubar.py:625 msgid "&Oriental games" msgstr "&Восточные игры" -#: pysollib/tk/menubar.py:512 +#: pysollib/tk/menubar.py:633 msgid "&Special games" msgstr "&Особые игры" -#: pysollib/tk/menubar.py:516 +#: pysollib/tk/menubar.py:639 msgid "All games by name" msgstr "Все игры по имени" -#: pysollib/tk/menubar.py:849 pysollib/tk/menubar.py:851 +#: pysollib/tk/menubar.py:893 pysollib/tk/menubar.py:895 #: pysollib/tk/selectcardset.py:240 msgid "&Load" msgstr "&Загрузить" -#: pysollib/tk/menubar.py:851 +#: pysollib/tk/menubar.py:895 msgid "&Info..." msgstr "&Информация..." -#: pysollib/tk/menubar.py:854 +#: pysollib/tk/menubar.py:898 msgid "Select " msgstr "Выбрать " -#: pysollib/tk/menubar.py:915 +#: pysollib/tk/menubar.py:959 msgid "Select table background" msgstr "Выбрать фоновое изображение" -#: pysollib/tk/menubar.py:927 pysollib/tk/selecttile.py:177 +#: pysollib/tk/menubar.py:971 pysollib/tk/selecttile.py:177 msgid "Select table color" msgstr "Выбрать цвет" @@ -2541,7 +2632,7 @@ msgstr "Очень большие колоды" msgid "About cardset" msgstr "О наборе карт" -#: pysollib/tk/selectcardset.py:335 pysollib/tk/selectgame.py:374 +#: pysollib/tk/selectcardset.py:335 pysollib/tk/selectgame.py:365 msgid "Type:" msgstr "Тип:" @@ -2565,253 +2656,253 @@ msgstr "Размер:" msgid "(no games)" msgstr "(нет игр)" -#: pysollib/tk/selectgame.py:118 -msgid "French games" -msgstr "Классические игры" - #: pysollib/tk/selectgame.py:121 -msgid "Oriental Games" -msgstr "Восточные игры" - -#: pysollib/tk/selectgame.py:124 -msgid "Special Games" -msgstr "Особые игры" - -#: pysollib/tk/selectgame.py:127 -msgid "Original Games" -msgstr "Оригинальные игры" - -#: pysollib/tk/selectgame.py:141 -msgid "by Compatibility" -msgstr "По совместимости с другими программами" - -#: pysollib/tk/selectgame.py:159 -msgid "New games in v." -msgstr "Новые игры в версии " - -#: pysollib/tk/selectgame.py:162 -msgid "by PySol version" -msgstr "По версии PySol" - -#: pysollib/tk/selectgame.py:169 -msgid "All Games" -msgstr "Все игры" - -#: pysollib/tk/selectgame.py:170 -msgid "Alternate Names" -msgstr "Другие имена" - -#: pysollib/tk/selectgame.py:171 -msgid "Popular Games" -msgstr "Популярные игры" - -#: pysollib/tk/selectgame.py:172 msgid "Mahjongg Games" msgstr "Игры маджонг" -#: pysollib/tk/selectgame.py:178 +#: pysollib/tk/selectgame.py:124 +msgid "French games" +msgstr "Классические игры" + +#: pysollib/tk/selectgame.py:126 +msgid "Oriental Games" +msgstr "Восточные игры" + +#: pysollib/tk/selectgame.py:128 +msgid "Special Games" +msgstr "Особые игры" + +#: pysollib/tk/selectgame.py:130 +msgid "Original Games" +msgstr "Оригинальные игры" + +#: pysollib/tk/selectgame.py:144 +msgid "by Compatibility" +msgstr "По совместимости с другими программами" + +#: pysollib/tk/selectgame.py:152 +msgid "New games in v." +msgstr "Новые игры в версии " + +#: pysollib/tk/selectgame.py:155 +msgid "by PySol version" +msgstr "По версии PySol" + +#: pysollib/tk/selectgame.py:162 +msgid "All Games" +msgstr "Все игры" + +#: pysollib/tk/selectgame.py:163 +msgid "Alternate Names" +msgstr "Другие имена" + +#: pysollib/tk/selectgame.py:164 +msgid "Popular Games" +msgstr "Популярные игры" + +#: pysollib/tk/selectgame.py:169 msgid "by Skill Level" msgstr "По уровню мастерства" -#: pysollib/tk/selectgame.py:179 pysollib/tk/selectgame.py:546 +#: pysollib/tk/selectgame.py:170 pysollib/tk/selectgame.py:542 msgid "Luck only" msgstr "Только на везение" -#: pysollib/tk/selectgame.py:180 pysollib/tk/selectgame.py:547 +#: pysollib/tk/selectgame.py:171 pysollib/tk/selectgame.py:543 msgid "Mostly luck" msgstr "В основном на везение" -#: pysollib/tk/selectgame.py:181 pysollib/tk/selectgame.py:548 +#: pysollib/tk/selectgame.py:172 pysollib/tk/selectgame.py:544 msgid "Balanced" msgstr "Сбалансированные" -#: pysollib/tk/selectgame.py:182 pysollib/tk/selectgame.py:549 +#: pysollib/tk/selectgame.py:173 pysollib/tk/selectgame.py:545 msgid "Mostly skill" msgstr "В основном на мастерство" -#: pysollib/tk/selectgame.py:183 pysollib/tk/selectgame.py:550 +#: pysollib/tk/selectgame.py:174 pysollib/tk/selectgame.py:546 msgid "Skill only" msgstr "Только на мастерство" -#: pysollib/tk/selectgame.py:185 +#: pysollib/tk/selectgame.py:176 msgid "by Game Feature" msgstr "По особенностям игры" -#: pysollib/tk/selectgame.py:186 +#: pysollib/tk/selectgame.py:177 msgid "by Number of Cards" msgstr "По количеству карт" -#: pysollib/tk/selectgame.py:187 +#: pysollib/tk/selectgame.py:178 msgid "32 cards" msgstr "32 карты" -#: pysollib/tk/selectgame.py:188 +#: pysollib/tk/selectgame.py:179 msgid "48 cards" msgstr "48 карт" -#: pysollib/tk/selectgame.py:189 +#: pysollib/tk/selectgame.py:180 msgid "52 cards" msgstr "52 карты" -#: pysollib/tk/selectgame.py:190 +#: pysollib/tk/selectgame.py:181 msgid "64 cards" msgstr "64 карты" -#: pysollib/tk/selectgame.py:191 +#: pysollib/tk/selectgame.py:182 msgid "78 cards" msgstr "78 карт" -#: pysollib/tk/selectgame.py:192 +#: pysollib/tk/selectgame.py:183 msgid "104 cards" msgstr "104 карты" -#: pysollib/tk/selectgame.py:193 +#: pysollib/tk/selectgame.py:184 msgid "144 cards" msgstr "144 карты" -#: pysollib/tk/selectgame.py:194 +#: pysollib/tk/selectgame.py:185 msgid "Other number" msgstr "Другое количество" -#: pysollib/tk/selectgame.py:196 +#: pysollib/tk/selectgame.py:187 msgid "by Number of Decks" msgstr "По количеству колод" -#: pysollib/tk/selectgame.py:197 +#: pysollib/tk/selectgame.py:188 msgid "1 deck games" msgstr "Игры с 1 колодой" -#: pysollib/tk/selectgame.py:198 +#: pysollib/tk/selectgame.py:189 msgid "2 deck games" msgstr "Игры с 2 колодами" -#: pysollib/tk/selectgame.py:199 +#: pysollib/tk/selectgame.py:190 msgid "3 deck games" msgstr "Игры с 3 колодами" -#: pysollib/tk/selectgame.py:200 +#: pysollib/tk/selectgame.py:191 msgid "4 deck games" msgstr "Игры с 4 колодами" -#: pysollib/tk/selectgame.py:202 +#: pysollib/tk/selectgame.py:193 msgid "by Number of Redeals" msgstr "По количеству пересдач" -#: pysollib/tk/selectgame.py:203 +#: pysollib/tk/selectgame.py:194 msgid "No redeal" msgstr "Без пересдачи" -#: pysollib/tk/selectgame.py:204 +#: pysollib/tk/selectgame.py:195 msgid "1 redeal" msgstr "1 пересдача" -#: pysollib/tk/selectgame.py:205 +#: pysollib/tk/selectgame.py:196 msgid "2 redeals" msgstr "2 пересдачи" -#: pysollib/tk/selectgame.py:206 +#: pysollib/tk/selectgame.py:197 msgid "3 redeals" msgstr "3 пересдачи" -#: pysollib/tk/selectgame.py:207 +#: pysollib/tk/selectgame.py:198 msgid "Unlimited redeals" msgstr "Неограниченное количество пересдач" -#: pysollib/tk/selectgame.py:209 +#: pysollib/tk/selectgame.py:200 msgid "Other number of redeals" msgstr "Другое количество пересдач" -#: pysollib/tk/selectgame.py:214 +#: pysollib/tk/selectgame.py:205 msgid "Other Categories" msgstr "Другие категории" -#: pysollib/tk/selectgame.py:215 +#: pysollib/tk/selectgame.py:206 msgid "Games for Children (very easy)" msgstr "Игры для детей (очень легкие)" -#: pysollib/tk/selectgame.py:216 +#: pysollib/tk/selectgame.py:207 msgid "Games with Scoring" msgstr "Игры со счётом" -#: pysollib/tk/selectgame.py:217 +#: pysollib/tk/selectgame.py:208 msgid "Games with Separate Decks" msgstr "Игры с раздельными колодами" -#: pysollib/tk/selectgame.py:218 +#: pysollib/tk/selectgame.py:209 msgid "Open Games (all cards visible)" msgstr "Открытые игры (все карты видны)" -#: pysollib/tk/selectgame.py:219 +#: pysollib/tk/selectgame.py:210 msgid "Relaxed Variants" msgstr "Облегченные варианты" -#: pysollib/tk/selectgame.py:358 +#: pysollib/tk/selectgame.py:349 msgid "About game" msgstr "Об игре " -#: pysollib/tk/selectgame.py:371 +#: pysollib/tk/selectgame.py:362 msgid "Name:" msgstr "Имя:" -#: pysollib/tk/selectgame.py:372 +#: pysollib/tk/selectgame.py:363 msgid "Alternate names:" msgstr "Другие имена:" -#: pysollib/tk/selectgame.py:373 +#: pysollib/tk/selectgame.py:364 msgid "Category:" msgstr "Категория:" -#: pysollib/tk/selectgame.py:375 +#: pysollib/tk/selectgame.py:366 msgid "Skill level:" msgstr "Уровень мастерства:" -#: pysollib/tk/selectgame.py:376 +#: pysollib/tk/selectgame.py:367 msgid "Decks:" msgstr "Колод:" -#: pysollib/tk/selectgame.py:377 +#: pysollib/tk/selectgame.py:368 msgid "Redeals:" msgstr "Пересдач:" -#: pysollib/tk/selectgame.py:379 +#: pysollib/tk/selectgame.py:370 msgid "Played:" msgstr "Играл:" -#: pysollib/tk/selectgame.py:380 pysollib/tk/tkstats.py:111 +#: pysollib/tk/selectgame.py:371 pysollib/tk/tkstats.py:111 #: pysollib/tk/tkstats.py:163 msgid "Won:" msgstr "Выиграл:" -#: pysollib/tk/selectgame.py:381 pysollib/tk/tkstats.py:112 +#: pysollib/tk/selectgame.py:372 pysollib/tk/tkstats.py:112 #: pysollib/tk/tkstats.py:164 msgid "Lost:" msgstr "Проиграл:" -#: pysollib/tk/selectgame.py:382 pysollib/tk/tkstats.py:805 +#: pysollib/tk/selectgame.py:373 pysollib/tk/tkstats.py:805 msgid "Playing time:" msgstr "Игровое время:" -#: pysollib/tk/selectgame.py:383 pysollib/tk/tkstats.py:812 +#: pysollib/tk/selectgame.py:374 pysollib/tk/tkstats.py:812 msgid "Moves:" msgstr "Ходов:" -#: pysollib/tk/selectgame.py:384 +#: pysollib/tk/selectgame.py:375 msgid "% won:" msgstr "% побед:" -#: pysollib/tk/selectgame.py:417 +#: pysollib/tk/selectgame.py:407 msgid "&Rules" msgstr "&Правила" -#: pysollib/tk/selectgame.py:497 +#: pysollib/tk/selectgame.py:487 msgid "Playable Preview - " msgstr "Играемый предпросмотр - " -#: pysollib/tk/selectgame.py:553 +#: pysollib/tk/selectgame.py:549 msgid "variable" msgstr "переменное кол-во" -#: pysollib/tk/selectgame.py:554 +#: pysollib/tk/selectgame.py:550 msgid "unlimited" msgstr "неограниченное кол-во" @@ -2843,111 +2934,107 @@ msgstr "Все фоновые изображения" msgid "&Solid color..." msgstr "М&онотонный цвет..." -#: pysollib/tk/soundoptionsdialog.py:77 +#: pysollib/tk/soundoptionsdialog.py:75 msgid "Are You Sure" msgstr "Вы уверены" -#: pysollib/tk/soundoptionsdialog.py:79 +#: pysollib/tk/soundoptionsdialog.py:77 msgid "Deal" msgstr "Сдача" -#: pysollib/tk/soundoptionsdialog.py:80 +#: pysollib/tk/soundoptionsdialog.py:78 msgid "Deal waste" msgstr "Сдача на сброс" -#: pysollib/tk/soundoptionsdialog.py:82 +#: pysollib/tk/soundoptionsdialog.py:80 msgid "Turn waste" msgstr "Переворачивание сброса" -#: pysollib/tk/soundoptionsdialog.py:83 +#: pysollib/tk/soundoptionsdialog.py:81 msgid "Start drag" msgstr "Начало перемещения" -#: pysollib/tk/soundoptionsdialog.py:85 +#: pysollib/tk/soundoptionsdialog.py:83 msgid "Drop" msgstr "Сброс карты" -#: pysollib/tk/soundoptionsdialog.py:86 +#: pysollib/tk/soundoptionsdialog.py:84 msgid "Drop pair" msgstr "Сброс двух карт" -#: pysollib/tk/soundoptionsdialog.py:87 +#: pysollib/tk/soundoptionsdialog.py:85 msgid "Auto drop" msgstr "Автосброс карты" -#: pysollib/tk/soundoptionsdialog.py:89 +#: pysollib/tk/soundoptionsdialog.py:87 msgid "Flip" msgstr "Переворачивание" -#: pysollib/tk/soundoptionsdialog.py:90 +#: pysollib/tk/soundoptionsdialog.py:88 msgid "Auto flip" msgstr "Автоматическое переворачивание" -#: pysollib/tk/soundoptionsdialog.py:91 +#: pysollib/tk/soundoptionsdialog.py:89 msgid "Move" msgstr "Перемещение" -#: pysollib/tk/soundoptionsdialog.py:92 +#: pysollib/tk/soundoptionsdialog.py:90 msgid "No move" msgstr "Без пермещения" -#: pysollib/tk/soundoptionsdialog.py:94 pysollib/tk/toolbar.py:189 +#: pysollib/tk/soundoptionsdialog.py:92 pysollib/tk/toolbar.py:203 msgid "Undo" msgstr "Отмена" -#: pysollib/tk/soundoptionsdialog.py:95 pysollib/tk/toolbar.py:190 +#: pysollib/tk/soundoptionsdialog.py:93 pysollib/tk/toolbar.py:204 msgid "Redo" msgstr "Повтор" -#: pysollib/tk/soundoptionsdialog.py:97 +#: pysollib/tk/soundoptionsdialog.py:95 msgid "Autopilot lost" msgstr "Автопилот выиграл" -#: pysollib/tk/soundoptionsdialog.py:98 +#: pysollib/tk/soundoptionsdialog.py:96 msgid "Autopilot won" msgstr "Автопилот проиграл" -#: pysollib/tk/soundoptionsdialog.py:101 +#: pysollib/tk/soundoptionsdialog.py:99 msgid "Game lost" msgstr "Игра проиграна" -#: pysollib/tk/soundoptionsdialog.py:103 +#: pysollib/tk/soundoptionsdialog.py:101 msgid "Perfect game" msgstr "Великолепная игра" -#: pysollib/tk/soundoptionsdialog.py:113 +#: pysollib/tk/soundoptionsdialog.py:111 msgid "Sound enabled" msgstr "Звук доступен" -#: pysollib/tk/soundoptionsdialog.py:119 +#: pysollib/tk/soundoptionsdialog.py:117 msgid "Use DirectX for sound playing" msgstr "Использовать DirectX для вывода звука" -#: pysollib/tk/soundoptionsdialog.py:125 +#: pysollib/tk/soundoptionsdialog.py:123 msgid "Sample volume:" msgstr "Уровень звуков:" -#: pysollib/tk/soundoptionsdialog.py:133 +#: pysollib/tk/soundoptionsdialog.py:131 msgid "Music volume:" msgstr "Уровень музыки:" -#: pysollib/tk/soundoptionsdialog.py:146 +#: pysollib/tk/soundoptionsdialog.py:144 msgid "Enable samles" msgstr "Включить звуки" -#: pysollib/tk/soundoptionsdialog.py:171 +#: pysollib/tk/soundoptionsdialog.py:170 msgid "&Apply" msgstr "&Применить" -#: pysollib/tk/soundoptionsdialog.py:171 pysollib/tk/soundoptionsdialog.py:173 -msgid "&Mixer..." -msgstr "Ми&ксер..." - -#: pysollib/tk/soundoptionsdialog.py:222 +#: pysollib/tk/soundoptionsdialog.py:206 msgid "Sound preferences info" msgstr "Информация о настройках звука" -#: pysollib/tk/soundoptionsdialog.py:223 +#: pysollib/tk/soundoptionsdialog.py:207 msgid "" "Changing DirectX settings will take effect\n" "the next time you restart " @@ -2955,11 +3042,11 @@ msgstr "" "Изменения установок DirectX вступят в силу\n" "при следующем запуске " -#: pysollib/tk/statusbar.py:136 +#: pysollib/tk/statusbar.py:158 msgid "Moves/Total moves" msgstr "Ходов/Всего ходов" -#: pysollib/tk/statusbar.py:138 +#: pysollib/tk/statusbar.py:160 msgid "Games played: won/lost" msgstr "Игр: выиграно/проиграно" @@ -2999,25 +3086,25 @@ msgstr "Текст рядом с пиктограммами" msgid "Text only" msgstr "Только текст" -#: pysollib/tk/tkhtml.py:230 +#: pysollib/tk/tkhtml.py:255 msgid "Index" msgstr "Индекс" -#: pysollib/tk/tkhtml.py:234 +#: pysollib/tk/tkhtml.py:259 msgid "Back" msgstr "Назад" -#: pysollib/tk/tkhtml.py:238 +#: pysollib/tk/tkhtml.py:263 msgid "Forward" msgstr "Вперед" -#: pysollib/tk/tkhtml.py:242 +#: pysollib/tk/tkhtml.py:267 msgid "Close" msgstr "Закрыть" -#: pysollib/tk/tkhtml.py:360 +#: pysollib/tk/tkhtml.py:389 msgid "" -" HTML limitation:\n" +"HTML limitation:\n" "The %s protocol is not supported yet.\n" "\n" "Please use your standard web browser\n" @@ -3031,9 +3118,9 @@ msgstr "" "чтобы открыть URL:\n" "%s\n" -#: pysollib/tk/tkhtml.py:385 pysollib/tk/tkhtml.py:389 +#: pysollib/tk/tkhtml.py:414 pysollib/tk/tkhtml.py:418 msgid "Unable to service request:\n" -msgstr "" +msgstr "Невозможно выполнить запрос:\n" #: pysollib/tk/tkstats.py:95 msgid "Total" @@ -3204,15 +3291,15 @@ msgstr "Всего ходов:" msgid "No TOP for this game" msgstr "TOP для текущей игры отсутствует" -#: pysollib/tk/toolbar.py:183 +#: pysollib/tk/toolbar.py:197 msgid "New" msgstr "Новая" -#: pysollib/tk/toolbar.py:184 +#: pysollib/tk/toolbar.py:198 msgid "Restart" msgstr "Начало" -#: pysollib/tk/toolbar.py:184 +#: pysollib/tk/toolbar.py:198 msgid "" "Restart the\n" "current game" @@ -3220,11 +3307,11 @@ msgstr "" "Начать текущую игру\n" "с начала" -#: pysollib/tk/toolbar.py:186 +#: pysollib/tk/toolbar.py:200 msgid "Open" msgstr "Открыть" -#: pysollib/tk/toolbar.py:186 +#: pysollib/tk/toolbar.py:200 msgid "" "Open a\n" "saved game" @@ -3232,63 +3319,63 @@ msgstr "" "Открыть\n" "сохраненную игру" -#: pysollib/tk/toolbar.py:187 +#: pysollib/tk/toolbar.py:201 msgid "Save" msgstr "Сохранить" -#: pysollib/tk/toolbar.py:187 +#: pysollib/tk/toolbar.py:201 msgid "Save game" msgstr "Сохранить игру" -#: pysollib/tk/toolbar.py:189 +#: pysollib/tk/toolbar.py:203 msgid "Undo last move" msgstr "Отменить последний ход" -#: pysollib/tk/toolbar.py:190 +#: pysollib/tk/toolbar.py:204 msgid "Redo last move" msgstr "Вернуть ход" -#: pysollib/tk/toolbar.py:191 +#: pysollib/tk/toolbar.py:205 msgid "Auto drop cards" msgstr "Автоматически сбросить карты" -#: pysollib/tk/toolbar.py:191 +#: pysollib/tk/toolbar.py:205 msgid "Autodrop" msgstr "Сбросить" -#: pysollib/tk/toolbar.py:192 +#: pysollib/tk/toolbar.py:206 msgid "Pause" msgstr "Пауза" -#: pysollib/tk/toolbar.py:192 +#: pysollib/tk/toolbar.py:206 msgid "Pause game" msgstr "Приостановить игру" -#: pysollib/tk/toolbar.py:194 +#: pysollib/tk/toolbar.py:208 msgid "View statistics" msgstr "Посмотреть статистику" -#: pysollib/tk/toolbar.py:195 +#: pysollib/tk/toolbar.py:209 msgid "Rules" msgstr "Правила" -#: pysollib/tk/toolbar.py:195 +#: pysollib/tk/toolbar.py:209 msgid "Rules for this game" msgstr "Правила текущей игры" -#: pysollib/tk/toolbar.py:197 +#: pysollib/tk/toolbar.py:211 msgid "Quit" msgstr "Выйти" -#: pysollib/tk/toolbar.py:209 +#: pysollib/tk/toolbar.py:225 msgid "Player" msgstr "Игрок" -#: pysollib/tk/toolbar.py:210 +#: pysollib/tk/toolbar.py:226 msgid "Player options" msgstr "Установки игрока" -#: pysollib/tk/toolbar.py:435 +#: pysollib/tk/toolbar.py:464 msgid "Toolbar" msgstr "Панель инструментов" @@ -3320,6 +3407,12 @@ msgstr "красный" msgid "cardset" msgstr "набор карт" +#~ msgid "Balance $%4d" +#~ msgstr "Баланс $%4d" + +#~ msgid "&Mixer..." +#~ msgstr "Ми&ксер..." + #~ msgid "Error while saving options" #~ msgstr "Ошибка при сохранении настроек" diff --git a/pysollib/gamedb.py b/pysollib/gamedb.py index bbbb2138..f0e65251 100644 --- a/pysollib/gamedb.py +++ b/pysollib/gamedb.py @@ -535,7 +535,9 @@ class GameManager: # access games database - we do not expose hidden games # - def getAllGames(self): return self.__all_games + def getAllGames(self): + ##return self.__all_games + return self.__games.values() def getGamesIdSortedById(self): if self.__games_by_id is None: diff --git a/pysollib/games/__init__.py b/pysollib/games/__init__.py index 8c6dee31..5bb03ec7 100644 --- a/pysollib/games/__init__.py +++ b/pysollib/games/__init__.py @@ -42,7 +42,6 @@ import parallels import pasdedeux import picturegallery import pileon -import poker import pushpin import pyramid import royalcotillion diff --git a/pysollib/games/doublets.py b/pysollib/games/doublets.py index e6751384..679bc382 100644 --- a/pysollib/games/doublets.py +++ b/pysollib/games/doublets.py @@ -138,5 +138,6 @@ class Doublets(Game): # register the game registerGame(GameInfo(111, Doublets, "Doublets", - GI.GT_1DECK_TYPE, 1, 2, GI.SL_MOSTLY_LUCK)) + GI.GT_1DECK_TYPE, 1, 2, GI.SL_MOSTLY_LUCK, + altnames=('Double or Quits',) )) diff --git a/pysollib/games/fan.py b/pysollib/games/fan.py index b3a2ebf3..02fdf85e 100644 --- a/pysollib/games/fan.py +++ b/pysollib/games/fan.py @@ -87,7 +87,7 @@ class Fan(Game): for r in range(reserves): s.reserves.append(self.ReserveStack_Class(x, y, self)) x += l.XS - x = (self.width - decks*4*l.XS - 2*l.XS) / 2 + x = (self.width - decks*4*l.XS) # - 2*l.XS) / 2 dx = l.XS else: dx = (self.width - decks*4*l.XS)/(decks*4+1) @@ -532,7 +532,7 @@ class CloverLeaf(Game): class FreeFan(Fan): def createGame(self): - Fan.createGame(self, reserves=2) + Fan.createGame(self, reserves=2, playcards=8) # /*********************************************************************** @@ -640,6 +640,90 @@ class FascinationFan(Fan): shallHighlightMatch = Game._shallHighlightMatch_AC +# /*********************************************************************** +# // Crescent +# ************************************************************************/ + +class Crescent_Talon(RedealTalonStack): + + def dealCards(self, sound=0): + old_state = self.game.enterState(self.game.S_DEAL) + ncards = 0 + intern1, intern2 = self.game.s.internals + if sound and self.game.app.opt.animations: + self.game.startDealSample() + for r in self.game.s.rows: + if len(r.cards) <= 1: + continue + ncards += len(r.cards) + # move cards to internal stacks + while len(r.cards) != 1: + self.game.moveMove(1, r, intern1, frames=4) + self.game.moveMove(1, r, intern2, frames=4) + # move back + while intern1.cards: + self.game.moveMove(1, intern1, r, frames=4) + self.game.moveMove(1, intern2, r, frames=4) + self.game.nextRoundMove(self) + if sound: + self.game.stopSamples() + self.game.leaveState(old_state) + return ncards + + +class Crescent(Game): + Hint_Class = CautiousDefaultHint + + def createGame(self): + l, s = Layout(self), self.s + playcards = 10 + w0 = l.XS+(playcards-1)*l.XOFFSET + w, h = l.XM+max(4*w0, 9*l.XS), l.YM+5*l.YS + self.setSize(w, h) + x, y = l.XM, l.YM + s.talon = Crescent_Talon(x, y, self, max_rounds=4) + tx, ty, ta, tf = l.getTextAttr(s.talon, 'ne') + font=self.app.getFont("canvas_default") + s.talon.texts.rounds = MfxCanvasText(self.canvas, tx, ty, + anchor=ta, font=font) + x, y = w-8*l.XS, l.YM + for i in range(4): + s.foundations.append(SS_FoundationStack(x, y, self, suit=i)) + x += l.XS + for i in range(4): + s.foundations.append(SS_FoundationStack(x, y, self, suit=i, + base_rank=KING, dir=-1)) + x += l.XS + y = l.YM+l.YS + for i in range(4): + x = l.XM + for j in range(4): + stack = UD_SS_RowStack(x, y, self, base_rank=NO_RANK, mod=13) + s.rows.append(stack) + stack.CARD_XOFFSET, stack.CARD_YOFFSET = l.XOFFSET, 0 + x += w0 + y += l.YS + self.s.internals.append(InvisibleStack(self)) + self.s.internals.append(InvisibleStack(self)) + + l.defaultStackGroups() + + + def _shuffleHook(self, cards): + return self._shuffleHookMoveToTop(cards, + lambda c: (c.rank in (ACE, KING) and c.deck == 0, + (c.rank, c.suit))) + + def startGame(self): + self.s.talon.dealRow(rows=self.s.foundations, frames=0) + for i in range(5): + self.s.talon.dealRow(frames=0) + self.startDealSample() + self.s.talon.dealRow() + + shallHighlightMatch = Game._shallHighlightMatch_SSW + + # register the game registerGame(GameInfo(56, Fan, "Fan", @@ -678,4 +762,6 @@ registerGame(GameInfo(517, TroikaPlus, "Troika +", GI.GT_FAN_TYPE | GI.GT_OPEN, 1, 0, GI.SL_MOSTLY_SKILL)) registerGame(GameInfo(625, FascinationFan, "Fascination Fan", GI.GT_FAN_TYPE, 1, 6, GI.SL_BALANCED)) +registerGame(GameInfo(647, Crescent, "Crescent", + GI.GT_FAN_TYPE, 2, 3, GI.SL_MOSTLY_SKILL)) diff --git a/pysollib/games/freecell.py b/pysollib/games/freecell.py index 1f3dfdf2..ed53fcb8 100644 --- a/pysollib/games/freecell.py +++ b/pysollib/games/freecell.py @@ -556,6 +556,56 @@ class KingCell(FreeCell): shallHighlightMatch = Game._shallHighlightMatch_RK +# /*********************************************************************** +# // Headquarters +# ************************************************************************/ + +class Headquarters_Reserve(ReserveStack): + + def acceptsCards(self, from_stack, cards): + if not ReserveStack.acceptsCards(self, from_stack, cards): + return False + return len(self.cards) == 0 + + +class Headquarters(Game): + + def createGame(self, rows=8, reserves=6): + l, s = Layout(self), self.s + w, h = l.XM+(rows+reserves+1)*l.XS, l.YM+3*l.YS+16*l.YOFFSET + self.setSize(w, h) + x, y = l.XM+(rows+reserves+1-8)*l.XS/2, l.YM + for i in range(8): + s.foundations.append(SS_FoundationStack(x, y, self, suit=i%4)) + x += l.XS + x, y = l.XM, l.YM+l.YS + for i in range(reserves): + stack = Headquarters_Reserve(x, y, self, + max_cards=UNLIMITED_CARDS, + max_accept=UNLIMITED_CARDS, + max_move=UNLIMITED_CARDS) + s.reserves.append(stack) + stack.CARD_YOFFSET = l.YOFFSET + x += l.XS + x, y = l.XM+(reserves+1)*l.XS, l.YM+l.YS + for j in range(rows): + s.rows.append(AC_RowStack(x, y, self, base_rank=NO_RANK)) + x += l.XS + x, y = w-l.XS, h-l.YS + s.talon = InitialDealTalonStack(x, y, self) + + 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", @@ -600,4 +650,6 @@ registerGame(GameInfo(520, GermanFreeCell, "German FreeCell", GI.GT_FREECELL | GI.GT_OPEN, 1, 0, GI.SL_SKILL)) registerGame(GameInfo(542, KingCell, "KingCell", GI.GT_FREECELL | GI.GT_OPEN, 1, 0, GI.SL_MOSTLY_SKILL)) +registerGame(GameInfo(648, Headquarters, "Headquarters", + GI.GT_FREECELL | GI.GT_OPEN | GI.GT_ORIGINAL, 2, 0, GI.SL_MOSTLY_SKILL)) diff --git a/pysollib/games/mahjongg/mahjongg2.py b/pysollib/games/mahjongg/mahjongg2.py index bd609944..5c40adf9 100644 --- a/pysollib/games/mahjongg/mahjongg2.py +++ b/pysollib/games/mahjongg/mahjongg2.py @@ -80,7 +80,7 @@ r(5235, "Kyodai 41", layout="0CaeCagCaivbevbgvbiCcdoceocgociCcjvddhdevdfhdgCdgvd r(5236, "Kyodai 42", layout="0oaboadCagoajoalhbahbcvbchbeobfvbgobhhbihbkvbkhbmacbacdacjaclhdbhddodevdfCdgvdhodihdjhdlaecaekhfchfeoffvfgofhhfihfkagdCggagjhhdhhfhhhhhjaieaiihjehjghjiakfCkgakhhlfvlghlhCmfamgomgCmhhnfvnghnhaogCoghpfhphCqcvqdoqeCqeaqgoqgoqiCqivqjCqkhrfhrhasgCsghtfvtghthCufaugougCuhhvfvvghvhawfCwgawhhxehxghxiayeayihzdhzfhzhhzjaAdCAgaAjhBchBeoBfvBgoBhhBihBkaCcaCkhDbhDdoDevDfCDgvDhoDihDjhDlaEbaEdaEjaElhFahFcvFchFeoFfvFgoFhhFihFkvFkhFmoGboGdCGgoGjoGl") r(5237, "Lattice", layout="0aaiacebciacmaecbeeaegbeiaekbemaeoagecgiagmaicbieaigciiaikbimaioakeckiakmamcbmebmgdmibmkbmmamoboeeoibomaqabqccqeeqgdqieqkcqmbqoaqqbseesibsmaucbuebugduibukbumauoawecwiawmaycbyeaygcyiaykbymayoaAecAiaAmaCcbCeaCgbCiaCkbCmaCoaEebEiaEmaGi") # -r(5238, "Leo", layout="0aapabiablhbphcfacghchhclacnocpadjodladpvdpheeaefheiaelvelhepCepofihflCflafnofphgdagevgiagjoglagpvgphhiChiahlvhlhhpChphicaidoiihilCilainoipvjiajjojlajpvjpbkabkchkiCkiaklvklhkpCkpolbolihllalnolpbmabmcvmiamjomlampvmphnianlhnpooiholaonoophpfaphapjappaqfhqiaqlhqphrdarnasehsqhtcatpaudbumhuphvbcvgavqawccwlhwqhxbcxjaxpayccylhyphzbczgazqaAdbAmhAqhBcaBpaCehCphDeaDgaDohEgaEiaEmhEohFiaFkhFmhGk") +#r(5238, "Leo", layout="0aapabiablhbphcfacghchhclacnocpadjodladpvdpheeaefheiaelvelhepCepofihflCflafnofphgdagevgiagjoglagpvgphhiChiahlvhlhhpChphicaidoiihilCilainoipvjiajjojlajpvjpbkabkchkiCkiaklvklhkpCkpolbolihllalnolpbmabmcvmiamjomlampvmphnianlhnpooiholaonoophpfaphapjappaqfhqiaqlhqphrdarnasehsqhtcatpaudbumhuphvbcvgavqawccwlhwqhxbcxjaxpayccylhyphzbczgazqaAdbAmhAqhBcaBpaCehCphDeaDgaDohEgaEiaEmhEohFiaFkhFmhGk") # r(5239, "Loose Ends", layout="0aaaoabaaioapaaqhbahbihbqacboccachociacjocoacphdbhdivdihdpaecoedaegaeioeiaekoenaeohfchfivfihfoagdogeaghogiagjogmagnhhdhhivhihhnaieoifaiioiioilaimhjfhjihjlakgokgakiakkokkhlholihljamahmbamcomchmdvmdameomehmfvmfamgvmhamiCmivmjamkhmlvmlammommhmnvmnamoomohmpamqhnhonihnjaogoogaoiaokookhpfhpihplaqeoqfaqioqioqlaqmhrdhrivrihrnasdoseashosiasjosmasnhtchtivtihtoaucoudaugauiouiaukounauohvbhvivvihvpawbowcawhowiawjowoawphxahxihxqayaoybayioypayq") r(5240, "Mini Traditional", ncards=48, layout="0aaeacdacfhdeaecaeeoeeaeghfdvfehffagbagdogeagfaghhhchhevhehhgaiaaicoicaieoieaigoigaiihjchjevjehjgakbakdokeakfakhhldvlehlfamcameomeamghneaodaofaqe") diff --git a/pysollib/games/special/__init__.py b/pysollib/games/special/__init__.py index 7e17ccf0..98a5e348 100644 --- a/pysollib/games/special/__init__.py +++ b/pysollib/games/special/__init__.py @@ -1,4 +1,5 @@ import hanoi import memory import pegged +import poker import tarock diff --git a/pysollib/games/poker.py b/pysollib/games/special/poker.py similarity index 100% rename from pysollib/games/poker.py rename to pysollib/games/special/poker.py diff --git a/pysollib/games/sultan.py b/pysollib/games/sultan.py index 0e95f691..1f4ff34d 100644 --- a/pysollib/games/sultan.py +++ b/pysollib/games/sultan.py @@ -909,6 +909,71 @@ class CircleEight(Game): shallHighlightMatch = Game._shallHighlightMatch_RKW +# /*********************************************************************** +# // Adela +# ************************************************************************/ + +class Adela_Foundation(SS_FoundationStack): + def acceptsCards(self, from_stack, cards): + if not SS_FoundationStack.acceptsCards(self, from_stack, cards): + return False + index = list(self.game.s.foundations).index(self) + index = index%8 + return len(self.game.s.foundations[index].cards) > 0 + + +class Adela(Game): + Hint_Class = CautiousDefaultHint + + def createGame(self): + + l, s = Layout(self), self.s + self.setSize(l.XM+9.5*l.XS, l.YM+4*l.YS) + + x, y = l.XM+l.XS, l.YM + for i in range(8): + s.foundations.append(SS_FoundationStack(x, y, self, suit=i%4, + base_rank=JACK, dir=-1, max_cards=11)) + x += l.XS + x, y = l.XM+l.XS, l.YM+l.YS + for i in range(8): + s.foundations.append(Adela_Foundation(x, y, self, suit=i%4, + base_rank=QUEEN, max_cards=1)) + x += l.XS + x, y = l.XM+l.XS, l.YM+2*l.YS + for i in range(8): + s.foundations.append(Adela_Foundation(x, y, self, suit=i%4, + base_rank=KING, max_cards=1)) + x += l.XS + x, y = l.XM, l.YM+l.YS + s.talon = DealRowTalonStack(x, y, self) + l.createText(s.talon, 'n') + x, y = l.XM+l.XS/2, l.YM+3*l.YS + for i in range(9): + stack = SS_RowStack(x, y, self, max_move=1, dir=1) + s.rows.append(stack) + stack.CARD_YOFFSET = 0 + x += l.XS + + l.defaultStackGroups() + + + def startGame(self): + self.startDealSample() + self.s.talon.dealRow() + + def fillStack(self, stack): + if stack in self.s.rows and not stack.cards: + if self.s.talon.cards: + old_state = self.enterState(self.S_FILL) + self.flipMove(self.s.talon) + self.moveMove(1, self.s.talon, stack) + self.leaveState(old_state) + + shallHighlightMatch = Game._shallHighlightMatch_SS + + + # register the game registerGame(GameInfo(330, Sultan, "Sultan", GI.GT_2DECK_TYPE, 2, 2, GI.SL_MOSTLY_LUCK, @@ -945,3 +1010,5 @@ registerGame(GameInfo(598, PicturePatience, "Picture Patience", GI.GT_2DECK_TYPE, 2, 0, GI.SL_MOSTLY_LUCK)) registerGame(GameInfo(635, CircleEight, "Circle Eight", GI.GT_1DECK_TYPE, 1, 1, GI.SL_MOSTLY_LUCK)) +registerGame(GameInfo(646, Adela, "Adela", + GI.GT_2DECK_TYPE, 2, 0, GI.SL_MOSTLY_LUCK)) diff --git a/pysollib/move.py b/pysollib/move.py index d27adab4..8ae8c3c2 100644 --- a/pysollib/move.py +++ b/pysollib/move.py @@ -505,7 +505,7 @@ class ASingleCardMove(AtomicMove): # /*********************************************************************** -# // AInnerMove - change position of single card in stack +# // AInnerMove - change position of single card in stack (TODO) # ************************************************************************/ class AInnerMove(AtomicMove): @@ -515,10 +515,10 @@ class AInnerMove(AtomicMove): self.from_pos, self.to_pos = from_pos, to_pos def redo(self, game): - pass + stack = game.allstacks[self.stack_id] def undo(self, game): - pass + stack = game.allstacks[self.stack_id] def cmpForRedo(self, other): return cmp((self.stack_id, self.from_pos, self.to_pos), diff --git a/pysollib/stack.py b/pysollib/stack.py index 082c0749..d3e28250 100644 --- a/pysollib/stack.py +++ b/pysollib/stack.py @@ -298,7 +298,9 @@ class Stack: misc = None, # canvas item ) view.top_bottom = None # the highest of all bottom items - view.is_visible = view.x >= -100 and view.y >= -100 + cardw, cardh = game.app.images.CARDW, game.app.images.CARDH + dx, dy = cardw+view.canvas.xmargin, cardh+view.canvas.ymargin + view.is_visible = view.x >= -dx and view.y >= -dy view.is_open = -1 view.can_hide_cards = -1 view.max_shadow_cards = -1 @@ -2217,9 +2219,11 @@ class ReserveStack(OpenStack): class InvisibleStack(Stack): def __init__(self, game, **cap): - x, y = -500, -500 - len(game.allstacks) + ##x, y = -500, -500 - len(game.allstacks) + cardw, cardh = game.app.images.CARDW, game.app.images.CARDH + x, y = cardw+game.canvas.xmargin, cardh+game.canvas.ymargin kwdefault(cap, max_move=0, max_accept=0) - Stack.__init__(self, x, y, game, cap=cap) + Stack.__init__(self, -x-10, -y-10, game, cap=cap) def assertStack(self): Stack.assertStack(self) diff --git a/pysollib/tk/findcarddialog.py b/pysollib/tk/findcarddialog.py index f42c370f..fc2465b2 100644 --- a/pysollib/tk/findcarddialog.py +++ b/pysollib/tk/findcarddialog.py @@ -54,10 +54,10 @@ class FindCardDialog(Tkinter.Toplevel): # ##self.images_dir = dir if size == 'large': - self.images_dir = os.path.join(dir, 'large-emblems') + self.images_dir = os.path.join(dir, 'large') self.label_width, self.label_height = LARGE_EMBLEMS_SIZE else: - self.images_dir = os.path.join(dir, 'small-emblems') + self.images_dir = os.path.join(dir, 'small') self.label_width, self.label_height = SMALL_EMBLEMS_SIZE self.canvas = MfxCanvas(self, bg='white') ##self.canvas = MfxCanvas(self, bg='black') diff --git a/pysollib/tk/menubar.py b/pysollib/tk/menubar.py index a84fc103..7b773582 100644 --- a/pysollib/tk/menubar.py +++ b/pysollib/tk/menubar.py @@ -518,34 +518,30 @@ class PysolMenubar(PysolMenubarActions): games = map(self.app.gdb.get, self.app.gdb.getGamesIdSortedByName()) ##games = tuple(games) ###menu = MfxMenu(menu, label="Select &game") - menu.add_command(label=n_("All &games..."), command=self.mSelectGameDialog, accelerator="G") - menu.add_command(label=n_("Playable pre&view..."), command=self.mSelectGameDialogWithPreview, accelerator="V") + menu.add_command(label=n_("All &games..."), accelerator="G", + command=self.mSelectGameDialog) + menu.add_command(label=n_("Playable pre&view..."), accelerator="V", + command=self.mSelectGameDialogWithPreview) menu.add_separator() - data = (n_("&Popular games"), lambda gi: gi.si.game_flags & GI.GT_POPULAR) - self._addSelectGameSubMenu(menu, games, (data, ), - self.mSelectGamePopular, self.tkopt.gameid_popular) - submenu = MfxMenu(menu, label=n_("&French games")) - self._addSelectGameSubMenu(submenu, games, GI.SELECT_GAME_BY_TYPE, - self.mSelectGame, self.tkopt.gameid) + self._addSelectPopularGameSubMenu(games, menu, self.mSelectGame, + self.tkopt.gameid) + self._addSelectFrenchGameSubMenu(games, menu, self.mSelectGame, + self.tkopt.gameid) if self.progress: self.progress.update(step=1) - submenu = MfxMenu(menu, label=n_("&Mahjongg games")) - self._addSelectMahjonggGameSubMenu(submenu, - self.mSelectGame, self.tkopt.gameid) - submenu = MfxMenu(menu, label=n_("&Oriental games")) - self._addSelectGameSubMenu(submenu, games, - GI.SELECT_ORIENTAL_GAME_BY_TYPE, - self.mSelectGame, self.tkopt.gameid) - submenu = MfxMenu(menu, label=n_("&Special games")) - self._addSelectGameSubMenu(submenu, games, GI.SELECT_SPECIAL_GAME_BY_TYPE, - self.mSelectGame, self.tkopt.gameid) + self._addSelectMahjonggGameSubMenu(games, menu, self.mSelectGame, + self.tkopt.gameid) + self._addSelectOrientalGameSubMenu(games, menu, self.mSelectGame, + self.tkopt.gameid) + self._addSelectSpecialGameSubMenu(games, menu, self.mSelectGame, + self.tkopt.gameid) menu.add_separator() if self.progress: self.progress.update(step=1) - submenu = MfxMenu(menu, label=n_("All games by name")) - self._addSelectAllGameSubMenu(submenu, games, - self.mSelectGame, self.tkopt.gameid) + self._addSelectAllGameSubMenu(games, menu, self.mSelectGame, + self.tkopt.gameid) - def _addSelectGameSubMenu(self, menu, games, select_data, command, variable): + def _addSelectGameSubMenu(self, games, menu, select_data, + command, variable): ##print select_data need_sep = 0 for label, select_func in select_data: @@ -559,104 +555,112 @@ class PysolMenubar(PysolMenubarActions): menu.add_separator() need_sep = 0 submenu = MfxMenu(menu, label=label) - self._addSelectGameSubSubMenu(submenu, g, command, variable) + self._addSelectGameSubSubMenu(g, submenu, command, variable) - def _addSelectMahjonggGameSubMenu(self, menu, command, variable): -## games = [] -## g = [] -## c0 = c1 = None -## for i in self.app.gdb.getGamesIdSortedByShortName(): -## gi = self.app.gdb.get(i) -## if gi.si.game_type == GI.GT_MAHJONGG: -## c = gettext(gi.short_name).strip()[0] -## if c0 is None: -## c0 = c -## elif c != c0: -## if g: -## games.append((c0, g)) -## g = [] -## c0 = c -## #else: -## #if g: -## g.append(gi) -## if g: -## games.append((c0, g)) -## n = 0 -## gg = [] -## c0 = c1 = None -## for c, g in games: -## if c0 is None: -## c0 = c -## if len(gg) + len(g) > self.__cb_max: -## if gg: -## if c0 != c1: -## label = c0+' - '+c1 -## else: -## label = c1 -## c0 = c -## submenu = MfxMenu(menu, label=label, name=None) -## self._addSelectGameSubSubMenu(submenu, gg, command, -## variable, short_name=True) -## gg = [] -## c1 = c -## gg += g -## if gg: -## label = c0+' - '+c -## submenu = MfxMenu(menu, label=label, name=None) -## self._addSelectGameSubSubMenu(submenu, gg, command, -## variable, short_name=True) -## return + def _getNumGames(self, games, select_data): + ngames = 0 + for label, select_func in select_data: + ngames += len(filter(select_func, games)) + return ngames + def _addSelectMahjonggGameSubMenu(self, games, menu, command, variable): + select_func = lambda gi: gi.si.game_type == GI.GT_MAHJONGG + mahjongg_games = filter(select_func, games) + if len(mahjongg_games) == 0: + return + # + menu = MfxMenu(menu, label=n_("&Mahjongg games")) - g = [] - c0 = c1 = None - for i in self.app.gdb.getGamesIdSortedByShortName(): - gi = self.app.gdb.get(i) - if gi.si.game_type == GI.GT_MAHJONGG: - c = gettext(gi.short_name).strip()[0] - if c0 is None: - c0 = c - if len(g) >= self.__cb_max and c != c1: - label = c0 + ' - ' + c1 - if c0 == c1: - label = c0 - submenu = MfxMenu(menu, label=label, name=None) - self._addSelectGameSubSubMenu(submenu, g, command, - variable, short_name=True) - g = [gi] - c0 = c - else: - g.append(gi) - c1 = c - if g: + def add_menu(games, c0, c1, menu=menu, + variable=variable, command=command): + if not games: + return label = c0 + ' - ' + c1 + if c0 == c1: + label = c0 submenu = MfxMenu(menu, label=label, name=None) - self._addSelectGameSubSubMenu(submenu, g, command, + self._addSelectGameSubSubMenu(games, submenu, command, variable, short_name=True) - def _addSelectAllGameSubMenu(self, menu, g, command, variable): + games = {} + for gi in mahjongg_games: + c = gettext(gi.short_name).strip()[0] + if games.has_key(c): + games[c].append(gi) + else: + games[c] = [gi] + games = games.items() + games.sort() + g0 = [] + c0 = c1 = games[0][0] + for c, g1 in games: + if len(g0)+len(g1) >= self.__cb_max: + add_menu(g0, c0, c1) + g0 = g1 + c0 = c1 = c + else: + g0 += g1 + c1 = c + add_menu(g0, c0, c1) + + def _addSelectPopularGameSubMenu(self, games, menu, command, variable): + select_func = lambda gi: gi.si.game_flags & GI.GT_POPULAR + if len(filter(select_func, games)) == 0: + return + data = (n_("&Popular games"), select_func) + self._addSelectGameSubMenu(games, menu, (data, ), + self.mSelectGamePopular, + self.tkopt.gameid_popular) + + def _addSelectFrenchGameSubMenu(self, games, menu, command, variable): + if self._getNumGames(games, GI.SELECT_GAME_BY_TYPE) == 0: + return + submenu = MfxMenu(menu, label=n_("&French games")) + self._addSelectGameSubMenu(games, submenu, GI.SELECT_GAME_BY_TYPE, + self.mSelectGame, self.tkopt.gameid) + + def _addSelectOrientalGameSubMenu(self, games, menu, command, variable): + if self._getNumGames(games, GI.SELECT_ORIENTAL_GAME_BY_TYPE) == 0: + return + submenu = MfxMenu(menu, label=n_("&Oriental games")) + self._addSelectGameSubMenu(games, submenu, + GI.SELECT_ORIENTAL_GAME_BY_TYPE, + self.mSelectGame, self.tkopt.gameid) + + def _addSelectSpecialGameSubMenu(self, games, menu, command, variable): + if self._getNumGames(games, GI.SELECT_ORIENTAL_GAME_BY_TYPE) == 0: + return + submenu = MfxMenu(menu, label=n_("&Special games")) + self._addSelectGameSubMenu(games, submenu, + GI.SELECT_SPECIAL_GAME_BY_TYPE, + self.mSelectGame, self.tkopt.gameid) + + def _addSelectAllGameSubMenu(self, games, menu, command, variable): + menu = MfxMenu(menu, label=n_("All games by name")) n, d = 0, self.__cb_max i = 0 while True: if self.progress: self.progress.update(step=1) columnbreak = i > 0 and (i % d) == 0 i += 1 - if not g[n:n+d]: + if not games[n:n+d]: break - m = min(n+d-1, len(g)-1) - label = gettext(g[n].name)[:3]+' - '+gettext(g[m].name)[:3] + m = min(n+d-1, len(games)-1) + label = gettext(games[n].name)[:3]+' - '+gettext(games[m].name)[:3] submenu = MfxMenu(menu, label=label, name=None) - self._addSelectGameSubSubMenu(submenu, g[n:n+d], command, variable) + self._addSelectGameSubSubMenu(games[n:n+d], submenu, + command, variable) n += d if columnbreak: menu.entryconfigure(i, columnbreak=columnbreak) - def _addSelectGameSubSubMenu(self, menu, g, command, variable, short_name=False): + def _addSelectGameSubSubMenu(self, games, menu, command, variable, + short_name=False): ##cb = (25, self.__cb_max) [ len(g) > 4 * 25 ] ##cb = min(cb, self.__cb_max) cb = self.__cb_max - for i in range(len(g)): - gi = g[i] + for i in range(len(games)): + gi = games[i] columnbreak = i > 0 and (i % cb) == 0 if short_name: label = gi.short_name @@ -728,11 +732,11 @@ class PysolMenubar(PysolMenubarActions): games.append(gi) if len(games) > self.__cb_max*4: games.sort(lambda a, b: cmp(gettext(a.name), gettext(b.name))) - self._addSelectAllGameSubMenu(submenu, games, + self._addSelectAllGameSubMenu(games, submenu, command=self.mSelectGame, variable=self.tkopt.gameid) else: - self._addSelectGameSubSubMenu(submenu, games, + self._addSelectGameSubSubMenu(games, submenu, command=self.mSelectGame, variable=self.tkopt.gameid) state = self._getEnabledState diff --git a/pysollib/tk/tkhtml.py b/pysollib/tk/tkhtml.py index 099ab5f2..7a359574 100644 --- a/pysollib/tk/tkhtml.py +++ b/pysollib/tk/tkhtml.py @@ -63,9 +63,9 @@ REMOTE_PROTOCOLS = ("ftp:", "gopher:", "http:", "mailto:", "news:", "telnet:") # // # ************************************************************************/ -class tkHTMLWriter(formatter.DumbWriter): +class tkHTMLWriter(formatter.NullWriter): def __init__(self, text, viewer, app): - formatter.DumbWriter.__init__(self, self, maxcol=9999) + formatter.NullWriter.__init__(self) self.text = text self.viewer = viewer @@ -113,12 +113,6 @@ class tkHTMLWriter(formatter.DumbWriter): return Functor(self.viewer, href) def write(self, data): - ## FIXME - ##if self.col == 0 and self.atbreak == 0: - ## self.text.insert("insert", self.indent) - self.text.insert("insert", data) - - def __write(self, data): self.text.insert("insert", data) def anchor_bgn(self, href, name, type): @@ -131,14 +125,7 @@ class tkHTMLWriter(formatter.DumbWriter): if self.anchor: url = self.anchor[0] tag = "href_" + url - anchor_mark = self.anchor_mark - if self.text.get(anchor_mark) == ' ': # FIXME - try: - y, x = anchor_mark.split('.') - anchor_mark = y+'.'+str(int(x)+1) - except: - pass - self.text.tag_add(tag, anchor_mark, "insert") + self.text.tag_add(tag, self.anchor_mark, "insert") self.text.tag_bind(tag, "<1>", self.createCallback(url)) self.text.tag_bind(tag, "", lambda e: self.anchor_enter(url)) self.text.tag_bind(tag, "", self.anchor_leave) @@ -183,33 +170,35 @@ class tkHTMLWriter(formatter.DumbWriter): self.indent = " " * level def send_label_data(self, data): - ##self.__write(self.indent + data + " ") - self.__write(self.indent) + ##self.write(self.indent + data + " ") + self.write(self.indent) if data == '*': #
  • img = self.viewer.symbols_img.get('disk') if img: self.text.image_create(index='insert', image=img, padx=0, pady=0) else: - self.__write('*') + self.write('*') else: - self.__write(data) - self.__write(' ') + self.write(data) + self.write(' ') def send_paragraph(self, blankline): - if self.col > 0: - self.__write("\n") - if blankline > 0: - self.__write("\n" * blankline) - self.col = 0 - self.atbreak = 0 + self.write('\n' * blankline) + + def send_line_break(self): + self.write('\n') def send_hor_rule(self, *args): width = int(int(self.text["width"]) * 0.9) - self.__write("_" * width) - self.__write("\n") - self.col = 0 - self.atbreak = 0 + self.write("_" * width) + self.write("\n") + + def send_literal_data(self, data): + self.write(data) + + def send_flowing_data(self, data): + self.write(data) # /*********************************************************************** @@ -218,6 +207,7 @@ class tkHTMLWriter(formatter.DumbWriter): class tkHTMLParser(htmllib.HTMLParser): def anchor_bgn(self, href, name, type): + self.formatter.flush_softspace() htmllib.HTMLParser.anchor_bgn(self, href, name, type) self.formatter.writer.anchor_bgn(href, name, type) diff --git a/pysollib/version.py b/pysollib/version.py index 1ed2586b..8eeca7e0 100644 --- a/pysollib/version.py +++ b/pysollib/version.py @@ -25,6 +25,6 @@ VERSION_MAJOR = 4 VERSION_MINOR = 82 VERSION_TUPLE = (4, 82) -FC_VERSION = "0.9.2" +FC_VERSION = "0.9.3" #FC_VERSION_TUPLE = (0, 4, 0)