Added translations for oracle; fix #293

Translations have been updated.
This commit is contained in:
Fabio Bas 2015-02-08 21:17:51 +01:00
parent 25747a0964
commit f80e319900
23 changed files with 11395 additions and 8800 deletions

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -37,76 +37,76 @@
<context>
<name>AppearanceSettingsPage</name>
<message>
<location filename="../src/dlg_settings.cpp" line="350"/>
<location filename="../src/dlg_settings.cpp" line="345"/>
<source>Zone background pictures</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="351"/>
<location filename="../src/dlg_settings.cpp" line="346"/>
<source>Hand background:</source>
<translation> :</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="352"/>
<location filename="../src/dlg_settings.cpp" line="347"/>
<source>Stack background:</source>
<translation> :</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="353"/>
<location filename="../src/dlg_settings.cpp" line="348"/>
<source>Table background:</source>
<translation> :</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="354"/>
<location filename="../src/dlg_settings.cpp" line="349"/>
<source>Player info background:</source>
<translation> :</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="355"/>
<location filename="../src/dlg_settings.cpp" line="350"/>
<source>Card back:</source>
<translation> :</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="357"/>
<location filename="../src/dlg_settings.cpp" line="352"/>
<source>Card rendering</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="358"/>
<location filename="../src/dlg_settings.cpp" line="353"/>
<source>Display card names on cards having a picture</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="360"/>
<location filename="../src/dlg_settings.cpp" line="355"/>
<source>Hand layout</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="361"/>
<location filename="../src/dlg_settings.cpp" line="356"/>
<source>Display hand horizontally (wastes space)</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="363"/>
<location filename="../src/dlg_settings.cpp" line="358"/>
<source>Table grid layout</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="364"/>
<location filename="../src/dlg_settings.cpp" line="359"/>
<source>Invert vertical coordinate</source>
<translation> ( )</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="365"/>
<location filename="../src/dlg_settings.cpp" line="360"/>
<source>Minimum player count for multi-column layout:</source>
<translation> (4 )</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="376"/>
<location filename="../src/dlg_settings.cpp" line="392"/>
<location filename="../src/dlg_settings.cpp" line="408"/>
<location filename="../src/dlg_settings.cpp" line="424"/>
<location filename="../src/dlg_settings.cpp" line="440"/>
<location filename="../src/dlg_settings.cpp" line="371"/>
<location filename="../src/dlg_settings.cpp" line="387"/>
<location filename="../src/dlg_settings.cpp" line="403"/>
<location filename="../src/dlg_settings.cpp" line="419"/>
<location filename="../src/dlg_settings.cpp" line="435"/>
<source>Choose path</source>
<translation> </translation>
</message>
@ -575,12 +575,12 @@ This is only saved for moderators and cannot be seen by the banned person.</sour
<context>
<name>DeckEditorSettingsPage</name>
<message>
<location filename="../src/dlg_settings.cpp" line="559"/>
<location filename="../src/dlg_settings.cpp" line="554"/>
<source>Enable &amp;price tag feature from deckbrew.com</source>
<translation>deckbrew.com을 </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="560"/>
<location filename="../src/dlg_settings.cpp" line="555"/>
<source>General</source>
<translation></translation>
</message>
@ -1014,9 +1014,13 @@ This is only saved for moderators and cannot be seen by the banned person.</sour
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_filter_games.cpp" line="26"/>
<source>Show &amp;password protected games</source>
<translation> </translation>
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../src/dlg_filter_games.cpp" line="26"/>
<source>Hide &amp;password protected games</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_filter_games.cpp" line="31"/>
@ -1088,19 +1092,19 @@ This is only saved for moderators and cannot be seen by the banned person.</sour
<context>
<name>DlgSettings</name>
<message>
<location filename="../src/dlg_settings.cpp" line="806"/>
<location filename="../src/dlg_settings.cpp" line="812"/>
<location filename="../src/dlg_settings.cpp" line="818"/>
<location filename="../src/dlg_settings.cpp" line="837"/>
<location filename="../src/dlg_settings.cpp" line="843"/>
<location filename="../src/dlg_settings.cpp" line="849"/>
<source>Error</source>
<translation></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="760"/>
<location filename="../src/dlg_settings.cpp" line="791"/>
<source>Unknown Error loading card database</source>
<translation> .</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="769"/>
<location filename="../src/dlg_settings.cpp" line="800"/>
<source>Your card database is invalid.
Cockatrice may not function correctly with an invalid database
@ -1117,7 +1121,7 @@ Would you like to change your database location setting?</source>
?</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="776"/>
<location filename="../src/dlg_settings.cpp" line="807"/>
<source>Your card database version is too old.
This can cause problems loading card information or images
@ -1134,7 +1138,7 @@ Would you like to change your database location setting?</source>
?</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="783"/>
<location filename="../src/dlg_settings.cpp" line="814"/>
<source>Your card database did not finish loading
Please file a ticket at http://github.com/Daenyth/Cockatrice/issues with your cards.xml attached
@ -1147,7 +1151,7 @@ http://github.com/Daenyth/Cockatrice/issues 에 cards.xml를 첨부하여 버그
?</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="789"/>
<location filename="../src/dlg_settings.cpp" line="820"/>
<source>File Error loading your card database.
Would you like to change your database location setting?</source>
@ -1156,7 +1160,7 @@ Would you like to change your database location setting?</source>
?</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="794"/>
<location filename="../src/dlg_settings.cpp" line="825"/>
<source>Your card database was loaded but contains no cards.
Would you like to change your database location setting?</source>
@ -1165,7 +1169,7 @@ Would you like to change your database location setting?</source>
?</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="799"/>
<location filename="../src/dlg_settings.cpp" line="830"/>
<source>Unknown card database load status
Please file a ticket at http://github.com/Daenyth/Cockatrice/issues
@ -1178,44 +1182,44 @@ http://github.com/Daenyth/Cockatrice/issues 에 cards.xml를 첨부하여 버그
?</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="812"/>
<location filename="../src/dlg_settings.cpp" line="843"/>
<source>The path to your deck directory is invalid. Would you like to go back and set the correct path?</source>
<translation> .
?</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="818"/>
<location filename="../src/dlg_settings.cpp" line="849"/>
<source>The path to your card pictures directory is invalid. Would you like to go back and set the correct path?</source>
<translation> .
?</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="827"/>
<location filename="../src/dlg_settings.cpp" line="858"/>
<source>Settings</source>
<translation></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="829"/>
<location filename="../src/dlg_settings.cpp" line="860"/>
<source>General</source>
<translation></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="830"/>
<location filename="../src/dlg_settings.cpp" line="861"/>
<source>Appearance</source>
<translation></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="831"/>
<location filename="../src/dlg_settings.cpp" line="862"/>
<source>User interface</source>
<translation></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="832"/>
<location filename="../src/dlg_settings.cpp" line="863"/>
<source>Deck editor</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="833"/>
<location filename="../src/dlg_settings.cpp" line="864"/>
<source>Chat Settings</source>
<translation> </translation>
</message>
@ -1223,17 +1227,16 @@ http://github.com/Daenyth/Cockatrice/issues 에 cards.xml를 첨부하여 버그
<context>
<name>GameSelector</name>
<message>
<location filename="../src/gameselector.cpp" line="184"/>
<location filename="../src/gameselector.cpp" line="185"/>
<source>C&amp;reate</source>
<translation> </translation>
</message>
<message>
<location filename="../src/gameselector.cpp" line="185"/>
<location filename="../src/gameselector.cpp" line="186"/>
<source>&amp;Join</source>
<translation> </translation>
</message>
<message>
<location filename="../src/gameselector.cpp" line="127"/>
<location filename="../src/gameselector.cpp" line="128"/>
<location filename="../src/gameselector.cpp" line="129"/>
<location filename="../src/gameselector.cpp" line="130"/>
@ -1241,82 +1244,83 @@ http://github.com/Daenyth/Cockatrice/issues 에 cards.xml를 첨부하여 버그
<location filename="../src/gameselector.cpp" line="132"/>
<location filename="../src/gameselector.cpp" line="133"/>
<location filename="../src/gameselector.cpp" line="134"/>
<location filename="../src/gameselector.cpp" line="164"/>
<location filename="../src/gameselector.cpp" line="135"/>
<location filename="../src/gameselector.cpp" line="165"/>
<source>Error</source>
<translation></translation>
</message>
<message>
<location filename="../src/gameselector.cpp" line="127"/>
<location filename="../src/gameselector.cpp" line="128"/>
<source>Please join the appropriate room first.</source>
<translation> .</translation>
</message>
<message>
<location filename="../src/gameselector.cpp" line="128"/>
<location filename="../src/gameselector.cpp" line="129"/>
<source>Wrong password.</source>
<translation> .</translation>
</message>
<message>
<location filename="../src/gameselector.cpp" line="129"/>
<location filename="../src/gameselector.cpp" line="130"/>
<source>Spectators are not allowed in this game.</source>
<translation> .</translation>
</message>
<message>
<location filename="../src/gameselector.cpp" line="130"/>
<location filename="../src/gameselector.cpp" line="131"/>
<source>The game is already full.</source>
<translation> .</translation>
</message>
<message>
<location filename="../src/gameselector.cpp" line="131"/>
<location filename="../src/gameselector.cpp" line="132"/>
<source>The game does not exist any more.</source>
<translation> .</translation>
</message>
<message>
<location filename="../src/gameselector.cpp" line="132"/>
<location filename="../src/gameselector.cpp" line="133"/>
<source>This game is only open to registered users.</source>
<translation> .</translation>
</message>
<message>
<location filename="../src/gameselector.cpp" line="133"/>
<location filename="../src/gameselector.cpp" line="134"/>
<source>This game is only open to its creator&apos;s buddies.</source>
<translation> .</translation>
</message>
<message>
<location filename="../src/gameselector.cpp" line="134"/>
<location filename="../src/gameselector.cpp" line="135"/>
<source>You are being ignored by the creator of this game.</source>
<translation> .</translation>
</message>
<message>
<location filename="../src/gameselector.cpp" line="151"/>
<location filename="../src/gameselector.cpp" line="152"/>
<source>Join game</source>
<translation> </translation>
</message>
<message>
<location filename="../src/gameselector.cpp" line="151"/>
<location filename="../src/gameselector.cpp" line="152"/>
<source>Password:</source>
<translation>:</translation>
</message>
<message>
<location filename="../src/gameselector.cpp" line="164"/>
<location filename="../src/gameselector.cpp" line="165"/>
<source>Please join the respective room first.</source>
<translation> .</translation>
</message>
<message>
<location filename="../src/gameselector.cpp" line="180"/>
<location filename="../src/gameselector.cpp" line="181"/>
<source>Games</source>
<translation> </translation>
</message>
<message>
<location filename="../src/gameselector.cpp" line="181"/>
<location filename="../src/gameselector.cpp" line="182"/>
<source>&amp;Filter games</source>
<translation> </translation>
</message>
<message>
<location filename="../src/gameselector.cpp" line="182"/>
<location filename="../src/gameselector.cpp" line="183"/>
<source>C&amp;lear filter</source>
<translation> </translation>
</message>
<message>
<location filename="../src/gameselector.cpp" line="186"/>
<location filename="../src/gameselector.cpp" line="187"/>
<source>J&amp;oin as spectator</source>
<translation> </translation>
</message>
@ -1411,97 +1415,97 @@ http://github.com/Daenyth/Cockatrice/issues 에 cards.xml를 첨부하여 버그
<context>
<name>GeneralSettingsPage</name>
<message>
<location filename="../src/dlg_settings.cpp" line="238"/>
<location filename="../src/dlg_settings.cpp" line="233"/>
<source>Reset/Clear Downloaded Pictures</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="148"/>
<location filename="../src/dlg_settings.cpp" line="158"/>
<location filename="../src/dlg_settings.cpp" line="168"/>
<location filename="../src/dlg_settings.cpp" line="202"/>
<location filename="../src/dlg_settings.cpp" line="212"/>
<location filename="../src/dlg_settings.cpp" line="143"/>
<location filename="../src/dlg_settings.cpp" line="153"/>
<location filename="../src/dlg_settings.cpp" line="163"/>
<location filename="../src/dlg_settings.cpp" line="197"/>
<location filename="../src/dlg_settings.cpp" line="207"/>
<source>Choose path</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="195"/>
<location filename="../src/dlg_settings.cpp" line="190"/>
<source>Success</source>
<translation></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="195"/>
<location filename="../src/dlg_settings.cpp" line="190"/>
<source>Downloaded card pictures have been reset.</source>
<translation> .</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="197"/>
<location filename="../src/dlg_settings.cpp" line="192"/>
<source>Error</source>
<translation></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="197"/>
<location filename="../src/dlg_settings.cpp" line="192"/>
<source>One or more downloaded card pictures could not be cleared.</source>
<translation> .</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="227"/>
<location filename="../src/dlg_settings.cpp" line="222"/>
<source>Personal settings</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="228"/>
<location filename="../src/dlg_settings.cpp" line="223"/>
<source>Language:</source>
<translation>:</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="229"/>
<location filename="../src/dlg_settings.cpp" line="224"/>
<source>Download card pictures on the fly</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="230"/>
<location filename="../src/dlg_settings.cpp" line="225"/>
<source>Download high-quality card pictures</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="231"/>
<location filename="../src/dlg_settings.cpp" line="226"/>
<source>Paths</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="232"/>
<location filename="../src/dlg_settings.cpp" line="227"/>
<source>Decks directory:</source>
<translation> :</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="233"/>
<location filename="../src/dlg_settings.cpp" line="228"/>
<source>Replays directory:</source>
<translation> :</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="234"/>
<location filename="../src/dlg_settings.cpp" line="229"/>
<source>Pictures directory:</source>
<translation> :</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="235"/>
<location filename="../src/dlg_settings.cpp" line="230"/>
<source>Card database:</source>
<translation> :</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="236"/>
<location filename="../src/dlg_settings.cpp" line="231"/>
<source>Token database:</source>
<translation> :</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="237"/>
<location filename="../src/dlg_settings.cpp" line="232"/>
<source>Picture cache size:</source>
<translation> :</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="37"/>
<location filename="../src/dlg_settings.cpp" line="143"/>
<location filename="../src/dlg_settings.cpp" line="138"/>
<source>English</source>
<translation></translation>
</message>
@ -1807,12 +1811,12 @@ Local version is %1, remote version is %2.</source>
<translation></translation>
</message>
<message>
<location filename="../src/window_main.cpp" line="408"/>
<location filename="../src/window_main.cpp" line="409"/>
<source>Are you sure?</source>
<translation>?</translation>
</message>
<message>
<location filename="../src/window_main.cpp" line="408"/>
<location filename="../src/window_main.cpp" line="409"/>
<source>There are still open games. Are you sure you want to quit?</source>
<translation> .
?</translation>
@ -2978,42 +2982,66 @@ Local version is %1, remote version is %2.</source>
<context>
<name>MessagesSettingsPage</name>
<message>
<location filename="../src/dlg_settings.cpp" line="650"/>
<location filename="../src/dlg_settings.cpp" line="677"/>
<source>&amp;Add</source>
<translation></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="651"/>
<location filename="../src/dlg_settings.cpp" line="678"/>
<source>&amp;Remove</source>
<translation></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="652"/>
<location filename="../src/dlg_settings.cpp" line="679"/>
<source>Chat settings</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="653"/>
<source>Enable chat mentions (&apos;@yourusername&apos; in chat log will be highlighted)</source>
<translation> (&apos;@( )&apos; )</translation>
<location filename="../src/dlg_settings.cpp" line="680"/>
<source>Enable chat mentions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="654"/>
<location filename="../src/dlg_settings.cpp" line="683"/>
<source>Ignore chat room messages sent by unregistered users.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="684"/>
<source>Ignore private messages sent by unregistered users.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="685"/>
<source>Invert text color</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="686"/>
<source>(Color is hexadecimal)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Enable chat mentions (&apos;@yourusername&apos; in chat log will be highlighted)</source>
<translation type="vanished"> (&apos;@( )&apos; )</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="681"/>
<source>In-game message macros</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="655"/>
<location filename="../src/dlg_settings.cpp" line="682"/>
<source>Ignore unregistered users in main chat</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="633"/>
<location filename="../src/dlg_settings.cpp" line="660"/>
<source>Add message</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="633"/>
<location filename="../src/dlg_settings.cpp" line="660"/>
<source>Message:</source>
<translation>:</translation>
</message>
@ -4165,148 +4193,153 @@ Please enter a name:</source>
<context>
<name>TabGame</name>
<message>
<location filename="../src/tab_game.cpp" line="477"/>
<location filename="../src/tab_game.cpp" line="478"/>
<source>F5</source>
<translation>F5</translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="478"/>
<location filename="../src/tab_game.cpp" line="479"/>
<source>F6</source>
<translation>F6</translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="479"/>
<location filename="../src/tab_game.cpp" line="480"/>
<source>F7</source>
<translation>F7</translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="480"/>
<location filename="../src/tab_game.cpp" line="481"/>
<source>F8</source>
<translation>F8</translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="481"/>
<location filename="../src/tab_game.cpp" line="482"/>
<source>F9</source>
<translation>F9</translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="482"/>
<location filename="../src/tab_game.cpp" line="483"/>
<source>F10</source>
<translation>F10</translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="536"/>
<location filename="../src/tab_game.cpp" line="537"/>
<source>&amp;Phases</source>
<translation></translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="539"/>
<location filename="../src/tab_game.cpp" line="540"/>
<source>&amp;Game</source>
<translation></translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="541"/>
<location filename="../src/tab_game.cpp" line="542"/>
<source>Next &amp;phase</source>
<translation> </translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="542"/>
<location filename="../src/tab_game.cpp" line="543"/>
<source>Ctrl+Space</source>
<translation>Ctrl+Space</translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="542"/>
<location filename="../src/tab_game.cpp" line="543"/>
<source>Tab</source>
<translation>Tab</translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="545"/>
<location filename="../src/tab_game.cpp" line="546"/>
<source>Next &amp;turn</source>
<translation> </translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="546"/>
<location filename="../src/tab_game.cpp" line="547"/>
<source>Ctrl+Return</source>
<translation>Ctrl+Return</translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="546"/>
<location filename="../src/tab_game.cpp" line="547"/>
<source>Ctrl+Enter</source>
<translation>Ctrl+Enter</translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="549"/>
<location filename="../src/tab_game.cpp" line="550"/>
<source>&amp;Remove all local arrows</source>
<translation> </translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="550"/>
<location filename="../src/tab_game.cpp" line="551"/>
<source>Ctrl+R</source>
<translation>Ctrl+R</translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="553"/>
<location filename="../src/tab_game.cpp" line="554"/>
<source>Game &amp;information</source>
<translation> </translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="555"/>
<location filename="../src/tab_game.cpp" line="556"/>
<source>&amp;Concede</source>
<translation></translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="556"/>
<location filename="../src/tab_game.cpp" line="557"/>
<source>F2</source>
<translation>F2</translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="559"/>
<location filename="../src/tab_game.cpp" line="560"/>
<source>&amp;Leave game</source>
<translation> </translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="560"/>
<location filename="../src/tab_game.cpp" line="564"/>
<location filename="../src/tab_game.cpp" line="561"/>
<location filename="../src/tab_game.cpp" line="565"/>
<source>Ctrl+Q</source>
<translation>Ctrl+Q</translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="563"/>
<location filename="../src/tab_game.cpp" line="564"/>
<source>C&amp;lose replay</source>
<translation> </translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="568"/>
<location filename="../src/tab_game.cpp" line="569"/>
<source>&amp;Say:</source>
<translation>:</translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="670"/>
<location filename="../src/tab_game.cpp" line="671"/>
<source>Concede</source>
<translation></translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="670"/>
<location filename="../src/tab_game.cpp" line="671"/>
<source>Are you sure you want to concede this game?</source>
<translation> ?</translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="680"/>
<location filename="../src/tab_game.cpp" line="681"/>
<source>Leave game</source>
<translation> </translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="680"/>
<location filename="../src/tab_game.cpp" line="681"/>
<source>Are you sure you want to leave this game?</source>
<translation> ?</translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="1174"/>
<location filename="../src/tab_game.cpp" line="1091"/>
<source>You have been kicked out of the game.</source>
<translation type="unfinished"> .</translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="1185"/>
<source>Replay %1: %2</source>
<translation> %1: %2</translation>
</message>
<message>
<location filename="../src/tab_game.cpp" line="1176"/>
<location filename="../src/tab_game.cpp" line="1187"/>
<source>Game %1: %2</source>
<translation> %1: %2</translation>
</message>
@ -4314,32 +4347,32 @@ Please enter a name:</source>
<context>
<name>TabMessage</name>
<message>
<location filename="../src/tab_message.cpp" line="48"/>
<location filename="../src/tab_message.cpp" line="54"/>
<source>Personal &amp;talk</source>
<translation>1:1 </translation>
</message>
<message>
<location filename="../src/tab_message.cpp" line="49"/>
<location filename="../src/tab_message.cpp" line="55"/>
<source>&amp;Leave</source>
<translation></translation>
</message>
<message>
<location filename="../src/tab_message.cpp" line="92"/>
<location filename="../src/tab_message.cpp" line="98"/>
<source>This user is ignoring you.</source>
<translation> .</translation>
</message>
<message>
<location filename="../src/tab_message.cpp" line="109"/>
<location filename="../src/tab_message.cpp" line="115"/>
<source>%1 has left the server.</source>
<translation>%1() .</translation>
</message>
<message>
<location filename="../src/tab_message.cpp" line="115"/>
<location filename="../src/tab_message.cpp" line="121"/>
<source>%1 has joined the server.</source>
<translation>%1() .</translation>
</message>
<message>
<location filename="../src/tab_message.cpp" line="65"/>
<location filename="../src/tab_message.cpp" line="71"/>
<source>Talking to %1</source>
<translation>%1() </translation>
</message>
@ -4524,78 +4557,78 @@ Please enter a name:</source>
<context>
<name>UserInfoBox</name>
<message>
<location filename="../src/userinfobox.cpp" line="41"/>
<location filename="../src/userinfobox.cpp" line="42"/>
<source>User information</source>
<translation> </translation>
</message>
<message>
<location filename="../src/userinfobox.cpp" line="48"/>
<location filename="../src/userinfobox.cpp" line="49"/>
<source>Real name:</source>
<translation>:</translation>
</message>
<message>
<location filename="../src/userinfobox.cpp" line="49"/>
<location filename="../src/userinfobox.cpp" line="50"/>
<source>Gender:</source>
<translation>:</translation>
</message>
<message>
<location filename="../src/userinfobox.cpp" line="50"/>
<location filename="../src/userinfobox.cpp" line="51"/>
<source>Location:</source>
<translation>:</translation>
</message>
<message>
<location filename="../src/userinfobox.cpp" line="51"/>
<location filename="../src/userinfobox.cpp" line="52"/>
<source>User level:</source>
<translation> :</translation>
</message>
<message>
<location filename="../src/userinfobox.cpp" line="52"/>
<location filename="../src/userinfobox.cpp" line="53"/>
<source>Account Age:</source>
<translation> :</translation>
</message>
<message>
<location filename="../src/userinfobox.cpp" line="72"/>
<location filename="../src/userinfobox.cpp" line="85"/>
<source>Administrator</source>
<translation></translation>
</message>
<message>
<location filename="../src/userinfobox.cpp" line="74"/>
<location filename="../src/userinfobox.cpp" line="87"/>
<source>Moderator</source>
<translation></translation>
</message>
<message>
<location filename="../src/userinfobox.cpp" line="76"/>
<location filename="../src/userinfobox.cpp" line="89"/>
<source>Registered user</source>
<translation> </translation>
</message>
<message>
<location filename="../src/userinfobox.cpp" line="78"/>
<location filename="../src/userinfobox.cpp" line="81"/>
<location filename="../src/userinfobox.cpp" line="91"/>
<location filename="../src/userinfobox.cpp" line="94"/>
<source>Unregistered user</source>
<translation> </translation>
</message>
<message>
<location filename="../src/userinfobox.cpp" line="84"/>
<location filename="../src/userinfobox.cpp" line="97"/>
<source>Unknown</source>
<translation></translation>
</message>
<message>
<location filename="../src/userinfobox.cpp" line="97"/>
<location filename="../src/userinfobox.cpp" line="110"/>
<source>Year</source>
<translation></translation>
</message>
<message>
<location filename="../src/userinfobox.cpp" line="97"/>
<location filename="../src/userinfobox.cpp" line="110"/>
<source>Years</source>
<translation></translation>
</message>
<message>
<location filename="../src/userinfobox.cpp" line="103"/>
<location filename="../src/userinfobox.cpp" line="116"/>
<source>Day</source>
<translation></translation>
</message>
<message>
<location filename="../src/userinfobox.cpp" line="103"/>
<location filename="../src/userinfobox.cpp" line="116"/>
<source>Days</source>
<translation></translation>
</message>
@ -4603,57 +4636,57 @@ Please enter a name:</source>
<context>
<name>UserInterfaceSettingsPage</name>
<message>
<location filename="../src/dlg_settings.cpp" line="510"/>
<location filename="../src/dlg_settings.cpp" line="505"/>
<source>General interface settings</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="511"/>
<location filename="../src/dlg_settings.cpp" line="506"/>
<source>Enable notifications in taskbar</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="512"/>
<location filename="../src/dlg_settings.cpp" line="507"/>
<source>&amp;Double-click cards to play them (instead of single-click)</source>
<translation> ( )</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="513"/>
<location filename="../src/dlg_settings.cpp" line="508"/>
<source>&amp;Play all nonlands onto the stack (not the battlefield) by default</source>
<translation> ( )</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="514"/>
<location filename="../src/dlg_settings.cpp" line="509"/>
<source>Animation settings</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="515"/>
<location filename="../src/dlg_settings.cpp" line="510"/>
<source>&amp;Tap/untap animation</source>
<translation>/ </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="516"/>
<location filename="../src/dlg_settings.cpp" line="511"/>
<source>Enable &amp;sounds</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="517"/>
<location filename="../src/dlg_settings.cpp" line="512"/>
<source>Path to sounds directory:</source>
<translation> :</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="518"/>
<location filename="../src/dlg_settings.cpp" line="513"/>
<source>Test system sound engine</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="519"/>
<location filename="../src/dlg_settings.cpp" line="514"/>
<source>Sound settings</source>
<translation> </translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="530"/>
<location filename="../src/dlg_settings.cpp" line="525"/>
<source>Choose path</source>
<translation> </translation>
</message>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -18,13 +18,22 @@ SET(oracle_SOURCES
../cockatrice/src/qt-json/json.cpp
)
if (UNIX AND NOT APPLE)
set_source_files_properties(src/main.cpp PROPERTIES COMPILE_FLAGS -DTRANSLATION_PATH=\\"${CMAKE_INSTALL_PREFIX}/share/oracle/translations\\")
endif (UNIX AND NOT APPLE)
set(oracle_RESOURCES oracle.qrc)
FILE(GLOB oracle_TS "${CMAKE_CURRENT_SOURCE_DIR}/translations/*.ts")
IF(UPDATE_TRANSLATIONS)
FILE(GLOB_RECURSE translate_oracle_SRCS ${CMAKE_SOURCE_DIR}/oracle/src/*.cpp ${CMAKE_SOURCE_DIR}/oracle/src/*.h)
SET(translate_SRCS ${translate_oracle_SRCS})
ENDIF(UPDATE_TRANSLATIONS)
if(WIN32)
set(oracle_SOURCES ${oracle_SOURCES} oracle.rc)
endif(WIN32)
if(APPLE)
set(MACOSX_BUNDLE_ICON_FILE appicon.icns)
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/resources/appicon.icns PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
@ -47,6 +56,12 @@ if(Qt4_FOUND)
# Let cmake chew Qt4's translations and resource files
# Note: header files are MOC-ed automatically by cmake
IF(UPDATE_TRANSLATIONS)
QT4_CREATE_TRANSLATION(oracle_QM ${translate_SRCS} ${oracle_TS})
ELSE(UPDATE_TRANSLATIONS)
QT4_ADD_TRANSLATION(oracle_QM ${oracle_TS})
ENDIF(UPDATE_TRANSLATIONS)
QT4_ADD_RESOURCES(oracle_RESOURCES_RCC ${oracle_RESOURCES})
endif()
@ -85,6 +100,12 @@ if(Qt5Widgets_FOUND)
# Let cmake chew Qt5's translations and resource files
# Note: header files are MOC-ed automatically by cmake
IF(UPDATE_TRANSLATIONS)
QT5_CREATE_TRANSLATION(oracle_QM ${translate_SRCS} ${oracle_TS})
ELSE()
QT5_ADD_TRANSLATION(oracle_QM ${oracle_TS})
ENDIF()
QT5_ADD_RESOURCES(oracle_RESOURCES_RCC ${oracle_RESOURCES})
# guess plugins and libraries directory
@ -105,7 +126,7 @@ ELSE()
ENDIF()
# Build oracle binary and link it
ADD_EXECUTABLE(oracle WIN32 MACOSX_BUNDLE ${oracle_SOURCES} ${oracle_RESOURCES_RCC} ${oracle_MOC_SRCS})
ADD_EXECUTABLE(oracle WIN32 MACOSX_BUNDLE ${oracle_SOURCES} ${oracle_QM} ${oracle_RESOURCES_RCC} ${oracle_MOC_SRCS})
if(Qt4_FOUND)
if(MSVC)
@ -134,14 +155,17 @@ if(UNIX)
set(MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION})
INSTALL(TARGETS oracle BUNDLE DESTINATION ./)
INSTALL(FILES ${oracle_QM} DESTINATION ./oracle.app/Contents/Resources/translations)
else()
# Assume linux
INSTALL(TARGETS oracle RUNTIME DESTINATION bin/)
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/resources/oracle.png DESTINATION ${ICONDIR}/hicolor/48x48/apps)
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/resources/oracle.svg DESTINATION ${ICONDIR}/hicolor/scalable/apps)
INSTALL(FILES ${oracle_QM} DESTINATION share/oracle/translations)
endif()
elseif(WIN32)
INSTALL(TARGETS oracle RUNTIME DESTINATION ./)
INSTALL(FILES ${oracle_QM} DESTINATION ./translations)
endif()
IF (NOT WIN32 AND NOT APPLE)

View file

@ -1,11 +1,33 @@
#include <QApplication>
#include <QTextCodec>
#include <QIcon>
#include <QTranslator>
#include <QLibraryInfo>
#include "main.h"
#include "oraclewizard.h"
#include "settingscache.h"
QTranslator *translator, *qtTranslator;
SettingsCache *settingsCache;
const QString translationPrefix = "oracle";
#ifdef TRANSLATION_PATH
QString translationPath = TRANSLATION_PATH;
#else
QString translationPath = QString();
#endif
void installNewTranslator()
{
QString lang = settingsCache->getLang();
qtTranslator->load("qt_" + lang, QLibraryInfo::location(QLibraryInfo::TranslationsPath));
qApp->installTranslator(qtTranslator);
translator->load(translationPrefix + "_" + lang, translationPath);
qApp->installTranslator(translator);
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
@ -20,8 +42,20 @@ int main(int argc, char *argv[])
// this can't be changed, as it influences the default savepath for cards.xml
QCoreApplication::setApplicationName("Cockatrice");
if (translationPath.isEmpty()) {
#ifdef Q_OS_MAC
translationPath = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
#elif defined(Q_OS_WIN)
translationPath = app.applicationDirPath() + "/translations";
#endif
}
settingsCache = new SettingsCache;
qtTranslator = new QTranslator;
translator = new QTranslator;
installNewTranslator();
OracleWizard wizard;
QIcon icon(":/resources/appicon.svg");

12
oracle/src/main.h Normal file
View file

@ -0,0 +1,12 @@
#ifndef MAIN_H
#define MAIN_H
class QTranslator;
extern QTranslator *translator;
extern const QString translationPrefix;
extern QString translationPath;
void installNewTranslator();
#endif

View file

@ -12,6 +12,7 @@
#include <QFileDialog>
#include <QGridLayout>
#include <QLabel>
#include <QComboBox>
#include <QLineEdit>
#include <QMessageBox>
#include <QNetworkAccessManager>
@ -25,6 +26,8 @@
#include "oraclewizard.h"
#include "oracleimporter.h"
#include "main.h"
#include "settingscache.h"
#ifdef HAS_ZLIB
#include "zip/unzip.h"
@ -40,6 +43,7 @@ OracleWizard::OracleWizard(QWidget *parent)
: QWizard(parent)
{
settings = new QSettings(this);
connect(settingsCache, SIGNAL(langChanged()), this, SLOT(updateLanguage()));
importer = new OracleImporter(
#if QT_VERSION < 0x050000
@ -54,8 +58,29 @@ OracleWizard::OracleWizard(QWidget *parent)
addPage(new ChooseSetsPage);
addPage(new SaveSetsPage);
retranslateUi();
}
void OracleWizard::updateLanguage()
{
qApp->removeTranslator(translator);
installNewTranslator();
}
void OracleWizard::changeEvent(QEvent *event)
{
if (event->type() == QEvent::LanguageChange)
retranslateUi();
QDialog::changeEvent(event);
}
void OracleWizard::retranslateUi()
{
setWindowTitle(tr("Oracle Importer"));
QWizard::setButtonText(QWizard::FinishButton, tr("Save"));
for (int i = 0; i < pageIds().count(); i++)
dynamic_cast<OracleWizardPage *>(page(i))->retranslateUi();
}
void OracleWizard::accept()
@ -78,31 +103,66 @@ void OracleWizard::disableButtons()
IntroPage::IntroPage(QWidget *parent)
: OracleWizardPage(parent)
{
setTitle(tr("Introduction"));
label = new QLabel(tr("This wizard will import the list of sets and cards "
"that will be used by Cockatrice. You will need to "
"specify an url or a filename that will be used as a "
"source, and then choose the wanted sets from the list "
"of the available ones."),
this);
label = new QLabel(this);
label->setWordWrap(true);
QVBoxLayout *layout = new QVBoxLayout(this);
layout->addWidget(label);
languageLabel = new QLabel(this);
languageBox = new QComboBox(this);
QString setLanguage = settingsCache->getLang();
QStringList qmFiles = findQmFiles();
for (int i = 0; i < qmFiles.size(); i++) {
QString langName = languageName(qmFiles[i]);
languageBox->addItem(langName, qmFiles[i]);
if ((qmFiles[i] == setLanguage) || (setLanguage.isEmpty() && langName == tr("English")))
languageBox->setCurrentIndex(i);
}
connect(languageBox, SIGNAL(currentIndexChanged(int)), this, SLOT(languageBoxChanged(int)));
QGridLayout *layout = new QGridLayout(this);
layout->addWidget(label, 0, 0, 1, 2);
layout->addWidget(languageLabel, 1, 0);
layout->addWidget(languageBox, 1, 1);
setLayout(layout);
}
QStringList IntroPage::findQmFiles()
{
QDir dir(translationPath);
QStringList fileNames = dir.entryList(QStringList(translationPrefix + "_*.qm"), QDir::Files, QDir::Name);
fileNames.replaceInStrings(QRegExp(translationPrefix + "_(.*)\\.qm"), "\\1");
return fileNames;
}
QString IntroPage::languageName(const QString &qmFile)
{
QTranslator translator;
translator.load(translationPrefix + "_" + qmFile + ".qm", translationPath);
return translator.translate("IntroPage", "English");
}
void IntroPage::languageBoxChanged(int index)
{
settingsCache->setLang(languageBox->itemData(index).toString());
}
void IntroPage::retranslateUi()
{
setTitle(tr("Introduction"));
label->setText(tr("This wizard will import the list of sets and cards "
"that will be used by Cockatrice.<br/>You will need to "
"specify an url or a filename that will be used as a "
"source, and then choose the wanted sets from the list "
"of the available ones."));
languageLabel->setText(tr("Language:"));
}
LoadSetsPage::LoadSetsPage(QWidget *parent)
: OracleWizardPage(parent), nam(0)
{
setTitle(tr("Source selection"));
setSubTitle(tr("Please specify a source for the list of sets and cards. "
"You can specify an url address that will be download or "
"use an existing file from your computer."));
urlRadioButton = new QRadioButton(tr("Download url:"), this);
fileRadioButton = new QRadioButton(tr("Local file:"), this);
urlRadioButton = new QRadioButton(this);
fileRadioButton = new QRadioButton(this);
urlLineEdit = new QLineEdit(this);
fileLineEdit = new QLineEdit(this);
@ -112,10 +172,10 @@ LoadSetsPage::LoadSetsPage(QWidget *parent)
urlRadioButton->setChecked(true);
urlButton = new QPushButton(tr("Restore default url"), this);
urlButton = new QPushButton(this);
connect(urlButton, SIGNAL(clicked()), this, SLOT(actRestoreDefaultUrl()));
fileButton = new QPushButton(tr("Choose file..."), this);
fileButton = new QPushButton(this);
connect(fileButton, SIGNAL(clicked()), this, SLOT(actLoadSetsFile()));
QGridLayout *layout = new QGridLayout(this);
@ -141,6 +201,19 @@ void LoadSetsPage::initializePage()
progressBar->hide();
}
void LoadSetsPage::retranslateUi()
{
setTitle(tr("Source selection"));
setSubTitle(tr("Please specify a source for the list of sets and cards. "
"You can specify an url address that will be download or "
"use an existing file from your computer."));
urlRadioButton->setText(tr("Download url:"));
fileRadioButton->setText(tr("Local file:"));
urlButton->setText(tr("Restore default url"));
fileButton->setText(tr("Choose file..."));
}
void LoadSetsPage::actRestoreDefaultUrl()
{
urlLineEdit->setText(ALLSETS_URL);
@ -356,11 +429,6 @@ void LoadSetsPage::importFinished()
ChooseSetsPage::ChooseSetsPage(QWidget *parent)
: OracleWizardPage(parent)
{
setTitle(tr("Sets selection"));
setSubTitle(tr("The following sets has been found in the source file. "
"Please mark the sets that will be imported.\n"
"All core and expansion sets are selected by default."));
checkBoxLayout = new QVBoxLayout;
QWidget *checkboxFrame = new QWidget(this);
@ -370,9 +438,9 @@ ChooseSetsPage::ChooseSetsPage(QWidget *parent)
checkboxArea->setWidget(checkboxFrame);
checkboxArea->setWidgetResizable(true);
checkAllButton = new QPushButton(tr("&Check all"));
checkAllButton = new QPushButton(this);
connect(checkAllButton, SIGNAL(clicked()), this, SLOT(actCheckAll()));
uncheckAllButton = new QPushButton(tr("&Uncheck all"));
uncheckAllButton = new QPushButton(this);
connect(uncheckAllButton, SIGNAL(clicked()), this, SLOT(actUncheckAll()));
QGridLayout *layout = new QGridLayout(this);
@ -400,6 +468,17 @@ void ChooseSetsPage::initializePage()
}
}
void ChooseSetsPage::retranslateUi()
{
setTitle(tr("Sets selection"));
setSubTitle(tr("The following sets has been found in the source file. "
"Please mark the sets that will be imported.\n"
"All core and expansion sets are selected by default."));
checkAllButton->setText(tr("&Check all"));
uncheckAllButton->setText(tr("&Uncheck all"));
}
void ChooseSetsPage::checkBoxChanged(int state)
{
QCheckBox *checkBox = qobject_cast<QCheckBox *>(sender());
@ -438,12 +517,7 @@ bool ChooseSetsPage::validatePage()
SaveSetsPage::SaveSetsPage(QWidget *parent)
: OracleWizardPage(parent)
{
setTitle(tr("Sets imported"));
setSubTitle(tr("The following sets has been imported. "
"Press \"Save\" to save the imported cards to the Cockatrice database."));
defaultPathCheckBox = new QCheckBox(this);
defaultPathCheckBox->setText(tr("Save to the default path (recommended)"));
defaultPathCheckBox->setChecked(true);
messageLog = new QTextEdit(this);
@ -471,6 +545,15 @@ void SaveSetsPage::initializePage()
QMessageBox::critical(this, tr("Error"), tr("No set has been imported."));
}
void SaveSetsPage::retranslateUi()
{
setTitle(tr("Sets imported"));
setSubTitle(tr("The following sets has been imported. "
"Press \"Save\" to save the imported cards to the Cockatrice database."));
defaultPathCheckBox->setText(tr("Save to the default path (recommended)"));
}
void SaveSetsPage::updateTotalProgress(int cardsImported, int /* setIndex */, const QString &setName)
{
if (setName.isEmpty()) {

View file

@ -7,6 +7,7 @@
class QCheckBox;
class QGroupBox;
class QComboBox;
class QLabel;
class QLineEdit;
class QRadioButton;
@ -25,9 +26,17 @@ public:
void accept();
void enableButtons();
void disableButtons();
void retranslateUi();
public:
OracleImporter *importer;
QSettings * settings;
private slots:
void updateLanguage();
private:
QStringList findQmFiles();
QString languageName(const QString &qmFile);
protected:
void changeEvent(QEvent *event);
};
@ -36,6 +45,7 @@ class OracleWizardPage : public QWizardPage
Q_OBJECT
public:
OracleWizardPage(QWidget *parent = 0): QWizardPage(parent) {};
virtual void retranslateUi() = 0;
protected:
inline OracleWizard *wizard() { return (OracleWizard*) QWizardPage::wizard(); };
};
@ -44,9 +54,16 @@ class IntroPage : public OracleWizardPage
{
Q_OBJECT
public:
IntroPage(QWidget *parent = 0);
IntroPage(QWidget *parent = 0);
void retranslateUi();
private:
QLabel *label;
QStringList findQmFiles();
QString languageName(const QString &qmFile);
private:
QLabel *label, *languageLabel;
QComboBox *languageBox;
private slots:
void languageBoxChanged(int index);
};
class LoadSetsPage : public OracleWizardPage
@ -54,6 +71,7 @@ class LoadSetsPage : public OracleWizardPage
Q_OBJECT
public:
LoadSetsPage(QWidget *parent = 0);
void retranslateUi();
protected:
void initializePage();
bool validatePage();
@ -85,6 +103,7 @@ class ChooseSetsPage : public OracleWizardPage
Q_OBJECT
public:
ChooseSetsPage(QWidget *parent = 0);
void retranslateUi();
protected:
void initializePage();
bool validatePage();
@ -103,6 +122,7 @@ class SaveSetsPage : public OracleWizardPage
Q_OBJECT
public:
SaveSetsPage(QWidget *parent = 0);
void retranslateUi();
private:
QTextEdit *messageLog;
QCheckBox * defaultPathCheckBox;

View file

@ -0,0 +1,330 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en_US">
<context>
<name>ChooseSetsPage</name>
<message>
<source>Sets selection</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The following sets has been found in the source file. Please mark the sets that will be imported.
All core and expansion sets are selected by default.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Check all</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Uncheck all</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Please mark at least one set.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>IntroPage</name>
<message>
<source>Introduction</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>English</source>
<translation>English</translation>
</message>
<message>
<source>Language:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>This wizard will import the list of sets and cards that will be used by Cockatrice.&lt;br/&gt;You will need to specify an url or a filename that will be used as a source, and then choose the wanted sets from the list of the available ones.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LoadSetsPage</name>
<message>
<source>Source selection</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Please specify a source for the list of sets and cards. You can specify an url address that will be download or use an existing file from your computer.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Download url:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Local file:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Restore default url</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Choose file...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Load sets file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Sets JSON file (*.json *.zip)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Sets JSON file (*.json)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The provided url is not valid.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Downloading (0MB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Please choose a file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot open file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Downloading (%1MB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Network error: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Parsing file</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Failed to open Zip archive: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Zip extraction failed: the Zip archive doesn&apos;t contain exactly one file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Zip extraction failed: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Sorry, this version of Oracle does not support zipped files.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Do you want to try to download a fresh copy of the uncompressed file instead?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The file was retrieved successfully, but it does not contain any sets data.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OracleImporter</name>
<message>
<source>Dummy set containing tokens</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OracleWizard</name>
<message>
<source>Oracle Importer</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SaveSetsPage</name>
<message>
<source>Sets imported</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The following sets has been imported. Press &quot;Save&quot; to save the imported cards to the Cockatrice database.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Save to the default path (recommended)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No set has been imported.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Import finished: %1 cards.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>%1: %2 cards imported</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Save card database</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>XML; card database (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Success</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The card database has been saved successfully to
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The file could not be saved to %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>UnZip</name>
<message>
<source>ZIP operation completed successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Failed to initialize or load zlib library.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>zlib library error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unable to create or open file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Partially corrupted archive. Some files might be extracted.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Corrupted archive.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Wrong password.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No archive has been created yet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>File or directory does not exist.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>File read error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>File write error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>File seek error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unable to create a directory.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Invalid device.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Invalid or incompatible zip archive.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Inconsistent headers. Archive might be corrupted.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unknown error.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Zip</name>
<message>
<source>ZIP operation completed successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Failed to initialize or load zlib library.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>zlib library error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unable to create or open file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No archive has been created yet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>File or directory does not exist.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>File read error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>File write error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>File seek error.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unknown error.</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View file

@ -0,0 +1,332 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en_US">
<context>
<name>ChooseSetsPage</name>
<message>
<source>Sets selection</source>
<translation>Selezione dei set</translation>
</message>
<message>
<source>The following sets has been found in the source file. Please mark the sets that will be imported.
All core and expansion sets are selected by default.</source>
<translation>I seguenti set sono stati trovati nel file. Seleziona i set che verranno importati.
Tutti i set base e le espansioni sono selezionate di default.</translation>
</message>
<message>
<source>&amp;Check all</source>
<translation>Seleziona tutti</translation>
</message>
<message>
<source>&amp;Uncheck all</source>
<translation>Deseleziona tutti</translation>
</message>
<message>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
<source>Please mark at least one set.</source>
<translation>Seleziona perlomeno un set.</translation>
</message>
</context>
<context>
<name>IntroPage</name>
<message>
<source>Introduction</source>
<translation>Introduzione</translation>
</message>
<message>
<source>English</source>
<translation>Italiano</translation>
</message>
<message>
<source>Language:</source>
<translation>Lingua:</translation>
</message>
<message>
<source>This wizard will import the list of sets and cards that will be used by Cockatrice.&lt;br/&gt;You will need to specify an url or a filename that will be used as a source, and then choose the wanted sets from the list of the available ones.</source>
<translation>Questo wizard importerà la lista dei set e delle carte che verranno usate da Cockatrice.&lt;br/&gt;Dovrai specificare un indirizzo url o il nome di un file che verrà utilizzato come sorgente, e poi selezionare i set dalla lista di quelli disponibili.</translation>
</message>
</context>
<context>
<name>LoadSetsPage</name>
<message>
<source>Source selection</source>
<translation>Selezione sorgente</translation>
</message>
<message>
<source>Please specify a source for the list of sets and cards. You can specify an url address that will be download or use an existing file from your computer.</source>
<translation>Specifica una sorgente per la lista dei set e delle carte. Puoi specificare un indirizzo url da cui scaricare il file o alternativamente usare un file già presente nel tuo computer.</translation>
</message>
<message>
<source>Download url:</source>
<translation>Indirizzo download:</translation>
</message>
<message>
<source>Local file:</source>
<translation>File nel pc:</translation>
</message>
<message>
<source>Restore default url</source>
<translation>Usa l&apos;indirizzo predefinito</translation>
</message>
<message>
<source>Choose file...</source>
<translation>Scegli file...</translation>
</message>
<message>
<source>Load sets file</source>
<translation>Carica file dei set</translation>
</message>
<message>
<source>Sets JSON file (*.json *.zip)</source>
<translation>File dei set JSON (*.json *.zip)</translation>
</message>
<message>
<source>Sets JSON file (*.json)</source>
<translation>File set set JSON (*.json)</translation>
</message>
<message>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
<source>The provided url is not valid.</source>
<translation>L&apos;indirizzo specificato non è valido.</translation>
</message>
<message>
<source>Downloading (0MB)</source>
<translation>Scaricamento (0MB)</translation>
</message>
<message>
<source>Please choose a file.</source>
<translation>Selezina un file.</translation>
</message>
<message>
<source>Cannot open file &apos;%1&apos;.</source>
<translation>Impossibile aprire il file &apos;%1&apos;.</translation>
</message>
<message>
<source>Downloading (%1MB)</source>
<translation>Scaricamento (%1MB)</translation>
</message>
<message>
<source>Network error: %1.</source>
<translation>Errore di rete: %1</translation>
</message>
<message>
<source>Parsing file</source>
<translation>Analisi dei file</translation>
</message>
<message>
<source>Failed to open Zip archive: %1.</source>
<translation>Impossibile aprire il file Zip: %1</translation>
</message>
<message>
<source>Zip extraction failed: the Zip archive doesn&apos;t contain exactly one file.</source>
<translation>Estrazione file Zip fallita: lo Zip non contiene un solo file.</translation>
</message>
<message>
<source>Zip extraction failed: %1.</source>
<translation>Estrazione file Zip fallita: %1</translation>
</message>
<message>
<source>Sorry, this version of Oracle does not support zipped files.</source>
<translation>Spiacente, ma questa versione di Oracle non supporta in file zippati.</translation>
</message>
<message>
<source>Do you want to try to download a fresh copy of the uncompressed file instead?</source>
<translation>Vuoi provare a riscaricare un copia pulita del file non zippato?</translation>
</message>
<message>
<source>The file was retrieved successfully, but it does not contain any sets data.</source>
<translation>Il file è stato analizzato correttamente, ma non contiene i dati di nessun set.</translation>
</message>
</context>
<context>
<name>OracleImporter</name>
<message>
<source>Dummy set containing tokens</source>
<translation>Set finto contenente i token</translation>
</message>
</context>
<context>
<name>OracleWizard</name>
<message>
<source>Oracle Importer</source>
<translation>Oracle Importer</translation>
</message>
<message>
<source>Save</source>
<translation>Salva</translation>
</message>
</context>
<context>
<name>SaveSetsPage</name>
<message>
<source>Sets imported</source>
<translation>Set importati</translation>
</message>
<message>
<source>The following sets has been imported. Press &quot;Save&quot; to save the imported cards to the Cockatrice database.</source>
<translation>I seguenti set sono stati importati. Premi &quot;Salva&quot; per salvare le carte importate nell&apos;archivio di Cockatrice.</translation>
</message>
<message>
<source>Save to the default path (recommended)</source>
<translation>Salva nel percorso predefinito (raccomandato)</translation>
</message>
<message>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
<source>No set has been imported.</source>
<translation>Nessun set importato.</translation>
</message>
<message>
<source>Import finished: %1 cards.</source>
<translation>Importazione conclusa: %1 carte.</translation>
</message>
<message>
<source>%1: %2 cards imported</source>
<translation>%1: %2 carte importate</translation>
</message>
<message>
<source>Save card database</source>
<translation>Salva archivio carte</translation>
</message>
<message>
<source>XML; card database (*.xml)</source>
<translation>XML; archivio carte (*.xml)</translation>
</message>
<message>
<source>Success</source>
<translation>Successo</translation>
</message>
<message>
<source>The card database has been saved successfully to
%1</source>
<translation>L&apos;archivio delle carte è stato salvato correttamente su
%1</translation>
</message>
<message>
<source>The file could not be saved to %1</source>
<translation>Impossibile salvare il file su %1</translation>
</message>
</context>
<context>
<name>UnZip</name>
<message>
<source>ZIP operation completed successfully.</source>
<translation>Operazione ZIP completata con successo.</translation>
</message>
<message>
<source>Failed to initialize or load zlib library.</source>
<translation>Impossibile caricare le libreria zlib.</translation>
</message>
<message>
<source>zlib library error.</source>
<translation>errore libreria zlib.</translation>
</message>
<message>
<source>Unable to create or open file.</source>
<translation>Impossibile creare o aprire il file.</translation>
</message>
<message>
<source>Partially corrupted archive. Some files might be extracted.</source>
<translation>Archivio parzialmente danneggiato. Alcuni file potrebbero essere stati estratti.</translation>
</message>
<message>
<source>Corrupted archive.</source>
<translation>Archivio danneggiato.</translation>
</message>
<message>
<source>Wrong password.</source>
<translation>Password sbagliata.</translation>
</message>
<message>
<source>No archive has been created yet.</source>
<translation>L&apos;archivio non è ancora stato creato.</translation>
</message>
<message>
<source>File or directory does not exist.</source>
<translation>Il file o la cartella non esiste.</translation>
</message>
<message>
<source>File read error.</source>
<translation>Errore di lettura del file.</translation>
</message>
<message>
<source>File write error.</source>
<translation>Errore di scrittura del file.</translation>
</message>
<message>
<source>File seek error.</source>
<translation>Errore di ricerca nel file.</translation>
</message>
<message>
<source>Unable to create a directory.</source>
<translation>Impossibile creare una cartella.</translation>
</message>
<message>
<source>Invalid device.</source>
<translation>Dispositivo non valido.</translation>
</message>
<message>
<source>Invalid or incompatible zip archive.</source>
<translation>Archivio zip non valido o incompatibile.</translation>
</message>
<message>
<source>Inconsistent headers. Archive might be corrupted.</source>
<translation>Intestazioni inconsistenti. L&apos;archivio potrebbe essere danneggiato.</translation>
</message>
<message>
<source>Unknown error.</source>
<translation>Errore sconosciuto.</translation>
</message>
</context>
<context>
<name>Zip</name>
<message>
<source>ZIP operation completed successfully.</source>
<translation>Operazione ZIP completata con successo.</translation>
</message>
<message>
<source>Failed to initialize or load zlib library.</source>
<translation>Impossibile caricare le libreria zlib.</translation>
</message>
<message>
<source>zlib library error.</source>
<translation>errore libreria zlib.</translation>
</message>
<message>
<source>Unable to create or open file.</source>
<translation>Impossibile creare o aprire il file.</translation>
</message>
<message>
<source>No archive has been created yet.</source>
<translation>L&apos;archivio non è ancora stato creato.</translation>
</message>
<message>
<source>File or directory does not exist.</source>
<translation>Il file o la cartella non esiste.</translation>
</message>
<message>
<source>File read error.</source>
<translation>Errore di lettura del file.</translation>
</message>
<message>
<source>File write error.</source>
<translation>Errore di scrittura del file.</translation>
</message>
<message>
<source>File seek error.</source>
<translation>Errore di ricerca nel file.</translation>
</message>
<message>
<source>Unknown error.</source>
<translation>Errore sconosciuto.</translation>
</message>
</context>
</TS>