From 6aeb81c7639829477d8fd8dda71b8f3ee6a9ae5c Mon Sep 17 00:00:00 2001 From: skomoroh Date: Sat, 10 Jun 2006 21:21:22 +0000 Subject: [PATCH] - updated russian translation - added customization of sound-samples - improved soundoptionsdialog git-svn-id: file:///home/shlomif/Backup/svn-dumps/PySolFC/svnsync-repos/pysolfc/PySolFC/trunk@7 efabe8c0-fbe8-4139-b769-b5e6d273206e --- po/games.pot | 5 +- po/pysol.pot | 294 ++++++++++++++-------------- po/ru_games.po | 123 +++++------- po/ru_pysol.po | 314 +++++++++++++++--------------- pysollib/actions.py | 38 ++-- pysollib/app.py | 28 +++ pysollib/game.py | 12 +- pysollib/tk/menubar.py | 6 +- pysollib/tk/soundoptionsdialog.py | 144 +++++++++----- pysollib/tk/tkwidget.py | 2 +- 10 files changed, 503 insertions(+), 463 deletions(-) diff --git a/po/games.pot b/po/games.pot index cf68fcf9..b7c609f4 100644 --- a/po/games.pot +++ b/po/games.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PySol 0.0.1\n" -"POT-Creation-Date: Tue Jun 6 02:20:52 2006\n" +"POT-Creation-Date: Sun Jun 11 00:30:03 2006\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -939,6 +939,9 @@ msgstr "" msgid "Grampus" msgstr "" +msgid "Granada" +msgstr "" + msgid "Grandfather" msgstr "" diff --git a/po/pysol.pot b/po/pysol.pot index e1d7e6e9..62f17f65 100644 --- a/po/pysol.pot +++ b/po/pysol.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: Tue Jun 6 02:20:47 2006\n" +"POT-Creation-Date: Sun Jun 11 00:29:57 2006\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -19,8 +19,8 @@ msgstr "" msgid "New game" msgstr "" -#: pysollib/actions.py:357 pysollib/tk/menubar.py:667 -#: pysollib/tk/menubar.py:681 +#: pysollib/actions.py:357 pysollib/tk/menubar.py:665 +#: pysollib/tk/menubar.py:679 msgid "Select game" msgstr "" @@ -52,34 +52,34 @@ msgstr "" msgid "&Next number" msgstr "" -#: pysollib/actions.py:409 pysollib/app.py:1090 pysollib/app.py:1102 -#: pysollib/game.py:828 pysollib/game.py:1642 pysollib/main.py:413 +#: pysollib/actions.py:409 pysollib/app.py:1118 pysollib/app.py:1130 +#: pysollib/game.py:830 pysollib/game.py:1644 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:133 -#: pysollib/tk/playeroptionsdialog.py:86 -#: pysollib/tk/playeroptionsdialog.py:161 pysollib/tk/selectcardset.py:240 +#: 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:106 pysollib/tk/soundoptionsdialog.py:158 +#: pysollib/tk/soundoptionsdialog.py:169 pysollib/tk/soundoptionsdialog.py:223 #: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkhtml.py:459 #: pysollib/tk/tkstats.py:288 pysollib/tk/tkstats.py:571 #: pysollib/tk/tkstats.py:645 pysollib/tk/tkstats.py:661 #: pysollib/tk/tkstats.py:703 pysollib/tk/tkstats.py:775 -#: pysollib/tk/tkstats.py:859 pysollib/tk/tkwidget.py:159 -#: pysollib/tk/tkwidget.py:312 +#: pysollib/tk/tkstats.py:859 pysollib/tk/tkwidget.py:156 +#: pysollib/tk/tkwidget.py:320 msgid "&OK" msgstr "" -#: pysollib/actions.py:409 pysollib/app.py:1102 pysollib/game.py:828 -#: pysollib/game.py:1205 pysollib/game.py:1220 pysollib/game.py:1226 -#: pysollib/game.py:1231 pysollib/tk/colorsdialog.py:131 +#: pysollib/actions.py:409 pysollib/app.py:1130 pysollib/game.py:830 +#: pysollib/game.py:1207 pysollib/game.py:1222 pysollib/game.py:1228 +#: pysollib/game.py:1233 pysollib/tk/colorsdialog.py:131 #: pysollib/tk/edittextdialog.py:82 pysollib/tk/fontsdialog.py:140 -#: pysollib/tk/fontsdialog.py:204 pysollib/tk/menubar.py:854 -#: pysollib/tk/menubar.py:856 pysollib/tk/playeroptionsdialog.py:86 -#: pysollib/tk/playeroptionsdialog.py:161 pysollib/tk/selectcardset.py:240 +#: pysollib/tk/fontsdialog.py:204 pysollib/tk/menubar.py:852 +#: pysollib/tk/menubar.py:854 pysollib/tk/playeroptionsdialog.py:85 +#: pysollib/tk/playeroptionsdialog.py:160 pysollib/tk/selectcardset.py:240 #: pysollib/tk/selectgame.py:268 pysollib/tk/selectgame.py:409 -#: pysollib/tk/selecttile.py:158 pysollib/tk/soundoptionsdialog.py:106 -#: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkwidget.py:312 +#: pysollib/tk/selecttile.py:158 pysollib/tk/soundoptionsdialog.py:169 +#: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkwidget.py:320 msgid "&Cancel" msgstr "" @@ -125,7 +125,7 @@ msgstr "" msgid "Error while writing to file" msgstr "" -#: pysollib/actions.py:616 pysollib/actions.py:652 pysollib/actions.py:941 +#: pysollib/actions.py:616 pysollib/actions.py:652 msgid " Info" msgstr "" @@ -236,37 +236,27 @@ msgstr "" msgid "Set timeouts" msgstr "" -#: pysollib/actions.py:938 -msgid "Error while saving options" -msgstr "" - -#: pysollib/actions.py:942 -msgid "" -"Options were saved to\n" -"\n" -msgstr "" - #: pysollib/app.py:86 msgid "Unknown" msgstr "" -#: pysollib/app.py:952 +#: pysollib/app.py:980 msgid "Loading %s %s..." msgstr "" -#: pysollib/app.py:987 +#: pysollib/app.py:1015 msgid " load error" msgstr "" -#: pysollib/app.py:988 +#: pysollib/app.py:1016 msgid "Error while loading " msgstr "" -#: pysollib/app.py:1082 +#: pysollib/app.py:1110 msgid "Incompatible " msgstr "" -#: pysollib/app.py:1084 +#: pysollib/app.py:1112 msgid "" "The currently selected %s %s\n" "is not compatible with the game\n" @@ -275,7 +265,7 @@ msgid "" "Please select a %s type %s.\n" msgstr "" -#: pysollib/app.py:1100 +#: pysollib/app.py:1128 msgid "Please select a %s type %s" msgstr "" @@ -284,48 +274,48 @@ msgid "" "Player\n" msgstr "" -#: pysollib/game.py:824 +#: pysollib/game.py:826 msgid "Discard current game ?" msgstr "" -#: pysollib/game.py:1159 +#: pysollib/game.py:1161 msgid "" "\n" "You have reached\n" "#%d in the %s of playing time" msgstr "" -#: pysollib/game.py:1162 +#: pysollib/game.py:1164 msgid "" "\n" "and #%d in the %s of moves" msgstr "" -#: pysollib/game.py:1164 +#: pysollib/game.py:1166 msgid "" "\n" "You have reached\n" "#%d in the %s of moves" msgstr "" -#: pysollib/game.py:1167 +#: pysollib/game.py:1169 msgid "" "\n" "and #%d in the %s of total moves" msgstr "" -#: pysollib/game.py:1169 +#: pysollib/game.py:1171 msgid "" "\n" "You have reached\n" "#%d in the %s of total moves" msgstr "" -#: pysollib/game.py:1196 pysollib/game.py:1212 +#: pysollib/game.py:1198 pysollib/game.py:1214 msgid "Game won" msgstr "" -#: pysollib/game.py:1197 +#: pysollib/game.py:1199 msgid "" "\n" "Congratulations, this\n" @@ -336,12 +326,12 @@ msgid "" "%s\n" msgstr "" -#: pysollib/game.py:1205 pysollib/game.py:1220 pysollib/game.py:1226 -#: pysollib/game.py:1231 pysollib/tk/menubar.py:250 +#: pysollib/game.py:1207 pysollib/game.py:1222 pysollib/game.py:1228 +#: pysollib/game.py:1233 pysollib/tk/menubar.py:250 msgid "&New game" msgstr "" -#: pysollib/game.py:1213 +#: pysollib/game.py:1215 msgid "" "\n" "Congratulations, you did it !\n" @@ -351,99 +341,99 @@ msgid "" "%s\n" msgstr "" -#: pysollib/game.py:1224 pysollib/game.py:1229 +#: pysollib/game.py:1226 pysollib/game.py:1231 msgid "Game finished" msgstr "" -#: pysollib/game.py:1225 pysollib/game.py:1643 +#: pysollib/game.py:1227 pysollib/game.py:1645 msgid "" "\n" "Game finished\n" msgstr "" -#: pysollib/game.py:1230 +#: pysollib/game.py:1232 msgid "" "\n" "Game finished, but not without my help...\n" msgstr "" -#: pysollib/game.py:1231 +#: pysollib/game.py:1233 msgid "&Restart" msgstr "" -#: pysollib/game.py:1535 +#: pysollib/game.py:1537 msgid "Score %6d" msgstr "" -#: pysollib/game.py:1634 +#: pysollib/game.py:1636 msgid "&Cool" msgstr "" -#: pysollib/game.py:1634 +#: pysollib/game.py:1636 msgid "&Great" msgstr "" -#: pysollib/game.py:1634 +#: pysollib/game.py:1636 msgid "&Wow" msgstr "" -#: pysollib/game.py:1634 +#: pysollib/game.py:1636 msgid "&Yeah" msgstr "" -#: pysollib/game.py:1635 pysollib/game.py:1646 pysollib/game.py:1658 +#: pysollib/game.py:1637 pysollib/game.py:1648 pysollib/game.py:1660 msgid " Autopilot" msgstr "" -#: pysollib/game.py:1636 +#: pysollib/game.py:1638 msgid "" "\n" "Game solved in %d moves.\n" msgstr "" -#: pysollib/game.py:1657 +#: pysollib/game.py:1659 msgid "&Hmm" msgstr "" -#: pysollib/game.py:1657 +#: pysollib/game.py:1659 msgid "&Oh well" msgstr "" -#: pysollib/game.py:1657 +#: pysollib/game.py:1659 msgid "&That's life" msgstr "" -#: pysollib/game.py:1659 +#: pysollib/game.py:1661 msgid "" "\n" "This won't come out...\n" msgstr "" -#: pysollib/game.py:2063 +#: pysollib/game.py:2065 msgid "Set bookmark" msgstr "" -#: pysollib/game.py:2064 +#: pysollib/game.py:2066 msgid "Replace existing bookmark %d ?" msgstr "" -#: pysollib/game.py:2086 +#: pysollib/game.py:2088 msgid "Goto bookmark" msgstr "" -#: pysollib/game.py:2087 +#: pysollib/game.py:2089 msgid "Goto bookmark %d ?" msgstr "" -#: pysollib/game.py:2118 +#: pysollib/game.py:2120 msgid "Open game" msgstr "" -#: pysollib/game.py:2129 pysollib/game.py:2138 pysollib/game.py:2143 +#: pysollib/game.py:2131 pysollib/game.py:2140 pysollib/game.py:2145 msgid "Load game error" msgstr "" -#: pysollib/game.py:2130 +#: pysollib/game.py:2132 msgid "" "Error while loading game.\n" "\n" @@ -451,22 +441,22 @@ msgid "" "but this could also be a bug you might want to report." msgstr "" -#: pysollib/game.py:2139 +#: pysollib/game.py:2141 msgid "Error while loading game" msgstr "" -#: pysollib/game.py:2144 +#: pysollib/game.py:2146 msgid "" "Internal error while loading game.\n" "\n" "Please report this bug." msgstr "" -#: pysollib/game.py:2169 +#: pysollib/game.py:2171 msgid "Save game error" msgstr "" -#: pysollib/game.py:2170 +#: pysollib/game.py:2172 msgid "Error while saving game" msgstr "" @@ -1741,72 +1731,72 @@ msgstr "" msgid "Free cell." msgstr "" -#: pysollib/stats.py:120 pysollib/tk/tkstats.py:78 +#: pysollib/stats.py:118 pysollib/tk/tkstats.py:78 msgid "Demo games" msgstr "" -#: pysollib/stats.py:121 +#: pysollib/stats.py:119 msgid "Played" msgstr "" -#: pysollib/stats.py:122 pysollib/stats.py:202 +#: pysollib/stats.py:120 pysollib/stats.py:200 msgid "Won" msgstr "" -#: pysollib/stats.py:123 pysollib/stats.py:202 +#: pysollib/stats.py:121 pysollib/stats.py:200 msgid "Lost" msgstr "" -#: pysollib/stats.py:124 pysollib/tk/statusbar.py:137 +#: pysollib/stats.py:122 pysollib/tk/statusbar.py:135 msgid "Playing time" msgstr "" -#: pysollib/stats.py:125 +#: pysollib/stats.py:123 msgid "Moves" msgstr "" -#: pysollib/stats.py:126 +#: pysollib/stats.py:124 msgid "% won" msgstr "" -#: pysollib/stats.py:155 +#: pysollib/stats.py:153 msgid "Total (%d out of %d games)" msgstr "" -#: pysollib/stats.py:164 +#: pysollib/stats.py:162 msgid "Game" msgstr "" -#: pysollib/stats.py:164 +#: pysollib/stats.py:162 msgid "Status" msgstr "" -#: pysollib/stats.py:164 pysollib/tk/statusbar.py:139 +#: pysollib/stats.py:162 pysollib/tk/statusbar.py:137 #: pysollib/tk/tkstats.py:733 msgid "Game number" msgstr "" -#: pysollib/stats.py:164 pysollib/tk/tkstats.py:736 +#: pysollib/stats.py:162 pysollib/tk/tkstats.py:736 msgid "Started at" msgstr "" -#: pysollib/stats.py:187 +#: pysollib/stats.py:185 msgid "** UNKNOWN %d **" msgstr "" -#: pysollib/stats.py:195 +#: pysollib/stats.py:193 msgid "** ERROR **" msgstr "" -#: pysollib/stats.py:202 +#: pysollib/stats.py:200 msgid "Loaded" msgstr "" -#: pysollib/stats.py:202 +#: pysollib/stats.py:200 msgid "Not won" msgstr "" -#: pysollib/stats.py:202 +#: pysollib/stats.py:200 msgid "Perfect" msgstr "" @@ -2155,198 +2145,198 @@ msgstr "" msgid "&Sound" msgstr "" -#: pysollib/tk/menubar.py:351 +#: pysollib/tk/menubar.py:349 msgid "Cards&et..." msgstr "" -#: pysollib/tk/menubar.py:352 +#: pysollib/tk/menubar.py:350 msgid "Table t&ile..." msgstr "" -#: pysollib/tk/menubar.py:354 +#: pysollib/tk/menubar.py:352 msgid "Card &background" msgstr "" -#: pysollib/tk/menubar.py:355 +#: pysollib/tk/menubar.py:353 msgid "Card &view" msgstr "" -#: pysollib/tk/menubar.py:356 +#: pysollib/tk/menubar.py:354 msgid "Card shado&w" msgstr "" -#: pysollib/tk/menubar.py:357 +#: pysollib/tk/menubar.py:355 msgid "Shade &legal moves" msgstr "" -#: pysollib/tk/menubar.py:358 +#: pysollib/tk/menubar.py:356 msgid "&Negative card bottom" msgstr "" -#: pysollib/tk/menubar.py:359 +#: pysollib/tk/menubar.py:357 msgid "A&nimations" msgstr "" -#: pysollib/tk/menubar.py:360 +#: pysollib/tk/menubar.py:358 msgid "&None" msgstr "" -#: pysollib/tk/menubar.py:361 +#: pysollib/tk/menubar.py:359 msgid "&Timer based" msgstr "" -#: pysollib/tk/menubar.py:362 +#: pysollib/tk/menubar.py:360 msgid "&Fast" msgstr "" -#: pysollib/tk/menubar.py:363 +#: pysollib/tk/menubar.py:361 msgid "&Slow" msgstr "" -#: pysollib/tk/menubar.py:364 +#: pysollib/tk/menubar.py:362 msgid "&Very slow" msgstr "" -#: pysollib/tk/menubar.py:365 +#: pysollib/tk/menubar.py:363 msgid "Stick&y mouse" msgstr "" -#: pysollib/tk/menubar.py:367 +#: pysollib/tk/menubar.py:365 msgid "&Fonts..." msgstr "" -#: pysollib/tk/menubar.py:368 +#: pysollib/tk/menubar.py:366 msgid "&Colors..." msgstr "" -#: pysollib/tk/menubar.py:369 +#: pysollib/tk/menubar.py:367 msgid "Time&outs..." msgstr "" -#: pysollib/tk/menubar.py:371 +#: pysollib/tk/menubar.py:369 msgid "&Toolbar" msgstr "" -#: pysollib/tk/menubar.py:373 +#: pysollib/tk/menubar.py:371 msgid "Stat&usbar" msgstr "" -#: pysollib/tk/menubar.py:374 +#: pysollib/tk/menubar.py:372 msgid "Show &statusbar" msgstr "" -#: pysollib/tk/menubar.py:375 +#: pysollib/tk/menubar.py:373 msgid "Show &number of cards" msgstr "" -#: pysollib/tk/menubar.py:376 +#: pysollib/tk/menubar.py:374 msgid "Show &help bar" msgstr "" -#: pysollib/tk/menubar.py:377 +#: pysollib/tk/menubar.py:375 msgid "&Demo logo" msgstr "" -#: pysollib/tk/menubar.py:378 +#: pysollib/tk/menubar.py:376 msgid "Startup splash sc&reen" msgstr "" -#: pysollib/tk/menubar.py:382 +#: pysollib/tk/menubar.py:380 msgid "&Help" msgstr "" -#: pysollib/tk/menubar.py:383 +#: pysollib/tk/menubar.py:381 msgid "&Contents" msgstr "" -#: pysollib/tk/menubar.py:384 +#: pysollib/tk/menubar.py:382 msgid "&How to play" msgstr "" -#: pysollib/tk/menubar.py:385 +#: pysollib/tk/menubar.py:383 msgid "&Rules for this game" msgstr "" -#: pysollib/tk/menubar.py:386 +#: pysollib/tk/menubar.py:384 msgid "&License terms" msgstr "" -#: pysollib/tk/menubar.py:389 +#: pysollib/tk/menubar.py:387 msgid "&About " msgstr "" -#: pysollib/tk/menubar.py:497 +#: pysollib/tk/menubar.py:495 msgid "All &games..." msgstr "" -#: pysollib/tk/menubar.py:498 +#: pysollib/tk/menubar.py:496 msgid "Playable pre&view..." msgstr "" -#: pysollib/tk/menubar.py:500 +#: pysollib/tk/menubar.py:498 msgid "&Popular games" msgstr "" -#: pysollib/tk/menubar.py:503 +#: pysollib/tk/menubar.py:501 msgid "&French games" msgstr "" -#: pysollib/tk/menubar.py:506 +#: pysollib/tk/menubar.py:504 msgid "&Mahjongg games" msgstr "" -#: pysollib/tk/menubar.py:509 +#: pysollib/tk/menubar.py:507 msgid "&Oriental games" msgstr "" -#: pysollib/tk/menubar.py:513 +#: pysollib/tk/menubar.py:511 msgid "&Special games" msgstr "" -#: pysollib/tk/menubar.py:517 +#: pysollib/tk/menubar.py:515 msgid "All games by name" msgstr "" -#: pysollib/tk/menubar.py:854 pysollib/tk/menubar.py:856 +#: pysollib/tk/menubar.py:852 pysollib/tk/menubar.py:854 #: pysollib/tk/selectcardset.py:240 msgid "&Load" msgstr "" -#: pysollib/tk/menubar.py:856 +#: pysollib/tk/menubar.py:854 msgid "&Info..." msgstr "" -#: pysollib/tk/menubar.py:859 +#: pysollib/tk/menubar.py:857 msgid "Select " msgstr "" -#: pysollib/tk/menubar.py:919 +#: pysollib/tk/menubar.py:917 msgid "Select table background" msgstr "" -#: pysollib/tk/menubar.py:931 pysollib/tk/selecttile.py:177 +#: pysollib/tk/menubar.py:929 pysollib/tk/selecttile.py:177 msgid "Select table color" msgstr "" -#: pysollib/tk/playeroptionsdialog.py:113 +#: pysollib/tk/playeroptionsdialog.py:112 msgid "" "\n" "Please enter your name" msgstr "" -#: pysollib/tk/playeroptionsdialog.py:121 +#: pysollib/tk/playeroptionsdialog.py:120 msgid "Select..." msgstr "" -#: pysollib/tk/playeroptionsdialog.py:125 +#: pysollib/tk/playeroptionsdialog.py:124 msgid "Confirm quit" msgstr "" -#: pysollib/tk/playeroptionsdialog.py:129 +#: pysollib/tk/playeroptionsdialog.py:128 msgid "Update statistics and logs" msgstr "" -#: pysollib/tk/playeroptionsdialog.py:146 +#: pysollib/tk/playeroptionsdialog.py:145 msgid "Select name" msgstr "" @@ -2681,45 +2671,49 @@ msgstr "" msgid "&Solid color..." msgstr "" -#: pysollib/tk/soundoptionsdialog.py:76 +#: pysollib/tk/soundoptionsdialog.py:111 msgid "Sound enabled" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:82 +#: pysollib/tk/soundoptionsdialog.py:117 msgid "Use DirectX for sound playing" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:88 -msgid "Sample volume" +#: pysollib/tk/soundoptionsdialog.py:123 +msgid "Sample volume:" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:94 -msgid "Music volume" +#: pysollib/tk/soundoptionsdialog.py:131 +msgid "Music volume:" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:106 +#: pysollib/tk/soundoptionsdialog.py:144 +msgid "Enable samles" +msgstr "" + +#: pysollib/tk/soundoptionsdialog.py:169 msgid "&Apply" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:106 pysollib/tk/soundoptionsdialog.py:108 +#: pysollib/tk/soundoptionsdialog.py:169 pysollib/tk/soundoptionsdialog.py:171 msgid "&Mixer..." msgstr "" -#: pysollib/tk/soundoptionsdialog.py:155 +#: pysollib/tk/soundoptionsdialog.py:220 msgid "Sound preferences info" msgstr "" -#: pysollib/tk/soundoptionsdialog.py:156 +#: pysollib/tk/soundoptionsdialog.py:221 msgid "" "Changing DirectX settings will take effect\n" "the next time you restart " msgstr "" -#: pysollib/tk/statusbar.py:138 +#: pysollib/tk/statusbar.py:136 msgid "Moves/Total moves" msgstr "" -#: pysollib/tk/statusbar.py:140 +#: pysollib/tk/statusbar.py:138 msgid "Games played: won/lost" msgstr "" @@ -3041,7 +3035,7 @@ msgstr "" msgid "Player options" msgstr "" -#: pysollib/tk/toolbar.py:429 +#: pysollib/tk/toolbar.py:435 msgid "Toolbar" msgstr "" diff --git a/po/ru_games.po b/po/ru_games.po index 0a209d3b..8c5b3024 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: Tue Jun 6 02:20:52 2006\n" -"PO-Revision-Date: 2006-06-03 03:28+0400\n" +"POT-Creation-Date: Sun Jun 11 00:30:03 2006\n" +"PO-Revision-Date: 2006-06-10 11:07+0400\n" "Last-Translator: Скоморох \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" @@ -81,9 +81,8 @@ msgstr "Аляска" msgid "Algerian Patience" msgstr "Алжирский пасьянс" -#, fuzzy msgid "Algerian Patience (3 decks)" -msgstr "Алжирский пасьянс" +msgstr "Алжирский пасьянс (3 колоды)" msgid "Alhambra" msgstr "Алхамбра" @@ -148,13 +147,11 @@ msgstr "Старые добрые времена" msgid "Aunt Mary" msgstr "" -#, fuzzy msgid "Australian Patience" -msgstr "Русский пасьянс" +msgstr "Австралийский пасьянс" -#, fuzzy msgid "Baby Spiderette" -msgstr "Паучок" +msgstr "Крошка Паучок" msgid "Backbone" msgstr "Основа" @@ -191,9 +188,8 @@ msgstr "Летучая мышь" msgid "Batsford" msgstr "Бетсфорд" -#, fuzzy msgid "Bavarian Patience" -msgstr "Алжирский пасьянс" +msgstr "Баварский пасьянс" msgid "Beak and Flipper" msgstr "Клюв и ласты" @@ -233,20 +229,18 @@ msgstr "Большая гора" msgid "Big Spider" msgstr "Большой паук" -#, fuzzy msgid "Big Spider (1 suit)" -msgstr "Паук (1 масть)" +msgstr "Большой Паук (1 масть)" -#, fuzzy msgid "Big Spider (2 suits)" -msgstr "Паук (2 масти)" +msgstr "Большой Паук (2 масти)" #, fuzzy msgid "Big Sumo" msgstr "Большая дыра" msgid "Bim Bom" -msgstr "" +msgstr "Бим-Бом" msgid "Bisley" msgstr "Бисли" @@ -319,9 +313,8 @@ msgstr "Бристоль" msgid "British Constitution" msgstr "Британская конституция" -#, fuzzy msgid "British Square" -msgstr "Восемь квадратов" +msgstr "Британский квадрат" msgid "Brunswick" msgstr "Брюнсвик" @@ -519,9 +512,8 @@ msgstr "Дашаватара" msgid "Dead King Golf" msgstr "Гольф Смертельный Король" -#, fuzzy msgid "Deep" -msgstr "Глубокий колодец" +msgstr "Глубокий" msgid "Deep Well" msgstr "Глубокий колодец" @@ -598,9 +590,8 @@ msgstr "Двойной Кенфилд" msgid "Double Cockroach" msgstr "Двойной таракан" -#, fuzzy msgid "Double Dot" -msgstr "Дубликаты" +msgstr "Двоеточие" msgid "Double Drawbridge" msgstr "Двойной разводной мост" @@ -842,7 +833,7 @@ msgstr "Крепостные башни" #, fuzzy msgid "Fortune's Favor" -msgstr "Судьба" +msgstr "Благосклонность фортуны" msgid "Fortunes" msgstr "Судьба" @@ -853,9 +844,8 @@ msgstr "Сорок разбойников" msgid "Forty and Eight" msgstr "Сорок и восемь" -#, fuzzy msgid "Four Colours" -msgstr "Четырёхлистный клевер" +msgstr "Четыре цвета" msgid "Four Kings" msgstr "Четыре короля" @@ -875,13 +865,11 @@ msgstr "Четыре ветра" msgid "Fourteen" msgstr "Четырнадцать" -#, fuzzy msgid "Fred's Spider" -msgstr "Смягчённый Паук" +msgstr "Паук Фреда" -#, fuzzy msgid "Fred's Spider (3 decks)" -msgstr "Церлин (3 колоды)" +msgstr "Паук Фреда (3 колоды)" msgid "Free Fan" msgstr "Свободный веер" @@ -946,9 +934,8 @@ msgstr "Происхождение" msgid "Genesis +" msgstr "Происхождение +" -#, fuzzy msgid "German Patience" -msgstr "Алжирский пасьянс" +msgstr "Германский пасьянс" msgid "Ghulam" msgstr "" @@ -980,6 +967,10 @@ msgstr "Полная мера" msgid "Grampus" msgstr "Касатка" +#, fuzzy +msgid "Granada" +msgstr "Алмаз" + msgid "Grandfather" msgstr "Дедушка" @@ -1010,9 +1001,8 @@ msgstr "Повод для разрыва" msgid "Ground for a Divorce (3 decks)" msgstr "Повод для разрыва (3 колоды)" -#, fuzzy msgid "Ground for a Divorce (4 decks)" -msgstr "Повод для разрыва (3 колоды)" +msgstr "Повод для разрыва (4 колоды)" msgid "Gypsy" msgstr "Цыганский" @@ -1124,9 +1114,8 @@ msgstr "" msgid "Indian" msgstr "Индийский" -#, fuzzy msgid "Indian Patience" -msgstr "Русский пасьянс" +msgstr "Индийский пасьянс" msgid "Inner Circle" msgstr "Внутренний круг" @@ -1364,9 +1353,8 @@ msgstr "Ограниченный" msgid "Lion" msgstr "Лион" -#, fuzzy msgid "Little Billie" -msgstr "Малые ворота" +msgstr "Малыш Билли" #, fuzzy msgid "Little Easy" @@ -1960,9 +1948,8 @@ msgstr "Марта" msgid "Matriarchy" msgstr "Матриархат" -#, fuzzy msgid "Matrimony" -msgstr "Матриархат" +msgstr "Супружество" msgid "MatsuKiri" msgstr "" @@ -2001,17 +1988,14 @@ msgstr "" msgid "Midshipman" msgstr "Гардемарин" -#, fuzzy msgid "Milligan Cell" -msgstr "Мисс Миллиган" +msgstr "Ячейка Миллиган" -#, fuzzy msgid "Milligan Harp" -msgstr "Большая арфа" +msgstr "Арфа Миллиган" -#, fuzzy msgid "Minerva" -msgstr "Джунгли" +msgstr "Минерва" #, fuzzy msgid "Mini Traditional" @@ -2100,7 +2084,6 @@ msgstr "Изгнание Наполеона" msgid "Napoleon's Favorite" msgstr "Фаворит Наполеона" -#, fuzzy msgid "Napoleon's Flank" msgstr "Фланг Наполеона" @@ -2157,9 +2140,8 @@ msgstr "Номер десять" msgid "Numerica" msgstr "Числовой" -#, fuzzy msgid "Octagon" -msgstr "Дракон" +msgstr "Восьмиугольник" msgid "Octave" msgstr "Восемь" @@ -2198,12 +2180,11 @@ msgstr "Открытый гигант" msgid "Open Peek" msgstr "" -#, fuzzy msgid "Open Spider" -msgstr "Паук" +msgstr "Открытый паук" msgid "Opus" -msgstr "" +msgstr "Опус" msgid "Orbital" msgstr "Орбитальный" @@ -2248,9 +2229,8 @@ msgstr "Сольный танец" msgid "Pas de Deux" msgstr "Па-де-де" -#, fuzzy msgid "Patriarchs" -msgstr "Матриархат" +msgstr "Патриархи" msgid "Pattern" msgstr "Образец" @@ -2302,7 +2282,7 @@ msgstr "Картинная галерея" #, fuzzy msgid "Pigtail" -msgstr "Портал" +msgstr "Косичка" msgid "PileOn" msgstr "" @@ -2344,9 +2324,8 @@ msgstr "Припасы" msgid "Push Pin" msgstr "Пуш-пин" -#, fuzzy msgid "Puss in the Corner" -msgstr "Дом в лесу" +msgstr "Кошка в углу" msgid "Pyramid" msgstr "Пирамида" @@ -2400,9 +2379,8 @@ msgstr "Овен" msgid "Rambling" msgstr "Бродячий" -#, fuzzy msgid "Rangoon" -msgstr "Дракон" +msgstr "Рангун" msgid "Rank and File" msgstr "Ряд и шеренга" @@ -2413,9 +2391,8 @@ msgstr "Крыса" msgid "Raw Prawn" msgstr "" -#, fuzzy msgid "Realm" -msgstr "Овен" +msgstr "Царство" msgid "Rectangle" msgstr "Прямоугольник" @@ -2448,7 +2425,7 @@ msgid "Relaxed Spider" msgstr "Смягчённый Паук" msgid "Repair" -msgstr "" +msgstr "Ремонт" msgid "Retinue" msgstr "Свита" @@ -2465,9 +2442,8 @@ msgstr "Риттенхаус" msgid "River Bridge" msgstr "Мост через реку" -#, fuzzy msgid "Robert" -msgstr "Ракета" +msgstr "Роберт" msgid "Robin" msgstr "Робин" @@ -2732,13 +2708,11 @@ msgstr "Паук (1 масть)" msgid "Spider (2 suits)" msgstr "Паук (2 масти)" -#, fuzzy msgid "Spider (4 decks)" -msgstr "Паук (1 масть)" +msgstr "Паук (4 колоды)" -#, fuzzy msgid "Spider 3x3" -msgstr "Паук" +msgstr "Паук 3x3" msgid "Spider Web" msgstr "Паутина" @@ -2754,9 +2728,8 @@ msgstr "Паучок" msgid "Spidike" msgstr "Паук" -#, fuzzy msgid "Squadron" -msgstr "Квадрат" +msgstr "Эскадрон" msgid "Square" msgstr "Квадрат" @@ -2863,9 +2836,8 @@ msgstr "" msgid "Superior Canfield" msgstr "Двойной Кенфилд" -#, fuzzy msgid "Surprise" -msgstr "Предприятие" +msgstr "Сюрприз" msgid "Surukh" msgstr "" @@ -3027,19 +2999,17 @@ msgstr "Тройной Клондайк" msgid "Triple Klondike by Threes" msgstr "Тройной Клондайк по три" -#, fuzzy msgid "Triple Line" -msgstr "Тройной Юкон" +msgstr "Тройная линия" -#, fuzzy msgid "Triple York" -msgstr "Тройной Юкон" +msgstr "Тройной Йорк" msgid "Triple Yukon" msgstr "Тройной Юкон" msgid "Twenty" -msgstr "" +msgstr "Двенадцать" msgid "Twin" msgstr "" @@ -3165,9 +3135,8 @@ msgstr "Маджонг X-Files" msgid "X-Shape" msgstr "Маджонг X-Shape" -#, fuzzy msgid "York" -msgstr "Нью-Йорк" +msgstr "Йорк" msgid "Yukon" msgstr "Юкон" diff --git a/po/ru_pysol.po b/po/ru_pysol.po index c51e0a27..cdafff22 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: Tue Jun 6 02:20:47 2006\n" -"PO-Revision-Date: 2006-06-06 09:08+0400\n" +"POT-Creation-Date: Sun Jun 11 00:29:57 2006\n" +"PO-Revision-Date: 2006-06-11 00:32+0400\n" "Last-Translator: Скоморох \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" @@ -18,8 +18,8 @@ msgstr "" msgid "New game" msgstr "Новая игра" -#: pysollib/actions.py:357 pysollib/tk/menubar.py:667 -#: pysollib/tk/menubar.py:681 +#: pysollib/actions.py:357 pysollib/tk/menubar.py:665 +#: pysollib/tk/menubar.py:679 msgid "Select game" msgstr "Выбрать игру" @@ -53,34 +53,34 @@ msgstr "" msgid "&Next number" msgstr "&Следующий номер" -#: pysollib/actions.py:409 pysollib/app.py:1090 pysollib/app.py:1102 -#: pysollib/game.py:828 pysollib/game.py:1642 pysollib/main.py:413 +#: pysollib/actions.py:409 pysollib/app.py:1118 pysollib/app.py:1130 +#: pysollib/game.py:830 pysollib/game.py:1644 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:133 -#: pysollib/tk/playeroptionsdialog.py:86 -#: pysollib/tk/playeroptionsdialog.py:161 pysollib/tk/selectcardset.py:240 +#: 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:106 pysollib/tk/soundoptionsdialog.py:158 +#: pysollib/tk/soundoptionsdialog.py:169 pysollib/tk/soundoptionsdialog.py:223 #: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkhtml.py:459 #: pysollib/tk/tkstats.py:288 pysollib/tk/tkstats.py:571 #: pysollib/tk/tkstats.py:645 pysollib/tk/tkstats.py:661 #: pysollib/tk/tkstats.py:703 pysollib/tk/tkstats.py:775 -#: pysollib/tk/tkstats.py:859 pysollib/tk/tkwidget.py:159 -#: pysollib/tk/tkwidget.py:312 +#: pysollib/tk/tkstats.py:859 pysollib/tk/tkwidget.py:156 +#: pysollib/tk/tkwidget.py:320 msgid "&OK" msgstr "&ОК" -#: pysollib/actions.py:409 pysollib/app.py:1102 pysollib/game.py:828 -#: pysollib/game.py:1205 pysollib/game.py:1220 pysollib/game.py:1226 -#: pysollib/game.py:1231 pysollib/tk/colorsdialog.py:131 +#: pysollib/actions.py:409 pysollib/app.py:1130 pysollib/game.py:830 +#: pysollib/game.py:1207 pysollib/game.py:1222 pysollib/game.py:1228 +#: pysollib/game.py:1233 pysollib/tk/colorsdialog.py:131 #: pysollib/tk/edittextdialog.py:82 pysollib/tk/fontsdialog.py:140 -#: pysollib/tk/fontsdialog.py:204 pysollib/tk/menubar.py:854 -#: pysollib/tk/menubar.py:856 pysollib/tk/playeroptionsdialog.py:86 -#: pysollib/tk/playeroptionsdialog.py:161 pysollib/tk/selectcardset.py:240 +#: pysollib/tk/fontsdialog.py:204 pysollib/tk/menubar.py:852 +#: pysollib/tk/menubar.py:854 pysollib/tk/playeroptionsdialog.py:85 +#: pysollib/tk/playeroptionsdialog.py:160 pysollib/tk/selectcardset.py:240 #: pysollib/tk/selectgame.py:268 pysollib/tk/selectgame.py:409 -#: pysollib/tk/selecttile.py:158 pysollib/tk/soundoptionsdialog.py:106 -#: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkwidget.py:312 +#: pysollib/tk/selecttile.py:158 pysollib/tk/soundoptionsdialog.py:169 +#: pysollib/tk/timeoutsdialog.py:92 pysollib/tk/tkwidget.py:320 msgid "&Cancel" msgstr "От&мена" @@ -128,7 +128,7 @@ msgstr "Комментарий для " msgid "Error while writing to file" msgstr "Ошибка при записи в файл" -#: pysollib/actions.py:616 pysollib/actions.py:652 pysollib/actions.py:941 +#: pysollib/actions.py:616 pysollib/actions.py:652 msgid " Info" msgstr " Информация" @@ -249,39 +249,27 @@ msgstr "Настроить шрифт" msgid "Set timeouts" msgstr "Настроить таймауты" -#: pysollib/actions.py:938 -msgid "Error while saving options" -msgstr "Ошибка при сохранении настроек" - -#: pysollib/actions.py:942 -msgid "" -"Options were saved to\n" -"\n" -msgstr "" -"Опции сохранены в\n" -"\n" - #: pysollib/app.py:86 msgid "Unknown" msgstr "Неизвестный" -#: pysollib/app.py:952 +#: pysollib/app.py:980 msgid "Loading %s %s..." msgstr "Загружается %s %s..." -#: pysollib/app.py:987 +#: pysollib/app.py:1015 msgid " load error" msgstr " ошибка при загрузке" -#: pysollib/app.py:988 +#: pysollib/app.py:1016 msgid "Error while loading " msgstr "Ошибка при загрузке" -#: pysollib/app.py:1082 +#: pysollib/app.py:1110 msgid "Incompatible " msgstr "Несовместимый " -#: pysollib/app.py:1084 +#: pysollib/app.py:1112 msgid "" "The currently selected %s %s\n" "is not compatible with the game\n" @@ -295,7 +283,7 @@ msgstr "" "\n" "Необходимо выбрать %s типа %s.\n" -#: pysollib/app.py:1100 +#: pysollib/app.py:1128 msgid "Please select a %s type %s" msgstr "Выберите %s типа %s" @@ -303,11 +291,11 @@ msgstr "Выберите %s типа %s" msgid "Player\n" msgstr "Игрок\n" -#: pysollib/game.py:824 +#: pysollib/game.py:826 msgid "Discard current game ?" msgstr "Завершить текущую игру?" -#: pysollib/game.py:1159 +#: pysollib/game.py:1161 msgid "" "\n" "You have reached\n" @@ -317,7 +305,7 @@ msgstr "" "Вы достигли\n" "#%d в %s игрового времени" -#: pysollib/game.py:1162 +#: pysollib/game.py:1164 msgid "" "\n" "and #%d in the %s of moves" @@ -325,7 +313,7 @@ msgstr "" "\n" "и #%d в %s количества ходов" -#: pysollib/game.py:1164 +#: pysollib/game.py:1166 msgid "" "\n" "You have reached\n" @@ -335,7 +323,7 @@ msgstr "" "Вы достигли\n" "#%d в %s количества ходов" -#: pysollib/game.py:1167 +#: pysollib/game.py:1169 msgid "" "\n" "and #%d in the %s of total moves" @@ -343,7 +331,7 @@ msgstr "" "\n" "и #%d в %s общего количества ходов" -#: pysollib/game.py:1169 +#: pysollib/game.py:1171 msgid "" "\n" "You have reached\n" @@ -353,11 +341,11 @@ msgstr "" "Вы достигли\n" "#%d в %s общего количества ходов" -#: pysollib/game.py:1196 pysollib/game.py:1212 +#: pysollib/game.py:1198 pysollib/game.py:1214 msgid "Game won" msgstr "Игра выиграна" -#: pysollib/game.py:1197 +#: pysollib/game.py:1199 msgid "" "\n" "Congratulations, this\n" @@ -376,12 +364,12 @@ msgstr "" "Количество ходов: %s\n" "%s\n" -#: pysollib/game.py:1205 pysollib/game.py:1220 pysollib/game.py:1226 -#: pysollib/game.py:1231 pysollib/tk/menubar.py:250 +#: pysollib/game.py:1207 pysollib/game.py:1222 pysollib/game.py:1228 +#: pysollib/game.py:1233 pysollib/tk/menubar.py:250 msgid "&New game" msgstr "&Новая игра" -#: pysollib/game.py:1213 +#: pysollib/game.py:1215 msgid "" "\n" "Congratulations, you did it !\n" @@ -398,11 +386,11 @@ msgstr "" "Количество ходов: %s\n" "%s\n" -#: pysollib/game.py:1224 pysollib/game.py:1229 +#: pysollib/game.py:1226 pysollib/game.py:1231 msgid "Game finished" msgstr "Игра закончена" -#: pysollib/game.py:1225 pysollib/game.py:1643 +#: pysollib/game.py:1227 pysollib/game.py:1645 msgid "" "\n" "Game finished\n" @@ -410,7 +398,7 @@ msgstr "" "\n" "Игра закончена\n" -#: pysollib/game.py:1230 +#: pysollib/game.py:1232 msgid "" "\n" "Game finished, but not without my help...\n" @@ -418,35 +406,35 @@ msgstr "" "\n" "Игра закончена, но не без моей помощи...\n" -#: pysollib/game.py:1231 +#: pysollib/game.py:1233 msgid "&Restart" msgstr "&Начало" -#: pysollib/game.py:1535 +#: pysollib/game.py:1537 msgid "Score %6d" msgstr "Счет %6d" -#: pysollib/game.py:1634 +#: pysollib/game.py:1636 msgid "&Cool" msgstr "&Отлично" -#: pysollib/game.py:1634 +#: pysollib/game.py:1636 msgid "&Great" msgstr "&Эдорово" -#: pysollib/game.py:1634 +#: pysollib/game.py:1636 msgid "&Wow" msgstr "&Ура" -#: pysollib/game.py:1634 +#: pysollib/game.py:1636 msgid "&Yeah" msgstr "&Ага" -#: pysollib/game.py:1635 pysollib/game.py:1646 pysollib/game.py:1658 +#: pysollib/game.py:1637 pysollib/game.py:1648 pysollib/game.py:1660 msgid " Autopilot" msgstr " Автопилот" -#: pysollib/game.py:1636 +#: pysollib/game.py:1638 msgid "" "\n" "Game solved in %d moves.\n" @@ -454,19 +442,19 @@ msgstr "" "\n" "Игра решена за %d ходов\n" -#: pysollib/game.py:1657 +#: pysollib/game.py:1659 msgid "&Hmm" msgstr "&Хмм" -#: pysollib/game.py:1657 +#: pysollib/game.py:1659 msgid "&Oh well" msgstr "&Ох" -#: pysollib/game.py:1657 +#: pysollib/game.py:1659 msgid "&That's life" msgstr "&Такова жизнь" -#: pysollib/game.py:1659 +#: pysollib/game.py:1661 msgid "" "\n" "This won't come out...\n" @@ -474,31 +462,31 @@ msgstr "" "\n" "Не удалось...\n" -#: pysollib/game.py:2063 +#: pysollib/game.py:2065 msgid "Set bookmark" msgstr "Установить закладку" -#: pysollib/game.py:2064 +#: pysollib/game.py:2066 msgid "Replace existing bookmark %d ?" msgstr "Заменить существующую закладку %d ?" -#: pysollib/game.py:2086 +#: pysollib/game.py:2088 msgid "Goto bookmark" msgstr "Перейти к закладке" -#: pysollib/game.py:2087 +#: pysollib/game.py:2089 msgid "Goto bookmark %d ?" msgstr "Перейти к закладке %d ?" -#: pysollib/game.py:2118 +#: pysollib/game.py:2120 msgid "Open game" msgstr "Открыть игру" -#: pysollib/game.py:2129 pysollib/game.py:2138 pysollib/game.py:2143 +#: pysollib/game.py:2131 pysollib/game.py:2140 pysollib/game.py:2145 msgid "Load game error" msgstr "Ошибка при загрузке игры" -#: pysollib/game.py:2130 +#: pysollib/game.py:2132 msgid "" "Error while loading game.\n" "\n" @@ -506,11 +494,11 @@ msgid "" "but this could also be a bug you might want to report." msgstr "" -#: pysollib/game.py:2139 +#: pysollib/game.py:2141 msgid "Error while loading game" msgstr "Ошибка при загрузке игры" -#: pysollib/game.py:2144 +#: pysollib/game.py:2146 msgid "" "Internal error while loading game.\n" "\n" @@ -520,11 +508,11 @@ msgstr "" "\n" "Пожалуйста сообщите об этой ошибке." -#: pysollib/game.py:2169 +#: pysollib/game.py:2171 msgid "Save game error" msgstr "Ошибка при сохранении игры" -#: pysollib/game.py:2170 +#: pysollib/game.py:2172 msgid "Error while saving game" msgstr "Ошибка при сохранении игры" @@ -1881,72 +1869,72 @@ msgstr "" msgid "Free cell." msgstr "Свободная ячейка." -#: pysollib/stats.py:120 pysollib/tk/tkstats.py:78 +#: pysollib/stats.py:118 pysollib/tk/tkstats.py:78 msgid "Demo games" msgstr "Демо игры" -#: pysollib/stats.py:121 +#: pysollib/stats.py:119 msgid "Played" msgstr "Играл" -#: pysollib/stats.py:122 pysollib/stats.py:202 +#: pysollib/stats.py:120 pysollib/stats.py:200 msgid "Won" msgstr "Выиграл" -#: pysollib/stats.py:123 pysollib/stats.py:202 +#: pysollib/stats.py:121 pysollib/stats.py:200 msgid "Lost" msgstr "Проиграл" -#: pysollib/stats.py:124 pysollib/tk/statusbar.py:137 +#: pysollib/stats.py:122 pysollib/tk/statusbar.py:135 msgid "Playing time" msgstr "Время игры" -#: pysollib/stats.py:125 +#: pysollib/stats.py:123 msgid "Moves" msgstr "Ходов" -#: pysollib/stats.py:126 +#: pysollib/stats.py:124 msgid "% won" msgstr "% побед" -#: pysollib/stats.py:155 +#: pysollib/stats.py:153 msgid "Total (%d out of %d games)" msgstr "Всего (%d из %d игр)" -#: pysollib/stats.py:164 +#: pysollib/stats.py:162 msgid "Game" msgstr "Игра" -#: pysollib/stats.py:164 +#: pysollib/stats.py:162 msgid "Status" msgstr "Статус" -#: pysollib/stats.py:164 pysollib/tk/statusbar.py:139 +#: pysollib/stats.py:162 pysollib/tk/statusbar.py:137 #: pysollib/tk/tkstats.py:733 msgid "Game number" msgstr "Номер игры" -#: pysollib/stats.py:164 pysollib/tk/tkstats.py:736 +#: pysollib/stats.py:162 pysollib/tk/tkstats.py:736 msgid "Started at" msgstr "Игра начата" -#: pysollib/stats.py:187 +#: pysollib/stats.py:185 msgid "** UNKNOWN %d **" msgstr "" -#: pysollib/stats.py:195 +#: pysollib/stats.py:193 msgid "** ERROR **" msgstr "" -#: pysollib/stats.py:202 +#: pysollib/stats.py:200 msgid "Loaded" msgstr "Загружал" -#: pysollib/stats.py:202 +#: pysollib/stats.py:200 msgid "Not won" msgstr "Не выиграл" -#: pysollib/stats.py:202 +#: pysollib/stats.py:200 msgid "Perfect" msgstr "Великолепная" @@ -2295,180 +2283,180 @@ msgstr "Показывать стрелку (в Шисен-Сё)" msgid "&Sound" msgstr "&Звук" -#: pysollib/tk/menubar.py:351 +#: pysollib/tk/menubar.py:349 msgid "Cards&et..." msgstr "Коло&да..." -#: pysollib/tk/menubar.py:352 +#: pysollib/tk/menubar.py:350 msgid "Table t&ile..." msgstr "&Игровой стол..." -#: pysollib/tk/menubar.py:354 +#: pysollib/tk/menubar.py:352 msgid "Card &background" msgstr "&Рубашка карты" -#: pysollib/tk/menubar.py:355 +#: pysollib/tk/menubar.py:353 msgid "Card &view" msgstr "&Вид карты" -#: pysollib/tk/menubar.py:356 +#: pysollib/tk/menubar.py:354 msgid "Card shado&w" msgstr "Тень карты" -#: pysollib/tk/menubar.py:357 +#: pysollib/tk/menubar.py:355 msgid "Shade &legal moves" msgstr "Подсвечивать &разрешенные ходы" -#: pysollib/tk/menubar.py:358 +#: pysollib/tk/menubar.py:356 msgid "&Negative card bottom" msgstr "&Негативные контуры карты" -#: pysollib/tk/menubar.py:359 +#: pysollib/tk/menubar.py:357 msgid "A&nimations" msgstr "&Анимация" -#: pysollib/tk/menubar.py:360 +#: pysollib/tk/menubar.py:358 msgid "&None" msgstr "&Нет" -#: pysollib/tk/menubar.py:361 +#: pysollib/tk/menubar.py:359 msgid "&Timer based" msgstr "Базирующаяся на &таймере" -#: pysollib/tk/menubar.py:362 +#: pysollib/tk/menubar.py:360 msgid "&Fast" msgstr "&Быстрая" -#: pysollib/tk/menubar.py:363 +#: pysollib/tk/menubar.py:361 msgid "&Slow" msgstr "&Медленная" -#: pysollib/tk/menubar.py:364 +#: pysollib/tk/menubar.py:362 msgid "&Very slow" msgstr "&Очень медленная" -#: pysollib/tk/menubar.py:365 +#: pysollib/tk/menubar.py:363 msgid "Stick&y mouse" msgstr "&Липкая мышь" -#: pysollib/tk/menubar.py:367 +#: pysollib/tk/menubar.py:365 msgid "&Fonts..." msgstr "&Шрифты..." -#: pysollib/tk/menubar.py:368 +#: pysollib/tk/menubar.py:366 msgid "&Colors..." msgstr "&Цвета..." -#: pysollib/tk/menubar.py:369 +#: pysollib/tk/menubar.py:367 msgid "Time&outs..." msgstr "Тайма&уты..." -#: pysollib/tk/menubar.py:371 +#: pysollib/tk/menubar.py:369 msgid "&Toolbar" msgstr "Панель &инструментов" -#: pysollib/tk/menubar.py:373 +#: pysollib/tk/menubar.py:371 msgid "Stat&usbar" msgstr "Панель состояния" -#: pysollib/tk/menubar.py:374 +#: pysollib/tk/menubar.py:372 msgid "Show &statusbar" msgstr "Показывать панель состояния" -#: pysollib/tk/menubar.py:375 +#: pysollib/tk/menubar.py:373 msgid "Show &number of cards" msgstr "Показывать количество карт" -#: pysollib/tk/menubar.py:376 +#: pysollib/tk/menubar.py:374 msgid "Show &help bar" msgstr "Показывать панель помощи" -#: pysollib/tk/menubar.py:377 +#: pysollib/tk/menubar.py:375 msgid "&Demo logo" msgstr "&Демо лого" -#: pysollib/tk/menubar.py:378 +#: pysollib/tk/menubar.py:376 msgid "Startup splash sc&reen" msgstr "Окно &запуска" -#: pysollib/tk/menubar.py:382 +#: pysollib/tk/menubar.py:380 msgid "&Help" msgstr "&Помощь" -#: pysollib/tk/menubar.py:383 +#: pysollib/tk/menubar.py:381 msgid "&Contents" msgstr "&Содержание" -#: pysollib/tk/menubar.py:384 +#: pysollib/tk/menubar.py:382 msgid "&How to play" msgstr "Как &играть" -#: pysollib/tk/menubar.py:385 +#: pysollib/tk/menubar.py:383 msgid "&Rules for this game" msgstr "&Правила текущей игры" -#: pysollib/tk/menubar.py:386 +#: pysollib/tk/menubar.py:384 msgid "&License terms" msgstr "&Лицензия" -#: pysollib/tk/menubar.py:389 +#: pysollib/tk/menubar.py:387 msgid "&About " msgstr "&О программе " -#: pysollib/tk/menubar.py:497 +#: pysollib/tk/menubar.py:495 msgid "All &games..." msgstr "&Все игры..." -#: pysollib/tk/menubar.py:498 +#: pysollib/tk/menubar.py:496 msgid "Playable pre&view..." msgstr "Играемый &предпросмотр..." -#: pysollib/tk/menubar.py:500 +#: pysollib/tk/menubar.py:498 msgid "&Popular games" msgstr "&Популярные игры" -#: pysollib/tk/menubar.py:503 +#: pysollib/tk/menubar.py:501 msgid "&French games" msgstr "&Классические игры" -#: pysollib/tk/menubar.py:506 +#: pysollib/tk/menubar.py:504 msgid "&Mahjongg games" msgstr "Игры маджонг" -#: pysollib/tk/menubar.py:509 +#: pysollib/tk/menubar.py:507 msgid "&Oriental games" msgstr "&Восточные игры" -#: pysollib/tk/menubar.py:513 +#: pysollib/tk/menubar.py:511 msgid "&Special games" msgstr "&Особые игры" -#: pysollib/tk/menubar.py:517 +#: pysollib/tk/menubar.py:515 msgid "All games by name" msgstr "Все игры по имени" -#: pysollib/tk/menubar.py:854 pysollib/tk/menubar.py:856 +#: pysollib/tk/menubar.py:852 pysollib/tk/menubar.py:854 #: pysollib/tk/selectcardset.py:240 msgid "&Load" msgstr "&Загрузить" -#: pysollib/tk/menubar.py:856 +#: pysollib/tk/menubar.py:854 msgid "&Info..." msgstr "&Информация..." -#: pysollib/tk/menubar.py:859 +#: pysollib/tk/menubar.py:857 msgid "Select " msgstr "Выбрать " -#: pysollib/tk/menubar.py:919 +#: pysollib/tk/menubar.py:917 msgid "Select table background" msgstr "Выбрать фоновое изображение" -#: pysollib/tk/menubar.py:931 pysollib/tk/selecttile.py:177 +#: pysollib/tk/menubar.py:929 pysollib/tk/selecttile.py:177 msgid "Select table color" msgstr "Выбрать цвет" -#: pysollib/tk/playeroptionsdialog.py:113 +#: pysollib/tk/playeroptionsdialog.py:112 msgid "" "\n" "Please enter your name" @@ -2476,19 +2464,19 @@ msgstr "" "\n" "Пожалуйста введите Ваше имя" -#: pysollib/tk/playeroptionsdialog.py:121 +#: pysollib/tk/playeroptionsdialog.py:120 msgid "Select..." msgstr "Выбрать..." -#: pysollib/tk/playeroptionsdialog.py:125 +#: pysollib/tk/playeroptionsdialog.py:124 msgid "Confirm quit" msgstr "Подтверждение выхода" -#: pysollib/tk/playeroptionsdialog.py:129 +#: pysollib/tk/playeroptionsdialog.py:128 msgid "Update statistics and logs" msgstr "Обнавлять статистику и лог" -#: pysollib/tk/playeroptionsdialog.py:146 +#: pysollib/tk/playeroptionsdialog.py:145 msgid "Select name" msgstr "Выбрать имя" @@ -2823,35 +2811,39 @@ msgstr "Все фоновые изображения" msgid "&Solid color..." msgstr "&Монотонный цвет..." -#: pysollib/tk/soundoptionsdialog.py:76 +#: pysollib/tk/soundoptionsdialog.py:111 msgid "Sound enabled" msgstr "Звук доступен" -#: pysollib/tk/soundoptionsdialog.py:82 +#: pysollib/tk/soundoptionsdialog.py:117 msgid "Use DirectX for sound playing" -msgstr "Использовать DirectX длы вывода звука" +msgstr "Использовать DirectX для вывода звука" -#: pysollib/tk/soundoptionsdialog.py:88 -msgid "Sample volume" -msgstr "Уровень звуков" +#: pysollib/tk/soundoptionsdialog.py:123 +msgid "Sample volume:" +msgstr "Уровень звуков:" -#: pysollib/tk/soundoptionsdialog.py:94 -msgid "Music volume" -msgstr "Уровень музыки" +#: pysollib/tk/soundoptionsdialog.py:131 +msgid "Music volume:" +msgstr "Уровень музыки:" -#: pysollib/tk/soundoptionsdialog.py:106 +#: pysollib/tk/soundoptionsdialog.py:144 +msgid "Enable samles" +msgstr "Включить звуки" + +#: pysollib/tk/soundoptionsdialog.py:169 msgid "&Apply" msgstr "&Применить" -#: pysollib/tk/soundoptionsdialog.py:106 pysollib/tk/soundoptionsdialog.py:108 +#: pysollib/tk/soundoptionsdialog.py:169 pysollib/tk/soundoptionsdialog.py:171 msgid "&Mixer..." msgstr "&Миксер..." -#: pysollib/tk/soundoptionsdialog.py:155 +#: pysollib/tk/soundoptionsdialog.py:220 msgid "Sound preferences info" msgstr "Информация о настройках звука" -#: pysollib/tk/soundoptionsdialog.py:156 +#: pysollib/tk/soundoptionsdialog.py:221 msgid "" "Changing DirectX settings will take effect\n" "the next time you restart " @@ -2859,11 +2851,11 @@ msgstr "" "Изменения установок DirectX вступят в силу\n" "при следующем запуске " -#: pysollib/tk/statusbar.py:138 +#: pysollib/tk/statusbar.py:136 msgid "Moves/Total moves" msgstr "Ходов/Всего ходов" -#: pysollib/tk/statusbar.py:140 +#: pysollib/tk/statusbar.py:138 msgid "Games played: won/lost" msgstr "Игр: выиграно/проиграно" @@ -3200,7 +3192,7 @@ msgstr "Игрок" msgid "Player options" msgstr "Установки игрока" -#: pysollib/tk/toolbar.py:429 +#: pysollib/tk/toolbar.py:435 msgid "Toolbar" msgstr "Панель инструментов" @@ -3232,6 +3224,16 @@ msgstr "красный" msgid "cardset" msgstr "набор карт" +#~ msgid "Error while saving options" +#~ msgstr "Ошибка при сохранении настроек" + +#~ msgid "" +#~ "Options were saved to\n" +#~ "\n" +#~ msgstr "" +#~ "Опции сохранены в\n" +#~ "\n" + #~ msgid "Set demo options" #~ msgstr "Настройка демо" diff --git a/pysollib/actions.py b/pysollib/actions.py index 8a1ff42f..f3df4f29 100644 --- a/pysollib/actions.py +++ b/pysollib/actions.py @@ -863,11 +863,11 @@ class PysolMenubarActions: self.app.opt.shisen_show_hint = self.tkopt.shisen_show_hint.get() ##self.game.updateMenus() - def mOptSound(self, *args): - if self._cancelDrag(break_pause=False): return - self.app.opt.sound = self.tkopt.sound.get() - if not self.app.opt.sound: - self.app.audio.stopAll() +## def mOptSound(self, *args): +## if self._cancelDrag(break_pause=False): return +## self.app.opt.sound = self.tkopt.sound.get() +## if not self.app.opt.sound: +## self.app.audio.stopAll() def mOptSoundDialog(self, *args): if self._cancelDrag(break_pause=False): return @@ -886,9 +886,9 @@ class PysolMenubarActions: if self._cancelDrag(break_pause=False): return self.app.opt.shade = self.tkopt.shade.get() - def mOptIrregularPiles(self, *args): - if self._cancelDrag(): return - self.app.opt.irregular_piles = self.tkopt.irregular_piles.get() +## def mOptIrregularPiles(self, *args): +## if self._cancelDrag(): return +## self.app.opt.irregular_piles = self.tkopt.irregular_piles.get() def mOptColorsOptions(self, *args): if self._cancelDrag(break_pause=False): return @@ -929,17 +929,17 @@ class PysolMenubarActions: self.app.opt.highlight_cards_sleep = d.highlight_cards_sleep self.app.opt.highlight_samerank_sleep = d.highlight_samerank_sleep - def mOptSave(self, *args): - if self._cancelDrag(break_pause=False): return - try: - self.app.saveOptions() - except Exception, ex: - d = MfxExceptionDialog(self.top, ex, - text=_("Error while saving options")) - else: - # tell the player where their config files reside - d = MfxMessageDialog(self.top, title=PACKAGE+_(" Info"), bitmap="info", - text=_("Options were saved to\n\n") + self.app.fn.opt) +## def mOptSave(self, *args): +## if self._cancelDrag(break_pause=False): return +## try: +## self.app.saveOptions() +## except Exception, ex: +## d = MfxExceptionDialog(self.top, ex, +## text=_("Error while saving options")) +## else: +## # tell the player where their config files reside +## d = MfxMessageDialog(self.top, title=PACKAGE+_(" Info"), bitmap="info", +## text=_("Options were saved to\n\n") + self.app.fn.opt) # diff --git a/pysollib/app.py b/pysollib/app.py index 6b8bdabd..bd41e1eb 100644 --- a/pysollib/app.py +++ b/pysollib/app.py @@ -117,10 +117,38 @@ class Options: self.statusbar = 1 self.num_cards = 0 self.helpbar = 0 + # sound self.sound = 1 self.sound_mode = 1 self.sound_sample_volume = 128 self.sound_music_volume = 128 + self.sound_samples = { + 'areyousure' : True, + 'autodrop' : True, + 'autoflip' : True, + 'autopilotlost' : True, + 'autopilotwon' : True, + 'deal' : True, + 'deal01' : True, + 'deal02' : True, + 'deal04' : True, + 'deal08' : True, + 'dealwaste' : True, + 'droppair' : True, + 'drop' : True, + 'extra' : True, + 'flip' : True, + 'move' : True, + 'nomove' : True, + 'redo' : True, + 'startdrag' : True, + 'turnwaste' : True, + 'undo' : True, + 'gamefinished' : True, + 'gamelost' : True, + 'gameperfect' : True, + 'gamewon' : True, + } # fonts self.fonts = {"default" : None, #"default" : ("helvetica", 12), diff --git a/pysollib/game.py b/pysollib/game.py index 5b498956..28bd6deb 100644 --- a/pysollib/game.py +++ b/pysollib/game.py @@ -784,6 +784,8 @@ class Game: # def playSample(self, name, priority=0, loop=0): + if not self.app.opt.sound_samples[name]: + return 0 ##print "playSample:", name, priority, loop if self.app.audio: return self.app.audio.playSample(name, priority=priority, loop=loop) @@ -801,7 +803,7 @@ class Game: a = self.app.opt.animations if a and not self.preview: self.canvas.update_idletasks() - if self.app.audio and self.app.opt.sound: + if self.app.audio and self.app.opt.sound and self.app.opt.sound_samples['deal']: if a in (1, 2, 5): self.playSample("deal01", priority=100, loop=loop) elif a == 3: @@ -1192,7 +1194,7 @@ class Game: top_msg = self.updateStats() time = self.getTime() self.finished = True - self.playSample("winperfect", priority=1000) + self.playSample("gameperfect", priority=1000) d = MfxMessageDialog(self.top, title=_("Game won"), text=_(''' Congratulations, this @@ -1208,7 +1210,7 @@ for %d moves. top_msg = self.updateStats() time = self.getTime() self.finished = True - self.playSample("winwon", priority=1000) + self.playSample("gamewon", priority=1000) d = MfxMessageDialog(self.top, title=_("Game won"), text=_(''' Congratulations, you did it ! @@ -1220,12 +1222,12 @@ for %d moves. strings=(_("&New game"), None, _("&Cancel")), image=self.app.gimages.logos[4], separatorwidth=2) elif self.gstats.updated < 0: - self.playSample("winfinished", priority=1000) + self.playSample("gamefinished", priority=1000) d = MfxMessageDialog(self.top, title=_("Game finished"), bitmap="info", text=_("\nGame finished\n"), strings=(_("&New game"), None, _("&Cancel"))) else: - self.playSample("winlost", priority=1000) + self.playSample("gamelost", priority=1000) d = MfxMessageDialog(self.top, title=_("Game finished"), bitmap="info", text=_("\nGame finished, but not without my help...\n"), strings=(_("&New game"), _("&Restart"), _("&Cancel"))) diff --git a/pysollib/tk/menubar.py b/pysollib/tk/menubar.py index 4a61cc79..a38b69a3 100644 --- a/pysollib/tk/menubar.py +++ b/pysollib/tk/menubar.py @@ -340,11 +340,9 @@ class PysolMenubar(PysolMenubarActions): menu.add_separator() label = n_("&Sound") if self.app.audio.audiodev is None: - menu.add_checkbutton(label=label, variable=self.tkopt.sound, command=self.mOptSound, state=Tkinter.DISABLED) - elif pysolsoundserver: - menu.add_checkbutton(label=label, variable=self.tkopt.sound, command=self.mOptSoundDialog) + menu.add_checkbutton(label=label, variable=self.tkopt.sound, command=self.mOptSoundDialog, state=Tkinter.DISABLED) else: - menu.add_checkbutton(label=label, variable=self.tkopt.sound, command=self.mOptSound) + menu.add_checkbutton(label=label, variable=self.tkopt.sound, command=self.mOptSoundDialog) # cardsets #manager = self.app.cardset_manager #n = manager.len() diff --git a/pysollib/tk/soundoptionsdialog.py b/pysollib/tk/soundoptionsdialog.py index 0ca59eaa..f6adaaf8 100644 --- a/pysollib/tk/soundoptionsdialog.py +++ b/pysollib/tk/soundoptionsdialog.py @@ -36,7 +36,8 @@ __all__ = ['SoundOptionsDialog'] # imports -import os, sys, string, Tkinter +import os, sys, string +from Tkinter import * import traceback # PySol imports @@ -47,7 +48,7 @@ from pysollib.settings import MIXERS # Toolkit imports from tkconst import EVENT_HANDLED, EVENT_PROPAGATE -from tkwidget import MfxDialog +from tkwidget import MfxDialog, MfxMessageDialog # /*********************************************************************** # // @@ -64,41 +65,103 @@ class SoundOptionsDialog(MfxDialog): self.createBitmaps(top_frame, kw) # self.saved_opt = app.opt.copy() - self.sound = Tkinter.BooleanVar() + self.sound = BooleanVar() self.sound.set(app.opt.sound != 0) - self.sound_mode = Tkinter.BooleanVar() + self.sound_mode = BooleanVar() self.sound_mode.set(app.opt.sound_mode != 0) - self.sample_volume = Tkinter.IntVar() + self.sample_volume = IntVar() self.sample_volume.set(app.opt.sound_sample_volume) - self.music_volume = Tkinter.IntVar() + self.music_volume = IntVar() self.music_volume.set(app.opt.sound_music_volume) - widget = Tkinter.Checkbutton(top_frame, variable=self.sound, - text=_("Sound enabled"), - anchor=Tkinter.W) - widget.pack(side=Tkinter.TOP, padx=kw.padx, pady=kw.pady, - expand=Tkinter.YES, fill=Tkinter.BOTH) + self.samples = [ + ('areyousure', 'AreYouSure', BooleanVar()), + ('autodrop', 'AutoDrop', BooleanVar()), + ('autoflip', 'AutoFlip', BooleanVar()), + ('autopilotlost', 'AutopilotLost', BooleanVar()), + ('autopilotwon', 'AutopilotWon', BooleanVar()), + ('deal', 'Deal', BooleanVar()), + #('deal01', 'Deal01', BooleanVar()), + #('deal02', 'Deal02', BooleanVar()), + #('deal04', 'Deal04', BooleanVar()), + #('deal08', 'Deal08', BooleanVar()), + ('dealwaste', 'DealWaste', BooleanVar()), + ('droppair', 'DropPair', BooleanVar()), + ('drop', 'Drop', BooleanVar()), + #('extra', 'Extra', BooleanVar()), + ('flip', 'Flip', BooleanVar()), + ('move', 'Move', BooleanVar()), + ('nomove', 'NoMove', BooleanVar()), + ('redo', 'Redo', BooleanVar()), + ('startdrag', 'StartDrag', BooleanVar()), + ('turnwaste', 'TurnWaste', BooleanVar()), + ('undo', 'Undo', BooleanVar()), + ('gamefinished', 'GameFinished', BooleanVar()), + ('gamelost', 'GameLost', BooleanVar()), + ('gameperfect', 'GamePerfect', BooleanVar()), + ('gamewon', 'GameWon', BooleanVar()), + ] + + # + frame = Frame(top_frame) + frame.pack(expand=1, fill='both', padx=5, pady=5) + frame.columnconfigure(1, weight=1) + # + row = 0 + w = Checkbutton(frame, variable=self.sound, + text=_("Sound enabled"), anchor='w') + w.grid(row=row, column=0, columnspan=2, sticky='ew') + # if os.name == "nt" and pysolsoundserver: - widget = Tkinter.Checkbutton(top_frame, variable=self.sound_mode, - text=_("Use DirectX for sound playing"), - command=self.mOptSoundDirectX) - widget.pack(side=Tkinter.TOP, padx=kw.padx, pady=kw.pady) + row += 1 + w = Checkbutton(frame, variable=self.sound_mode, + text=_("Use DirectX for sound playing"), + command=self.mOptSoundDirectX, anchor='w') + w.grid(row=row, column=0, columnspan=2, sticky='ew') + # if pysolsoundserver and app.startup_opt.sound_mode > 0: - widget = Tkinter.Scale(top_frame, from_=0, to=128, - resolution=1, orient=Tkinter.HORIZONTAL, - length="3i", label=_("Sample volume"), - variable=self.sample_volume, takefocus=0) - widget.pack(side=Tkinter.TOP, padx=kw.padx, pady=kw.pady, - expand=Tkinter.YES, fill=Tkinter.BOTH) - widget = Tkinter.Scale(top_frame, from_=0, to=128, - resolution=1, orient=Tkinter.HORIZONTAL, - length="3i", label=_("Music volume"), - variable=self.music_volume, takefocus=0) - widget.pack(side=Tkinter.TOP, padx=kw.padx, pady=kw.pady, - expand=Tkinter.YES, fill=Tkinter.BOTH) + row += 1 + w = Label(frame, text=_('Sample volume:')) + w.grid(row=row, column=0, sticky='w') + w = Scale(frame, from_=0, to=128, resolution=1, + orient='horizontal', takefocus=0, + length="3i", #label=_('Sample volume'), + variable=self.sample_volume) + w.grid(row=row, column=1, sticky='w', padx=5) + row += 1 + w = Label(frame, text=_('Music volume:')) + w.grid(row=row, column=0, sticky='w', padx=5) + w = Scale(frame, from_=0, to=128, resolution=1, + orient='horizontal', takefocus=0, + length="3i", #label=_('Music volume'), + variable=self.music_volume) + w.grid(row=row, column=1, sticky='w', padx=5) + else: # remove "Apply" button kw.strings[1] = None # + if TkVersion >= 8.4: + frame = LabelFrame(top_frame, text=_('Enable samles'), padx=5, pady=5) + else: + frame = Frame(top_frame) + frame.pack(expand=1, fill='both', padx=5, pady=5) + frame.columnconfigure(0, weight=1) + frame.columnconfigure(1, weight=1) + # + row = 0 + col = 0 + for n, t, v in self.samples: + v.set(app.opt.sound_samples[n]) + w = Checkbutton(frame, text=t, anchor='w', variable=v) + w.grid(row=row, column=col, sticky='ew') + if col == 1: + col = 0 + row += 1 + else: + col = 1 + # + top_frame.columnconfigure(1, weight=1) + # focus = self.createButtons(bottom_frame, kw) self.mainloop(focus, kw.timeout) @@ -113,7 +176,7 @@ class SoundOptionsDialog(MfxDialog): default=0, resizable=1, padx=10, pady=10, - buttonpadx=10, buttonpady=5, + buttonpadx=1, buttonpady=5, ) return MfxDialog.initKw(self, kw) @@ -123,6 +186,8 @@ class SoundOptionsDialog(MfxDialog): self.app.opt.sound_mode = self.sound_mode.get() self.app.opt.sound_sample_volume = self.sample_volume.get() self.app.opt.sound_music_volume = self.music_volume.get() + for n, t, v in self.samples: + self.app.opt.sound_samples[n] = v.get() elif button == 2: for name, args in MIXERS: try: @@ -152,29 +217,8 @@ class SoundOptionsDialog(MfxDialog): def mOptSoundDirectX(self, *event): ##print self.sound_mode.get() - d = MfxDialog(self.top, title=_("Sound preferences info"), + d = MfxMessageDialog(self.top, title=_("Sound preferences info"), text=_("Changing DirectX settings will take effect\nthe next time you restart ")+PACKAGE, bitmap="warning", default=0, strings=(_("&OK"),)) - -# /*********************************************************************** -# // -# ************************************************************************/ - - -def soundoptionsdialog_main(args): - from tkutil import wm_withdraw - opt = Struct(sound=1, sound_mode=1, sound_sample_volume=128, sound_music_volume=96) - app = Struct(opt=opt, audio=None, debug=0) - tk = Tkinter.Tk() - wm_withdraw(tk) - tk.update() - d = SoundOptionsDialog(tk, "Sound settings", app) - print d.status, d.button - return 0 - -if __name__ == "__main__": - import sys - sys.exit(soundoptionsdialog_main(sys.argv)) - diff --git a/pysollib/tk/tkwidget.py b/pysollib/tk/tkwidget.py index ca288979..85e7ed88 100644 --- a/pysollib/tk/tkwidget.py +++ b/pysollib/tk/tkwidget.py @@ -169,7 +169,7 @@ class MfxDialog: # ex. _ToplevelDialog def createFrames(self, kw): bottom_frame = Tkinter.Frame(self.top) - bottom_frame.pack(side='bottom', fill='both', expand=1, ipady=3) + bottom_frame.pack(side='bottom', fill='both', expand=1, ipadx=3, ipady=3) if kw.separatorwidth > 0: separator = Tkinter.Frame(self.top, relief="sunken", height=kw.separatorwidth, width=kw.separatorwidth,