Translation management extended and moved from settings dialog to Translate toolbar
This commit is contained in:
parent
a66128b8ca
commit
e19a98a249
1963
ZRCola/ZRCola.fbp
1963
ZRCola/ZRCola.fbp
File diff suppressed because it is too large
Load Diff
@ -91,6 +91,7 @@
|
||||
<ClCompile Include="zrcolagui.cpp" />
|
||||
<ClCompile Include="zrcolakeyhndlr.cpp" />
|
||||
<ClCompile Include="zrcolasettings.cpp" />
|
||||
<ClCompile Include="zrcolatranseq.cpp" />
|
||||
<ClCompile Include="zrcolaupdater.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -106,6 +107,7 @@
|
||||
<ClInclude Include="zrcolagui.h" />
|
||||
<ClInclude Include="zrcolakeyhndlr.h" />
|
||||
<ClInclude Include="zrcolasettings.h" />
|
||||
<ClInclude Include="zrcolatranseq.h" />
|
||||
<ClInclude Include="zrcolaupdater.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -139,7 +141,9 @@
|
||||
<None Include="res\send_composed.ico" />
|
||||
<None Include="res\send_decomposed.ico" />
|
||||
<None Include="res\zrcola.ico" />
|
||||
<None Include="ZRCola.fbp" />
|
||||
<None Include="ZRCola.fbp">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="ZRCola.rc" />
|
||||
|
@ -58,6 +58,9 @@
|
||||
<ClCompile Include="zrcolachrreq.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="zrcolatranseq.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="stdafx.h">
|
||||
@ -99,6 +102,9 @@
|
||||
<ClInclude Include="zrcolachrreq.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="zrcolatranseq.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="res\zrcola.ico">
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,15 +1,15 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ZRCola\n"
|
||||
"POT-Creation-Date: 2017-04-03 12:04+0200\n"
|
||||
"PO-Revision-Date: 2017-04-03 12:05+0200\n"
|
||||
"POT-Creation-Date: 2017-06-01 18:04+0200\n"
|
||||
"PO-Revision-Date: 2017-06-01 18:04+0200\n"
|
||||
"Last-Translator: Simon Rozman <simon.rozman@amebis.si>\n"
|
||||
"Language-Team: Amebis, d. o. o., Kamnik <info@amebis.si>\n"
|
||||
"Language: de_DE\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.8.11\n"
|
||||
"X-Generator: Poedit 2.0.2\n"
|
||||
"X-Poedit-Basepath: .\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
@ -20,7 +20,7 @@ msgstr ""
|
||||
msgid "© 2004-%s ZRC SAZU"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolaapp.cpp:72 zrcolafrm.cpp:92 zrcolagui.cpp:980 zrcolagui.h:106
|
||||
#: zrcolaapp.cpp:72 zrcolafrm.cpp:106 zrcolagui.cpp:894 zrcolagui.h:108
|
||||
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
@ -28,17 +28,17 @@ msgstr ""
|
||||
msgid "ZRCola"
|
||||
msgstr "ZRCola"
|
||||
|
||||
#: zrcolachrreq.cpp:49 zrcolagui.cpp:1110
|
||||
#: zrcolachrreq.cpp:49 zrcolagui.cpp:1024
|
||||
#, fuzzy
|
||||
msgid "Character"
|
||||
msgstr "Eingabe eines Zeichenstils"
|
||||
|
||||
#: zrcolachrreq.cpp:58 zrcolagui.cpp:1131
|
||||
#: zrcolachrreq.cpp:58 zrcolagui.cpp:1045
|
||||
#, fuzzy
|
||||
msgid "Context"
|
||||
msgstr "Konnte den Kontext auf dem überlagerten Fenster nicht initialisieren."
|
||||
|
||||
#: zrcolachrreq.cpp:64 zrcolagui.h:379
|
||||
#: zrcolachrreq.cpp:64 zrcolagui.h:366
|
||||
msgid "Request a New Character"
|
||||
msgstr ""
|
||||
|
||||
@ -69,24 +69,28 @@ msgstr ", "
|
||||
msgid "▾ Search Options"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolafrm.cpp:143
|
||||
#: zrcolafrm.cpp:90
|
||||
msgid "Custom Translation..."
|
||||
msgstr ""
|
||||
|
||||
#: zrcolafrm.cpp:175
|
||||
msgid "ZRCola keyboard shortcut Win+F5 could not be registered. Some functionality will not be available."
|
||||
msgstr ""
|
||||
|
||||
#: zrcolafrm.cpp:143 zrcolafrm.cpp:145
|
||||
#: zrcolafrm.cpp:175 zrcolafrm.cpp:177
|
||||
#, fuzzy
|
||||
msgid "Warning"
|
||||
msgstr "Warnung: "
|
||||
|
||||
#: zrcolafrm.cpp:145
|
||||
#: zrcolafrm.cpp:177
|
||||
msgid "ZRCola keyboard shortcut Win+F6 could not be registered. Some functionality will not be available."
|
||||
msgstr ""
|
||||
|
||||
#: zrcolafrm.cpp:362
|
||||
#: zrcolafrm.cpp:410
|
||||
msgid "http://zrcola.zrc-sazu.si/en/info/instructions/"
|
||||
msgstr "http://zrcola.zrc-sazu.si/de/info/instructions/"
|
||||
|
||||
#: zrcolafrm.cpp:386
|
||||
#: zrcolafrm.cpp:434
|
||||
msgid "http://zrcola.zrc-sazu.si/wp-content/uploads/2016/06/ZRCola_tipkovnica_Jun2016.pdf"
|
||||
msgstr "http://zrcola.zrc-sazu.si/wp-content/uploads/2016/06/ZRCola_tipkovnica_Jun2016.pdf"
|
||||
|
||||
@ -239,8 +243,9 @@ msgid "Check online for product update"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:180
|
||||
#, fuzzy
|
||||
msgid "&About..."
|
||||
msgstr ""
|
||||
msgstr "Über..."
|
||||
|
||||
#: zrcolagui.cpp:183
|
||||
#, fuzzy
|
||||
@ -297,237 +302,203 @@ msgstr "Pošlji sestavljeno (F5)"
|
||||
msgid "Send Decomposed"
|
||||
msgstr "Pošlji razstavljeno (F6)"
|
||||
|
||||
#: zrcolagui.cpp:205
|
||||
#: zrcolagui.cpp:209
|
||||
msgid "Compose"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:209
|
||||
#: zrcolagui.cpp:213
|
||||
msgid "Character Catalog"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:213
|
||||
#: zrcolagui.cpp:217
|
||||
msgid "(De)Composer"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:252
|
||||
#: zrcolagui.cpp:258
|
||||
msgid "Decomposed Text"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:272
|
||||
#: zrcolagui.cpp:278
|
||||
msgid "Decomposed Unicode Dump"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:299
|
||||
#: zrcolagui.cpp:305
|
||||
msgid "Composed Text"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:319
|
||||
#: zrcolagui.cpp:325
|
||||
msgid "Composed Unicode Dump"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:373
|
||||
#: zrcolagui.cpp:379
|
||||
msgid "Select category to display"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:407
|
||||
#: zrcolagui.cpp:413
|
||||
#, fuzzy
|
||||
msgid "Show &All"
|
||||
msgstr "Alles zeigen"
|
||||
|
||||
#: zrcolagui.cpp:408
|
||||
#: zrcolagui.cpp:414
|
||||
msgid "Toggle display of less frequent characters"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:448
|
||||
#: zrcolagui.cpp:454
|
||||
#, fuzzy
|
||||
msgid "&Browse"
|
||||
msgstr "Durchsuchen"
|
||||
|
||||
#: zrcolagui.cpp:455
|
||||
#: zrcolagui.cpp:461
|
||||
msgid "Full or partial terms from Unicode character description (in English) to search for"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:459
|
||||
#: zrcolagui.cpp:465
|
||||
msgid "Search Options"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:460
|
||||
#: zrcolagui.cpp:466
|
||||
msgid "Shows/hides additional search options"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:472
|
||||
#: zrcolagui.cpp:478
|
||||
msgid "List of Unicode character categories to search in"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:479
|
||||
#: zrcolagui.cpp:485
|
||||
#, fuzzy
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
#: zrcolagui.cpp:480
|
||||
#: zrcolagui.cpp:486
|
||||
msgid "Select all categories"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:484
|
||||
#, fuzzy
|
||||
msgid "None"
|
||||
msgstr "Kein"
|
||||
|
||||
#: zrcolagui.cpp:485
|
||||
#, fuzzy
|
||||
msgid "Clear category selection"
|
||||
msgstr "Auswahl kopieren"
|
||||
|
||||
#: zrcolagui.cpp:489
|
||||
msgid "Invert"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:490
|
||||
#, fuzzy
|
||||
msgid "None"
|
||||
msgstr "Kein"
|
||||
|
||||
#: zrcolagui.cpp:491
|
||||
#, fuzzy
|
||||
msgid "Clear category selection"
|
||||
msgstr "Auswahl kopieren"
|
||||
|
||||
#: zrcolagui.cpp:495
|
||||
msgid "Invert"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:496
|
||||
#, fuzzy
|
||||
msgid "Invert category selection"
|
||||
msgstr "Auswahl einfügen"
|
||||
|
||||
#: zrcolagui.cpp:529
|
||||
#: zrcolagui.cpp:535
|
||||
#, fuzzy
|
||||
msgid "Character search results"
|
||||
msgstr "Skupine &znakov"
|
||||
|
||||
#: zrcolagui.cpp:539
|
||||
#: zrcolagui.cpp:545
|
||||
msgid "Re¢ly Used"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:567
|
||||
#: zrcolagui.cpp:573
|
||||
msgid "List of recently inserted characters"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:581
|
||||
#: zrcolagui.cpp:587
|
||||
#, fuzzy
|
||||
msgid "Preview"
|
||||
msgstr " Vorschau"
|
||||
|
||||
#: zrcolagui.cpp:586
|
||||
#: zrcolagui.cpp:592
|
||||
msgid "U+"
|
||||
msgstr "U+"
|
||||
|
||||
#: zrcolagui.cpp:591
|
||||
#: zrcolagui.cpp:597
|
||||
msgid "Unicode hexadecimal code"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:596
|
||||
#: zrcolagui.cpp:602
|
||||
msgid "Keyboard shortcut in Composer window"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:631
|
||||
#: zrcolagui.cpp:637
|
||||
#, fuzzy
|
||||
msgid "Character preview"
|
||||
msgstr "Skupine &znakov"
|
||||
|
||||
#: zrcolagui.cpp:636
|
||||
#: zrcolagui.cpp:642
|
||||
msgid "Unicode character description"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:641
|
||||
#: zrcolagui.cpp:647
|
||||
#, fuzzy
|
||||
msgid "Character tags"
|
||||
msgstr "Eingabe eines Zeichenstils"
|
||||
|
||||
#: zrcolagui.cpp:646
|
||||
#: zrcolagui.cpp:652
|
||||
msgid "Unicode character category"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:653
|
||||
#, fuzzy
|
||||
msgid "« Back"
|
||||
msgstr "< &Zurück"
|
||||
|
||||
#: zrcolagui.cpp:655
|
||||
msgid "To previously viewed character"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:659
|
||||
#, fuzzy
|
||||
msgid "« Back"
|
||||
msgstr "< &Zurück"
|
||||
|
||||
#: zrcolagui.cpp:661
|
||||
msgid "To previously viewed character"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:665
|
||||
#, fuzzy
|
||||
msgid "Forward »"
|
||||
msgstr "&Vorwärts"
|
||||
|
||||
#: zrcolagui.cpp:661
|
||||
#: zrcolagui.cpp:667
|
||||
msgid "To following viewed character"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:672
|
||||
#: zrcolagui.cpp:678
|
||||
msgid "Re&lated"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:699
|
||||
#: zrcolagui.cpp:705
|
||||
msgid "List of related characters"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:790
|
||||
#: zrcolagui.cpp:794
|
||||
msgid ""
|
||||
"Some character native to specific language you are working with should not decompose to primitives.\n"
|
||||
"For optimal decomposition you should set the language correctly."
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:794
|
||||
#: zrcolagui.cpp:798
|
||||
msgid "Select language &automatically according to selected keyboard"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:797
|
||||
#: zrcolagui.cpp:801
|
||||
msgid "&Manually select the language from the list below:"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:809
|
||||
#: zrcolagui.cpp:812
|
||||
msgid "Text Language"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:816
|
||||
msgid ""
|
||||
"ZRCola offers multiple text transformations that can be arranged in a sequence.\n"
|
||||
"Please select desired transformations and the order they are applied."
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:831
|
||||
msgid "A&vailable:"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:844
|
||||
msgid ">"
|
||||
msgstr ">"
|
||||
|
||||
#: zrcolagui.cpp:847
|
||||
msgid "<"
|
||||
msgstr "<"
|
||||
|
||||
#: zrcolagui.cpp:856
|
||||
msgid "&Active:"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:872
|
||||
msgid "Up"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:875
|
||||
msgid "Down"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:885
|
||||
msgid "Transformation"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:892
|
||||
#: zrcolagui.cpp:817
|
||||
msgid ""
|
||||
"ZRCola can be launched every time you log in to your computer.\n"
|
||||
"It will be available on the system tray and via registered shortcuts Win+F5 and Win+F6."
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:896
|
||||
#: zrcolagui.cpp:821
|
||||
msgid "Start ZRCola &automatically on logon"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:903
|
||||
#: zrcolagui.cpp:827
|
||||
msgid "Startup"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:991
|
||||
#: zrcolagui.cpp:905
|
||||
msgid ""
|
||||
"Program and Website Editor: Janoš Ježovnik\n"
|
||||
"Development: Amebis, d. o. o., Kamnik\n"
|
||||
@ -536,81 +507,140 @@ msgid ""
|
||||
"Development and maintenance of the original program (2004–2015): Peter Weiss"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:999
|
||||
#: zrcolagui.cpp:913
|
||||
#, fuzzy
|
||||
msgid "zrcola.zrc-sazu.si"
|
||||
msgstr ""
|
||||
msgstr "http://zrcola.zrc-sazu.si/de/info/instructions/"
|
||||
|
||||
#: zrcolagui.cpp:1005
|
||||
#: zrcolagui.cpp:919
|
||||
msgid "Texts made using ZRCola have to include in a footnote or some other appropriate part of the publication the note below:"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:1009
|
||||
#: zrcolagui.cpp:923
|
||||
msgid "This text was written using the ZRCola input system (http://zrcola.zrc-sazu.si), developed at the Science and Research Centre of SAZU in Ljubljana (http://www.zrc-sazu.si) by Peter Weiss."
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:1050
|
||||
#: zrcolagui.cpp:964
|
||||
#, fuzzy
|
||||
msgid "Log"
|
||||
msgstr "&Log"
|
||||
|
||||
#: zrcolagui.cpp:1066
|
||||
#: zrcolagui.cpp:980
|
||||
#, fuzzy
|
||||
msgid "Quit and &Update..."
|
||||
msgstr "Kann Benutzer-Konfigurationsdatei nicht aktualisieren."
|
||||
|
||||
#: zrcolagui.cpp:1068
|
||||
#: zrcolagui.cpp:982
|
||||
msgid "Exit this program and launch product update"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:1072
|
||||
#: zrcolagui.cpp:986
|
||||
#, fuzzy
|
||||
msgid "&Close"
|
||||
msgstr "&Schließen"
|
||||
|
||||
#: zrcolagui.cpp:1073
|
||||
#: zrcolagui.cpp:987
|
||||
#, fuzzy
|
||||
msgid "Close this window"
|
||||
msgstr "Fenster schließen"
|
||||
|
||||
#: zrcolagui.cpp:1112
|
||||
#: zrcolagui.cpp:1026
|
||||
msgid "Enter the &character you would like to request:"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:1119
|
||||
#: zrcolagui.cpp:1033
|
||||
msgid "Decomposed character to request"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:1123
|
||||
#: zrcolagui.cpp:1037
|
||||
msgid ""
|
||||
"Please, use the decomposed form.\n"
|
||||
"You can use ZRCola keyboard shortcuts to enter the character or Copy&&Paste it from the Decomposed window."
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:1133
|
||||
#: zrcolagui.cpp:1047
|
||||
msgid "The &context, examples or description why and where the character is required:"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:1139
|
||||
#: zrcolagui.cpp:1053
|
||||
msgid "Additional notes for character request"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:1146
|
||||
#: zrcolagui.cpp:1060
|
||||
msgid ""
|
||||
"After clicking OK button, your e-mail application should open allowing you to submit the new character request to ZRCola Editor.\n"
|
||||
"Your e-mail application might not display all the characters correctly, but the Editor will be able to read them correctly anyway."
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:1102
|
||||
msgid "Translation"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:1104
|
||||
msgid ""
|
||||
"ZRCola offers multiple text translations that can be arranged in a sequence.\n"
|
||||
"Please select desired translations and the order they are applied."
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:1114
|
||||
msgid "A&vailable:"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:1129
|
||||
msgid ">"
|
||||
msgstr ">"
|
||||
|
||||
#: zrcolagui.cpp:1132
|
||||
msgid "<"
|
||||
msgstr "<"
|
||||
|
||||
#: zrcolagui.cpp:1141
|
||||
#, fuzzy
|
||||
msgid "&Selected:"
|
||||
msgstr "Izreže izbrano besedilo in ga shrani na odložišče"
|
||||
|
||||
#: zrcolagui.cpp:1159
|
||||
#, fuzzy
|
||||
msgid "Up"
|
||||
msgstr "Up"
|
||||
|
||||
#: zrcolagui.cpp:1162
|
||||
#, fuzzy
|
||||
msgid "Down"
|
||||
msgstr "Down"
|
||||
|
||||
#: zrcolagui.h:250
|
||||
#, fuzzy
|
||||
msgid "Character Search"
|
||||
msgstr "Skupine &znakov"
|
||||
|
||||
#: zrcolagui.h:286
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.h:312
|
||||
msgid "About ZRCola"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.h:337 zrcolaupdater.cpp:94
|
||||
msgid "Product Update"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.h:408
|
||||
msgid "Custom Translation Sequence"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolakeyhndlr.cpp:44
|
||||
msgid "INS key is pressed. Type the Unicode code of desired character now (up to four hexadecimal digits: 0-9, A-F), then release INS."
|
||||
msgstr ""
|
||||
|
||||
#: zrcolasettings.cpp:90
|
||||
#, c-format
|
||||
msgid "Unknown transformation (%u)"
|
||||
#: zrcolasettings.cpp:87
|
||||
msgid "Start ZRCola automatically on logon"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolasettings.cpp:181
|
||||
msgid "Start ZRCola automatically on logon"
|
||||
#: zrcolatranseq.cpp:63
|
||||
#, c-format
|
||||
msgid "Unknown translation (%u)"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolaupdater.cpp:94
|
||||
@ -619,23 +649,6 @@ msgid ""
|
||||
"Are you sure?"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolaupdater.cpp:94 zrcolagui.h:350
|
||||
msgid "Product Update"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.h:248
|
||||
#, fuzzy
|
||||
msgid "Character Search"
|
||||
msgstr "Skupine &znakov"
|
||||
|
||||
#: zrcolagui.h:299
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.h:325
|
||||
msgid "About ZRCola"
|
||||
msgstr ""
|
||||
|
||||
#: MSIBuild/en_US.Win32.Release.Control-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Control-2.idtx:10
|
||||
#: MSIBuild/en_US.Win32.Release.Control-2.idtx:15
|
||||
@ -673,7 +686,7 @@ msgstr ""
|
||||
#: MSIBuild/en_US.x64.Release.Control-2.idtx:19
|
||||
#, fuzzy
|
||||
msgid "&Continue"
|
||||
msgstr "Konnte den Kontext auf dem überlagerten Fenster nicht initialisieren."
|
||||
msgstr "Auf Volume \"[2]\" steht nicht genügend Speicherplatz für die Installation bei aktivierter Wiederherstellungsoption zur Verfügung. [3] KB sind erforderlich, aber nur [4] KB sind verfügbar. Klicken Sie auf \"Ignorieren\", um die Installation ohne Speicherung von Wiederherstellungsinformationen fortzusetzen, klicken Sie auf \"Wiederholen\", um den verfügbaren Speicher erneut zu überprüfen oder auf \"Abbrechen\", um die Installation abzubrechen."
|
||||
|
||||
#: MSIBuild/en_US.Win32.Release.Control-2.idtx:11
|
||||
#: MSIBuild/en_US.x64.Release.Control-2.idtx:11
|
||||
|
@ -1,15 +1,15 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ZRCola\n"
|
||||
"POT-Creation-Date: 2017-04-03 12:04+0200\n"
|
||||
"PO-Revision-Date: 2017-04-03 12:04+0200\n"
|
||||
"POT-Creation-Date: 2017-06-01 18:04+0200\n"
|
||||
"PO-Revision-Date: 2017-06-01 18:05+0200\n"
|
||||
"Last-Translator: Simon Rozman <simon.rozman@amebis.si>\n"
|
||||
"Language-Team: Amebis, d. o. o., Kamnik <info@amebis.si>\n"
|
||||
"Language: ru_RU\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.8.11\n"
|
||||
"X-Generator: Poedit 2.0.2\n"
|
||||
"X-Poedit-Basepath: .\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
@ -20,7 +20,7 @@ msgstr ""
|
||||
msgid "© 2004-%s ZRC SAZU"
|
||||
msgstr "© 2004–%s ZRC SAZU"
|
||||
|
||||
#: zrcolaapp.cpp:72 zrcolafrm.cpp:92 zrcolagui.cpp:980 zrcolagui.h:106
|
||||
#: zrcolaapp.cpp:72 zrcolafrm.cpp:106 zrcolagui.cpp:894 zrcolagui.h:108
|
||||
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
@ -28,15 +28,15 @@ msgstr "© 2004–%s ZRC SAZU"
|
||||
msgid "ZRCola"
|
||||
msgstr "ZRCola"
|
||||
|
||||
#: zrcolachrreq.cpp:49 zrcolagui.cpp:1110
|
||||
#: zrcolachrreq.cpp:49 zrcolagui.cpp:1024
|
||||
msgid "Character"
|
||||
msgstr "Знак"
|
||||
|
||||
#: zrcolachrreq.cpp:58 zrcolagui.cpp:1131
|
||||
#: zrcolachrreq.cpp:58 zrcolagui.cpp:1045
|
||||
msgid "Context"
|
||||
msgstr "Контекст"
|
||||
|
||||
#: zrcolachrreq.cpp:64 zrcolagui.h:379
|
||||
#: zrcolachrreq.cpp:64 zrcolagui.h:366
|
||||
msgid "Request a New Character"
|
||||
msgstr "Запрос нового знака"
|
||||
|
||||
@ -66,23 +66,27 @@ msgstr ", "
|
||||
msgid "▾ Search Options"
|
||||
msgstr "▾ Опции поиска"
|
||||
|
||||
#: zrcolafrm.cpp:143
|
||||
#: zrcolafrm.cpp:90
|
||||
msgid "Custom Translation..."
|
||||
msgstr ""
|
||||
|
||||
#: zrcolafrm.cpp:175
|
||||
msgid "ZRCola keyboard shortcut Win+F5 could not be registered. Some functionality will not be available."
|
||||
msgstr "Сочетание клавиш Win+F5 регистрировать. Некоторые функциональности не будут доступны."
|
||||
|
||||
#: zrcolafrm.cpp:143 zrcolafrm.cpp:145
|
||||
#: zrcolafrm.cpp:175 zrcolafrm.cpp:177
|
||||
msgid "Warning"
|
||||
msgstr "Предупреждение"
|
||||
|
||||
#: zrcolafrm.cpp:145
|
||||
#: zrcolafrm.cpp:177
|
||||
msgid "ZRCola keyboard shortcut Win+F6 could not be registered. Some functionality will not be available."
|
||||
msgstr "Сочетание клавиш Win+F6 невозможно регистрировать. Некоторые функциональности не будут доступны."
|
||||
|
||||
#: zrcolafrm.cpp:362
|
||||
#: zrcolafrm.cpp:410
|
||||
msgid "http://zrcola.zrc-sazu.si/en/info/instructions/"
|
||||
msgstr "http://zrcola.zrc-sazu.si/ru/info/instructions/"
|
||||
|
||||
#: zrcolafrm.cpp:386
|
||||
#: zrcolafrm.cpp:434
|
||||
msgid "http://zrcola.zrc-sazu.si/wp-content/uploads/2016/06/ZRCola_tipkovnica_Jun2016.pdf"
|
||||
msgstr "http://zrcola.zrc-sazu.si/wp-content/uploads/2016/06/ZRCola_tipkovnica_Jun2016.pdf"
|
||||
|
||||
@ -274,159 +278,159 @@ msgstr "Послать составленное (F5)"
|
||||
msgid "Send Decomposed"
|
||||
msgstr "Послать разобранное (F6)"
|
||||
|
||||
#: zrcolagui.cpp:205
|
||||
#: zrcolagui.cpp:209
|
||||
msgid "Compose"
|
||||
msgstr "Составить"
|
||||
|
||||
#: zrcolagui.cpp:209
|
||||
#: zrcolagui.cpp:213
|
||||
msgid "Character Catalog"
|
||||
msgstr "Список знаков"
|
||||
|
||||
#: zrcolagui.cpp:213
|
||||
#: zrcolagui.cpp:217
|
||||
msgid "(De)Composer"
|
||||
msgstr "(Де)Композитор"
|
||||
|
||||
#: zrcolagui.cpp:252
|
||||
#: zrcolagui.cpp:258
|
||||
msgid "Decomposed Text"
|
||||
msgstr "Разобранний текст"
|
||||
|
||||
#: zrcolagui.cpp:272
|
||||
#: zrcolagui.cpp:278
|
||||
msgid "Decomposed Unicode Dump"
|
||||
msgstr "Дамп разобранного Юнукода"
|
||||
|
||||
#: zrcolagui.cpp:299
|
||||
#: zrcolagui.cpp:305
|
||||
msgid "Composed Text"
|
||||
msgstr "Составленный текст"
|
||||
|
||||
#: zrcolagui.cpp:319
|
||||
#: zrcolagui.cpp:325
|
||||
msgid "Composed Unicode Dump"
|
||||
msgstr "Дамп составленного Юникода"
|
||||
|
||||
#: zrcolagui.cpp:373
|
||||
#: zrcolagui.cpp:379
|
||||
msgid "Select category to display"
|
||||
msgstr "Выделить категории для отображения"
|
||||
|
||||
#: zrcolagui.cpp:407
|
||||
#: zrcolagui.cpp:413
|
||||
msgid "Show &All"
|
||||
msgstr "Показать &все"
|
||||
|
||||
#: zrcolagui.cpp:408
|
||||
#: zrcolagui.cpp:414
|
||||
msgid "Toggle display of less frequent characters"
|
||||
msgstr "Переключить отображение редко использованных знаков"
|
||||
|
||||
#: zrcolagui.cpp:448
|
||||
#: zrcolagui.cpp:454
|
||||
msgid "&Browse"
|
||||
msgstr "&Обзор"
|
||||
|
||||
#: zrcolagui.cpp:455
|
||||
#: zrcolagui.cpp:461
|
||||
msgid "Full or partial terms from Unicode character description (in English) to search for"
|
||||
msgstr "Полное либо частичное описание знака Юникод (на английском) для поиска"
|
||||
|
||||
#: zrcolagui.cpp:459
|
||||
#: zrcolagui.cpp:465
|
||||
msgid "Search Options"
|
||||
msgstr "Опции поиска"
|
||||
|
||||
#: zrcolagui.cpp:460
|
||||
#: zrcolagui.cpp:466
|
||||
msgid "Shows/hides additional search options"
|
||||
msgstr "Показать/скрыть дополнительные опции поиска"
|
||||
|
||||
#: zrcolagui.cpp:472
|
||||
#: zrcolagui.cpp:478
|
||||
msgid "List of Unicode character categories to search in"
|
||||
msgstr "Список категории Юникод для проведения поиска"
|
||||
|
||||
#: zrcolagui.cpp:479
|
||||
#: zrcolagui.cpp:485
|
||||
msgid "All"
|
||||
msgstr "Все"
|
||||
|
||||
#: zrcolagui.cpp:480
|
||||
#: zrcolagui.cpp:486
|
||||
msgid "Select all categories"
|
||||
msgstr "Выбрать все категории"
|
||||
|
||||
#: zrcolagui.cpp:484
|
||||
#: zrcolagui.cpp:490
|
||||
msgid "None"
|
||||
msgstr "Ничего"
|
||||
|
||||
#: zrcolagui.cpp:485
|
||||
#: zrcolagui.cpp:491
|
||||
msgid "Clear category selection"
|
||||
msgstr "Очистить выбор категории"
|
||||
|
||||
#: zrcolagui.cpp:489
|
||||
#: zrcolagui.cpp:495
|
||||
msgid "Invert"
|
||||
msgstr "Обратить"
|
||||
|
||||
#: zrcolagui.cpp:490
|
||||
#: zrcolagui.cpp:496
|
||||
msgid "Invert category selection"
|
||||
msgstr "Обратить выбор категории"
|
||||
|
||||
#: zrcolagui.cpp:529
|
||||
#: zrcolagui.cpp:535
|
||||
msgid "Character search results"
|
||||
msgstr "Результаты поиска знаков"
|
||||
|
||||
#: zrcolagui.cpp:539
|
||||
#: zrcolagui.cpp:545
|
||||
msgid "Re¢ly Used"
|
||||
msgstr "&Недавно использованное"
|
||||
|
||||
#: zrcolagui.cpp:567
|
||||
#: zrcolagui.cpp:573
|
||||
msgid "List of recently inserted characters"
|
||||
msgstr "Список недавно вставленных знаков"
|
||||
|
||||
#: zrcolagui.cpp:581
|
||||
#: zrcolagui.cpp:587
|
||||
msgid "Preview"
|
||||
msgstr "Просмотр"
|
||||
|
||||
#: zrcolagui.cpp:586
|
||||
#: zrcolagui.cpp:592
|
||||
msgid "U+"
|
||||
msgstr "U+"
|
||||
|
||||
#: zrcolagui.cpp:591
|
||||
#: zrcolagui.cpp:597
|
||||
msgid "Unicode hexadecimal code"
|
||||
msgstr "Шестнадцатеричный код Юникод"
|
||||
|
||||
#: zrcolagui.cpp:596
|
||||
#: zrcolagui.cpp:602
|
||||
msgid "Keyboard shortcut in Composer window"
|
||||
msgstr "Сочетание клавиш в окне композитора"
|
||||
|
||||
#: zrcolagui.cpp:631
|
||||
#: zrcolagui.cpp:637
|
||||
msgid "Character preview"
|
||||
msgstr "Просмотр знака"
|
||||
|
||||
#: zrcolagui.cpp:636
|
||||
#: zrcolagui.cpp:642
|
||||
msgid "Unicode character description"
|
||||
msgstr "Описание знака Юникод"
|
||||
|
||||
#: zrcolagui.cpp:641
|
||||
#: zrcolagui.cpp:647
|
||||
msgid "Character tags"
|
||||
msgstr "Ключевые слова"
|
||||
|
||||
#: zrcolagui.cpp:646
|
||||
#: zrcolagui.cpp:652
|
||||
msgid "Unicode character category"
|
||||
msgstr "Категория знака Юникод"
|
||||
|
||||
#: zrcolagui.cpp:653
|
||||
#: zrcolagui.cpp:659
|
||||
msgid "« Back"
|
||||
msgstr "« Назад"
|
||||
|
||||
#: zrcolagui.cpp:655
|
||||
#: zrcolagui.cpp:661
|
||||
msgid "To previously viewed character"
|
||||
msgstr "К предыдущему знаку"
|
||||
|
||||
#: zrcolagui.cpp:659
|
||||
#: zrcolagui.cpp:665
|
||||
msgid "Forward »"
|
||||
msgstr "Далее »"
|
||||
|
||||
#: zrcolagui.cpp:661
|
||||
#: zrcolagui.cpp:667
|
||||
msgid "To following viewed character"
|
||||
msgstr "К следующему знаку"
|
||||
|
||||
#: zrcolagui.cpp:672
|
||||
#: zrcolagui.cpp:678
|
||||
msgid "Re&lated"
|
||||
msgstr "&Связанное"
|
||||
|
||||
#: zrcolagui.cpp:699
|
||||
#: zrcolagui.cpp:705
|
||||
msgid "List of related characters"
|
||||
msgstr "Список связанных знаков"
|
||||
|
||||
#: zrcolagui.cpp:790
|
||||
#: zrcolagui.cpp:794
|
||||
msgid ""
|
||||
"Some character native to specific language you are working with should not decompose to primitives.\n"
|
||||
"For optimal decomposition you should set the language correctly."
|
||||
@ -434,53 +438,19 @@ msgstr ""
|
||||
"Некоторые знаки использованного языка нельзя разбирать.\n"
|
||||
"Для оптимальной разборки вы должны настроить правильный язык."
|
||||
|
||||
#: zrcolagui.cpp:794
|
||||
#: zrcolagui.cpp:798
|
||||
msgid "Select language &automatically according to selected keyboard"
|
||||
msgstr "&Автоматически установить язык на основе выбранной клавиатуры"
|
||||
|
||||
#: zrcolagui.cpp:797
|
||||
#: zrcolagui.cpp:801
|
||||
msgid "&Manually select the language from the list below:"
|
||||
msgstr "&Вручную выбрать язык со списка:"
|
||||
|
||||
#: zrcolagui.cpp:809
|
||||
#: zrcolagui.cpp:812
|
||||
msgid "Text Language"
|
||||
msgstr "Язык текста"
|
||||
|
||||
#: zrcolagui.cpp:816
|
||||
msgid ""
|
||||
"ZRCola offers multiple text transformations that can be arranged in a sequence.\n"
|
||||
"Please select desired transformations and the order they are applied."
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:831
|
||||
msgid "A&vailable:"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:844
|
||||
msgid ">"
|
||||
msgstr ">"
|
||||
|
||||
#: zrcolagui.cpp:847
|
||||
msgid "<"
|
||||
msgstr "<"
|
||||
|
||||
#: zrcolagui.cpp:856
|
||||
msgid "&Active:"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:872
|
||||
msgid "Up"
|
||||
msgstr "Up"
|
||||
|
||||
#: zrcolagui.cpp:875
|
||||
msgid "Down"
|
||||
msgstr "Down"
|
||||
|
||||
#: zrcolagui.cpp:885
|
||||
msgid "Transformation"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:892
|
||||
#: zrcolagui.cpp:817
|
||||
msgid ""
|
||||
"ZRCola can be launched every time you log in to your computer.\n"
|
||||
"It will be available on the system tray and via registered shortcuts Win+F5 and Win+F6."
|
||||
@ -488,15 +458,15 @@ msgstr ""
|
||||
"Запуск системы ZRCola возможен при каждом запуске компьютера.\n"
|
||||
"После запуска система ZRCola доступна на панели задач либо через нажатие сочетания клавиш Win+F5 и Win+F6."
|
||||
|
||||
#: zrcolagui.cpp:896
|
||||
#: zrcolagui.cpp:821
|
||||
msgid "Start ZRCola &automatically on logon"
|
||||
msgstr "&Автоматически запустить систему ZRCola при запуске компьютера"
|
||||
|
||||
#: zrcolagui.cpp:903
|
||||
#: zrcolagui.cpp:827
|
||||
msgid "Startup"
|
||||
msgstr "Запуск"
|
||||
|
||||
#: zrcolagui.cpp:991
|
||||
#: zrcolagui.cpp:905
|
||||
msgid ""
|
||||
"Program and Website Editor: Janoš Ježovnik\n"
|
||||
"Development: Amebis, d. o. o., Kamnik\n"
|
||||
@ -510,47 +480,47 @@ msgstr ""
|
||||
"Перевод на русский язык: Домен Крвина (Domen Krvina), Силво Торкар (Silvo Torkar), Анастасия Плотникова\n"
|
||||
"Разработка in техническая поддержка первоначальной программы (2004–2015): Петер Вейсс (Peter Weiss)"
|
||||
|
||||
#: zrcolagui.cpp:999
|
||||
#: zrcolagui.cpp:913
|
||||
msgid "zrcola.zrc-sazu.si"
|
||||
msgstr "zrcola.zrc-sazu.si"
|
||||
|
||||
#: zrcolagui.cpp:1005
|
||||
#: zrcolagui.cpp:919
|
||||
msgid "Texts made using ZRCola have to include in a footnote or some other appropriate part of the publication the note below:"
|
||||
msgstr "Текст, созданный с помощью системы ZRCola, должен в примечании или другом соответствующем месте в публикации сопровождаться следующей записью:"
|
||||
|
||||
#: zrcolagui.cpp:1009
|
||||
#: zrcolagui.cpp:923
|
||||
msgid "This text was written using the ZRCola input system (http://zrcola.zrc-sazu.si), developed at the Science and Research Centre of SAZU in Ljubljana (http://www.zrc-sazu.si) by Peter Weiss."
|
||||
msgstr "Текст подготовлен с помощью системы ввода ZRCola (http://zrcola.zrc-sazu.si), разработанной в Научно-исследовательском центре Словенской академии наук и искусств в Любляне (http://www.zrc-sazu.si) Петром Вейссoм."
|
||||
|
||||
#: zrcolagui.cpp:1050
|
||||
#: zrcolagui.cpp:964
|
||||
msgid "Log"
|
||||
msgstr "Журнал"
|
||||
|
||||
#: zrcolagui.cpp:1066
|
||||
#: zrcolagui.cpp:980
|
||||
msgid "Quit and &Update..."
|
||||
msgstr "Выйти и &обновить ..."
|
||||
|
||||
#: zrcolagui.cpp:1068
|
||||
#: zrcolagui.cpp:982
|
||||
msgid "Exit this program and launch product update"
|
||||
msgstr "Выйти из программы и запустить обновление"
|
||||
|
||||
#: zrcolagui.cpp:1072
|
||||
#: zrcolagui.cpp:986
|
||||
msgid "&Close"
|
||||
msgstr "&Закрыть"
|
||||
|
||||
#: zrcolagui.cpp:1073
|
||||
#: zrcolagui.cpp:987
|
||||
msgid "Close this window"
|
||||
msgstr "Закрыть это окно"
|
||||
|
||||
#: zrcolagui.cpp:1112
|
||||
#: zrcolagui.cpp:1026
|
||||
msgid "Enter the &character you would like to request:"
|
||||
msgstr "Ввести запрашиваемый &знак:"
|
||||
|
||||
#: zrcolagui.cpp:1119
|
||||
#: zrcolagui.cpp:1033
|
||||
msgid "Decomposed character to request"
|
||||
msgstr "Запрашиваемый разобранный знак"
|
||||
|
||||
#: zrcolagui.cpp:1123
|
||||
#: zrcolagui.cpp:1037
|
||||
msgid ""
|
||||
"Please, use the decomposed form.\n"
|
||||
"You can use ZRCola keyboard shortcuts to enter the character or Copy&&Paste it from the Decomposed window."
|
||||
@ -558,15 +528,15 @@ msgstr ""
|
||||
"Пожалуйста, используйте разобранный формат.\n"
|
||||
"Для ввода запрашиваемого знака можно использовать сочетания клавиш системы ZRCola либо копировать и вставить знаки из окна для разборки."
|
||||
|
||||
#: zrcolagui.cpp:1133
|
||||
#: zrcolagui.cpp:1047
|
||||
msgid "The &context, examples or description why and where the character is required:"
|
||||
msgstr "&Контекст, примеры либо описание запрашиваемого знака или объяснение, зачем он нужен:"
|
||||
|
||||
#: zrcolagui.cpp:1139
|
||||
#: zrcolagui.cpp:1053
|
||||
msgid "Additional notes for character request"
|
||||
msgstr "Дополнительные примечания"
|
||||
|
||||
#: zrcolagui.cpp:1146
|
||||
#: zrcolagui.cpp:1060
|
||||
msgid ""
|
||||
"After clicking OK button, your e-mail application should open allowing you to submit the new character request to ZRCola Editor.\n"
|
||||
"Your e-mail application might not display all the characters correctly, but the Editor will be able to read them correctly anyway."
|
||||
@ -574,19 +544,74 @@ msgstr ""
|
||||
"После нажатия на кнопку «OK» ваша почтовая программа должна открытся для отправки запроса нового знака администратору системы ZRCola.\n"
|
||||
"Возможно, не все знаки будут отображены правильно, но все информации будут закодированны таким образом, что администратор сможет их правильно прочитать."
|
||||
|
||||
#: zrcolagui.cpp:1102
|
||||
msgid "Translation"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:1104
|
||||
msgid ""
|
||||
"ZRCola offers multiple text translations that can be arranged in a sequence.\n"
|
||||
"Please select desired translations and the order they are applied."
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:1114
|
||||
msgid "A&vailable:"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolagui.cpp:1129
|
||||
msgid ">"
|
||||
msgstr ">"
|
||||
|
||||
#: zrcolagui.cpp:1132
|
||||
msgid "<"
|
||||
msgstr "<"
|
||||
|
||||
#: zrcolagui.cpp:1141
|
||||
#, fuzzy
|
||||
msgid "&Selected:"
|
||||
msgstr "Izreže izbrano besedilo in ga shrani na odložišče"
|
||||
|
||||
#: zrcolagui.cpp:1159
|
||||
msgid "Up"
|
||||
msgstr "Up"
|
||||
|
||||
#: zrcolagui.cpp:1162
|
||||
msgid "Down"
|
||||
msgstr "Down"
|
||||
|
||||
#: zrcolagui.h:250
|
||||
msgid "Character Search"
|
||||
msgstr "Поиск знака"
|
||||
|
||||
#: zrcolagui.h:286
|
||||
msgid "Settings"
|
||||
msgstr "Настройки"
|
||||
|
||||
#: zrcolagui.h:312
|
||||
msgid "About ZRCola"
|
||||
msgstr "О системе ZRCola"
|
||||
|
||||
#: zrcolagui.h:337 zrcolaupdater.cpp:94
|
||||
msgid "Product Update"
|
||||
msgstr "Обновление продукта"
|
||||
|
||||
#: zrcolagui.h:408
|
||||
msgid "Custom Translation Sequence"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolakeyhndlr.cpp:44
|
||||
msgid "INS key is pressed. Type the Unicode code of desired character now (up to four hexadecimal digits: 0-9, A-F), then release INS."
|
||||
msgstr "Нажата клавиша INS. Введите код Юникод желаемого знака (максимум четыре шестнадцатеричныe цифры: 0-9, A-F), затем отпустите клавишу INS."
|
||||
|
||||
#: zrcolasettings.cpp:90
|
||||
#, c-format
|
||||
msgid "Unknown transformation (%u)"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolasettings.cpp:181
|
||||
#: zrcolasettings.cpp:87
|
||||
msgid "Start ZRCola automatically on logon"
|
||||
msgstr "Автоматически запустить систему ZRCola при запуске компьютера"
|
||||
|
||||
#: zrcolatranseq.cpp:63
|
||||
#, c-format
|
||||
msgid "Unknown translation (%u)"
|
||||
msgstr ""
|
||||
|
||||
#: zrcolaupdater.cpp:94
|
||||
msgid ""
|
||||
"This program will now close and the upgrade will be launched.\n"
|
||||
@ -595,22 +620,6 @@ msgstr ""
|
||||
"Программа будет закрыта и обновлена.\n"
|
||||
"Вы уверены?"
|
||||
|
||||
#: zrcolaupdater.cpp:94 zrcolagui.h:350
|
||||
msgid "Product Update"
|
||||
msgstr "Обновление продукта"
|
||||
|
||||
#: zrcolagui.h:248
|
||||
msgid "Character Search"
|
||||
msgstr "Поиск знака"
|
||||
|
||||
#: zrcolagui.h:299
|
||||
msgid "Settings"
|
||||
msgstr "Настройки"
|
||||
|
||||
#: zrcolagui.h:325
|
||||
msgid "About ZRCola"
|
||||
msgstr "О системе ZRCola"
|
||||
|
||||
#: MSIBuild/en_US.Win32.Release.Control-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Control-2.idtx:10
|
||||
#: MSIBuild/en_US.Win32.Release.Control-2.idtx:15
|
||||
|
@ -1,15 +1,15 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ZRCola\n"
|
||||
"POT-Creation-Date: 2017-04-03 12:01+0200\n"
|
||||
"PO-Revision-Date: 2017-04-03 12:03+0200\n"
|
||||
"POT-Creation-Date: 2017-06-01 18:05+0200\n"
|
||||
"PO-Revision-Date: 2017-06-01 18:06+0200\n"
|
||||
"Last-Translator: Simon Rozman <simon.rozman@amebis.si>\n"
|
||||
"Language-Team: Amebis, d. o. o., Kamnik <info@amebis.si>\n"
|
||||
"Language: sl_SI\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.8.11\n"
|
||||
"X-Generator: Poedit 2.0.2\n"
|
||||
"X-Poedit-Basepath: .\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
@ -20,7 +20,7 @@ msgstr ""
|
||||
msgid "© 2004-%s ZRC SAZU"
|
||||
msgstr "© 2004-%s ZRC SAZU"
|
||||
|
||||
#: zrcolaapp.cpp:72 zrcolafrm.cpp:92 zrcolagui.cpp:980 zrcolagui.h:106
|
||||
#: zrcolaapp.cpp:72 zrcolafrm.cpp:106 zrcolagui.cpp:894 zrcolagui.h:108
|
||||
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
@ -28,15 +28,15 @@ msgstr "© 2004-%s ZRC SAZU"
|
||||
msgid "ZRCola"
|
||||
msgstr "ZRCola"
|
||||
|
||||
#: zrcolachrreq.cpp:49 zrcolagui.cpp:1110
|
||||
#: zrcolachrreq.cpp:49 zrcolagui.cpp:1024
|
||||
msgid "Character"
|
||||
msgstr "Znak"
|
||||
|
||||
#: zrcolachrreq.cpp:58 zrcolagui.cpp:1131
|
||||
#: zrcolachrreq.cpp:58 zrcolagui.cpp:1045
|
||||
msgid "Context"
|
||||
msgstr "Kontekst"
|
||||
|
||||
#: zrcolachrreq.cpp:64 zrcolagui.h:379
|
||||
#: zrcolachrreq.cpp:64 zrcolagui.h:366
|
||||
msgid "Request a New Character"
|
||||
msgstr "Zahtevaj nov znak"
|
||||
|
||||
@ -66,23 +66,27 @@ msgstr ", "
|
||||
msgid "▾ Search Options"
|
||||
msgstr "▾ Možnosti iskanja"
|
||||
|
||||
#: zrcolafrm.cpp:143
|
||||
#: zrcolafrm.cpp:90
|
||||
msgid "Custom Translation..."
|
||||
msgstr "Pretvorba po meri ..."
|
||||
|
||||
#: zrcolafrm.cpp:175
|
||||
msgid "ZRCola keyboard shortcut Win+F5 could not be registered. Some functionality will not be available."
|
||||
msgstr "ZRColine bližnjice na tipkovnici Win+F5 ni mogoče registrirati. Nekaj funkcionalnosti ne bo na voljo."
|
||||
|
||||
#: zrcolafrm.cpp:143 zrcolafrm.cpp:145
|
||||
#: zrcolafrm.cpp:175 zrcolafrm.cpp:177
|
||||
msgid "Warning"
|
||||
msgstr "Opozorilo"
|
||||
|
||||
#: zrcolafrm.cpp:145
|
||||
#: zrcolafrm.cpp:177
|
||||
msgid "ZRCola keyboard shortcut Win+F6 could not be registered. Some functionality will not be available."
|
||||
msgstr "ZRColine bližnjice na tipkovnici Win+F6 ni mogoče registrirati. Nekaj funkcionalnosti ne bo na voljo."
|
||||
|
||||
#: zrcolafrm.cpp:362
|
||||
#: zrcolafrm.cpp:410
|
||||
msgid "http://zrcola.zrc-sazu.si/en/info/instructions/"
|
||||
msgstr "http://zrcola.zrc-sazu.si/info/instructions/"
|
||||
|
||||
#: zrcolafrm.cpp:386
|
||||
#: zrcolafrm.cpp:434
|
||||
msgid "http://zrcola.zrc-sazu.si/wp-content/uploads/2016/06/ZRCola_tipkovnica_Jun2016.pdf"
|
||||
msgstr "http://zrcola.zrc-sazu.si/wp-content/uploads/2016/06/ZRCola_tipkovnica_Jun2016.pdf"
|
||||
|
||||
@ -274,159 +278,159 @@ msgstr "Pošlji sestavljeno"
|
||||
msgid "Send Decomposed"
|
||||
msgstr "Pošlji razstavljeno"
|
||||
|
||||
#: zrcolagui.cpp:205
|
||||
#: zrcolagui.cpp:209
|
||||
msgid "Compose"
|
||||
msgstr "Sestavljanje"
|
||||
|
||||
#: zrcolagui.cpp:209
|
||||
#: zrcolagui.cpp:213
|
||||
msgid "Character Catalog"
|
||||
msgstr "Katalog znakov"
|
||||
|
||||
#: zrcolagui.cpp:213
|
||||
#: zrcolagui.cpp:217
|
||||
msgid "(De)Composer"
|
||||
msgstr "Razstavljalnik/Sestavljalnik"
|
||||
|
||||
#: zrcolagui.cpp:252
|
||||
#: zrcolagui.cpp:258
|
||||
msgid "Decomposed Text"
|
||||
msgstr "Razstavljeno besedilo"
|
||||
|
||||
#: zrcolagui.cpp:272
|
||||
#: zrcolagui.cpp:278
|
||||
msgid "Decomposed Unicode Dump"
|
||||
msgstr "Unicode razstavljenega"
|
||||
|
||||
#: zrcolagui.cpp:299
|
||||
#: zrcolagui.cpp:305
|
||||
msgid "Composed Text"
|
||||
msgstr "Sestavljeno besedilo"
|
||||
|
||||
#: zrcolagui.cpp:319
|
||||
#: zrcolagui.cpp:325
|
||||
msgid "Composed Unicode Dump"
|
||||
msgstr "Unicode sestavljenega"
|
||||
|
||||
#: zrcolagui.cpp:373
|
||||
#: zrcolagui.cpp:379
|
||||
msgid "Select category to display"
|
||||
msgstr "Izberi kategorijo za prikaz"
|
||||
|
||||
#: zrcolagui.cpp:407
|
||||
#: zrcolagui.cpp:413
|
||||
msgid "Show &All"
|
||||
msgstr "Prik&aži vse"
|
||||
|
||||
#: zrcolagui.cpp:408
|
||||
#: zrcolagui.cpp:414
|
||||
msgid "Toggle display of less frequent characters"
|
||||
msgstr "Prikaži/skrij manj pogoste znake"
|
||||
|
||||
#: zrcolagui.cpp:448
|
||||
#: zrcolagui.cpp:454
|
||||
msgid "&Browse"
|
||||
msgstr "Pre&brskaj"
|
||||
|
||||
#: zrcolagui.cpp:455
|
||||
#: zrcolagui.cpp:461
|
||||
msgid "Full or partial terms from Unicode character description (in English) to search for"
|
||||
msgstr "Polne ali delne besede iz opisa znaka Unicode (v angleščini) za iskanje"
|
||||
|
||||
#: zrcolagui.cpp:459
|
||||
#: zrcolagui.cpp:465
|
||||
msgid "Search Options"
|
||||
msgstr "Možnosti iskanja"
|
||||
|
||||
#: zrcolagui.cpp:460
|
||||
#: zrcolagui.cpp:466
|
||||
msgid "Shows/hides additional search options"
|
||||
msgstr "Prikaže/skrije dodatne možnosti iskanja"
|
||||
|
||||
#: zrcolagui.cpp:472
|
||||
#: zrcolagui.cpp:478
|
||||
msgid "List of Unicode character categories to search in"
|
||||
msgstr "Seznam kategorij znaka Unicode za iskanje"
|
||||
|
||||
#: zrcolagui.cpp:479
|
||||
#: zrcolagui.cpp:485
|
||||
msgid "All"
|
||||
msgstr "Vse"
|
||||
|
||||
#: zrcolagui.cpp:480
|
||||
#: zrcolagui.cpp:486
|
||||
msgid "Select all categories"
|
||||
msgstr "Izberi vse kategorije"
|
||||
|
||||
#: zrcolagui.cpp:484
|
||||
#: zrcolagui.cpp:490
|
||||
msgid "None"
|
||||
msgstr "Nič"
|
||||
|
||||
#: zrcolagui.cpp:485
|
||||
#: zrcolagui.cpp:491
|
||||
msgid "Clear category selection"
|
||||
msgstr "Počisti izbor kategorij"
|
||||
|
||||
#: zrcolagui.cpp:489
|
||||
#: zrcolagui.cpp:495
|
||||
msgid "Invert"
|
||||
msgstr "Obrni"
|
||||
|
||||
#: zrcolagui.cpp:490
|
||||
#: zrcolagui.cpp:496
|
||||
msgid "Invert category selection"
|
||||
msgstr "Obrni izbor kategorij"
|
||||
|
||||
#: zrcolagui.cpp:529
|
||||
#: zrcolagui.cpp:535
|
||||
msgid "Character search results"
|
||||
msgstr "Rezultati iskanja znakov"
|
||||
|
||||
#: zrcolagui.cpp:539
|
||||
#: zrcolagui.cpp:545
|
||||
msgid "Re¢ly Used"
|
||||
msgstr "Nedavno &uporabljeni"
|
||||
|
||||
#: zrcolagui.cpp:567
|
||||
#: zrcolagui.cpp:573
|
||||
msgid "List of recently inserted characters"
|
||||
msgstr "Seznam nedavno vstavljenih znakov"
|
||||
|
||||
#: zrcolagui.cpp:581
|
||||
#: zrcolagui.cpp:587
|
||||
msgid "Preview"
|
||||
msgstr "Predogled"
|
||||
|
||||
#: zrcolagui.cpp:586
|
||||
#: zrcolagui.cpp:592
|
||||
msgid "U+"
|
||||
msgstr "U+"
|
||||
|
||||
#: zrcolagui.cpp:591
|
||||
#: zrcolagui.cpp:597
|
||||
msgid "Unicode hexadecimal code"
|
||||
msgstr "Šestnajstiška koda Unicode"
|
||||
|
||||
#: zrcolagui.cpp:596
|
||||
#: zrcolagui.cpp:602
|
||||
msgid "Keyboard shortcut in Composer window"
|
||||
msgstr "Bližnjica na tipkovnici v oknu sestavljalnika"
|
||||
|
||||
#: zrcolagui.cpp:631
|
||||
#: zrcolagui.cpp:637
|
||||
msgid "Character preview"
|
||||
msgstr "Predogled znaka"
|
||||
|
||||
#: zrcolagui.cpp:636
|
||||
#: zrcolagui.cpp:642
|
||||
msgid "Unicode character description"
|
||||
msgstr "Opis znaka Unicode"
|
||||
|
||||
#: zrcolagui.cpp:641
|
||||
#: zrcolagui.cpp:647
|
||||
msgid "Character tags"
|
||||
msgstr "Oznake znaka"
|
||||
|
||||
#: zrcolagui.cpp:646
|
||||
#: zrcolagui.cpp:652
|
||||
msgid "Unicode character category"
|
||||
msgstr "Kategorija znaka Unicode"
|
||||
|
||||
#: zrcolagui.cpp:653
|
||||
#: zrcolagui.cpp:659
|
||||
msgid "« Back"
|
||||
msgstr "« Nazaj"
|
||||
|
||||
#: zrcolagui.cpp:655
|
||||
#: zrcolagui.cpp:661
|
||||
msgid "To previously viewed character"
|
||||
msgstr "Na prejšnji prikazan znak"
|
||||
|
||||
#: zrcolagui.cpp:659
|
||||
#: zrcolagui.cpp:665
|
||||
msgid "Forward »"
|
||||
msgstr "Naprej »"
|
||||
|
||||
#: zrcolagui.cpp:661
|
||||
#: zrcolagui.cpp:667
|
||||
msgid "To following viewed character"
|
||||
msgstr "Na naslednji prikazan znak"
|
||||
|
||||
#: zrcolagui.cpp:672
|
||||
#: zrcolagui.cpp:678
|
||||
msgid "Re&lated"
|
||||
msgstr "&Sorodni"
|
||||
|
||||
#: zrcolagui.cpp:699
|
||||
#: zrcolagui.cpp:705
|
||||
msgid "List of related characters"
|
||||
msgstr "Seznam sorodnih znakov"
|
||||
|
||||
#: zrcolagui.cpp:790
|
||||
#: zrcolagui.cpp:794
|
||||
msgid ""
|
||||
"Some character native to specific language you are working with should not decompose to primitives.\n"
|
||||
"For optimal decomposition you should set the language correctly."
|
||||
@ -434,55 +438,19 @@ msgstr ""
|
||||
"Nekateri znaki iz posameznih jezikov, s katerimi delate, se ne smejo razstavljati.\n"
|
||||
"Za optimalno razstavljanje izberite pravilni jezik."
|
||||
|
||||
#: zrcolagui.cpp:794
|
||||
#: zrcolagui.cpp:798
|
||||
msgid "Select language &automatically according to selected keyboard"
|
||||
msgstr "S&amodejno izberi jezik glede na izbrano tipkovnico"
|
||||
|
||||
#: zrcolagui.cpp:797
|
||||
#: zrcolagui.cpp:801
|
||||
msgid "&Manually select the language from the list below:"
|
||||
msgstr "&Ročno izberi jezik s seznama spodaj:"
|
||||
|
||||
#: zrcolagui.cpp:809
|
||||
#: zrcolagui.cpp:812
|
||||
msgid "Text Language"
|
||||
msgstr "Jezik besedila"
|
||||
|
||||
#: zrcolagui.cpp:816
|
||||
msgid ""
|
||||
"ZRCola offers multiple text transformations that can be arranged in a sequence.\n"
|
||||
"Please select desired transformations and the order they are applied."
|
||||
msgstr ""
|
||||
"ZRCola ponuja različne pretvorbe besedila, ki jih lahko uredimo v zaporedje.\n"
|
||||
"Prosimo, izberite želene pretvorbe in vrstni red, v katerem naj jih uporabi."
|
||||
|
||||
#: zrcolagui.cpp:831
|
||||
msgid "A&vailable:"
|
||||
msgstr "Na &voljo:"
|
||||
|
||||
#: zrcolagui.cpp:844
|
||||
msgid ">"
|
||||
msgstr ">"
|
||||
|
||||
#: zrcolagui.cpp:847
|
||||
msgid "<"
|
||||
msgstr "<"
|
||||
|
||||
#: zrcolagui.cpp:856
|
||||
msgid "&Active:"
|
||||
msgstr "&Aktivni:"
|
||||
|
||||
#: zrcolagui.cpp:872
|
||||
msgid "Up"
|
||||
msgstr "Gor"
|
||||
|
||||
#: zrcolagui.cpp:875
|
||||
msgid "Down"
|
||||
msgstr "Dol"
|
||||
|
||||
#: zrcolagui.cpp:885
|
||||
msgid "Transformation"
|
||||
msgstr "Pretvorba"
|
||||
|
||||
#: zrcolagui.cpp:892
|
||||
#: zrcolagui.cpp:817
|
||||
msgid ""
|
||||
"ZRCola can be launched every time you log in to your computer.\n"
|
||||
"It will be available on the system tray and via registered shortcuts Win+F5 and Win+F6."
|
||||
@ -490,15 +458,15 @@ msgstr ""
|
||||
"ZRCola se lahko zažene ob vsaki prijavi v vaš računalnik.\n"
|
||||
"Na voljo bo v vrstici za sistemska obvestila ter preko registriranih bližnjic Win+F5 in Win+F6."
|
||||
|
||||
#: zrcolagui.cpp:896
|
||||
#: zrcolagui.cpp:821
|
||||
msgid "Start ZRCola &automatically on logon"
|
||||
msgstr "S&amodejno zaženi ZRColo ob prijavi"
|
||||
|
||||
#: zrcolagui.cpp:903
|
||||
#: zrcolagui.cpp:827
|
||||
msgid "Startup"
|
||||
msgstr "Zagon"
|
||||
|
||||
#: zrcolagui.cpp:991
|
||||
#: zrcolagui.cpp:905
|
||||
msgid ""
|
||||
"Program and Website Editor: Janoš Ježovnik\n"
|
||||
"Development: Amebis, d. o. o., Kamnik\n"
|
||||
@ -512,48 +480,48 @@ msgstr ""
|
||||
"Prevod v ruski jezik: Domen Krvina, Silvo Torkar, Anastasija Plotnikova\n"
|
||||
"Razvoj in vzdrževanje prvotnega programa (2004–2015): Peter Weiss"
|
||||
|
||||
#: zrcolagui.cpp:999
|
||||
#: zrcolagui.cpp:913
|
||||
msgid "zrcola.zrc-sazu.si"
|
||||
msgstr "zrcola.zrc-sazu.si"
|
||||
|
||||
#: zrcolagui.cpp:1005
|
||||
#: zrcolagui.cpp:919
|
||||
msgid "Texts made using ZRCola have to include in a footnote or some other appropriate part of the publication the note below:"
|
||||
msgstr "Besedilo, nastalo z uporabo ZRCole, mora biti v opombi ali na drugem ustreznem mestu v publikaciji opremljeno z naslednjim zapisom:"
|
||||
|
||||
#: zrcolagui.cpp:1009
|
||||
#: zrcolagui.cpp:923
|
||||
msgid "This text was written using the ZRCola input system (http://zrcola.zrc-sazu.si), developed at the Science and Research Centre of SAZU in Ljubljana (http://www.zrc-sazu.si) by Peter Weiss."
|
||||
msgstr "Besedilo je bilo pripravljeno z vnašalnim sistemom ZRCola (http://zrcola.zrc-sazu.si), ki ga je na Znanstvenoraziskovalnem centru SAZU v Ljubljani (http://www.zrc-sazu.si) razvil Peter Weiss."
|
||||
|
||||
#: zrcolagui.cpp:1050
|
||||
#: zrcolagui.cpp:964
|
||||
msgid "Log"
|
||||
msgstr "Dnevnik"
|
||||
|
||||
#: zrcolagui.cpp:1066
|
||||
#: zrcolagui.cpp:980
|
||||
msgid "Quit and &Update..."
|
||||
msgstr "Za&ustavi in posodobi ..."
|
||||
|
||||
#: zrcolagui.cpp:1068
|
||||
#: zrcolagui.cpp:982
|
||||
msgid "Exit this program and launch product update"
|
||||
msgstr "Zaustavi program in zaženi posodobitev izdelka"
|
||||
|
||||
#: zrcolagui.cpp:1072
|
||||
#: zrcolagui.cpp:986
|
||||
msgid "&Close"
|
||||
msgstr "&Zapri"
|
||||
|
||||
#: zrcolagui.cpp:1073
|
||||
#: zrcolagui.cpp:987
|
||||
msgid "Close this window"
|
||||
msgstr "Zapri to okno"
|
||||
|
||||
#: zrcolagui.cpp:1112
|
||||
#: zrcolagui.cpp:1026
|
||||
msgid "Enter the &character you would like to request:"
|
||||
msgstr "Vpišite &znak, ki ga želite zahtevati:"
|
||||
|
||||
#: zrcolagui.cpp:1119
|
||||
#: zrcolagui.cpp:1033
|
||||
msgid "Decomposed character to request"
|
||||
msgstr "Zahtevani znak v razstavljeni obliki"
|
||||
|
||||
# Please use a double && for final "&" character
|
||||
#: zrcolagui.cpp:1123
|
||||
#: zrcolagui.cpp:1037
|
||||
msgid ""
|
||||
"Please, use the decomposed form.\n"
|
||||
"You can use ZRCola keyboard shortcuts to enter the character or Copy&&Paste it from the Decomposed window."
|
||||
@ -561,15 +529,15 @@ msgstr ""
|
||||
"Uporabite razstavljeno obliko.\n"
|
||||
"Za vnos znaka lahko uporabite ZRColine bližnjice na tipkovnici ali ga kopirate in prilepite iz okna z razstavljenim besedilom."
|
||||
|
||||
#: zrcolagui.cpp:1133
|
||||
#: zrcolagui.cpp:1047
|
||||
msgid "The &context, examples or description why and where the character is required:"
|
||||
msgstr "&Kontekst, primeri oziroma opis, zakaj in kje potrebujete novi znak:"
|
||||
|
||||
#: zrcolagui.cpp:1139
|
||||
#: zrcolagui.cpp:1053
|
||||
msgid "Additional notes for character request"
|
||||
msgstr "Dodatne opombe za zahtevo znaka"
|
||||
|
||||
#: zrcolagui.cpp:1146
|
||||
#: zrcolagui.cpp:1060
|
||||
msgid ""
|
||||
"After clicking OK button, your e-mail application should open allowing you to submit the new character request to ZRCola Editor.\n"
|
||||
"Your e-mail application might not display all the characters correctly, but the Editor will be able to read them correctly anyway."
|
||||
@ -577,19 +545,75 @@ msgstr ""
|
||||
"Ko boste kliknili gumb V redu, se bo odprl vaš program za e-pošto, s katerim boste lahko oddali zahtevo za nov znak uredniku programa.\n"
|
||||
"Vsi znaki v sporočilu morda ne bodo prikazani pravilno, vendar jih bo urednik lahko kljub temu razbral."
|
||||
|
||||
#: zrcolagui.cpp:1102
|
||||
msgid "Translation"
|
||||
msgstr "Pretvorba"
|
||||
|
||||
#: zrcolagui.cpp:1104
|
||||
msgid ""
|
||||
"ZRCola offers multiple text translations that can be arranged in a sequence.\n"
|
||||
"Please select desired translations and the order they are applied."
|
||||
msgstr ""
|
||||
"ZRCola ponuja različne pretvorbe besedila, ki jih lahko uredimo v zaporedje.\n"
|
||||
"Prosimo, izberite želene pretvorbe in vrstni red, v katerem naj jih uporabi."
|
||||
|
||||
#: zrcolagui.cpp:1114
|
||||
msgid "A&vailable:"
|
||||
msgstr "Na &voljo:"
|
||||
|
||||
#: zrcolagui.cpp:1129
|
||||
msgid ">"
|
||||
msgstr ">"
|
||||
|
||||
#: zrcolagui.cpp:1132
|
||||
msgid "<"
|
||||
msgstr "<"
|
||||
|
||||
#: zrcolagui.cpp:1141
|
||||
msgid "&Selected:"
|
||||
msgstr "I&zbrani:"
|
||||
|
||||
#: zrcolagui.cpp:1159
|
||||
msgid "Up"
|
||||
msgstr "Gor"
|
||||
|
||||
#: zrcolagui.cpp:1162
|
||||
msgid "Down"
|
||||
msgstr "Dol"
|
||||
|
||||
#: zrcolagui.h:250
|
||||
msgid "Character Search"
|
||||
msgstr "Poišči znak"
|
||||
|
||||
#: zrcolagui.h:286
|
||||
msgid "Settings"
|
||||
msgstr "Nastavitve"
|
||||
|
||||
#: zrcolagui.h:312
|
||||
msgid "About ZRCola"
|
||||
msgstr "O ZRColi"
|
||||
|
||||
#: zrcolagui.h:337 zrcolaupdater.cpp:94
|
||||
msgid "Product Update"
|
||||
msgstr "Posodabljanje izdelka"
|
||||
|
||||
#: zrcolagui.h:408
|
||||
msgid "Custom Translation Sequence"
|
||||
msgstr "Zaporedje pretvorb po meri"
|
||||
|
||||
#: zrcolakeyhndlr.cpp:44
|
||||
msgid "INS key is pressed. Type the Unicode code of desired character now (up to four hexadecimal digits: 0-9, A-F), then release INS."
|
||||
msgstr "Pritisnili ste tipko INS. Vtipkajte kodo Unicode želenega znaka (do štiri šestnajstiške števke: 0–9, A–F), nato izpustite INS."
|
||||
|
||||
#: zrcolasettings.cpp:90
|
||||
#, c-format
|
||||
msgid "Unknown transformation (%u)"
|
||||
msgstr "Neznana pretvorba (%u)"
|
||||
|
||||
#: zrcolasettings.cpp:181
|
||||
#: zrcolasettings.cpp:87
|
||||
msgid "Start ZRCola automatically on logon"
|
||||
msgstr "Samodejno zaženi ZRColo ob prijavi"
|
||||
|
||||
#: zrcolatranseq.cpp:63
|
||||
#, c-format
|
||||
msgid "Unknown translation (%u)"
|
||||
msgstr "Neznana pretvorba (%u)"
|
||||
|
||||
#: zrcolaupdater.cpp:94
|
||||
msgid ""
|
||||
"This program will now close and the upgrade will be launched.\n"
|
||||
@ -598,22 +622,6 @@ msgstr ""
|
||||
"Program se bo zdaj zaprl in zagnala se bo posodobitev.\n"
|
||||
"Ali ste prepričani, da želite nadaljevati?"
|
||||
|
||||
#: zrcolaupdater.cpp:94 zrcolagui.h:350
|
||||
msgid "Product Update"
|
||||
msgstr "Posodabljanje izdelka"
|
||||
|
||||
#: zrcolagui.h:248
|
||||
msgid "Character Search"
|
||||
msgstr "Poišči znak"
|
||||
|
||||
#: zrcolagui.h:299
|
||||
msgid "Settings"
|
||||
msgstr "Nastavitve"
|
||||
|
||||
#: zrcolagui.h:325
|
||||
msgid "About ZRCola"
|
||||
msgstr "O ZRColi"
|
||||
|
||||
#: MSIBuild/en_US.Win32.Release.Control-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Control-2.idtx:10
|
||||
#: MSIBuild/en_US.Win32.Release.Control-2.idtx:15
|
||||
@ -688,3 +696,6 @@ msgstr "Znake lahko v vnosno vrstico vstavljamo s pomočjo bližnjic na tipkovni
|
||||
#: MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
msgid "Input system for linguistic use"
|
||||
msgstr "Vnašalni sistem za jezikoslovno rabo"
|
||||
|
||||
#~ msgid "&Active:"
|
||||
#~ msgstr "&Aktivni:"
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include "zrcolafrm.h"
|
||||
#include "zrcolakeyhndlr.h"
|
||||
#include "zrcolasettings.h"
|
||||
#include "zrcolatranseq.h"
|
||||
#include "zrcolaupdater.h"
|
||||
|
||||
#include <Updater/chkthread.h>
|
||||
|
@ -171,7 +171,6 @@ bool ZRColaApp::OnInit()
|
||||
wxSocketBase::Initialize();
|
||||
|
||||
m_mainWnd = new wxZRColaFrame();
|
||||
wxPersistentRegisterAndRestore<wxZRColaFrame>(m_mainWnd);
|
||||
m_mainWnd->Show();
|
||||
|
||||
return true;
|
||||
|
@ -87,16 +87,17 @@ void wxZRColaComposerPanel::SynchronizePanels()
|
||||
m_timerSave.Stop();
|
||||
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
wxZRColaFrame *mainWnd = dynamic_cast<wxZRColaFrame*>(wxGetActiveWindow());
|
||||
wxASSERT_MSG(mainWnd, "main window missing");
|
||||
|
||||
wxString src;
|
||||
size_t len = GetValue(m_source, src);
|
||||
std::wstring dst(src.data(), len), dst2;
|
||||
ZRCola::mapping_vector map;
|
||||
|
||||
const ZRCola::transetid_t *sets_begin, *sets_end;
|
||||
GetTranslationSeq(sets_begin, sets_end);
|
||||
|
||||
m_mapping.clear();
|
||||
for (auto s = mainWnd->m_settings->m_transeq.cbegin(), s_end = mainWnd->m_settings->m_transeq.cend(); s != s_end; ++s) {
|
||||
for (auto s = sets_begin; s != sets_end; ++s) {
|
||||
if (*s == 0) {
|
||||
// ZRCola Decomposed => ZRCola Composed should decompose first.
|
||||
app->m_t_db.TranslateInv(*s, dst.data(), dst.size(), dst2, &map);
|
||||
@ -105,7 +106,7 @@ void wxZRColaComposerPanel::SynchronizePanels()
|
||||
app->m_t_db.Translate(*s, dst2.data(), dst2.size(), dst, &map);
|
||||
m_mapping.push_back(std::move(map));
|
||||
} else {
|
||||
// Other transforms
|
||||
// Other translates
|
||||
app->m_t_db.Translate(*s, dst.data(), dst.size(), dst2, &map);
|
||||
m_mapping.push_back(std::move(map));
|
||||
dst = std::move(dst2);
|
||||
@ -130,21 +131,22 @@ void wxZRColaComposerPanel::SynchronizePanels()
|
||||
m_timerSave.Stop();
|
||||
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
wxZRColaFrame *mainWnd = dynamic_cast<wxZRColaFrame*>(wxGetActiveWindow());
|
||||
wxASSERT_MSG(mainWnd, "main window missing");
|
||||
|
||||
wxString src;
|
||||
size_t len = GetValue(m_destination, src);
|
||||
std::wstring dst(src.data(), len), dst2;
|
||||
ZRCola::mapping_vector map;
|
||||
|
||||
const ZRCola::transetid_t *sets_begin, *sets_end;
|
||||
GetTranslationSeq(sets_begin, sets_end);
|
||||
|
||||
m_mapping.clear();
|
||||
for (auto s = mainWnd->m_settings->m_transeq.crbegin(), s_end = mainWnd->m_settings->m_transeq.crend(); s != s_end; ++s) {
|
||||
for (auto s = sets_end; s != sets_begin; s--) {
|
||||
if (*s) {
|
||||
// ZRCola Decomposed => ZRCola Composed
|
||||
app->m_t_db.TranslateInv(*s, dst.data(), dst.size(), &app->m_lc_db, mainWnd->m_settings->m_lang, dst2, &map);
|
||||
app->m_t_db.TranslateInv(*s, dst.data(), dst.size(), &app->m_lc_db, app->m_mainWnd->m_settings->m_lang, dst2, &map);
|
||||
} else {
|
||||
// Other transforms
|
||||
// Other translates
|
||||
app->m_t_db.TranslateInv(*s, dst.data(), dst.size(), dst2, &map);
|
||||
}
|
||||
dst = std::move(dst2);
|
||||
@ -233,7 +235,7 @@ void wxZRColaComposerPanel::OnSourceText(wxCommandEvent& event)
|
||||
{
|
||||
event.Skip();
|
||||
|
||||
// Set the flag the source text changed to trigger idle-time transformation.
|
||||
// Set the flag the source text changed to trigger idle-time translation.
|
||||
m_sourceChanged = true;
|
||||
}
|
||||
|
||||
@ -296,7 +298,7 @@ void wxZRColaComposerPanel::OnDestinationText(wxCommandEvent& event)
|
||||
{
|
||||
event.Skip();
|
||||
|
||||
// Set the flag the destination text changed to trigger idle-time inverse transformation.
|
||||
// Set the flag the destination text changed to trigger idle-time inverse translation.
|
||||
m_destinationChanged = true;
|
||||
}
|
||||
|
||||
|
@ -56,14 +56,15 @@ protected:
|
||||
virtual void OnSaveTimer(wxTimerEvent& event);
|
||||
inline size_t MapToDestination(_In_ size_t src) const;
|
||||
inline size_t MapToSource(_In_ size_t dst) const;
|
||||
inline void GetTranslationSeq(_Out_ const ZRCola::transetid_t *&sets_begin, _Out_ const ZRCola::transetid_t *&sets_end) const;
|
||||
|
||||
static wxString GetStateFileName();
|
||||
static size_t GetValue(wxTextCtrl *wnd, wxString &text);
|
||||
static void SetHexValue(wxTextCtrl *wnd, std::pair<long, long> &range, ZRCola::mapping_vector &mapping, const wchar_t *src, size_t len, long from, long to);
|
||||
|
||||
protected:
|
||||
bool m_sourceChanged; ///< Boolean flag to mark source text "dirty" to trigger transformation
|
||||
bool m_destinationChanged; ///< Boolean flag to mark destination text "dirty" to trigger inverse transformation
|
||||
bool m_sourceChanged; ///< Boolean flag to mark source text "dirty" to trigger translation
|
||||
bool m_destinationChanged; ///< Boolean flag to mark destination text "dirty" to trigger inverse translation
|
||||
std::vector<ZRCola::mapping_vector> m_mapping; ///< Character index mapping vector between source and normalized text
|
||||
std::pair<long, long>
|
||||
m_selSource, ///< Character index of selected text in source text control
|
||||
@ -108,6 +109,27 @@ inline size_t wxZRColaComposerPanel::MapToSource(_In_ size_t dst) const
|
||||
}
|
||||
|
||||
|
||||
inline void wxZRColaComposerPanel::GetTranslationSeq(_Out_ const ZRCola::transetid_t *&sets_begin, _Out_ const ZRCola::transetid_t *&sets_end) const
|
||||
{
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
|
||||
if (app->m_mainWnd->m_transeq_id != ZRCOLA_TRANSEQID_CUSTOM) {
|
||||
size_t start;
|
||||
if (app->m_tsq_db.idxTranSeq.find(ZRCola::transeq_db::transeq(app->m_mainWnd->m_transeq_id), start)) {
|
||||
const auto &ts = app->m_tsq_db.idxTranSeq[start];
|
||||
sets_begin = ts.sets();
|
||||
sets_end = ts.sets_end();
|
||||
} else {
|
||||
sets_begin = NULL;
|
||||
sets_end = NULL;
|
||||
}
|
||||
} else {
|
||||
sets_begin = app->m_mainWnd->m_transeq->m_transeq.data();
|
||||
sets_end = sets_begin + app->m_mainWnd->m_transeq->m_transeq.size();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
inline wxPersistentObject *wxCreatePersistentObject(wxZRColaComposerPanel *wnd)
|
||||
{
|
||||
return new wxPersistentZRColaComposerPanel(wnd);
|
||||
|
@ -45,8 +45,8 @@ wxBEGIN_EVENT_TABLE(wxZRColaFrame, wxZRColaFrameBase)
|
||||
|
||||
EVT_UPDATE_UI (wxID_TOOLBAR_EDIT , wxZRColaFrame::OnToolbarEditUpdate )
|
||||
EVT_MENU (wxID_TOOLBAR_EDIT , wxZRColaFrame::OnToolbarEdit )
|
||||
EVT_UPDATE_UI (wxID_TOOLBAR_TRANSFORM , wxZRColaFrame::OnToolbarTransformUpdate )
|
||||
EVT_MENU (wxID_TOOLBAR_TRANSFORM , wxZRColaFrame::OnToolbarTransform )
|
||||
EVT_UPDATE_UI (wxID_TOOLBAR_TRANSLATE , wxZRColaFrame::OnToolbarTranslateUpdate )
|
||||
EVT_MENU (wxID_TOOLBAR_TRANSLATE , wxZRColaFrame::OnToolbarTranslate )
|
||||
EVT_UPDATE_UI (wxID_PANEL_CHRGRPS , wxZRColaFrame::OnPanelCharacterCatalogUpdate)
|
||||
EVT_MENU (wxID_PANEL_CHRGRPS , wxZRColaFrame::OnPanelCharacterCatalog )
|
||||
EVT_MENU (wxID_FOCUS_CHARACTER_CATALOG , wxZRColaFrame::OnPanelCharacterCatalogFocus )
|
||||
@ -65,16 +65,30 @@ wxZRColaFrame::wxZRColaFrame() :
|
||||
m_chrSelect(NULL),
|
||||
m_settings(NULL),
|
||||
m_chrReq(NULL),
|
||||
m_transeq_id(0), // By default use predefined translation sequence 0 (ZRCola Decomposed >> Composed)
|
||||
m_transeq(NULL),
|
||||
wxZRColaFrameBase(NULL)
|
||||
{
|
||||
{
|
||||
// wxFrameBuilder 3.5 does not support wxAUI_TB_HORIZONTAL flag. Add it manually.
|
||||
wxAuiPaneInfo &paneInfo = m_mgr.GetPane(m_toolbarTransform);
|
||||
wxAuiPaneInfo &paneInfo = m_mgr.GetPane(m_toolbarTranslate);
|
||||
paneInfo.LeftDockable(false);
|
||||
paneInfo.RightDockable(false);
|
||||
m_toolbarTransform->SetWindowStyleFlag(m_toolbarTransform->GetWindowStyleFlag() | wxAUI_TB_HORIZONTAL);
|
||||
m_toolbarTranslate->SetWindowStyleFlag(m_toolbarTranslate->GetWindowStyleFlag() | wxAUI_TB_HORIZONTAL);
|
||||
}
|
||||
|
||||
// Populate list of translation sequences.
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
m_toolTranslationSeq->Clear();
|
||||
for (size_t i = 0, n = app->m_tsq_db.idxRank.size(); i < n; i++) {
|
||||
const ZRCola::transeq_db::transeq &ts = app->m_tsq_db.idxRank[i];
|
||||
wxString
|
||||
name(ts.name(), ts.name_len()),
|
||||
name_tran(wxGetTranslation(name, wxT("ZRCola-zrcdb")));
|
||||
m_toolTranslationSeq->Append(name_tran, reinterpret_cast<void*>(ts.seq));
|
||||
}
|
||||
m_toolTranslationSeq->Append(_("Custom Translation..."), reinterpret_cast<void*>(ZRCOLA_TRANSEQID_CUSTOM));
|
||||
|
||||
// Load main window icons.
|
||||
#ifdef __WINDOWS__
|
||||
wxIcon icon_small(wxT("00_zrcola.ico"), wxBITMAP_TYPE_ICO_RESOURCE, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON));
|
||||
@ -99,6 +113,9 @@ wxZRColaFrame::wxZRColaFrame() :
|
||||
m_settings = new wxZRColaSettings(this);
|
||||
wxPersistentRegisterAndRestore<wxZRColaSettings>(m_settings);
|
||||
|
||||
m_transeq = new wxZRColaTranslationSeq(this);
|
||||
wxPersistentRegisterAndRestore<wxZRColaTranslationSeq>(m_transeq);
|
||||
|
||||
m_chrSelect = new wxZRColaCharSelect(this);
|
||||
wxPersistentRegisterAndRestore<wxZRColaCharSelect>(m_chrSelect);
|
||||
|
||||
@ -137,11 +154,26 @@ wxZRColaFrame::wxZRColaFrame() :
|
||||
|
||||
// Restore persistent state of wxAuiManager manually, since m_mgr is not on the heap.
|
||||
wxPersistentAuiManager(&m_mgr).Restore();
|
||||
wxPersistentRegisterAndRestore<wxZRColaFrame>(this);
|
||||
|
||||
// Populate list of translation sequences.
|
||||
for (unsigned int i = 0, n = m_toolTranslationSeq->GetCount(); ; i++) {
|
||||
if (i < n) {
|
||||
if (reinterpret_cast<ZRCola::transeqid_t>(m_toolTranslationSeq->GetClientData(i)) == m_transeq_id) {
|
||||
m_toolTranslationSeq->SetSelection(i);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
m_transeq_id = reinterpret_cast<ZRCola::transeqid_t>(m_toolTranslationSeq->GetClientData(0));
|
||||
m_toolTranslationSeq->SetSelection(0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Register global hotkey(s).
|
||||
if (!RegisterHotKey(wxZRColaHKID_INVOKE_TRANSFORM, wxMOD_WIN, VK_F5))
|
||||
if (!RegisterHotKey(wxZRColaHKID_INVOKE_TRANSLATE, wxMOD_WIN, VK_F5))
|
||||
wxMessageBox(_("ZRCola keyboard shortcut Win+F5 could not be registered. Some functionality will not be available."), _("Warning"), wxOK | wxICON_WARNING);
|
||||
if (!RegisterHotKey(wxZRColaHKID_INVOKE_TRANSFORM_INV, wxMOD_WIN, VK_F6))
|
||||
if (!RegisterHotKey(wxZRColaHKID_INVOKE_TRANSLATE_INV, wxMOD_WIN, VK_F6))
|
||||
wxMessageBox(_("ZRCola keyboard shortcut Win+F6 could not be registered. Some functionality will not be available."), _("Warning"), wxOK | wxICON_WARNING);
|
||||
}
|
||||
|
||||
@ -149,8 +181,8 @@ wxZRColaFrame::wxZRColaFrame() :
|
||||
wxZRColaFrame::~wxZRColaFrame()
|
||||
{
|
||||
// Unregister global hotkey(s).
|
||||
UnregisterHotKey(wxZRColaHKID_INVOKE_TRANSFORM_INV);
|
||||
UnregisterHotKey(wxZRColaHKID_INVOKE_TRANSFORM );
|
||||
UnregisterHotKey(wxZRColaHKID_INVOKE_TRANSLATE_INV);
|
||||
UnregisterHotKey(wxZRColaHKID_INVOKE_TRANSLATE );
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
if (m_tfSource) {
|
||||
@ -317,20 +349,36 @@ void wxZRColaFrame::OnToolbarEdit(wxCommandEvent& event)
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaFrame::OnToolbarTransformUpdate(wxUpdateUIEvent& event)
|
||||
void wxZRColaFrame::OnToolbarTranslateUpdate(wxUpdateUIEvent& event)
|
||||
{
|
||||
event.Check(m_mgr.GetPane(m_toolbarTransform).IsShown());
|
||||
event.Check(m_mgr.GetPane(m_toolbarTranslate).IsShown());
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaFrame::OnToolbarTransform(wxCommandEvent& event)
|
||||
void wxZRColaFrame::OnToolbarTranslate(wxCommandEvent& event)
|
||||
{
|
||||
wxAuiPaneInfo &paneInfo = m_mgr.GetPane(m_toolbarTransform);
|
||||
wxAuiPaneInfo &paneInfo = m_mgr.GetPane(m_toolbarTranslate);
|
||||
paneInfo.Show(!paneInfo.IsShown());
|
||||
m_mgr.Update();
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaFrame::OnTranslationSeqChoice(wxCommandEvent& event)
|
||||
{
|
||||
ZRCola::transeqid_t transeq_id = reinterpret_cast<ZRCola::transeqid_t>(event.GetClientData());
|
||||
if (m_transeq_id != transeq_id) {
|
||||
m_transeq_id = transeq_id;
|
||||
|
||||
// Notify source text something changed and should re-translate.
|
||||
wxCommandEvent event2(wxEVT_COMMAND_TEXT_UPDATED);
|
||||
m_panel->m_source->ProcessWindowEvent(event2);
|
||||
}
|
||||
|
||||
if (m_transeq_id == ZRCOLA_TRANSEQID_CUSTOM)
|
||||
m_transeq->ShowModal();
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaFrame::OnPanelCharacterCatalogUpdate(wxUpdateUIEvent& event)
|
||||
{
|
||||
event.Check(m_mgr.GetPane(m_panelChrCat).IsShown());
|
||||
@ -527,8 +575,8 @@ WXLRESULT wxZRColaFrame::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM
|
||||
WXHWND hWndSource = ::GetForegroundWindow();
|
||||
|
||||
switch (wParam) {
|
||||
case wxZRColaHKID_INVOKE_TRANSFORM : m_panel->m_source ->SetFocus(); break;
|
||||
case wxZRColaHKID_INVOKE_TRANSFORM_INV: m_panel->m_destination->SetFocus(); break;
|
||||
case wxZRColaHKID_INVOKE_TRANSLATE : m_panel->m_source ->SetFocus(); break;
|
||||
case wxZRColaHKID_INVOKE_TRANSLATE_INV: m_panel->m_destination->SetFocus(); break;
|
||||
default:
|
||||
wxFAIL_MSG(wxT("not our registered shortcut"));
|
||||
return wxZRColaFrameBase::MSWWindowProc(message, wParam, lParam);
|
||||
@ -582,6 +630,8 @@ void wxPersistentZRColaFrame::Save() const
|
||||
|
||||
auto wnd = static_cast<const wxZRColaFrame*>(GetWindow()); // dynamic_cast is not reliable as we are typically called late in the wxTopLevelWindowMSW destructor.
|
||||
|
||||
SaveValue(wxT("transeqId"), static_cast<int>(wnd->m_transeq_id));
|
||||
|
||||
wxPersistentZRColaComposerPanel(wnd->m_panel).Save();
|
||||
wxPersistentZRColaCharacterCatalogPanel(wnd->m_panelChrCat).Save();
|
||||
}
|
||||
@ -594,5 +644,9 @@ bool wxPersistentZRColaFrame::Restore()
|
||||
wxPersistentZRColaCharacterCatalogPanel(wnd->m_panelChrCat).Restore();
|
||||
wxPersistentZRColaComposerPanel(wnd->m_panel).Restore();
|
||||
|
||||
int num;
|
||||
if (RestoreValue(wxT("transeqId"), &num))
|
||||
wnd->m_transeq_id = num;
|
||||
|
||||
return wxPersistentTLW::Restore();
|
||||
}
|
||||
|
@ -29,7 +29,9 @@ class wxZRColaFrame;
|
||||
#include "zrcolachrslct.h"
|
||||
#include "zrcolachrreq.h"
|
||||
#include "zrcolasettings.h"
|
||||
#include "zrcolatranseq.h"
|
||||
#include <zrcola/language.h>
|
||||
#include <zrcola/translate.h>
|
||||
#include <wx/taskbar.h>
|
||||
#include <wx/persist/toplevel.h>
|
||||
#if defined(__WXMSW__)
|
||||
@ -40,8 +42,8 @@ class wxZRColaFrame;
|
||||
///
|
||||
/// Global hotkey message identifiers
|
||||
///
|
||||
#define wxZRColaHKID_INVOKE_TRANSFORM 0
|
||||
#define wxZRColaHKID_INVOKE_TRANSFORM_INV 1
|
||||
#define wxZRColaHKID_INVOKE_TRANSLATE 0
|
||||
#define wxZRColaHKID_INVOKE_TRANSLATE_INV 1
|
||||
|
||||
|
||||
///
|
||||
@ -83,8 +85,9 @@ protected:
|
||||
virtual void OnIconize(wxIconizeEvent& event);
|
||||
void OnToolbarEditUpdate(wxUpdateUIEvent& event);
|
||||
void OnToolbarEdit(wxCommandEvent& event);
|
||||
void OnToolbarTransformUpdate(wxUpdateUIEvent& event);
|
||||
void OnToolbarTransform(wxCommandEvent& event);
|
||||
void OnToolbarTranslateUpdate(wxUpdateUIEvent& event);
|
||||
void OnToolbarTranslate(wxCommandEvent& event);
|
||||
virtual void OnTranslationSeqChoice(wxCommandEvent& event);
|
||||
void OnPanelCharacterCatalogUpdate(wxUpdateUIEvent& event);
|
||||
void OnPanelCharacterCatalog(wxCommandEvent& event);
|
||||
void OnPanelCharacterCatalogFocus(wxCommandEvent& event);
|
||||
@ -126,6 +129,8 @@ protected:
|
||||
wxZRColaCharSelect *m_chrSelect; ///< Character selection dialog
|
||||
wxZRColaCharRequest *m_chrReq; ///< Request a New Character dialog
|
||||
wxZRColaSettings *m_settings; ///< Configuration dialog
|
||||
ZRCola::transeqid_t m_transeq_id; ///< Translation sequence ID
|
||||
wxZRColaTranslationSeq *m_transeq; ///< Custom translation sequence dialog
|
||||
};
|
||||
|
||||
|
||||
|
@ -144,7 +144,7 @@ wxZRColaFrameBase::wxZRColaFrameBase( wxWindow* parent, wxWindowID id, const wxS
|
||||
m_menuView->Append( m_menuItemToolbarEdit );
|
||||
|
||||
wxMenuItem* m_menuItemToolbarCompose;
|
||||
m_menuItemToolbarCompose = new wxMenuItem( m_menuView, wxID_TOOLBAR_TRANSFORM, wxString( _("&Compose Toolbar") ) , _("Toggle compose toolbar"), wxITEM_CHECK );
|
||||
m_menuItemToolbarCompose = new wxMenuItem( m_menuView, wxID_TOOLBAR_TRANSLATE, wxString( _("&Compose Toolbar") ) , _("Toggle compose toolbar"), wxITEM_CHECK );
|
||||
m_menuView->Append( m_menuItemToolbarCompose );
|
||||
|
||||
m_menuView->AppendSeparator();
|
||||
@ -194,15 +194,19 @@ wxZRColaFrameBase::wxZRColaFrameBase( wxWindow* parent, wxWindowID id, const wxS
|
||||
m_toolbarEdit->Realize();
|
||||
m_mgr.AddPane( m_toolbarEdit, wxAuiPaneInfo().Name( wxT("toolbarEdit") ).Top().Caption( _("Edit") ).PinButton( true ).Dock().Resizable().FloatingSize( wxSize( -1,-1 ) ).LeftDockable( false ).RightDockable( false ).Row( 0 ).Layer( 1 ).ToolbarPane() );
|
||||
|
||||
m_toolbarTransform = new wxAuiToolBar( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_TB_HORZ_LAYOUT );
|
||||
m_toolCharSelect = m_toolbarTransform->AddTool( wxID_CHARACTER_SELECTOR, _("Find Character"), wxIcon( wxT("char_select.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Find Character"), _("Display character search to select character to insert into text"), NULL );
|
||||
m_toolbarTranslate = new wxAuiToolBar( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_TB_HORZ_LAYOUT );
|
||||
m_toolCharSelect = m_toolbarTranslate->AddTool( wxID_CHARACTER_SELECTOR, _("Find Character"), wxIcon( wxT("char_select.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Find Character"), _("Display character search to select character to insert into text"), NULL );
|
||||
|
||||
m_toolSendDestination = m_toolbarTransform->AddTool( wxID_SEND_DESTINATION, _("Send Composed"), wxIcon( wxT("send_destination.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Send Composed"), _("Send composed text to source window"), NULL );
|
||||
m_toolSendDestination = m_toolbarTranslate->AddTool( wxID_SEND_DESTINATION, _("Send Composed"), wxIcon( wxT("send_destination.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Send Composed"), _("Send composed text to source window"), NULL );
|
||||
|
||||
m_toolSendSource = m_toolbarTransform->AddTool( wxID_SEND_SOURCE, _("Send Decomposed"), wxIcon( wxT("send_source.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Send Decomposed"), _("Send decomposed text to source window"), NULL );
|
||||
m_toolSendSource = m_toolbarTranslate->AddTool( wxID_SEND_SOURCE, _("Send Decomposed"), wxIcon( wxT("send_source.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Send Decomposed"), _("Send decomposed text to source window"), NULL );
|
||||
|
||||
m_toolbarTransform->Realize();
|
||||
m_mgr.AddPane( m_toolbarTransform, wxAuiPaneInfo().Name( wxT("toolbarCompose") ).Top().Caption( _("Compose") ).PinButton( true ).Dock().Resizable().FloatingSize( wxSize( -1,-1 ) ).LeftDockable( false ).RightDockable( false ).Row( 0 ).Layer( 1 ).ToolbarPane() );
|
||||
wxArrayString m_toolTranslationSeqChoices;
|
||||
m_toolTranslationSeq = new wxChoice( m_toolbarTranslate, wxID_ANY, wxDefaultPosition, wxSize( 170,-1 ), m_toolTranslationSeqChoices, 0 );
|
||||
m_toolTranslationSeq->SetSelection( 0 );
|
||||
m_toolbarTranslate->AddControl( m_toolTranslationSeq );
|
||||
m_toolbarTranslate->Realize();
|
||||
m_mgr.AddPane( m_toolbarTranslate, wxAuiPaneInfo().Name( wxT("toolbarCompose") ).Top().Caption( _("Compose") ).PinButton( true ).Dock().Resizable().FloatingSize( wxSize( -1,-1 ) ).LeftDockable( false ).RightDockable( false ).Row( 0 ).Layer( 1 ).ToolbarPane() );
|
||||
|
||||
m_panelChrCat = new wxZRColaCharacterCatalogPanel( this );
|
||||
|
||||
@ -221,6 +225,7 @@ wxZRColaFrameBase::wxZRColaFrameBase( wxWindow* parent, wxWindowID id, const wxS
|
||||
this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( wxZRColaFrameBase::OnClose ) );
|
||||
this->Connect( wxEVT_ICONIZE, wxIconizeEventHandler( wxZRColaFrameBase::OnIconize ) );
|
||||
this->Connect( wxEVT_IDLE, wxIdleEventHandler( wxZRColaFrameBase::OnIdle ) );
|
||||
m_toolTranslationSeq->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( wxZRColaFrameBase::OnTranslationSeqChoice ), NULL, this );
|
||||
}
|
||||
|
||||
wxZRColaFrameBase::~wxZRColaFrameBase()
|
||||
@ -229,6 +234,7 @@ wxZRColaFrameBase::~wxZRColaFrameBase()
|
||||
this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( wxZRColaFrameBase::OnClose ) );
|
||||
this->Disconnect( wxEVT_ICONIZE, wxIconizeEventHandler( wxZRColaFrameBase::OnIconize ) );
|
||||
this->Disconnect( wxEVT_IDLE, wxIdleEventHandler( wxZRColaFrameBase::OnIdle ) );
|
||||
m_toolTranslationSeq->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( wxZRColaFrameBase::OnTranslationSeqChoice ), NULL, this );
|
||||
|
||||
m_mgr.UnInit();
|
||||
|
||||
@ -804,79 +810,6 @@ wxZRColaSettingsBase::wxZRColaSettingsBase( wxWindow* parent, wxWindowID id, con
|
||||
m_panelLanguage->SetSizer( bSizerLanguage );
|
||||
m_panelLanguage->Layout();
|
||||
m_listbook->AddPage( m_panelLanguage, _("Text Language"), true );
|
||||
m_panelTransformation = new wxPanel( m_listbook, wxID_ANY, wxDefaultPosition, wxSize( 500,-1 ), wxTAB_TRAVERSAL );
|
||||
wxBoxSizer* bSizerTransformation;
|
||||
bSizerTransformation = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_transLabel = new wxStaticText( m_panelTransformation, wxID_ANY, _("ZRCola offers multiple text transformations that can be arranged in a sequence.\nPlease select desired transformations and the order they are applied."), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_transLabel->Wrap( 490 );
|
||||
bSizerTransformation->Add( m_transLabel, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
wxFlexGridSizer* fgSizerTransformation;
|
||||
fgSizerTransformation = new wxFlexGridSizer( 2, 3, 0, 0 );
|
||||
fgSizerTransformation->AddGrowableCol( 0 );
|
||||
fgSizerTransformation->AddGrowableCol( 2 );
|
||||
fgSizerTransformation->AddGrowableRow( 0 );
|
||||
fgSizerTransformation->SetFlexibleDirection( wxBOTH );
|
||||
fgSizerTransformation->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
|
||||
|
||||
wxBoxSizer* bSizerTransAvailable;
|
||||
bSizerTransAvailable = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_transAvailableLabel = new wxStaticText( m_panelTransformation, wxID_ANY, _("A&vailable:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_transAvailableLabel->Wrap( -1 );
|
||||
bSizerTransAvailable->Add( m_transAvailableLabel, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_transAvailable = new wxListBox( m_panelTransformation, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SINGLE|wxLB_SORT );
|
||||
bSizerTransAvailable->Add( m_transAvailable, 1, wxALL|wxEXPAND, 5 );
|
||||
|
||||
|
||||
fgSizerTransformation->Add( bSizerTransAvailable, 1, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* bSizerTransActivate;
|
||||
bSizerTransActivate = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_transActivate = new wxButton( m_panelTransformation, wxID_ANY, _(">"), wxDefaultPosition, wxSize( 32,32 ), 0 );
|
||||
bSizerTransActivate->Add( m_transActivate, 0, wxALL, 5 );
|
||||
|
||||
m_transDeactivate = new wxButton( m_panelTransformation, wxID_ANY, _("<"), wxDefaultPosition, wxSize( 32,32 ), 0 );
|
||||
bSizerTransActivate->Add( m_transDeactivate, 0, wxALL, 5 );
|
||||
|
||||
|
||||
fgSizerTransformation->Add( bSizerTransActivate, 0, wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
wxBoxSizer* bSizerTransActive;
|
||||
bSizerTransActive = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_transActiveLabel = new wxStaticText( m_panelTransformation, wxID_ANY, _("&Active:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_transActiveLabel->Wrap( -1 );
|
||||
bSizerTransActive->Add( m_transActiveLabel, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_transActive = new wxListBox( m_panelTransformation, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SINGLE );
|
||||
bSizerTransActive->Add( m_transActive, 1, wxALL|wxEXPAND, 5 );
|
||||
|
||||
|
||||
fgSizerTransformation->Add( bSizerTransActive, 1, wxEXPAND, 5 );
|
||||
|
||||
|
||||
bSizerTransformation->Add( fgSizerTransformation, 1, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* bSizerTransActiveReorder;
|
||||
bSizerTransActiveReorder = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
m_transActiveUp = new wxButton( m_panelTransformation, wxID_ANY, _("Up"), wxDefaultPosition, wxSize( 70,-1 ), 0 );
|
||||
bSizerTransActiveReorder->Add( m_transActiveUp, 0, wxALL, 5 );
|
||||
|
||||
m_transActiveDown = new wxButton( m_panelTransformation, wxID_ANY, _("Down"), wxDefaultPosition, wxSize( 70,-1 ), 0 );
|
||||
bSizerTransActiveReorder->Add( m_transActiveDown, 0, wxALL, 5 );
|
||||
|
||||
|
||||
bSizerTransformation->Add( bSizerTransActiveReorder, 0, wxALIGN_RIGHT, 5 );
|
||||
|
||||
|
||||
m_panelTransformation->SetSizer( bSizerTransformation );
|
||||
m_panelTransformation->Layout();
|
||||
m_listbook->AddPage( m_panelTransformation, _("Transformation"), false );
|
||||
m_panelAutoStart = new wxPanel( m_listbook, wxID_ANY, wxDefaultPosition, wxSize( 500,-1 ), wxTAB_TRAVERSAL );
|
||||
wxBoxSizer* bSizerAutoStart;
|
||||
bSizerAutoStart = new wxBoxSizer( wxVERTICAL );
|
||||
@ -928,11 +861,6 @@ wxZRColaSettingsBase::wxZRColaSettingsBase( wxWindow* parent, wxWindowID id, con
|
||||
// Connect Events
|
||||
this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( wxZRColaSettingsBase::OnInitDialog ) );
|
||||
m_panelLanguage->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( wxZRColaSettingsBase::OnLanguageUpdate ), NULL, this );
|
||||
m_panelTransformation->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( wxZRColaSettingsBase::OnTransformationUpdate ), NULL, this );
|
||||
m_transActivate->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaSettingsBase::OnTransActivate ), NULL, this );
|
||||
m_transDeactivate->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaSettingsBase::OnTransDeactivate ), NULL, this );
|
||||
m_transActiveUp->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaSettingsBase::OnTransActiveUp ), NULL, this );
|
||||
m_transActiveDown->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaSettingsBase::OnTransActiveDown ), NULL, this );
|
||||
m_sdbSizerButtonsApply->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaSettingsBase::OnApplyButtonClick ), NULL, this );
|
||||
m_sdbSizerButtonsOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaSettingsBase::OnOKButtonClick ), NULL, this );
|
||||
}
|
||||
@ -942,11 +870,6 @@ wxZRColaSettingsBase::~wxZRColaSettingsBase()
|
||||
// Disconnect Events
|
||||
this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( wxZRColaSettingsBase::OnInitDialog ) );
|
||||
m_panelLanguage->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( wxZRColaSettingsBase::OnLanguageUpdate ), NULL, this );
|
||||
m_panelTransformation->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( wxZRColaSettingsBase::OnTransformationUpdate ), NULL, this );
|
||||
m_transActivate->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaSettingsBase::OnTransActivate ), NULL, this );
|
||||
m_transDeactivate->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaSettingsBase::OnTransDeactivate ), NULL, this );
|
||||
m_transActiveUp->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaSettingsBase::OnTransActiveUp ), NULL, this );
|
||||
m_transActiveDown->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaSettingsBase::OnTransActiveDown ), NULL, this );
|
||||
m_sdbSizerButtonsApply->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaSettingsBase::OnApplyButtonClick ), NULL, this );
|
||||
m_sdbSizerButtonsOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaSettingsBase::OnOKButtonClick ), NULL, this );
|
||||
|
||||
@ -1167,3 +1090,130 @@ wxZRColaCharRequestBase::~wxZRColaCharRequestBase()
|
||||
m_sdbSizerButtonsOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaCharRequestBase::OnOKButtonClick ), NULL, this );
|
||||
|
||||
}
|
||||
|
||||
wxZRColaTranslationSeqBase::wxZRColaTranslationSeqBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
|
||||
{
|
||||
this->SetSizeHints( wxDefaultSize, wxDefaultSize );
|
||||
|
||||
wxBoxSizer* bSizerContent;
|
||||
bSizerContent = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
wxStaticBoxSizer* sbSizerTranslationSet;
|
||||
sbSizerTranslationSet = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Translation") ), wxVERTICAL );
|
||||
|
||||
m_transLbl = new wxStaticText( sbSizerTranslationSet->GetStaticBox(), wxID_ANY, _("ZRCola offers multiple text translations that can be arranged in a sequence.\nPlease select desired translations and the order they are applied."), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_transLbl->Wrap( 452 );
|
||||
sbSizerTranslationSet->Add( m_transLbl, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* bSizerTranslation;
|
||||
bSizerTranslation = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
wxBoxSizer* bSizerTransAvailable;
|
||||
bSizerTransAvailable = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_availableLbl = new wxStaticText( sbSizerTranslationSet->GetStaticBox(), wxID_ANY, _("A&vailable:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_availableLbl->Wrap( -1 );
|
||||
bSizerTransAvailable->Add( m_availableLbl, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_available = new wxListBox( sbSizerTranslationSet->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxSize( 200,-1 ), 0, NULL, wxLB_SINGLE|wxLB_SORT );
|
||||
m_available->SetMinSize( wxSize( 200,150 ) );
|
||||
|
||||
bSizerTransAvailable->Add( m_available, 1, wxALL|wxEXPAND, 5 );
|
||||
|
||||
|
||||
bSizerTranslation->Add( bSizerTransAvailable, 1, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* bSizerTransSelect;
|
||||
bSizerTransSelect = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_add = new wxButton( sbSizerTranslationSet->GetStaticBox(), wxID_ANY, _(">"), wxDefaultPosition, wxSize( 32,32 ), 0 );
|
||||
bSizerTransSelect->Add( m_add, 0, wxALL, 5 );
|
||||
|
||||
m_remove = new wxButton( sbSizerTranslationSet->GetStaticBox(), wxID_ANY, _("<"), wxDefaultPosition, wxSize( 32,32 ), 0 );
|
||||
bSizerTransSelect->Add( m_remove, 0, wxALL, 5 );
|
||||
|
||||
|
||||
bSizerTranslation->Add( bSizerTransSelect, 0, wxALIGN_CENTER_VERTICAL, 5 );
|
||||
|
||||
wxBoxSizer* bSizerTransSelected;
|
||||
bSizerTransSelected = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_selectedLbl = new wxStaticText( sbSizerTranslationSet->GetStaticBox(), wxID_ANY, _("&Selected:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_selectedLbl->Wrap( -1 );
|
||||
bSizerTransSelected->Add( m_selectedLbl, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_selected = new wxListBox( sbSizerTranslationSet->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxSize( 200,-1 ), 0, NULL, wxLB_SINGLE );
|
||||
m_selected->SetMinSize( wxSize( 200,150 ) );
|
||||
|
||||
bSizerTransSelected->Add( m_selected, 1, wxALL|wxEXPAND, 5 );
|
||||
|
||||
|
||||
bSizerTranslation->Add( bSizerTransSelected, 1, wxEXPAND, 5 );
|
||||
|
||||
|
||||
sbSizerTranslationSet->Add( bSizerTranslation, 1, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* bSizerTransActiveReorder;
|
||||
bSizerTransActiveReorder = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
m_selectedUp = new wxButton( sbSizerTranslationSet->GetStaticBox(), wxID_ANY, _("Up"), wxDefaultPosition, wxSize( 70,-1 ), 0 );
|
||||
bSizerTransActiveReorder->Add( m_selectedUp, 0, wxALL, 5 );
|
||||
|
||||
m_selectedDown = new wxButton( sbSizerTranslationSet->GetStaticBox(), wxID_ANY, _("Down"), wxDefaultPosition, wxSize( 70,-1 ), 0 );
|
||||
bSizerTransActiveReorder->Add( m_selectedDown, 0, wxALL, 5 );
|
||||
|
||||
|
||||
sbSizerTranslationSet->Add( bSizerTransActiveReorder, 0, wxALIGN_RIGHT, 5 );
|
||||
|
||||
|
||||
bSizerContent->Add( sbSizerTranslationSet, 1, wxEXPAND|wxALL, 5 );
|
||||
|
||||
|
||||
bSizerContent->Add( 0, 0, 0, wxEXPAND|wxALL, 5 );
|
||||
|
||||
m_sdbSizerButtons = new wxStdDialogButtonSizer();
|
||||
m_sdbSizerButtonsOK = new wxButton( this, wxID_OK );
|
||||
m_sdbSizerButtons->AddButton( m_sdbSizerButtonsOK );
|
||||
m_sdbSizerButtonsCancel = new wxButton( this, wxID_CANCEL );
|
||||
m_sdbSizerButtons->AddButton( m_sdbSizerButtonsCancel );
|
||||
m_sdbSizerButtons->Realize();
|
||||
|
||||
bSizerContent->Add( m_sdbSizerButtons, 0, wxEXPAND|wxALL, 5 );
|
||||
|
||||
|
||||
this->SetSizer( bSizerContent );
|
||||
this->Layout();
|
||||
bSizerContent->Fit( this );
|
||||
|
||||
this->Centre( wxBOTH );
|
||||
|
||||
// Connect Events
|
||||
this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( wxZRColaTranslationSeqBase::OnInitDialog ) );
|
||||
this->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( wxZRColaTranslationSeqBase::OnUpdate ) );
|
||||
m_available->Connect( wxEVT_CHAR, wxKeyEventHandler( wxZRColaTranslationSeqBase::OnAvailableChar ), NULL, this );
|
||||
m_available->Connect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( wxZRColaTranslationSeqBase::OnAvailableDClick ), NULL, this );
|
||||
m_add->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaTranslationSeqBase::OnAdd ), NULL, this );
|
||||
m_remove->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaTranslationSeqBase::OnRemove ), NULL, this );
|
||||
m_selected->Connect( wxEVT_CHAR, wxKeyEventHandler( wxZRColaTranslationSeqBase::OnSelectedChar ), NULL, this );
|
||||
m_selected->Connect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( wxZRColaTranslationSeqBase::OnSelectedDClick ), NULL, this );
|
||||
m_selectedUp->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaTranslationSeqBase::OnSelectedUp ), NULL, this );
|
||||
m_selectedDown->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaTranslationSeqBase::OnSelectedDown ), NULL, this );
|
||||
m_sdbSizerButtonsOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaTranslationSeqBase::OnOKButtonClick ), NULL, this );
|
||||
}
|
||||
|
||||
wxZRColaTranslationSeqBase::~wxZRColaTranslationSeqBase()
|
||||
{
|
||||
// Disconnect Events
|
||||
this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( wxZRColaTranslationSeqBase::OnInitDialog ) );
|
||||
this->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( wxZRColaTranslationSeqBase::OnUpdate ) );
|
||||
m_available->Disconnect( wxEVT_CHAR, wxKeyEventHandler( wxZRColaTranslationSeqBase::OnAvailableChar ), NULL, this );
|
||||
m_available->Disconnect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( wxZRColaTranslationSeqBase::OnAvailableDClick ), NULL, this );
|
||||
m_add->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaTranslationSeqBase::OnAdd ), NULL, this );
|
||||
m_remove->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaTranslationSeqBase::OnRemove ), NULL, this );
|
||||
m_selected->Disconnect( wxEVT_CHAR, wxKeyEventHandler( wxZRColaTranslationSeqBase::OnSelectedChar ), NULL, this );
|
||||
m_selected->Disconnect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( wxZRColaTranslationSeqBase::OnSelectedDClick ), NULL, this );
|
||||
m_selectedUp->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaTranslationSeqBase::OnSelectedUp ), NULL, this );
|
||||
m_selectedDown->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaTranslationSeqBase::OnSelectedDown ), NULL, this );
|
||||
m_sdbSizerButtonsOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaTranslationSeqBase::OnOKButtonClick ), NULL, this );
|
||||
|
||||
}
|
||||
|
@ -25,6 +25,7 @@ class wxZRColaCharGrid;
|
||||
#include <wx/settings.h>
|
||||
#include <wx/aui/aui.h>
|
||||
#include <wx/aui/auibar.h>
|
||||
#include <wx/choice.h>
|
||||
class wxZRColaCharacterCatalogPanel;
|
||||
class wxZRColaComposerPanel;
|
||||
#include <wx/statusbr.h>
|
||||
@ -35,7 +36,6 @@ class wxZRColaComposerPanel;
|
||||
#include <wx/panel.h>
|
||||
#include <wx/splitter.h>
|
||||
#include <wx/timer.h>
|
||||
#include <wx/choice.h>
|
||||
#include <wx/grid.h>
|
||||
#include <wx/checkbox.h>
|
||||
#include <wx/srchctrl.h>
|
||||
@ -70,7 +70,7 @@ class wxZRColaFrameBase : public wxFrame
|
||||
wxID_SEND_ABORT,
|
||||
wxID_SETTINGS,
|
||||
wxID_TOOLBAR_EDIT,
|
||||
wxID_TOOLBAR_TRANSFORM,
|
||||
wxID_TOOLBAR_TRANSLATE,
|
||||
wxID_PANEL_CHRGRPS,
|
||||
wxID_HELP_INSTRUCTIONS,
|
||||
wxID_HELP_SHORTCUTS,
|
||||
@ -87,10 +87,11 @@ class wxZRColaFrameBase : public wxFrame
|
||||
wxAuiToolBarItem* m_toolEditCut;
|
||||
wxAuiToolBarItem* m_toolEditCopy;
|
||||
wxAuiToolBarItem* m_toolEditPaste;
|
||||
wxAuiToolBar* m_toolbarTransform;
|
||||
wxAuiToolBar* m_toolbarTranslate;
|
||||
wxAuiToolBarItem* m_toolCharSelect;
|
||||
wxAuiToolBarItem* m_toolSendDestination;
|
||||
wxAuiToolBarItem* m_toolSendSource;
|
||||
wxChoice* m_toolTranslationSeq;
|
||||
wxZRColaCharacterCatalogPanel* m_panelChrCat;
|
||||
wxStatusBar* m_statusBar;
|
||||
|
||||
@ -98,6 +99,7 @@ class wxZRColaFrameBase : public wxFrame
|
||||
virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
|
||||
virtual void OnIconize( wxIconizeEvent& event ) { event.Skip(); }
|
||||
virtual void OnIdle( wxIdleEvent& event ) { event.Skip(); }
|
||||
virtual void OnTranslationSeqChoice( wxCommandEvent& event ) { event.Skip(); }
|
||||
|
||||
|
||||
public:
|
||||
@ -264,16 +266,6 @@ class wxZRColaSettingsBase : public wxDialog
|
||||
wxRadioButton* m_langAuto;
|
||||
wxRadioButton* m_langManual;
|
||||
wxListBox* m_languages;
|
||||
wxPanel* m_panelTransformation;
|
||||
wxStaticText* m_transLabel;
|
||||
wxStaticText* m_transAvailableLabel;
|
||||
wxListBox* m_transAvailable;
|
||||
wxButton* m_transActivate;
|
||||
wxButton* m_transDeactivate;
|
||||
wxStaticText* m_transActiveLabel;
|
||||
wxListBox* m_transActive;
|
||||
wxButton* m_transActiveUp;
|
||||
wxButton* m_transActiveDown;
|
||||
wxPanel* m_panelAutoStart;
|
||||
wxStaticText* m_autoStartLabel;
|
||||
wxCheckBox* m_autoStart;
|
||||
@ -285,11 +277,6 @@ class wxZRColaSettingsBase : public wxDialog
|
||||
// Virtual event handlers, overide them in your derived class
|
||||
virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); }
|
||||
virtual void OnLanguageUpdate( wxUpdateUIEvent& event ) { event.Skip(); }
|
||||
virtual void OnTransformationUpdate( wxUpdateUIEvent& event ) { event.Skip(); }
|
||||
virtual void OnTransActivate( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnTransDeactivate( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnTransActiveUp( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnTransActiveDown( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnApplyButtonClick( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnOKButtonClick( wxCommandEvent& event ) { event.Skip(); }
|
||||
|
||||
@ -381,4 +368,46 @@ class wxZRColaCharRequestBase : public wxDialog
|
||||
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/// Class wxZRColaTranslationSeqBase
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
class wxZRColaTranslationSeqBase : public wxDialog
|
||||
{
|
||||
private:
|
||||
|
||||
protected:
|
||||
wxStaticText* m_transLbl;
|
||||
wxStaticText* m_availableLbl;
|
||||
wxListBox* m_available;
|
||||
wxButton* m_add;
|
||||
wxButton* m_remove;
|
||||
wxStaticText* m_selectedLbl;
|
||||
wxListBox* m_selected;
|
||||
wxButton* m_selectedUp;
|
||||
wxButton* m_selectedDown;
|
||||
wxStdDialogButtonSizer* m_sdbSizerButtons;
|
||||
wxButton* m_sdbSizerButtonsOK;
|
||||
wxButton* m_sdbSizerButtonsCancel;
|
||||
|
||||
// Virtual event handlers, overide them in your derived class
|
||||
virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); }
|
||||
virtual void OnUpdate( wxUpdateUIEvent& event ) { event.Skip(); }
|
||||
virtual void OnAvailableChar( wxKeyEvent& event ) { event.Skip(); }
|
||||
virtual void OnAvailableDClick( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnAdd( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnRemove( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnSelectedChar( wxKeyEvent& event ) { event.Skip(); }
|
||||
virtual void OnSelectedDClick( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnSelectedUp( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnSelectedDown( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnOKButtonClick( wxCommandEvent& event ) { event.Skip(); }
|
||||
|
||||
|
||||
public:
|
||||
|
||||
wxZRColaTranslationSeqBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Custom Translation Sequence"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
|
||||
~wxZRColaTranslationSeqBase();
|
||||
|
||||
};
|
||||
|
||||
#endif //__ZRCOLAGUI_H__
|
||||
|
@ -27,7 +27,6 @@
|
||||
wxZRColaSettings::wxZRColaSettings(wxWindow* parent) :
|
||||
m_lang_auto(true),
|
||||
m_lang(ZRCola::langid_t::blank),
|
||||
m_transeq(1, 0), // By default use translation set 0 (ZRCola Decomposed >> ZRCola Composed)
|
||||
wxZRColaSettingsBase(parent)
|
||||
{
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
@ -39,18 +38,6 @@ wxZRColaSettings::wxZRColaSettings(wxWindow* parent) :
|
||||
label_tran(wxGetTranslation(label, wxT("ZRCola-zrcdb")));
|
||||
m_languages->Insert(label_tran, i);
|
||||
}
|
||||
|
||||
m_transAvailable->Clear();
|
||||
for (size_t i = 0, n = app->m_ts_db.idxTranSet.size(); i < n; i++) {
|
||||
const ZRCola::transet_db::transet &ts = app->m_ts_db.idxTranSet[i];
|
||||
wxString
|
||||
src(ts.src(), ts.src_len()),
|
||||
dst(ts.dst(), ts.dst_len()),
|
||||
src_tran(wxGetTranslation(src, wxT("ZRCola-zrcdb"))),
|
||||
dst_tran(wxGetTranslation(dst, wxT("ZRCola-zrcdb"))),
|
||||
label_tran(wxString::Format(wxT("%s \x00bb %s"), src_tran.c_str(), dst_tran.c_str()));
|
||||
m_transAvailable->Append(label_tran, (void*)ts.set);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -73,24 +60,6 @@ void wxZRColaSettings::OnInitDialog(wxInitDialogEvent& event)
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
ZRCola::language_db::indexLang::size_type start;
|
||||
m_languages->Select(app->m_lang_db.idxLang.find(ZRCola::language_db::language(m_lang), start) ? start : -1);
|
||||
|
||||
m_transActive->Clear();
|
||||
for (auto s = m_transeq.cbegin(), s_end = m_transeq.cend(); s != s_end; ++s) {
|
||||
ZRCola::transet_db::indexTranSet::size_type start;
|
||||
if (app->m_ts_db.idxTranSet.find(ZRCola::transet_db::transet(*s), start)) {
|
||||
const ZRCola::transet_db::transet &ts = app->m_ts_db.idxTranSet[start];
|
||||
wxString
|
||||
src(ts.src(), ts.src_len()),
|
||||
dst(ts.dst(), ts.dst_len()),
|
||||
src_tran(wxGetTranslation(src, wxT("ZRCola-zrcdb"))),
|
||||
dst_tran(wxGetTranslation(dst, wxT("ZRCola-zrcdb"))),
|
||||
label_tran(wxString::Format(wxT("%s \x00bb %s"), src_tran.c_str(), dst_tran.c_str()));
|
||||
m_transActive->Append(label_tran, (void*)ts.set);
|
||||
} else {
|
||||
wxString label_tran(wxString::Format(_("Unknown transformation (%u)"), (unsigned int)*s));
|
||||
m_transActive->Append(label_tran, (void*)*s);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -102,69 +71,6 @@ void wxZRColaSettings::OnLanguageUpdate(wxUpdateUIEvent& event)
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaSettings::OnTransformationUpdate(wxUpdateUIEvent& event)
|
||||
{
|
||||
m_transActivate->Enable(m_transAvailable->GetSelection() != wxNOT_FOUND);
|
||||
|
||||
int idx = m_transActive->GetSelection();
|
||||
m_transDeactivate->Enable(idx != wxNOT_FOUND);
|
||||
m_transActiveUp ->Enable(idx != wxNOT_FOUND && (unsigned int)idx > 0);
|
||||
m_transActiveDown->Enable(idx != wxNOT_FOUND && (unsigned int)idx < m_transActive->GetCount() - 1);
|
||||
|
||||
wxZRColaSettingsBase::OnTransformationUpdate(event);
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaSettings::OnTransActivate(wxCommandEvent& event)
|
||||
{
|
||||
int idx = m_transAvailable->GetSelection();
|
||||
wxASSERT_MSG(idx != wxNOT_FOUND, wxT("no available transformation selected"));
|
||||
m_transActive->Append(
|
||||
m_transAvailable->GetString(idx),
|
||||
m_transAvailable->GetClientData(idx));
|
||||
|
||||
wxZRColaSettingsBase::OnTransActivate(event);
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaSettings::OnTransDeactivate(wxCommandEvent& event)
|
||||
{
|
||||
int idx = m_transActive->GetSelection();
|
||||
wxASSERT_MSG(idx != wxNOT_FOUND, wxT("no active transformation selected"));
|
||||
m_transActive->Delete(idx);
|
||||
|
||||
wxZRColaSettingsBase::OnTransDeactivate(event);
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaSettings::OnTransActiveUp(wxCommandEvent& event)
|
||||
{
|
||||
int idx = m_transActive->GetSelection();
|
||||
wxASSERT_MSG(idx != wxNOT_FOUND && (unsigned int)idx > 0, wxT("no or first active transformation selected"));
|
||||
wxString label = m_transActive->GetString(idx);
|
||||
void *data = m_transActive->GetClientData(idx);
|
||||
m_transActive->Delete(idx);
|
||||
m_transActive->Insert(label, idx - 1, data);
|
||||
m_transActive->Select(idx - 1);
|
||||
|
||||
wxZRColaSettingsBase::OnTransActiveUp(event);
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaSettings::OnTransActiveDown(wxCommandEvent& event)
|
||||
{
|
||||
int idx = m_transActive->GetSelection();
|
||||
wxASSERT_MSG(idx != wxNOT_FOUND && (unsigned int)idx < m_transActive->GetCount() - 1, wxT("no or last active transformation selected"));
|
||||
wxString label = m_transActive->GetString(idx);
|
||||
void *data = m_transActive->GetClientData(idx);
|
||||
m_transActive->Delete(idx);
|
||||
m_transActive->Insert(label, idx + 1, data);
|
||||
m_transActive->Select(idx + 1);
|
||||
|
||||
wxZRColaSettingsBase::OnTransActiveDown(event);
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaSettings::OnApplyButtonClick(wxCommandEvent& event)
|
||||
{
|
||||
event.Skip();
|
||||
@ -215,19 +121,14 @@ void wxZRColaSettings::OnApplyButtonClick(wxCommandEvent& event)
|
||||
if (m_lang != lang.lang) {
|
||||
m_lang = lang.lang;
|
||||
|
||||
// Notify destination text something changed and should re-inverse transform.
|
||||
// Notify destination text something changed and should re-inverse translate.
|
||||
wxCommandEvent event2(wxEVT_COMMAND_TEXT_UPDATED);
|
||||
app->m_mainWnd->m_panel->m_destination->ProcessWindowEvent(event2);
|
||||
}
|
||||
}
|
||||
|
||||
m_transeq.clear();
|
||||
for (unsigned int i = 0, n = m_transActive->GetCount(); i < n; i++)
|
||||
m_transeq.push_back((ZRCola::transetid_t)m_transActive->GetClientData(i));
|
||||
}
|
||||
|
||||
|
||||
|
||||
void wxZRColaSettings::OnOKButtonClick(wxCommandEvent& event)
|
||||
{
|
||||
wxZRColaSettings::OnApplyButtonClick(event);
|
||||
@ -251,12 +152,6 @@ void wxPersistentZRColaSettings::Save() const
|
||||
|
||||
SaveValue(wxT("langAuto"), wnd->m_lang_auto);
|
||||
SaveValue(wxT("lang" ), wxString::FromAscii(wnd->m_lang.data, _countof(wnd->m_lang.data)));
|
||||
|
||||
wxString str;
|
||||
bool first = true;
|
||||
for (auto s = wnd->m_transeq.cbegin(), s_end = wnd->m_transeq.cend(); s != s_end; ++s, first = false)
|
||||
str += wxString::Format(first ? wxT("%u") : wxT("|%u"), *s);
|
||||
SaveValue(wxT("transeq"), str);
|
||||
}
|
||||
|
||||
|
||||
@ -283,22 +178,5 @@ bool wxPersistentZRColaSettings::Restore()
|
||||
} else
|
||||
wnd->m_lang = ZRCola::langid_t::blank;
|
||||
|
||||
wxString str;
|
||||
if (RestoreValue(wxT("transeq"), &str)) {
|
||||
std::vector<ZRCola::transetid_t> transeq;
|
||||
for (wxStringTokenizer tok(str, wxT("|")); tok.HasMoreTokens(); ) {
|
||||
unsigned long val = _tcstoul(tok.GetNextToken().c_str(), NULL, 10);
|
||||
for (size_t i = 0, n = app->m_ts_db.idxTranSet.size(); i < n; i++) {
|
||||
const ZRCola::transet_db::transet &cg = app->m_ts_db.idxTranSet[i];
|
||||
if (cg.set == val) {
|
||||
transeq.push_back(val);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!transeq.empty())
|
||||
wnd->m_transeq = std::move(transeq);
|
||||
}
|
||||
|
||||
return wxPersistentDialog::Restore();
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ class wxPersistentZRColaSettings;
|
||||
#pragma once
|
||||
|
||||
#include "zrcolagui.h"
|
||||
#include <zrcola/translate.h>
|
||||
#include <wxex/persist/dialog.h>
|
||||
#include <vector>
|
||||
|
||||
@ -45,18 +44,12 @@ public:
|
||||
protected:
|
||||
virtual void OnInitDialog(wxInitDialogEvent& event);
|
||||
virtual void OnLanguageUpdate(wxUpdateUIEvent& event);
|
||||
virtual void OnTransformationUpdate(wxUpdateUIEvent& event);
|
||||
virtual void OnTransActivate(wxCommandEvent& event);
|
||||
virtual void OnTransDeactivate(wxCommandEvent& event);
|
||||
virtual void OnTransActiveUp(wxCommandEvent& event);
|
||||
virtual void OnTransActiveDown(wxCommandEvent& event);
|
||||
virtual void OnApplyButtonClick(wxCommandEvent& event);
|
||||
virtual void OnOKButtonClick(wxCommandEvent& event);
|
||||
|
||||
public:
|
||||
bool m_lang_auto; ///< Is language for inverse translation resolved using currently selected keyboard
|
||||
ZRCola::langid_t m_lang; ///< Language for inverse translation
|
||||
std::vector<ZRCola::transetid_t> m_transeq; ///< Transformation set sequence
|
||||
};
|
||||
|
||||
|
||||
|
253
ZRCola/zrcolatranseq.cpp
Normal file
253
ZRCola/zrcolatranseq.cpp
Normal file
@ -0,0 +1,253 @@
|
||||
/*
|
||||
Copyright 2015-2017 Amebis
|
||||
|
||||
This file is part of ZRCola.
|
||||
|
||||
ZRCola is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
ZRCola is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// wxZRColaTranslationSeq
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
wxZRColaTranslationSeq::wxZRColaTranslationSeq(wxWindow* parent) :
|
||||
wxZRColaTranslationSeqBase(parent)
|
||||
{
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
|
||||
m_available->Clear();
|
||||
for (size_t i = 0, n = app->m_ts_db.idxTranSet.size(); i < n; i++) {
|
||||
const ZRCola::transet_db::transet &ts = app->m_ts_db.idxTranSet[i];
|
||||
wxString
|
||||
src(ts.src(), ts.src_len()),
|
||||
dst(ts.dst(), ts.dst_len()),
|
||||
src_tran(wxGetTranslation(src, wxT("ZRCola-zrcdb"))),
|
||||
dst_tran(wxGetTranslation(dst, wxT("ZRCola-zrcdb"))),
|
||||
label_tran(wxString::Format(wxT("%s \x00bb %s"), src_tran.c_str(), dst_tran.c_str()));
|
||||
m_available->Append(label_tran, (void*)ts.set);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaTranslationSeq::OnInitDialog(wxInitDialogEvent& event)
|
||||
{
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
|
||||
m_selected->Clear();
|
||||
for (auto s = m_transeq.cbegin(), s_end = m_transeq.cend(); s != s_end; ++s) {
|
||||
ZRCola::transet_db::indexTranSet::size_type start;
|
||||
if (app->m_ts_db.idxTranSet.find(ZRCola::transet_db::transet(*s), start)) {
|
||||
const ZRCola::transet_db::transet &ts = app->m_ts_db.idxTranSet[start];
|
||||
wxString
|
||||
src(ts.src(), ts.src_len()),
|
||||
dst(ts.dst(), ts.dst_len()),
|
||||
src_tran(wxGetTranslation(src, wxT("ZRCola-zrcdb"))),
|
||||
dst_tran(wxGetTranslation(dst, wxT("ZRCola-zrcdb"))),
|
||||
label_tran(wxString::Format(wxT("%s \x00bb %s"), src_tran.c_str(), dst_tran.c_str()));
|
||||
m_selected->Append(label_tran, (void*)ts.set);
|
||||
} else {
|
||||
wxString label_tran(wxString::Format(_("Unknown translation (%u)"), (unsigned int)*s));
|
||||
m_selected->Append(label_tran, (void*)*s);
|
||||
}
|
||||
}
|
||||
|
||||
wxZRColaTranslationSeqBase::OnInitDialog(event);
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaTranslationSeq::OnUpdate(wxUpdateUIEvent& event)
|
||||
{
|
||||
m_add->Enable(m_available->GetSelection() != wxNOT_FOUND);
|
||||
|
||||
int idx = m_selected->GetSelection();
|
||||
m_remove ->Enable(idx != wxNOT_FOUND);
|
||||
m_selectedUp ->Enable(idx != wxNOT_FOUND && (unsigned int)idx > 0);
|
||||
m_selectedDown->Enable(idx != wxNOT_FOUND && (unsigned int)idx < m_selected->GetCount() - 1);
|
||||
|
||||
wxZRColaTranslationSeqBase::OnUpdate(event);
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaTranslationSeq::OnAvailableChar(wxKeyEvent& event)
|
||||
{
|
||||
if (event.GetRawKeyCode() == VK_INSERT) {
|
||||
int idx = m_available->GetSelection();
|
||||
if (idx != wxNOT_FOUND) {
|
||||
m_selected->Append(
|
||||
m_available->GetString(idx),
|
||||
m_available->GetClientData(idx));
|
||||
}
|
||||
}
|
||||
|
||||
wxZRColaTranslationSeqBase::OnAvailableChar(event);
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaTranslationSeq::OnAvailableDClick(wxCommandEvent& event)
|
||||
{
|
||||
int idx = m_available->GetSelection();
|
||||
if (idx != wxNOT_FOUND) {
|
||||
m_selected->Append(
|
||||
m_available->GetString(idx),
|
||||
m_available->GetClientData(idx));
|
||||
}
|
||||
|
||||
wxZRColaTranslationSeqBase::OnAvailableDClick(event);
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaTranslationSeq::OnAdd(wxCommandEvent& event)
|
||||
{
|
||||
int idx = m_available->GetSelection();
|
||||
wxASSERT_MSG(idx != wxNOT_FOUND, wxT("no available translation selected"));
|
||||
m_selected->Append(
|
||||
m_available->GetString(idx),
|
||||
m_available->GetClientData(idx));
|
||||
|
||||
wxZRColaTranslationSeqBase::OnAdd(event);
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaTranslationSeq::OnRemove(wxCommandEvent& event)
|
||||
{
|
||||
int idx = m_selected->GetSelection();
|
||||
wxASSERT_MSG(idx != wxNOT_FOUND, wxT("no active translation selected"));
|
||||
m_selected->Delete(idx);
|
||||
|
||||
wxZRColaTranslationSeqBase::OnRemove(event);
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaTranslationSeq::OnSelectedChar(wxKeyEvent& event)
|
||||
{
|
||||
if (event.GetRawKeyCode() == VK_DELETE) {
|
||||
int idx = m_selected->GetSelection();
|
||||
if (idx != wxNOT_FOUND)
|
||||
m_selected->Delete(idx);
|
||||
}
|
||||
|
||||
wxZRColaTranslationSeqBase::OnSelectedChar(event);
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaTranslationSeq::OnSelectedDClick(wxCommandEvent& event)
|
||||
{
|
||||
int idx = m_selected->GetSelection();
|
||||
if (idx != wxNOT_FOUND)
|
||||
m_selected->Delete(idx);
|
||||
|
||||
wxZRColaTranslationSeqBase::OnSelectedDClick(event);
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaTranslationSeq::OnSelectedUp(wxCommandEvent& event)
|
||||
{
|
||||
int idx = m_selected->GetSelection();
|
||||
wxASSERT_MSG(idx != wxNOT_FOUND && (unsigned int)idx > 0, wxT("no or first active translation selected"));
|
||||
wxString label = m_selected->GetString(idx);
|
||||
void *data = m_selected->GetClientData(idx);
|
||||
m_selected->Delete(idx);
|
||||
m_selected->Insert(label, idx - 1, data);
|
||||
m_selected->Select(idx - 1);
|
||||
|
||||
wxZRColaTranslationSeqBase::OnSelectedUp(event);
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaTranslationSeq::OnSelectedDown(wxCommandEvent& event)
|
||||
{
|
||||
int idx = m_selected->GetSelection();
|
||||
wxASSERT_MSG(idx != wxNOT_FOUND && (unsigned int)idx < m_selected->GetCount() - 1, wxT("no or last active translation selected"));
|
||||
wxString label = m_selected->GetString(idx);
|
||||
void *data = m_selected->GetClientData(idx);
|
||||
m_selected->Delete(idx);
|
||||
m_selected->Insert(label, idx + 1, data);
|
||||
m_selected->Select(idx + 1);
|
||||
|
||||
wxZRColaTranslationSeqBase::OnSelectedDown(event);
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaTranslationSeq::OnApplyButtonClick(wxCommandEvent& event)
|
||||
{
|
||||
event.Skip();
|
||||
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
|
||||
m_transeq.clear();
|
||||
for (unsigned int i = 0, n = m_selected->GetCount(); i < n; i++)
|
||||
m_transeq.push_back(reinterpret_cast<ZRCola::transetid_t>(m_selected->GetClientData(i)));
|
||||
|
||||
// Notify source text something changed and should re-translate.
|
||||
wxCommandEvent event2(wxEVT_COMMAND_TEXT_UPDATED);
|
||||
app->m_mainWnd->m_panel->m_source->ProcessWindowEvent(event2);
|
||||
}
|
||||
|
||||
|
||||
void wxZRColaTranslationSeq::OnOKButtonClick(wxCommandEvent& event)
|
||||
{
|
||||
wxZRColaTranslationSeq::OnApplyButtonClick(event);
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// wxPersistentZRColaTranslationSeq
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
wxPersistentZRColaTranslationSeq::wxPersistentZRColaTranslationSeq(wxZRColaTranslationSeq *wnd) : wxPersistentDialog(wnd)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void wxPersistentZRColaTranslationSeq::Save() const
|
||||
{
|
||||
wxPersistentDialog::Save();
|
||||
|
||||
auto wnd = static_cast<const wxZRColaTranslationSeq*>(GetWindow()); // dynamic_cast is not reliable as we are typically called late in the wxTopLevelWindowMSW destructor.
|
||||
|
||||
wxString str;
|
||||
bool first = true;
|
||||
for (auto s = wnd->m_transeq.cbegin(), s_end = wnd->m_transeq.cend(); s != s_end; ++s, first = false)
|
||||
str += wxString::Format(first ? wxT("%u") : wxT("|%u"), *s);
|
||||
SaveValue(wxT("transeq"), str);
|
||||
}
|
||||
|
||||
|
||||
bool wxPersistentZRColaTranslationSeq::Restore()
|
||||
{
|
||||
auto wnd = dynamic_cast<wxZRColaTranslationSeq*>(GetWindow());
|
||||
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
|
||||
|
||||
wxString str;
|
||||
if (RestoreValue(wxT("transeq"), &str)) {
|
||||
std::vector<ZRCola::transetid_t> transet;
|
||||
for (wxStringTokenizer tok(str, wxT("|")); tok.HasMoreTokens(); ) {
|
||||
unsigned long val = _tcstoul(tok.GetNextToken().c_str(), NULL, 10);
|
||||
for (size_t i = 0, n = app->m_ts_db.idxTranSet.size(); i < n; i++) {
|
||||
const ZRCola::transet_db::transet &cg = app->m_ts_db.idxTranSet[i];
|
||||
if (cg.set == val) {
|
||||
transet.push_back(val);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!transet.empty())
|
||||
wnd->m_transeq = std::move(transet);
|
||||
}
|
||||
|
||||
return wxPersistentDialog::Restore();
|
||||
}
|
80
ZRCola/zrcolatranseq.h
Normal file
80
ZRCola/zrcolatranseq.h
Normal file
@ -0,0 +1,80 @@
|
||||
/*
|
||||
Copyright 2015-2017 Amebis
|
||||
|
||||
This file is part of ZRCola.
|
||||
|
||||
ZRCola is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
ZRCola is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
///
|
||||
/// Forward declarations
|
||||
///
|
||||
class wxZRColaTranslationSeq;
|
||||
class wxPersistentZRColaTranslationSeq;
|
||||
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "zrcolagui.h"
|
||||
#include <zrcola/translate.h>
|
||||
#include <wxex/persist/dialog.h>
|
||||
#include <vector>
|
||||
|
||||
|
||||
///
|
||||
/// Configuration dialog
|
||||
///
|
||||
class wxZRColaTranslationSeq : public wxZRColaTranslationSeqBase
|
||||
{
|
||||
public:
|
||||
wxZRColaTranslationSeq(wxWindow* parent);
|
||||
|
||||
friend class wxPersistentZRColaTranslationSeq; // Allow saving/restoring window state.
|
||||
|
||||
protected:
|
||||
virtual void OnInitDialog(wxInitDialogEvent& event);
|
||||
virtual void OnUpdate(wxUpdateUIEvent& event);
|
||||
virtual void OnAvailableChar(wxKeyEvent& event);
|
||||
virtual void OnAvailableDClick(wxCommandEvent& event);
|
||||
virtual void OnAdd(wxCommandEvent& event);
|
||||
virtual void OnRemove(wxCommandEvent& event);
|
||||
virtual void OnSelectedChar(wxKeyEvent& event);
|
||||
virtual void OnSelectedDClick(wxCommandEvent& event);
|
||||
virtual void OnSelectedUp(wxCommandEvent& event);
|
||||
virtual void OnSelectedDown(wxCommandEvent& event);
|
||||
virtual void OnApplyButtonClick(wxCommandEvent& event);
|
||||
virtual void OnOKButtonClick(wxCommandEvent& event);
|
||||
|
||||
public:
|
||||
std::vector<ZRCola::transetid_t> m_transeq; ///< Custom translation set sequence
|
||||
};
|
||||
|
||||
|
||||
///
|
||||
/// Supports saving/restoring wxZRColaTranslationSeq state
|
||||
///
|
||||
class wxPersistentZRColaTranslationSeq : public wxPersistentDialog
|
||||
{
|
||||
public:
|
||||
wxPersistentZRColaTranslationSeq(wxZRColaTranslationSeq *wnd);
|
||||
|
||||
virtual void Save() const;
|
||||
virtual bool Restore();
|
||||
};
|
||||
|
||||
|
||||
inline wxPersistentObject *wxCreatePersistentObject(wxZRColaTranslationSeq *wnd)
|
||||
{
|
||||
return new wxPersistentZRColaTranslationSeq(wnd);
|
||||
}
|
@ -1 +1 @@
|
||||
Subproject commit aa39edfe90e11d8b0ca037ab53802a6b51bb251a
|
||||
Subproject commit d80f24189d8722d079d26b0f6b49afeb97cc5f19
|
Loading…
x
Reference in New Issue
Block a user