Compare commits

...

51 Commits

Author SHA1 Message Date
Simon Rozman
c839d5f50d Version set to 2.0-beta3 2016-05-31 14:55:43 +02:00
Simon Rozman
22be76bec5 New character request is now dialog based
(closes #13)
2016-05-31 14:54:15 +02:00
Simon Rozman
e5b246a4f0 Character search ranking and display is more sophisticated now 2016-05-31 11:50:12 +02:00
Simon Rozman
3f64aef58d Version set to 2.0-beta2 2016-05-31 10:41:15 +02:00
Simon Rozman
2dc6b2d4f5 ZRCola declaration instruction added 2016-05-31 10:39:10 +02:00
Simon Rozman
c938320c45 Character selector dialog upgrade: tool tips and keyboard shortcut display added 2016-05-31 08:32:32 +02:00
Simon Rozman
d7968f539c Related character detection is smarter and more accurate now 2016-05-30 12:11:16 +02:00
Simon Rozman
beabeb17aa Character preview grid control allows Tab traversal now 2016-05-30 11:55:22 +02:00
Simon Rozman
155f12f44e Backward/forward navigation in Character Selector introduced 2016-05-30 09:43:28 +02:00
Simon Rozman
d46a1d4041 Select All/None/Invert feature added to categories in Character Selector 2016-05-26 17:16:51 +02:00
Simon Rozman
c195a07982 Code simplified as the benefit did not outweigh complexity 2016-05-26 16:27:55 +02:00
Simon Rozman
6c82b6333f AEsthetic modifications 2016-05-26 16:02:44 +02:00
Simon Rozman
1178406aa9 Related character generation finished
(closes #26)
2016-05-26 15:57:49 +02:00
Simon Rozman
1e09407742 Related characters preparation multi-threaded now 2016-05-26 12:59:06 +02:00
Simon Rozman
a7b5e1a573 Related characters feature work continues... 2016-05-26 12:03:43 +02:00
Simon Rozman
d70b72b0c1 Inactive related characters removed 2016-05-26 08:53:38 +02:00
Simon Rozman
7bbe92d359 Version set to 2.0-beta1. 2016-05-26 07:22:00 +02:00
Simon Rozman
0e844cd5e4 Incorrect string reset in DBSource::GetValue() fixed 2016-05-25 15:49:56 +02:00
Simon Rozman
67a6fd18e4 Empty character categories removed from database 2016-05-25 13:57:33 +02:00
Simon Rozman
1fcd2d2689 std namespace omitted for code clarity 2016-05-25 13:24:37 +02:00
Simon Rozman
1becda5600 ZRColaInstall*.exe utility publishing added 2016-05-25 13:21:46 +02:00
Simon Rozman
9bccaefabb Other language variations of ZRColaInstallSl.exe utility added 2016-05-25 13:21:13 +02:00
Simon Rozman
7e3e24232d Key codes are translated to English U.S. keyboard correctly now 2016-05-25 12:44:00 +02:00
Simon Rozman
6733ef3cfc wxAuiManager persistence changed to resolve asserts in Win32 builds 2016-05-25 00:07:34 +02:00
Simon Rozman
38f47db6d6 Temporary modal dialogs moved to stack 2016-05-24 23:18:45 +02:00
Simon Rozman
5a26350153 Sub-module update 2016-05-24 23:18:26 +02:00
Simon Rozman
5570a73895 Log level for is now adjusted to allow display of Updater progress for release builds too 2016-05-24 23:17:09 +02:00
Simon Rozman
de98129893 Database update 2016-05-24 22:24:17 +02:00
Simon Rozman
4898492972 Sub-module update 2016-05-24 22:13:09 +02:00
Simon Rozman
73c2146fe2 Missing wxSocketBase::Shutdown() added 2016-05-24 21:47:34 +02:00
Simon Rozman
44c86e2886 Manual check for updates added
(closes #22)
2016-05-24 16:53:26 +02:00
Simon Rozman
3c2e689ae2 Index-out-of-bounds issue fixed 2016-05-24 12:18:49 +02:00
Simon Rozman
5d215f628b Icon for ZRColaInstall added 2016-05-24 11:40:39 +02:00
Simon Rozman
e055207cea Installer bootstrap utility introduced 2016-05-24 10:31:53 +02:00
Simon Rozman
8f10cff923 Digital signatures reverted to SHA-1 for Windows XP and Vista support 2016-05-24 10:31:11 +02:00
Simon Rozman
91c44c388f About dialog extended 2016-05-24 08:43:03 +02:00
Simon Rozman
79664972a3 Grid navigation to previous/next row using left and right arrow keys added 2016-05-23 18:59:12 +02:00
Simon Rozman
d36c47e8a6 Character not implemented in 00 ZRCola font removed 2016-05-23 18:41:36 +02:00
Simon Rozman
16a28cd011 Font and database update 2016-05-23 15:35:50 +02:00
Simon Rozman
73f1d4d2c9 Unicode control characters removed from the lists 2016-05-23 15:15:31 +02:00
Simon Rozman
26c899734b The character entered via Unicode in Character Selector is now looked up in search results, brought into view and selected. 2016-05-23 15:03:09 +02:00
Simon Rozman
ff6a551c50 Unicode code in Character Selector is four hexadecimal digits long now 2016-05-23 15:02:08 +02:00
Simon Rozman
72ba4377c8 Sub-module update 2016-05-23 15:01:01 +02:00
Simon Rozman
3f02306182 Font of character preview in character selector reduced for less clipping 2016-05-23 10:50:43 +02:00
Simon Rozman
9c03547378 ZRCola window is now brought front and focused when invoked from iconized state.
(fixes #25)
2016-05-23 10:41:32 +02:00
Simon Rozman
5271aca526 Double application launch prevention lock added
(fixes #24)
2016-05-23 10:40:07 +02:00
Simon Rozman
dbcf539616 Sub-module update 2016-05-23 10:32:25 +02:00
Simon Rozman
903c635b34 Sub-module update 2016-05-16 12:23:14 +02:00
Simon Rozman
6c13837398 Couple of compiler warnings resolved 2016-05-16 10:44:05 +02:00
Simon Rozman
3126091e0b Sub-module update 2016-05-13 20:05:34 +02:00
Simon Rozman
bb1b0e64d6 German and Russian translation stub added 2016-05-13 20:05:18 +02:00
99 changed files with 35739 additions and 558 deletions

File diff suppressed because one or more lines are too long

View File

@@ -1,8 +1,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: ZRCola MSI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-03-14 17:26+0100\n"
"POT-Creation-Date: 2016-05-31 10:09+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: Simon Rozman <simon.rozman@amebis.si>\n"
"Language-Team: Amebis, d. o. o., Kamnik <simon.rozman@amebis.si>\n"
@@ -17,8 +18,19 @@ msgstr ""
"X-Poedit-SearchPath-0: .\n"
#: En.Win32.Debug.Registry-2.idtx:4 En.Win32.Release.Registry-2.idtx:4 En.x64.Debug.Registry-2.idtx:4 En.x64.Release.Registry-2.idtx:4
msgid "#58"
msgstr ""
#, fuzzy
msgid "#60"
msgstr "#176"
#: En.Win32.Debug.Control-2.idtx:11 En.Win32.Release.Control-2.idtx:11 En.x64.Debug.Control-2.idtx:11 En.x64.Release.Control-2.idtx:11
#, fuzzy
msgid "&Continue"
msgstr "&Nadaljuj"
#: En.Win32.Debug.Control-2.idtx:6 En.Win32.Release.Control-2.idtx:6 En.x64.Debug.Control-2.idtx:6 En.x64.Release.Control-2.idtx:6
#, fuzzy
msgid "[DlgTitleFont][SimpleProductName] Declaration"
msgstr "[DlgTitleFont]Deklaracija [SimpleProductName]"
#: En.Win32.Debug.Control-2.idtx:4 En.Win32.Release.Control-2.idtx:4 En.x64.Debug.Control-2.idtx:4 En.x64.Release.Control-2.idtx:4
msgid ""
@@ -758,12 +770,66 @@ msgid ""
"0105000002000000180000004d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000c0ef044c8850cf01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105000000000000}}"
msgstr ""
#: En.Win32.Debug.Control-2.idtx:3 En.Win32.Debug.Directory-2.idtx:3 En.Win32.Debug.Registry-2.idtx:3 En.Win32.Release.Control-2.idtx:3 En.Win32.Release.Directory-2.idtx:3
#: En.Win32.Release.Registry-2.idtx:3 En.x64.Debug.Control-2.idtx:3 En.x64.Debug.Directory-2.idtx:3 En.x64.Debug.Registry-2.idtx:3 En.x64.Release.Control-2.idtx:3
#: En.x64.Release.Directory-2.idtx:3 En.x64.Release.Registry-2.idtx:3
#: En.Win32.Debug.Control-2.idtx:8 En.Win32.Release.Control-2.idtx:8 En.x64.Debug.Control-2.idtx:8 En.x64.Release.Control-2.idtx:8
#, fuzzy
msgid ""
"{\\rtf1\\ansi\\ansicpg1250\\deff0\\deflang1060\\deflangfe1060\\deftab708{\\fonttbl{\\f0\\fswiss\\fprq2\\fcharset238 Calibri;}{\\f1\\froman\\fprq2\\fcharset238{\\*\\fname Times New "
"Roman;}Times New Roman CE;}}{\\colortbl ;\\red0\\green0\\blue255;}{\\*\\generator Msftedit 5.41.21.2510;}\\viewkind4\\uc1\\pard\\sa200\\sl276\\slmult1\\i\\f0\\fs22 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 Dr. Peter Weiss.\\f1\\par}"
msgstr ""
"{\\rtf1\\ansi\\ansicpg1250\\deff0\\deflang1060\\deflangfe1060\\deftab708{\\fonttbl{\\f0\\fswiss\\fprq2\\fcharset238 Calibri;}{\\f1\\froman\\fprq2\\fcharset238{\\*\\fname Times New "
"Roman;}Times New Roman CE;}}{\\colortbl ;\\red0\\green0\\blue255;}{\\*\\generator Msftedit 5.41.21.2510;}\\viewkind4\\uc1\\pard\\sa200\\sl276\\slmult1\\i\\f0\\fs22 Besedilo je bilo "
"pripravljeno z vna\\'9aalnim sistemom ZRCola (http://zrcola.zrc-sazu.si), ki ga je na Znanstvenoraziskovalnem centru SAZU v Ljubljani (http://www.zrc-sazu.si) razvil dr. Peter Weiss."
"\\i0\\f1\\par}"
#: En.Win32.Debug.Feature-2.idtx:5 En.Win32.Release.Feature-2.idtx:5 En.x64.Debug.Feature-2.idtx:5 En.x64.Release.Feature-2.idtx:5
#, fuzzy
msgid "00 ZRCola"
msgstr "00 ZRCola"
#: En.Win32.Debug.Control-2.idtx:3 En.Win32.Debug.Directory-2.idtx:3 En.Win32.Debug.Feature-2.idtx:3 En.Win32.Debug.Registry-2.idtx:3 En.Win32.Release.Control-2.idtx:3
#: En.Win32.Release.Directory-2.idtx:3 En.Win32.Release.Feature-2.idtx:3 En.Win32.Release.Registry-2.idtx:3 En.x64.Debug.Control-2.idtx:3 En.x64.Debug.Directory-2.idtx:3
#: En.x64.Debug.Feature-2.idtx:3 En.x64.Debug.Registry-2.idtx:3 En.x64.Release.Control-2.idtx:3 En.x64.Release.Directory-2.idtx:3 En.x64.Release.Feature-2.idtx:3
#: En.x64.Release.Registry-2.idtx:3
#, fuzzy
msgid "1252"
msgstr "1250"
#: En.Win32.Debug.Control-2.idtx:5 En.Win32.Release.Control-2.idtx:5 En.x64.Debug.Control-2.idtx:5 En.x64.Release.Control-2.idtx:5
#, fuzzy
msgid "binUIHeader.bmp"
msgstr "binUIHeader.bmp"
#: En.Win32.Debug.Feature-2.idtx:4 En.Win32.Release.Feature-2.idtx:4 En.x64.Debug.Feature-2.idtx:4 En.x64.Release.Feature-2.idtx:4
#, fuzzy
msgid "Fonts"
msgstr "Pisave"
#: En.Win32.Debug.Feature-2.idtx:4 En.Win32.Release.Feature-2.idtx:4 En.x64.Debug.Feature-2.idtx:4 En.x64.Release.Feature-2.idtx:4
#, fuzzy
msgid "Fonts used by ZRCola"
msgstr "Pisave, ki jih uporablja ZRCola"
#: En.Win32.Debug.Control-2.idtx:10 En.Win32.Release.Control-2.idtx:10 En.x64.Debug.Control-2.idtx:10 En.x64.Release.Control-2.idtx:10
#, fuzzy
msgid "I &agree."
msgstr "&Strinjam se."
#: En.Win32.Debug.Control-2.idtx:9 En.Win32.Release.Control-2.idtx:9 En.x64.Debug.Control-2.idtx:9 En.x64.Release.Control-2.idtx:9
msgid "Note: This declaration is also available in [SimpleProductName]'s about dialog or on its website."
msgstr ""
#: En.Win32.Debug.Control-2.idtx:7 En.Win32.Release.Control-2.idtx:7 En.x64.Debug.Control-2.idtx:7 En.x64.Release.Control-2.idtx:7
#, fuzzy
msgid "Texts made using ZRCola have to include in the colophon, foreword, footnote or some other appropriate part of the publication the note below:"
msgstr "Besedilo, nastalo z uporabo ZRCole, mora biti v kolofonu, predgovoru, v opombi ali na drugem ustreznem mestu v publikaciji opremljeno z naslednjim zapisom:"
#: En.Win32.Debug.Feature-2.idtx:5 En.Win32.Release.Feature-2.idtx:5 En.x64.Debug.Feature-2.idtx:5 En.x64.Release.Feature-2.idtx:5
#, fuzzy
msgid "Times New Roman based font"
msgstr "Pisava na osnovi Times New Roman"
#: En.Win32.Debug.Directory-2.idtx:4 En.Win32.Release.Directory-2.idtx:4 En.x64.Debug.Directory-2.idtx:4 En.x64.Release.Directory-2.idtx:4
#, fuzzy
msgid "ZRCola:."
msgstr ""
msgstr "ZRCola:."

1562
MSI/ZRCola/locale/de_DE.po Normal file

File diff suppressed because one or more lines are too long

1561
MSI/ZRCola/locale/ru_RU.po Normal file

File diff suppressed because one or more lines are too long

View File

@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ZRCola MSI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-03-24 12:36+0100\n"
"POT-Creation-Date: 2016-05-31 10:09+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: Simon Rozman <simon.rozman@amebis.si>\n"
"Language-Team: Amebis, d. o. o., Kamnik <simon.rozman@amebis.si>\n"
@@ -12,16 +12,23 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: __\n"
"X-Poedit-Basepath: ../Main\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.8.7\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-SearchPath-0: .\n"
# wxLanguage enum value for this language (decimal, # prefixed)
#: En.Win32.Debug.Registry-2.idtx:4 En.Win32.Release.Registry-2.idtx:4 En.x64.Debug.Registry-2.idtx:4 En.x64.Release.Registry-2.idtx:4
msgid "#60"
msgstr "#176"
#: En.Win32.Debug.Control-2.idtx:11 En.Win32.Release.Control-2.idtx:11 En.x64.Debug.Control-2.idtx:11 En.x64.Release.Control-2.idtx:11
msgid "&Continue"
msgstr "&Nadaljuj"
#: En.Win32.Debug.Control-2.idtx:6 En.Win32.Release.Control-2.idtx:6 En.x64.Debug.Control-2.idtx:6 En.x64.Release.Control-2.idtx:6
msgid "[DlgTitleFont][SimpleProductName] Declaration"
msgstr "[DlgTitleFont]Deklaracija [SimpleProductName]"
# Licence Agreement
# 1. Translate as a separate RTF document.
# 2. Remove ALL line breaks from RTF file.
@@ -1498,6 +1505,21 @@ msgstr ""
"TOC Heading;}}{\\*\\datastore "
"0105000002000000180000004d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000c0ef044c8850cf01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105000000000000}}"
# Declaration
# 1. Translate as a separate RTF document.
# 2. Remove ALL line breaks from RTF file.
# 3. Paste translation.
#: En.Win32.Debug.Control-2.idtx:8 En.Win32.Release.Control-2.idtx:8 En.x64.Debug.Control-2.idtx:8 En.x64.Release.Control-2.idtx:8
msgid ""
"{\\rtf1\\ansi\\ansicpg1250\\deff0\\deflang1060\\deflangfe1060\\deftab708{\\fonttbl{\\f0\\fswiss\\fprq2\\fcharset238 Calibri;}{\\f1\\froman\\fprq2\\fcharset238{\\*\\fname Times New "
"Roman;}Times New Roman CE;}}{\\colortbl ;\\red0\\green0\\blue255;}{\\*\\generator Msftedit 5.41.21.2510;}\\viewkind4\\uc1\\pard\\sa200\\sl276\\slmult1\\i\\f0\\fs22 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 Dr. Peter Weiss.\\f1\\par}"
msgstr ""
"{\\rtf1\\ansi\\ansicpg1250\\deff0\\deflang1060\\deflangfe1060\\deftab708{\\fonttbl{\\f0\\fswiss\\fprq2\\fcharset238 Calibri;}{\\f1\\froman\\fprq2\\fcharset238{\\*\\fname Times New "
"Roman;}Times New Roman CE;}}{\\colortbl ;\\red0\\green0\\blue255;}{\\*\\generator Msftedit 5.41.21.2510;}\\viewkind4\\uc1\\pard\\sa200\\sl276\\slmult1\\i\\f0\\fs22 Besedilo je bilo "
"pripravljeno z vna\\'9aalnim sistemom ZRCola (http://zrcola.zrc-sazu.si), ki ga je na Znanstvenoraziskovalnem centru SAZU v Ljubljani (http://www.zrc-sazu.si) razvil dr. Peter Weiss."
"\\i0\\f1\\par}"
#: En.Win32.Debug.Feature-2.idtx:5 En.Win32.Release.Feature-2.idtx:5 En.x64.Debug.Feature-2.idtx:5 En.x64.Release.Feature-2.idtx:5
msgid "00 ZRCola"
msgstr "00 ZRCola"
@@ -1510,6 +1532,10 @@ msgstr "00 ZRCola"
msgid "1252"
msgstr "1250"
#: En.Win32.Debug.Control-2.idtx:5 En.Win32.Release.Control-2.idtx:5 En.x64.Debug.Control-2.idtx:5 En.x64.Release.Control-2.idtx:5
msgid "binUIHeader.bmp"
msgstr "binUIHeader.bmp"
#: En.Win32.Debug.Feature-2.idtx:4 En.Win32.Release.Feature-2.idtx:4 En.x64.Debug.Feature-2.idtx:4 En.x64.Release.Feature-2.idtx:4
msgid "Fonts"
msgstr "Pisave"
@@ -1518,6 +1544,18 @@ msgstr "Pisave"
msgid "Fonts used by ZRCola"
msgstr "Pisave, ki jih uporablja ZRCola"
#: En.Win32.Debug.Control-2.idtx:10 En.Win32.Release.Control-2.idtx:10 En.x64.Debug.Control-2.idtx:10 En.x64.Release.Control-2.idtx:10
msgid "I &agree."
msgstr "&Strinjam se."
#: En.Win32.Debug.Control-2.idtx:9 En.Win32.Release.Control-2.idtx:9 En.x64.Debug.Control-2.idtx:9 En.x64.Release.Control-2.idtx:9
msgid "Note: This declaration is also available in [SimpleProductName]'s about dialog or on its website."
msgstr "Opomba: Ta deklaracija je na voljo tudi v dialogu vizitke [SimpleProductName] ali na spletni strani."
#: En.Win32.Debug.Control-2.idtx:7 En.Win32.Release.Control-2.idtx:7 En.x64.Debug.Control-2.idtx:7 En.x64.Release.Control-2.idtx:7
msgid "Texts made using ZRCola have to include in the colophon, foreword, footnote or some other appropriate part of the publication the note below:"
msgstr "Besedilo, nastalo z uporabo ZRCole, mora biti v kolofonu, predgovoru, v opombi ali na drugem ustreznem mestu v publikaciji opremljeno z naslednjim zapisom:"
#: En.Win32.Debug.Feature-2.idtx:5 En.Win32.Release.Feature-2.idtx:5 En.x64.Debug.Feature-2.idtx:5 En.x64.Release.Feature-2.idtx:5
msgid "Times New Roman based font"
msgstr "Pisava na osnovi Times New Roman"
@@ -1525,3 +1563,7 @@ msgstr "Pisava na osnovi Times New Roman"
#: En.Win32.Debug.Directory-2.idtx:4 En.Win32.Release.Directory-2.idtx:4 En.x64.Debug.Directory-2.idtx:4 En.x64.Release.Directory-2.idtx:4
msgid "ZRCola:."
msgstr "ZRCola:."
#, fuzzy
#~ msgid "Determining required space for installation..."
#~ msgstr "Ugotavljanje potrebnega prostora za namestitev ..."

View File

@@ -189,7 +189,12 @@ PublishPre :: \
$(REDIST_EN_WIN32) \
$(REDIST_EN_X64) \
$(REDIST_SL_WIN32) \
$(REDIST_SL_X64)
$(REDIST_SL_X64) \
"$(PUBLISH_DIR)" \
"$(PUBLISH_DIR)\ZRColaInstallDe.exe" \
"$(PUBLISH_DIR)\ZRColaInstallEn.exe" \
"$(PUBLISH_DIR)\ZRColaInstallRu.exe" \
"$(PUBLISH_DIR)\ZRColaInstallSl.exe"
Publish :: \
PublishPre \
@@ -258,6 +263,18 @@ $(REDIST_SL_X64) : "$(OUTPUT_DIR)\ZRColaSl64.3.msi"
"$(WINDIR)\Fonts\00_ZRCola_BI.ttf" : "$(OUTPUT_DIR)\00_ZRCola_BI.ttf"
copy /y $** $@ > NUL
"$(PUBLISH_DIR)\ZRColaInstallDe.exe" : "$(OUTPUT_DIR)\Win32.Release\ZRColaInstallDe.exe"
copy /y $** $@ > NUL
"$(PUBLISH_DIR)\ZRColaInstallEn.exe" : "$(OUTPUT_DIR)\Win32.Release\ZRColaInstallEn.exe"
copy /y $** $@ > NUL
"$(PUBLISH_DIR)\ZRColaInstallRu.exe" : "$(OUTPUT_DIR)\Win32.Release\ZRColaInstallRu.exe"
copy /y $** $@ > NUL
"$(PUBLISH_DIR)\ZRColaInstallSl.exe" : "$(OUTPUT_DIR)\Win32.Release\ZRColaInstallSl.exe"
copy /y $** $@ > NUL
######################################################################
# Shortcut creation
@@ -307,6 +324,18 @@ $(REDIST_SL_X64) : "$(OUTPUT_DIR)\ZRColaSl64.3.msi"
"$(OUTPUT_DIR)\ZRColaSl64D.3.msi" ::
devenv.com "ZRCola.sln" /build "Debug|x64"
"$(OUTPUT_DIR)\Win32.Release\ZRColaInstallDe.exe" \
"$(OUTPUT_DIR)\Win32.Release\ZRColaInstallEn.exe" \
"$(OUTPUT_DIR)\Win32.Release\ZRColaInstallRu.exe" \
"$(OUTPUT_DIR)\Win32.Release\ZRColaInstallSl.exe" ::
devenv.com "ZRColaUtils.sln" /build "Release|Win32"
"$(OUTPUT_DIR)\Win32.Debug\ZRColaInstallDe.exe" \
"$(OUTPUT_DIR)\Win32.Debug\ZRColaInstallEn.exe" \
"$(OUTPUT_DIR)\Win32.Debug\ZRColaInstallRu.exe" \
"$(OUTPUT_DIR)\Win32.Debug\ZRColaInstallSl.exe" ::
devenv.com "ZRColaUtils.sln" /build "Debug|Win32"
"$(OUTPUT_DIR)\ZRColaEn32.3.msi" \
"$(OUTPUT_DIR)\ZRColaSl32.3.msi" ::
devenv.com "MSI\MSICA\MSICA.sln" /build "Release|Win32"

Submodule Updater updated: f1a3ae730a...54846632f3

View File

@@ -18,6 +18,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libZRColaUI", "lib\libZRCol
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stdex", "lib\stdex\build\stdex.vcxproj", "{518777CC-0A59-4415-A12A-82751ED75343}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Updater", "Updater\Updater\build\Updater.vcxproj", "{990D8CF9-4457-4DC0-AA18-4968EF434741}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -66,6 +68,14 @@ Global
{518777CC-0A59-4415-A12A-82751ED75343}.Release|Win32.Build.0 = Release|Win32
{518777CC-0A59-4415-A12A-82751ED75343}.Release|x64.ActiveCfg = Release|x64
{518777CC-0A59-4415-A12A-82751ED75343}.Release|x64.Build.0 = Release|x64
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Debug|Win32.ActiveCfg = Debug|Win32
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Debug|Win32.Build.0 = Debug|Win32
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Debug|x64.ActiveCfg = Debug|x64
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Debug|x64.Build.0 = Debug|x64
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Release|Win32.ActiveCfg = Release|Win32
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Release|Win32.Build.0 = Release|Win32
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Release|x64.ActiveCfg = Release|x64
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -75,5 +85,6 @@ Global
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8} = {6D85AD6A-69D6-40EB-BF0C-7495479DDCE5}
{C0A84BD2-3870-4CD6-B281-0AB322E3C579} = {6D85AD6A-69D6-40EB-BF0C-7495479DDCE5}
{518777CC-0A59-4415-A12A-82751ED75343} = {6D85AD6A-69D6-40EB-BF0C-7495479DDCE5}
{990D8CF9-4457-4DC0-AA18-4968EF434741} = {6D85AD6A-69D6-40EB-BF0C-7495479DDCE5}
EndGlobalSection
EndGlobal

View File

@@ -122,6 +122,7 @@ featZRCola compZRCola.exe.$(PLAT)
featZRCola complibZRCola.dll.$(PLAT)
featZRCola complibZRColaUI.dll.$(PLAT)
featZRCola compwxExtend.dll.$(PLAT)
featZRCola compUpdater.dll.$(PLAT)
featZRCola compLocalizationRepositoryPath
featZRCola compLanguage
featZRCola compDatabasePath
@@ -132,6 +133,7 @@ featZRCola compZRCola.mo.sl_SI
featZRCola compZRCola.zrcdb.mo.sl_SI
featZRCola complibZRColaUI.mo.sl_SI
featZRCola compwxExtend.mo.sl_SI
featZRCola compUpdater.mo.sl_SI
featZRCola compwxstd.mo.sl_SI
!ENDIF
<<NOKEEP

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\lib\wxExtend\include;..\lib\stdex\include;..\lib\libZRCola\include;..\lib\libZRColaUI\include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\lib\wxExtend\include;..\Updater\Updater\include;..\lib\stdex\include;..\lib\libZRCola\include;..\lib\libZRColaUI\include</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup />

Binary file not shown.

View File

@@ -80,27 +80,33 @@
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="zrcolaabout.cpp" />
<ClCompile Include="zrcolaapp.cpp" />
<ClCompile Include="zrcolachrcatpnl.cpp" />
<ClCompile Include="zrcolachrgrid.cpp" />
<ClCompile Include="zrcolachrreq.cpp" />
<ClCompile Include="zrcolachrslct.cpp" />
<ClCompile Include="zrcolacomppnl.cpp" />
<ClCompile Include="zrcolafrm.cpp" />
<ClCompile Include="zrcolagui.cpp" />
<ClCompile Include="zrcolakeyhndlr.cpp" />
<ClCompile Include="zrcolasettings.cpp" />
<ClCompile Include="zrcolaupdater.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h" />
<ClInclude Include="zrcolaabout.h" />
<ClInclude Include="zrcolaapp.h" />
<ClInclude Include="zrcolachrcatpnl.h" />
<ClInclude Include="zrcolachrgrid.h" />
<ClInclude Include="zrcolachrreq.h" />
<ClInclude Include="zrcolachrslct.h" />
<ClInclude Include="zrcolacomppnl.h" />
<ClInclude Include="zrcolafrm.h" />
<ClInclude Include="zrcolagui.h" />
<ClInclude Include="zrcolakeyhndlr.h" />
<ClInclude Include="zrcolasettings.h" />
<ClInclude Include="zrcolaupdater.h" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\lib\libZRColaUI\build\libZRColaUI.vcxproj">
@@ -112,12 +118,18 @@
<ProjectReference Include="..\lib\wxExtend\build\wxExtend.vcxproj">
<Project>{a3a36689-ac35-4026-93da-a3ba0c0e767c}</Project>
</ProjectReference>
<ProjectReference Include="..\Updater\Updater\build\Updater.vcxproj">
<Project>{990d8cf9-4457-4dc0-aa18-4968ef434741}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="locale\ZRCola.pot" />
<None Include="res\char_select.ico" />
<None Include="res\edit_copy.ico" />
<None Include="res\edit_cut.ico" />
<None Include="res\edit_paste.ico" />
<None Include="res\navigate_back.ico" />
<None Include="res\navigate_forward.ico" />
<None Include="res\send_abort.ico" />
<None Include="res\send_composed.ico" />
<None Include="res\send_decomposed.ico" />
@@ -128,6 +140,8 @@
<ResourceCompile Include="ZRCola.rc" />
</ItemGroup>
<ItemGroup>
<POCompile Include="locale\de_DE.po" />
<POCompile Include="locale\ru_RU.po" />
<POCompile Include="locale\sl_SI.po" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

View File

@@ -49,6 +49,15 @@
<ClCompile Include="zrcolasettings.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="zrcolaabout.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="zrcolaupdater.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="zrcolachrreq.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h">
@@ -81,6 +90,15 @@
<ClInclude Include="zrcolasettings.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="zrcolaabout.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="zrcolaupdater.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="zrcolachrreq.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="res\zrcola.ico">
@@ -110,6 +128,15 @@
<None Include="res\char_select.ico">
<Filter>Resource Files</Filter>
</None>
<None Include="locale\ZRCola.pot">
<Filter>Resource Files\Localization</Filter>
</None>
<None Include="res\navigate_back.ico">
<Filter>Resource Files</Filter>
</None>
<None Include="res\navigate_forward.ico">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="ZRCola.rc">
@@ -120,5 +147,11 @@
<POCompile Include="locale\sl_SI.po">
<Filter>Resource Files\Localization</Filter>
</POCompile>
<POCompile Include="locale\de_DE.po">
<Filter>Resource Files\Localization</Filter>
</POCompile>
<POCompile Include="locale\ru_RU.po">
<Filter>Resource Files\Localization</Filter>
</POCompile>
</ItemGroup>
</Project>

858
ZRCola/locale/ZRCola.pot Normal file
View File

@@ -0,0 +1,858 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: ZRCola\n"
"POT-Creation-Date: 2016-05-31 14:24+0200\n"
"PO-Revision-Date: 2016-05-13 15:52+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.7\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"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: .\n"
#: zrcolaabout.cpp:31
#, fuzzy, c-format
msgid "© 2004-%s ZRC SAZU"
msgstr "© 2004-%s ZRC SAZU"
#: zrcolaapp.cpp:79 zrcolafrm.cpp:86 zrcolagui.cpp:831 zrcolagui.h:102
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4
#, fuzzy
msgid "ZRCola"
msgstr "ZRCola"
#: zrcolachrreq.cpp:49 zrcolagui.h:353
#, fuzzy
msgid "Request a New Character"
msgstr "Zahtevaj nov znak"
#: zrcolafrm.cpp:104
#, fuzzy
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:104 zrcolafrm.cpp:106
#, fuzzy
msgid "Warning"
msgstr "Opozorilo"
#: zrcolafrm.cpp:106
#, fuzzy
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."
#: zrcolagui.cpp:36
#, fuzzy
msgid "E&xit"
msgstr "I&zhod"
#: zrcolagui.cpp:36
#, fuzzy
msgid "Quit this program"
msgstr "Zapri ta program"
#: zrcolagui.cpp:39
#, fuzzy
msgid "&Program"
msgstr "&Program"
#: zrcolagui.cpp:72
#, fuzzy
msgid "Select &All"
msgstr "Izberi &vse"
#: zrcolagui.cpp:72
#, fuzzy
msgid "Select all text"
msgstr "Izberi celotno besedilo"
#: zrcolagui.cpp:78
#, fuzzy
msgid "C&haracter Selector..."
msgstr "Izbirnik &znaka ..."
#: zrcolagui.cpp:78 zrcolagui.cpp:170
#, fuzzy
msgid "Display character selector to select character to insert into text"
msgstr "Prikaži izbirnik znaka za izbor znaka za vstavljanje v besedilo"
#: zrcolagui.cpp:89
#, fuzzy
msgid "&Send Composed"
msgstr "Pošlji &sestavljeno"
#: zrcolagui.cpp:89 zrcolagui.cpp:172
#, fuzzy
msgid "Send composed text to source window"
msgstr "Pošlji sestavljeno besedilo izvornemu oknu"
#: zrcolagui.cpp:98
#, fuzzy
msgid "Send &Decomposed"
msgstr "Pošlji &razstavljeno"
#: zrcolagui.cpp:98 zrcolagui.cpp:174
#, fuzzy
msgid "Send decomposed text to source window"
msgstr "Pošlji razstavljeno besedilo izvornemu oknu"
#: zrcolagui.cpp:107
#, fuzzy
msgid "Abort (De)composition"
msgstr "Prekini raz/sestavljanje"
#: zrcolagui.cpp:107
#, fuzzy
msgid "Abort composition and return focus to source window"
msgstr "Prekini sestavljanje in vrni fokus nazaj izvornemu oknu"
#: zrcolagui.cpp:118
#, fuzzy
msgid "&Settings..."
msgstr "Na&stavitve ..."
#: zrcolagui.cpp:118
#, fuzzy
msgid "Open program configuration dialog"
msgstr "Odpri nastavitveni dialog programa"
#: zrcolagui.cpp:121
#, fuzzy
msgid "&Edit"
msgstr "Ur&edi"
#: zrcolagui.cpp:125
#, fuzzy
msgid "&Edit Toolbar"
msgstr "Orodna vrstica za ur&ejanje"
#: zrcolagui.cpp:125
#, fuzzy
msgid "Toggle edit toolbar"
msgstr "Prikaži/skrij orodno vrstico za urejanje"
#: zrcolagui.cpp:129
#, fuzzy
msgid "&Compose Toolbar"
msgstr "Orodna vrsti&ca za sestavljanje"
#: zrcolagui.cpp:129
#, fuzzy
msgid "Toggle compose toolbar"
msgstr "Prikaži/skrij orodno vrstico za sestavljanje"
#: zrcolagui.cpp:135
#, fuzzy
msgid "Character Catalo&g"
msgstr "Katalo&g znakov"
#: zrcolagui.cpp:135
#, fuzzy
msgid "Toggle character catalog panel"
msgstr "Prikaži/skrij katalog znakov"
#: zrcolagui.cpp:138
#, fuzzy
msgid "&View"
msgstr "Po&gled"
#: zrcolagui.cpp:142
#, fuzzy
msgid "&Request a new character..."
msgstr "&Zahtevaj nov znak ..."
#: zrcolagui.cpp:142
#, fuzzy
msgid "Submit a request to ZRC to add a new character"
msgstr "Oddaj prošnjo ZRC-u za dodajanje novega znaka"
#: zrcolagui.cpp:146
#, fuzzy
msgid "Check for &Updates..."
msgstr "Preveri za &posodobitev ..."
#: zrcolagui.cpp:146
#, fuzzy
msgid "Check online for product update"
msgstr "Preveri na spletu za posodobitev izdelka"
#: zrcolagui.cpp:155
#, fuzzy
msgid "&Help"
msgstr "Po&moč"
#: zrcolagui.cpp:160
#, fuzzy
msgid "Cut"
msgstr "Izreži"
#: zrcolagui.cpp:160
#, fuzzy
msgid "Cut selection"
msgstr "Izreži izbor"
#: zrcolagui.cpp:162
#, fuzzy
msgid "Copy"
msgstr "&Kopiraj"
#: zrcolagui.cpp:162
#, fuzzy
msgid "Copy selection"
msgstr "Kopiraj izbor"
#: zrcolagui.cpp:164
#, fuzzy
msgid "Paste"
msgstr "Prilepi"
#: zrcolagui.cpp:164
#, fuzzy
msgid "Paste selection"
msgstr "Prilepi izbor"
#: zrcolagui.cpp:167
#, fuzzy
msgid "Edit"
msgstr "Urejanje"
#: zrcolagui.cpp:170 zrcolagui.h:238
#, fuzzy
msgid "Character Selector"
msgstr "Izbirnik znaka"
#: zrcolagui.cpp:172
#, fuzzy
msgid "Send Composed"
msgstr "Pošlji sestavljeno"
#: zrcolagui.cpp:174
#, fuzzy
msgid "Send Decomposed"
msgstr "Pošlji razstavljeno"
#: zrcolagui.cpp:177
#, fuzzy
msgid "Compose"
msgstr "Sestavljanje"
#: zrcolagui.cpp:181
#, fuzzy
msgid "Character Catalog"
msgstr "Katalog znakov"
#: zrcolagui.cpp:185
#, fuzzy
msgid "(De)Composer"
msgstr "Raz/Sestavljalnik"
#: zrcolagui.cpp:224
#, fuzzy
msgid "Decomposed Text"
msgstr "Razstavljeno besedilo"
#: zrcolagui.cpp:244
#, fuzzy
msgid "Decomposed Unicode Dump"
msgstr "Unicode razstavljenega"
#: zrcolagui.cpp:271
#, fuzzy
msgid "Composed Text"
msgstr "Sestavljeno besedilo"
#: zrcolagui.cpp:291
#, fuzzy
msgid "Composed Unicode Dump"
msgstr "Unicode sestavljenega"
#: zrcolagui.cpp:411
#, fuzzy
msgid "&Browse"
msgstr "Pre&brskaj"
#: zrcolagui.cpp:418
#, fuzzy
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:424
#, fuzzy
msgid "List of Unicode character categories to search in"
msgstr "Seznam kategorij znaka Unicode za iskanje"
#: zrcolagui.cpp:431
#, fuzzy
msgid "All"
msgstr "Vse"
#: zrcolagui.cpp:432
#, fuzzy
msgid "Select all categories"
msgstr "Izberi vse kategorije"
#: zrcolagui.cpp:436
#, fuzzy
msgid "None"
msgstr "Nič"
#: zrcolagui.cpp:437
#, fuzzy
msgid "Clear category selection"
msgstr "Počisti izbor kategorij"
#: zrcolagui.cpp:441
#, fuzzy
msgid "Invert"
msgstr "Obrni"
#: zrcolagui.cpp:442
#, fuzzy
msgid "Invert category selection"
msgstr "Obrni izbor kategorij"
#: zrcolagui.cpp:475
#, fuzzy
msgid "Character search results"
msgstr "Rezultati iskanja znakov"
#: zrcolagui.cpp:485
#, fuzzy
msgid "Re&cently Used"
msgstr "Nedavno &uporabljeni"
#: zrcolagui.cpp:513
#, fuzzy
msgid "List of recently inserted characters"
msgstr "Seznam nedavno vstavljenih znakov"
#: zrcolagui.cpp:527
#, fuzzy
msgid "Preview"
msgstr "Predogled:"
#: zrcolagui.cpp:532
#, fuzzy
msgid "U+"
msgstr "U+"
#: zrcolagui.cpp:537
#, fuzzy
msgid "Unicode hexadecimal code"
msgstr "Šestnajstiška koda Unicode"
#: zrcolagui.cpp:542
#, fuzzy
msgid "Keyboard shortcut in Composer window"
msgstr "Bližnjica na tipkovnici v oknu sestavljalnika"
#: zrcolagui.cpp:577
#, fuzzy
msgid "Character preview"
msgstr "Predogled znaka"
#: zrcolagui.cpp:582
#, fuzzy
msgid "Unicode character description"
msgstr "Opis znaka Unicode"
#: zrcolagui.cpp:587
#, fuzzy
msgid "Unicode character category"
msgstr "Kategorija znaka Unicode"
#: zrcolagui.cpp:594
#, fuzzy
msgid "« Back"
msgstr "< &Nazaj"
#: zrcolagui.cpp:596
#, fuzzy
msgid "To previously viewed character"
msgstr "Na prejšnji prikazan znak"
#: zrcolagui.cpp:600
#, fuzzy
msgid "Forward »"
msgstr "Naprej »"
#: zrcolagui.cpp:602
#, fuzzy
msgid "To following viewed character"
msgstr "Na naslednji prikazan znak"
#: zrcolagui.cpp:613
#, fuzzy
msgid "Re&lated"
msgstr "&Sorodni"
#: zrcolagui.cpp:640
#, fuzzy
msgid "List of related characters"
msgstr "Seznam sorodnih znakov"
#: zrcolagui.cpp:727
#, fuzzy
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 ""
"Nekateri znaki iz posameznih jezikov, s katerimi delate, se ne smejo "
"razstaviti v dele.\n"
"Za optimalno razstavljanje izberite pravilni jezik."
#: zrcolagui.cpp:731
#, fuzzy
msgid "Select language &automatically according to selected keyboard"
msgstr "S&amodejno izberi jezik glede na izbrano tipkovnico"
#: zrcolagui.cpp:734
#, fuzzy
msgid "&Manually select the language from the list below:"
msgstr "Ročno izberi jezik na spodnje&m spisku:"
#: zrcolagui.cpp:746
#, fuzzy
msgid "Text Language"
msgstr "Jezik besedila"
#: zrcolagui.cpp:751
#, fuzzy
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 ""
"ZRCola se lahko zažene ob vsaki prijavi v vaš računalnik.\n"
"Na voljo bo na vrstici za sistemska obvestila ter preko registriranih "
"bližnjic Win+F5 in Win+F6."
#: zrcolagui.cpp:755
#, fuzzy
msgid "Start ZRCola &automatically on logon"
msgstr "S&amodejno zaženi ZRColo ob prijavi"
#: zrcolagui.cpp:762
#, fuzzy
msgid "Startup"
msgstr "Zagon"
#: zrcolagui.cpp:841
#, fuzzy
msgid ""
"Editor: Janoš Ježovnik\n"
"Development: Amebis d. o. o.\n"
"Development and maintenance (2004-2015): dr. Peter Weiss"
msgstr ""
"Urednik: Janoš Ježovnik\n"
"Razvoj: Amebis d. o. o.\n"
"Razvoj in vzdrževanje (2004-2015): dr. Peter Weiss"
#: zrcolagui.cpp:849
#, fuzzy
msgid "www.zrc-sazu.si"
msgstr "www.zrc-sazu.si"
#: zrcolagui.cpp:855
#, fuzzy
msgid ""
"Texts made using ZRCola have to include in the colophon, foreword, footnote "
"or some other appropriate part of the publication the note below:"
msgstr ""
"Besedilo, nastalo z uporabo ZRCole, mora biti v kolofonu, predgovoru, v "
"opombi ali na drugem ustreznem mestu v publikaciji opremljeno z naslednjim "
"zapisom:"
#: zrcolagui.cpp:859
#, fuzzy
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 Dr. 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 dr. Peter Weiss."
#: zrcolagui.cpp:900
#, fuzzy
msgid "Log"
msgstr "Dnevnik"
#: zrcolagui.cpp:916
#, fuzzy
msgid "&Update"
msgstr "&Posodobi"
#: zrcolagui.cpp:921
#, fuzzy
msgid "&Close"
msgstr "&Zapri"
#: zrcolagui.cpp:953
#, fuzzy
msgid "Character"
msgstr "Znak"
#: zrcolagui.cpp:955
#, fuzzy
msgid "Enter the &character you would like to request:"
msgstr "Vpišite &znak, ki ga želite zahtevati:"
#: zrcolagui.cpp:961
#, fuzzy
msgid "Decomposed character to request"
msgstr "Razstavljen znak, ki ga zahtevate"
#: zrcolagui.cpp:965
#, fuzzy
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 ""
"Uporabite razstavljeno obliko.\n"
"Za vnos znaka lahko uporavite ZRColine bližnjice na tipkovnici ali kopirate "
"in prilepite iz okna z razstavljenim besedilom."
#: zrcolagui.cpp:973
#, fuzzy
msgid "Context"
msgstr "Kontekst"
#: zrcolagui.cpp:975
#, fuzzy
msgid ""
"The &context, examples or short description why and where the character is "
"required:"
msgstr "&Kontekst, primeri oz. kratek opis zakaj in kje potrebujete novi znak:"
#: zrcolagui.cpp:981
#, fuzzy
msgid "Additional notes for character request"
msgstr "Dodatne opombe za zahtevo znaka"
#: zrcolagui.cpp:988
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 "
"we'll encode the necessarry information so the Editor will be able to read "
"it correctly."
msgstr ""
#: zrcolakeyhndlr.cpp:44
#, fuzzy
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 ""
"Pritisnjena tipka INS. Zdaj vtpikajte kodo Unicode želenega znaka (do štiri "
"šestnajstiške števke: 0-9, A-F), nato izpustite INS."
#: zrcolasettings.cpp:93
#, fuzzy
msgid "Start ZRCola automatically on logon"
msgstr "Samodejno zaženi ZRColo ob prijavi"
#: zrcolagui.h:275
#, fuzzy
msgid "Settings"
msgstr "Nastavitve"
#: zrcolagui.h:301
#, fuzzy
msgid "About ZRCola"
msgstr "O ZRColi"
#: zrcolagui.h:324
#, fuzzy
msgid "Product Update"
msgstr "Posodabljanje izdelka"
#: MSIBuild/En.Win32.Release.Feature-2.idtx:3
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:3
#: MSIBuild/En.x64.Release.Feature-2.idtx:3
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:3
#, fuzzy
msgid "1252"
msgstr "1250"
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4
#, fuzzy
msgid "Input system for linguistic use"
msgstr "Vnašalni sistem za jezikoslovno rabo"
#~ msgid "Auto Start"
#~ msgstr "Samodejni zagon"
#~ msgid "Select %s language for decomposition"
#~ msgstr "Izberi jezik %s za razstavljanje"
#~ msgid "&Start on Logon"
#~ msgstr "Z&aženi ob prijavi"
#~ msgid "Start this program automatically on logon"
#~ msgstr "Samodejno zaženi ta program ob prijavi"
#~ msgid "Set language according to keyboard layout automatically"
#~ msgstr "Samodejno nastavi jezik glede na izbrano tipkovnico"
#~ msgid "&Unicode"
#~ msgstr "&Unicode"
#~ msgid "Esc"
#~ msgstr "Esc"
#~ msgid "F1"
#~ msgstr "F1"
#~ msgid "F2"
#~ msgstr "F2"
#~ msgid "F3"
#~ msgstr "F3"
#~ msgid "F4"
#~ msgstr "F4"
#~ msgid "F5"
#~ msgstr "F5"
#~ msgid "F6"
#~ msgstr "F6"
#~ msgid "F7"
#~ msgstr "F7"
#~ msgid "F8"
#~ msgstr "F8"
#~ msgid "F9"
#~ msgstr "F9"
#~ msgid "F10"
#~ msgstr "F10"
#~ msgid "F11"
#~ msgstr "F11"
#~ msgid "F12"
#~ msgstr "F12"
#~ msgid "Print Screen"
#~ msgstr "Print Screen"
#~ msgid "Scroll Lock"
#~ msgstr "Scroll Lock"
#~ msgid "Pause"
#~ msgstr "Pause"
#~ msgid "Backspace"
#~ msgstr "Backspace"
#~ msgid "Tab"
#~ msgstr "Tab"
#~ msgid "Caps Lock"
#~ msgstr "Caps Lock"
#~ msgid "Return"
#~ msgstr "Return"
#~ msgid "Space"
#~ msgstr "preslednica"
#~ msgid "Shift"
#~ msgstr "Shift"
#~ msgid "Alt"
#~ msgstr "Alt"
#~ msgid "Ctrl"
#~ msgstr "Ctrl"
#~ msgid "Menu"
#~ msgstr "Menu"
#~ msgid "Insert"
#~ msgstr "Insert"
#~ msgid "Delete"
#~ msgstr "Delete"
#~ msgid "Page Up"
#~ msgstr "Page Up"
#~ msgid "Page Down"
#~ msgstr "Page Down"
#~ msgid "Home"
#~ msgstr "Home"
#~ msgid "End"
#~ msgstr "End"
#~ msgid "Left"
#~ msgstr "Left"
#~ msgid "Up"
#~ msgstr "Up"
#~ msgid "Right"
#~ msgstr "Right"
#~ msgid "Down"
#~ msgstr "Down"
#~ msgid "Num Lock"
#~ msgstr "Num Lock"
#~ msgid "`"
#~ msgstr "`"
#~ msgid "-"
#~ msgstr "-"
#~ msgid "["
#~ msgstr "["
#~ msgid "]"
#~ msgstr "]"
#~ msgid ":"
#~ msgstr ":"
#~ msgid "'"
#~ msgstr "'"
#~ msgid "\\"
#~ msgstr "\\"
#~ msgid ","
#~ msgstr ","
#~ msgid "."
#~ msgstr "."
#~ msgid "/"
#~ msgstr "/"
#~ msgid "INS"
#~ msgstr "INS"
#~ msgid "Character &Groups"
#~ msgstr "Skupine &znakov"
#~ msgid "Language:"
#~ msgstr "Jezik:"
#~ msgid "&About"
#~ msgstr "O progr&amu"
#~ msgid "Cuts selected text and puts it on the clipboard"
#~ msgstr "Izreže izbrano besedilo in ga shrani na odložišče"
#~ msgid "Copies selected text to the clipboard"
#~ msgstr "Kopira izbrano besedilo na odložišče"
#~ msgid "Inserts text from the clipboard"
#~ msgstr "Vstavi besedilo z odložišča"
#~ msgid "&Copy"
#~ msgstr "&Kopiraj"
#~ msgid "&Paste"
#~ msgstr "&Prilepi"
#~ msgid "&File"
#~ msgstr "&Datoteka"
#~ msgid "Send Decomposed (F6)"
#~ msgstr "Pošlji razstavljeno (F6)"
#~ msgid "Send Composed (F5)"
#~ msgstr "Pošlji sestavljeno (F5)"
#~ msgid ""
#~ "ZRCola keyboard shortcut Win+Shift+Z could not be registered. Some "
#~ "functionality will not be available."
#~ msgstr ""
#~ "ZRColine bližnjice na tipkovnici Win+Shift+Z ni mogoče registrirati. "
#~ "Nekaj funkcionalnosti ne bo na voljo."
#, fuzzy
#~ msgid "Authentication progress real time monitor"
#~ msgstr "Nadzira postopek overovljanja v realnem času"
#~ msgid "Grave\t&7"
#~ msgstr "Krativec\t&7"
#~ msgid "Acute\t&9"
#~ msgstr "Ostrivec\t&9"
#~ msgid "Circumflex\t&3"
#~ msgstr "Cirkumfleks\t&3"
#~ msgid "Inverted &breve"
#~ msgstr "O&brnjen polkrog"
#~ msgid "&Accents"
#~ msgstr "N&aglasi"
#~ msgid ""
#~ "There is already an auto hidden bar on this edge.\n"
#~ "Only one auto hidden bar is allowed on each edge.\n"
#~ "Auto-hide feature is now off."
#~ msgstr ""
#~ "Ob tem robu je že samodejno skrita pasica.\n"
#~ "Na vsakem robu je lahko samo ena samodejno skrita pasica.\n"
#~ "Samodejno skrivanje je zdaj izklopljeno."
#~ msgid "Hello World"
#~ msgstr "Zdravo svet"
#~ msgid "&Hello...\tCtrl+H"
#~ msgstr "&Pozdrav ...\tCtrl+H"
#~ msgid "Help string shown in status bar for this menu item"
#~ msgstr "Niz s pomočjo prikazan v statusni vrstici za to točko menija"
#~ msgid "This is a wxWidgets' Hello world sample"
#~ msgstr "To je primer Zdravo svet v wxWidgets"
#~ msgid "About Hello World"
#~ msgstr "O Zdravo svet"
#~ msgid "Hello world from wxWidgets!"
#~ msgstr "Zdravo svet iz wxWidgets!"
#~ msgid "Welcome to wxWidgets!"
#~ msgstr "Dobrodošli v wxWidgets!"

760
ZRCola/locale/de_DE.po Normal file
View File

@@ -0,0 +1,760 @@
msgid ""
msgstr ""
"Project-Id-Version: ZRCola\n"
"POT-Creation-Date: 2016-05-31 14:26+0200\n"
"PO-Revision-Date: 2016-05-31 14:26+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.7\n"
"X-Poedit-Basepath: .\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: _\n"
#: zrcolaabout.cpp:31
#, c-format
msgid "© 2004-%s ZRC SAZU"
msgstr ""
#: zrcolaapp.cpp:79 zrcolafrm.cpp:86 zrcolagui.cpp:831 zrcolagui.h:102
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4
#, fuzzy
msgid "ZRCola"
msgstr "ZRCola:."
#: zrcolachrreq.cpp:49 zrcolagui.h:353
msgid "Request a New Character"
msgstr ""
#: zrcolafrm.cpp:104
msgid ""
"ZRCola keyboard shortcut Win+F5 could not be registered. Some functionality "
"will not be available."
msgstr ""
#: zrcolafrm.cpp:104 zrcolafrm.cpp:106
#, fuzzy
msgid "Warning"
msgstr "Warnung: "
#: zrcolafrm.cpp:106
msgid ""
"ZRCola keyboard shortcut Win+F6 could not be registered. Some functionality "
"will not be available."
msgstr ""
#: zrcolagui.cpp:36
msgid "E&xit"
msgstr ""
#: zrcolagui.cpp:36
#, fuzzy
msgid "Quit this program"
msgstr "Dieses Programm beenden"
#: zrcolagui.cpp:39
#, fuzzy
msgid "&Program"
msgstr "Konnte das Hildon Programm nicht initialisieren"
#: zrcolagui.cpp:72
#, fuzzy
msgid "Select &All"
msgstr "Alles auswählen"
#: zrcolagui.cpp:72
msgid "Select all text"
msgstr ""
#: zrcolagui.cpp:78
msgid "C&haracter Selector..."
msgstr ""
#: zrcolagui.cpp:78 zrcolagui.cpp:170
msgid "Display character selector to select character to insert into text"
msgstr ""
#: zrcolagui.cpp:89
msgid "&Send Composed"
msgstr ""
#: zrcolagui.cpp:89 zrcolagui.cpp:172
msgid "Send composed text to source window"
msgstr ""
#: zrcolagui.cpp:98
msgid "Send &Decomposed"
msgstr ""
#: zrcolagui.cpp:98 zrcolagui.cpp:174
msgid "Send decomposed text to source window"
msgstr ""
#: zrcolagui.cpp:107
msgid "Abort (De)composition"
msgstr ""
#: zrcolagui.cpp:107
msgid "Abort composition and return focus to source window"
msgstr ""
#: zrcolagui.cpp:118
msgid "&Settings..."
msgstr ""
#: zrcolagui.cpp:118
msgid "Open program configuration dialog"
msgstr ""
#: zrcolagui.cpp:121
#, fuzzy
msgid "&Edit"
msgstr "&Bearbeiten"
#: zrcolagui.cpp:125
msgid "&Edit Toolbar"
msgstr ""
#: zrcolagui.cpp:125
msgid "Toggle edit toolbar"
msgstr ""
#: zrcolagui.cpp:129
msgid "&Compose Toolbar"
msgstr ""
#: zrcolagui.cpp:129
msgid "Toggle compose toolbar"
msgstr ""
#: zrcolagui.cpp:135
msgid "Character Catalo&g"
msgstr ""
#: zrcolagui.cpp:135
msgid "Toggle character catalog panel"
msgstr ""
#: zrcolagui.cpp:138
#, fuzzy
msgid "&View"
msgstr "&Ansicht..."
#: zrcolagui.cpp:142
msgid "&Request a new character..."
msgstr ""
#: zrcolagui.cpp:142
msgid "Submit a request to ZRC to add a new character"
msgstr ""
#: zrcolagui.cpp:146
msgid "Check for &Updates..."
msgstr ""
#: zrcolagui.cpp:146
msgid "Check online for product update"
msgstr ""
#: zrcolagui.cpp:155
#, fuzzy
msgid "&Help"
msgstr "&Hilfe"
#: zrcolagui.cpp:160
#, fuzzy
msgid "Cut"
msgstr "Ausschneiden"
#: zrcolagui.cpp:160
#, fuzzy
msgid "Cut selection"
msgstr "Auswahl ausschneiden"
#: zrcolagui.cpp:162
#, fuzzy
msgid "Copy"
msgstr "Kopieren"
#: zrcolagui.cpp:162
#, fuzzy
msgid "Copy selection"
msgstr "Auswahl kopieren"
#: zrcolagui.cpp:164
#, fuzzy
msgid "Paste"
msgstr "Einfügen"
#: zrcolagui.cpp:164
#, fuzzy
msgid "Paste selection"
msgstr "Auswahl einfügen"
#: zrcolagui.cpp:167
#, fuzzy
msgid "Edit"
msgstr "Bearbeiten"
#: zrcolagui.cpp:170 zrcolagui.h:238
msgid "Character Selector"
msgstr ""
#: zrcolagui.cpp:172
msgid "Send Composed"
msgstr ""
#: zrcolagui.cpp:174
msgid "Send Decomposed"
msgstr ""
#: zrcolagui.cpp:177
msgid "Compose"
msgstr ""
#: zrcolagui.cpp:181
msgid "Character Catalog"
msgstr ""
#: zrcolagui.cpp:185
msgid "(De)Composer"
msgstr ""
#: zrcolagui.cpp:224
msgid "Decomposed Text"
msgstr ""
#: zrcolagui.cpp:244
msgid "Decomposed Unicode Dump"
msgstr ""
#: zrcolagui.cpp:271
msgid "Composed Text"
msgstr ""
#: zrcolagui.cpp:291
msgid "Composed Unicode Dump"
msgstr ""
#: zrcolagui.cpp:411
#, fuzzy
msgid "&Browse"
msgstr "Durchsuchen"
#: zrcolagui.cpp:418
msgid ""
"Full or partial terms from Unicode character description (in English) to "
"search for"
msgstr ""
#: zrcolagui.cpp:424
msgid "List of Unicode character categories to search in"
msgstr ""
#: zrcolagui.cpp:431
#, fuzzy
msgid "All"
msgstr "Alle"
#: zrcolagui.cpp:432
msgid "Select all categories"
msgstr ""
#: zrcolagui.cpp:436
#, fuzzy
msgid "None"
msgstr "Kein"
#: zrcolagui.cpp:437
#, fuzzy
msgid "Clear category selection"
msgstr "Auswahl kopieren"
#: zrcolagui.cpp:441
msgid "Invert"
msgstr ""
#: zrcolagui.cpp:442
#, fuzzy
msgid "Invert category selection"
msgstr "Auswahl einfügen"
#: zrcolagui.cpp:475
#, fuzzy
msgid "Character search results"
msgstr "Skupine &znakov"
#: zrcolagui.cpp:485
msgid "Re&cently Used"
msgstr ""
#: zrcolagui.cpp:513
msgid "List of recently inserted characters"
msgstr ""
#: zrcolagui.cpp:527
#, fuzzy
msgid "Preview"
msgstr " Vorschau"
#: zrcolagui.cpp:532
#, fuzzy
msgid "U+"
msgstr "Hilfeverzeichnis %u nicht gefunden."
#: zrcolagui.cpp:537
msgid "Unicode hexadecimal code"
msgstr ""
#: zrcolagui.cpp:542
msgid "Keyboard shortcut in Composer window"
msgstr ""
#: zrcolagui.cpp:577
#, fuzzy
msgid "Character preview"
msgstr "Skupine &znakov"
#: zrcolagui.cpp:582
msgid "Unicode character description"
msgstr ""
#: zrcolagui.cpp:587
msgid "Unicode character category"
msgstr ""
#: zrcolagui.cpp:594
#, fuzzy
msgid "« Back"
msgstr "< &Zurück"
#: zrcolagui.cpp:596
msgid "To previously viewed character"
msgstr ""
#: zrcolagui.cpp:600
#, fuzzy
msgid "Forward »"
msgstr "&Vorwärts"
#: zrcolagui.cpp:602
msgid "To following viewed character"
msgstr ""
#: zrcolagui.cpp:613
msgid "Re&lated"
msgstr ""
#: zrcolagui.cpp:640
msgid "List of related characters"
msgstr ""
#: zrcolagui.cpp:727
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:731
msgid "Select language &automatically according to selected keyboard"
msgstr ""
#: zrcolagui.cpp:734
msgid "&Manually select the language from the list below:"
msgstr ""
#: zrcolagui.cpp:746
msgid "Text Language"
msgstr ""
#: zrcolagui.cpp:751
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:755
msgid "Start ZRCola &automatically on logon"
msgstr ""
#: zrcolagui.cpp:762
msgid "Startup"
msgstr ""
#: zrcolagui.cpp:841
msgid ""
"Editor: Janoš Ježovnik\n"
"Development: Amebis d. o. o.\n"
"Development and maintenance (2004-2015): dr. Peter Weiss"
msgstr ""
#: zrcolagui.cpp:849
msgid "www.zrc-sazu.si"
msgstr ""
#: zrcolagui.cpp:855
msgid ""
"Texts made using ZRCola have to include in the colophon, foreword, footnote "
"or some other appropriate part of the publication the note below:"
msgstr ""
#: zrcolagui.cpp:859
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 Dr. Peter Weiss."
msgstr ""
#: zrcolagui.cpp:900
#, fuzzy
msgid "Log"
msgstr "&Log"
#: zrcolagui.cpp:916
#, fuzzy
msgid "&Update"
msgstr "Kann Benutzer-Konfigurationsdatei nicht aktualisieren."
#: zrcolagui.cpp:921
#, fuzzy
msgid "&Close"
msgstr "&Schließen"
#: zrcolagui.cpp:953
#, fuzzy
msgid "Character"
msgstr "Eingabe eines Zeichenstils"
#: zrcolagui.cpp:955
msgid "Enter the &character you would like to request:"
msgstr ""
#: zrcolagui.cpp:961
msgid "Decomposed character to request"
msgstr ""
#: zrcolagui.cpp:965
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:973
#, fuzzy
msgid "Context"
msgstr "Konnte den Kontext auf dem überlagerten Fenster nicht initialisieren."
#: zrcolagui.cpp:975
msgid ""
"The &context, examples or short description why and where the character is "
"required:"
msgstr ""
#: zrcolagui.cpp:981
msgid "Additional notes for character request"
msgstr ""
#: zrcolagui.cpp:988
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 "
"we'll encode the necessarry information so the Editor will be able to read "
"it correctly."
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:93
msgid "Start ZRCola automatically on logon"
msgstr ""
#: zrcolagui.h:275
msgid "Settings"
msgstr ""
#: zrcolagui.h:301
msgid "About ZRCola"
msgstr ""
#: zrcolagui.h:324
msgid "Product Update"
msgstr ""
# Windows charset for this language (decimal)
#: MSIBuild/En.Win32.Release.Feature-2.idtx:3
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:3
#: MSIBuild/En.x64.Release.Feature-2.idtx:3
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:3
#, fuzzy
msgid "1252"
msgstr "1252"
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4
msgid "Input system for linguistic use"
msgstr ""
#~ msgid "Auto Start"
#~ msgstr "Samodejni zagon"
#~ msgid "Select %s language for decomposition"
#~ msgstr "Izberi jezik %s za razstavljanje"
#~ msgid "&Start on Logon"
#~ msgstr "Z&aženi ob prijavi"
#~ msgid "Start this program automatically on logon"
#~ msgstr "Samodejno zaženi ta program ob prijavi"
#~ msgid "Set language according to keyboard layout automatically"
#~ msgstr "Samodejno nastavi jezik glede na izbrano tipkovnico"
#~ msgid "&Unicode"
#~ msgstr "&Unicode"
#~ msgid "Esc"
#~ msgstr "Esc"
#~ msgid "F1"
#~ msgstr "F1"
#~ msgid "F2"
#~ msgstr "F2"
#~ msgid "F3"
#~ msgstr "F3"
#~ msgid "F4"
#~ msgstr "F4"
#~ msgid "F5"
#~ msgstr "F5"
#~ msgid "F6"
#~ msgstr "F6"
#~ msgid "F7"
#~ msgstr "F7"
#~ msgid "F8"
#~ msgstr "F8"
#~ msgid "F9"
#~ msgstr "F9"
#~ msgid "F10"
#~ msgstr "F10"
#~ msgid "F11"
#~ msgstr "F11"
#~ msgid "F12"
#~ msgstr "F12"
#~ msgid "Print Screen"
#~ msgstr "Print Screen"
#~ msgid "Scroll Lock"
#~ msgstr "Scroll Lock"
#~ msgid "Pause"
#~ msgstr "Pause"
#~ msgid "Backspace"
#~ msgstr "Backspace"
#~ msgid "Tab"
#~ msgstr "Tab"
#~ msgid "Caps Lock"
#~ msgstr "Caps Lock"
#~ msgid "Return"
#~ msgstr "Return"
#~ msgid "Space"
#~ msgstr "preslednica"
#~ msgid "Shift"
#~ msgstr "Shift"
#~ msgid "Alt"
#~ msgstr "Alt"
#~ msgid "Ctrl"
#~ msgstr "Ctrl"
#~ msgid "Menu"
#~ msgstr "Menu"
#~ msgid "Insert"
#~ msgstr "Insert"
#~ msgid "Delete"
#~ msgstr "Delete"
#~ msgid "Page Up"
#~ msgstr "Page Up"
#~ msgid "Page Down"
#~ msgstr "Page Down"
#~ msgid "Home"
#~ msgstr "Home"
#~ msgid "End"
#~ msgstr "End"
#~ msgid "Left"
#~ msgstr "Left"
#~ msgid "Up"
#~ msgstr "Up"
#~ msgid "Right"
#~ msgstr "Right"
#~ msgid "Down"
#~ msgstr "Down"
#~ msgid "Num Lock"
#~ msgstr "Num Lock"
#~ msgid "`"
#~ msgstr "`"
#~ msgid "-"
#~ msgstr "-"
#~ msgid "["
#~ msgstr "["
#~ msgid "]"
#~ msgstr "]"
#~ msgid ":"
#~ msgstr ":"
#~ msgid "'"
#~ msgstr "'"
#~ msgid "\\"
#~ msgstr "\\"
#~ msgid ","
#~ msgstr ","
#~ msgid "."
#~ msgstr "."
#~ msgid "/"
#~ msgstr "/"
#~ msgid "INS"
#~ msgstr "INS"
#~ msgid "Character &Groups"
#~ msgstr "Skupine &znakov"
#~ msgid "Language:"
#~ msgstr "Jezik:"
#~ msgid "&About"
#~ msgstr "O progr&amu"
#~ msgid "Cuts selected text and puts it on the clipboard"
#~ msgstr "Izreže izbrano besedilo in ga shrani na odložišče"
#~ msgid "Copies selected text to the clipboard"
#~ msgstr "Kopira izbrano besedilo na odložišče"
#~ msgid "Inserts text from the clipboard"
#~ msgstr "Vstavi besedilo z odložišča"
#~ msgid "&Copy"
#~ msgstr "&Kopiraj"
#~ msgid "&Paste"
#~ msgstr "&Prilepi"
#~ msgid "&File"
#~ msgstr "&Datoteka"
#~ msgid "Send Decomposed (F6)"
#~ msgstr "Pošlji razstavljeno (F6)"
#~ msgid "Send Composed (F5)"
#~ msgstr "Pošlji sestavljeno (F5)"
#~ msgid ""
#~ "ZRCola keyboard shortcut Win+Shift+Z could not be registered. Some "
#~ "functionality will not be available."
#~ msgstr ""
#~ "ZRColine bližnjice na tipkovnici Win+Shift+Z ni mogoče registrirati. "
#~ "Nekaj funkcionalnosti ne bo na voljo."
#, fuzzy
#~ msgid "Authentication progress real time monitor"
#~ msgstr "Nadzira postopek overovljanja v realnem času"
#~ msgid "Grave\t&7"
#~ msgstr "Krativec\t&7"
#~ msgid "Acute\t&9"
#~ msgstr "Ostrivec\t&9"
#~ msgid "Circumflex\t&3"
#~ msgstr "Cirkumfleks\t&3"
#~ msgid "Inverted &breve"
#~ msgstr "O&brnjen polkrog"
#~ msgid "&Accents"
#~ msgstr "N&aglasi"
#~ msgid ""
#~ "There is already an auto hidden bar on this edge.\n"
#~ "Only one auto hidden bar is allowed on each edge.\n"
#~ "Auto-hide feature is now off."
#~ msgstr ""
#~ "Ob tem robu je že samodejno skrita pasica.\n"
#~ "Na vsakem robu je lahko samo ena samodejno skrita pasica.\n"
#~ "Samodejno skrivanje je zdaj izklopljeno."
#~ msgid "Hello World"
#~ msgstr "Zdravo svet"
#~ msgid "&Hello...\tCtrl+H"
#~ msgstr "&Pozdrav ...\tCtrl+H"
#~ msgid "Help string shown in status bar for this menu item"
#~ msgstr "Niz s pomočjo prikazan v statusni vrstici za to točko menija"
#~ msgid "This is a wxWidgets' Hello world sample"
#~ msgstr "To je primer Zdravo svet v wxWidgets"
#~ msgid "About Hello World"
#~ msgstr "O Zdravo svet"
#~ msgid "Hello world from wxWidgets!"
#~ msgstr "Zdravo svet iz wxWidgets!"
#~ msgid "Welcome to wxWidgets!"
#~ msgstr "Dobrodošli v wxWidgets!"

735
ZRCola/locale/ru_RU.po Normal file
View File

@@ -0,0 +1,735 @@
msgid ""
msgstr ""
"Project-Id-Version: ZRCola\n"
"POT-Creation-Date: 2016-05-31 14:26+0200\n"
"PO-Revision-Date: 2016-05-31 14:26+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.7\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"
"X-Poedit-KeywordsList: _\n"
#: zrcolaabout.cpp:31
#, c-format
msgid "© 2004-%s ZRC SAZU"
msgstr ""
#: zrcolaapp.cpp:79 zrcolafrm.cpp:86 zrcolagui.cpp:831 zrcolagui.h:102
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4
#, fuzzy
msgid "ZRCola"
msgstr "ZRCola:."
#: zrcolachrreq.cpp:49 zrcolagui.h:353
msgid "Request a New Character"
msgstr ""
#: zrcolafrm.cpp:104
msgid ""
"ZRCola keyboard shortcut Win+F5 could not be registered. Some functionality "
"will not be available."
msgstr ""
#: zrcolafrm.cpp:104 zrcolafrm.cpp:106
msgid "Warning"
msgstr ""
#: zrcolafrm.cpp:106
msgid ""
"ZRCola keyboard shortcut Win+F6 could not be registered. Some functionality "
"will not be available."
msgstr ""
#: zrcolagui.cpp:36
msgid "E&xit"
msgstr ""
#: zrcolagui.cpp:36
msgid "Quit this program"
msgstr ""
#: zrcolagui.cpp:39
msgid "&Program"
msgstr ""
#: zrcolagui.cpp:72
msgid "Select &All"
msgstr ""
#: zrcolagui.cpp:72
msgid "Select all text"
msgstr ""
#: zrcolagui.cpp:78
msgid "C&haracter Selector..."
msgstr ""
#: zrcolagui.cpp:78 zrcolagui.cpp:170
msgid "Display character selector to select character to insert into text"
msgstr ""
#: zrcolagui.cpp:89
msgid "&Send Composed"
msgstr ""
#: zrcolagui.cpp:89 zrcolagui.cpp:172
msgid "Send composed text to source window"
msgstr ""
#: zrcolagui.cpp:98
msgid "Send &Decomposed"
msgstr ""
#: zrcolagui.cpp:98 zrcolagui.cpp:174
msgid "Send decomposed text to source window"
msgstr ""
#: zrcolagui.cpp:107
msgid "Abort (De)composition"
msgstr ""
#: zrcolagui.cpp:107
msgid "Abort composition and return focus to source window"
msgstr ""
#: zrcolagui.cpp:118
msgid "&Settings..."
msgstr ""
#: zrcolagui.cpp:118
msgid "Open program configuration dialog"
msgstr ""
#: zrcolagui.cpp:121
msgid "&Edit"
msgstr ""
#: zrcolagui.cpp:125
msgid "&Edit Toolbar"
msgstr ""
#: zrcolagui.cpp:125
msgid "Toggle edit toolbar"
msgstr ""
#: zrcolagui.cpp:129
msgid "&Compose Toolbar"
msgstr ""
#: zrcolagui.cpp:129
msgid "Toggle compose toolbar"
msgstr ""
#: zrcolagui.cpp:135
msgid "Character Catalo&g"
msgstr ""
#: zrcolagui.cpp:135
msgid "Toggle character catalog panel"
msgstr ""
#: zrcolagui.cpp:138
msgid "&View"
msgstr ""
#: zrcolagui.cpp:142
msgid "&Request a new character..."
msgstr ""
#: zrcolagui.cpp:142
msgid "Submit a request to ZRC to add a new character"
msgstr ""
#: zrcolagui.cpp:146
msgid "Check for &Updates..."
msgstr ""
#: zrcolagui.cpp:146
msgid "Check online for product update"
msgstr ""
#: zrcolagui.cpp:155
msgid "&Help"
msgstr ""
#: zrcolagui.cpp:160
msgid "Cut"
msgstr ""
#: zrcolagui.cpp:160
msgid "Cut selection"
msgstr ""
#: zrcolagui.cpp:162
msgid "Copy"
msgstr ""
#: zrcolagui.cpp:162
msgid "Copy selection"
msgstr ""
#: zrcolagui.cpp:164
msgid "Paste"
msgstr ""
#: zrcolagui.cpp:164
msgid "Paste selection"
msgstr ""
#: zrcolagui.cpp:167
msgid "Edit"
msgstr ""
#: zrcolagui.cpp:170 zrcolagui.h:238
msgid "Character Selector"
msgstr ""
#: zrcolagui.cpp:172
msgid "Send Composed"
msgstr ""
#: zrcolagui.cpp:174
msgid "Send Decomposed"
msgstr ""
#: zrcolagui.cpp:177
msgid "Compose"
msgstr ""
#: zrcolagui.cpp:181
msgid "Character Catalog"
msgstr ""
#: zrcolagui.cpp:185
msgid "(De)Composer"
msgstr ""
#: zrcolagui.cpp:224
msgid "Decomposed Text"
msgstr ""
#: zrcolagui.cpp:244
msgid "Decomposed Unicode Dump"
msgstr ""
#: zrcolagui.cpp:271
msgid "Composed Text"
msgstr ""
#: zrcolagui.cpp:291
msgid "Composed Unicode Dump"
msgstr ""
#: zrcolagui.cpp:411
msgid "&Browse"
msgstr ""
#: zrcolagui.cpp:418
msgid ""
"Full or partial terms from Unicode character description (in English) to "
"search for"
msgstr ""
#: zrcolagui.cpp:424
msgid "List of Unicode character categories to search in"
msgstr ""
#: zrcolagui.cpp:431
#, fuzzy
msgid "All"
msgstr "Alt"
#: zrcolagui.cpp:432
msgid "Select all categories"
msgstr ""
#: zrcolagui.cpp:436
msgid "None"
msgstr ""
#: zrcolagui.cpp:437
msgid "Clear category selection"
msgstr ""
#: zrcolagui.cpp:441
msgid "Invert"
msgstr ""
#: zrcolagui.cpp:442
msgid "Invert category selection"
msgstr ""
#: zrcolagui.cpp:475
#, fuzzy
msgid "Character search results"
msgstr "Skupine &znakov"
#: zrcolagui.cpp:485
msgid "Re&cently Used"
msgstr ""
#: zrcolagui.cpp:513
msgid "List of recently inserted characters"
msgstr ""
#: zrcolagui.cpp:527
msgid "Preview"
msgstr ""
#: zrcolagui.cpp:532
msgid "U+"
msgstr ""
#: zrcolagui.cpp:537
msgid "Unicode hexadecimal code"
msgstr ""
#: zrcolagui.cpp:542
msgid "Keyboard shortcut in Composer window"
msgstr ""
#: zrcolagui.cpp:577
#, fuzzy
msgid "Character preview"
msgstr "Skupine &znakov"
#: zrcolagui.cpp:582
msgid "Unicode character description"
msgstr ""
#: zrcolagui.cpp:587
msgid "Unicode character category"
msgstr ""
#: zrcolagui.cpp:594
msgid "« Back"
msgstr ""
#: zrcolagui.cpp:596
msgid "To previously viewed character"
msgstr ""
#: zrcolagui.cpp:600
msgid "Forward »"
msgstr ""
#: zrcolagui.cpp:602
msgid "To following viewed character"
msgstr ""
#: zrcolagui.cpp:613
msgid "Re&lated"
msgstr ""
#: zrcolagui.cpp:640
msgid "List of related characters"
msgstr ""
#: zrcolagui.cpp:727
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:731
msgid "Select language &automatically according to selected keyboard"
msgstr ""
#: zrcolagui.cpp:734
msgid "&Manually select the language from the list below:"
msgstr ""
#: zrcolagui.cpp:746
msgid "Text Language"
msgstr ""
#: zrcolagui.cpp:751
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:755
msgid "Start ZRCola &automatically on logon"
msgstr ""
#: zrcolagui.cpp:762
msgid "Startup"
msgstr ""
#: zrcolagui.cpp:841
msgid ""
"Editor: Janoš Ježovnik\n"
"Development: Amebis d. o. o.\n"
"Development and maintenance (2004-2015): dr. Peter Weiss"
msgstr ""
#: zrcolagui.cpp:849
msgid "www.zrc-sazu.si"
msgstr ""
#: zrcolagui.cpp:855
msgid ""
"Texts made using ZRCola have to include in the colophon, foreword, footnote "
"or some other appropriate part of the publication the note below:"
msgstr ""
#: zrcolagui.cpp:859
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 Dr. Peter Weiss."
msgstr ""
#: zrcolagui.cpp:900
msgid "Log"
msgstr ""
#: zrcolagui.cpp:916
msgid "&Update"
msgstr ""
#: zrcolagui.cpp:921
msgid "&Close"
msgstr ""
#: zrcolagui.cpp:953
#, fuzzy
msgid "Character"
msgstr "Skupine &znakov"
#: zrcolagui.cpp:955
msgid "Enter the &character you would like to request:"
msgstr ""
#: zrcolagui.cpp:961
msgid "Decomposed character to request"
msgstr ""
#: zrcolagui.cpp:965
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:973
msgid "Context"
msgstr ""
#: zrcolagui.cpp:975
msgid ""
"The &context, examples or short description why and where the character is "
"required:"
msgstr ""
#: zrcolagui.cpp:981
msgid "Additional notes for character request"
msgstr ""
#: zrcolagui.cpp:988
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 "
"we'll encode the necessarry information so the Editor will be able to read "
"it correctly."
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:93
msgid "Start ZRCola automatically on logon"
msgstr ""
#: zrcolagui.h:275
msgid "Settings"
msgstr ""
#: zrcolagui.h:301
msgid "About ZRCola"
msgstr ""
#: zrcolagui.h:324
msgid "Product Update"
msgstr ""
# Windows charset for this language (decimal)
#: MSIBuild/En.Win32.Release.Feature-2.idtx:3
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:3
#: MSIBuild/En.x64.Release.Feature-2.idtx:3
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:3
#, fuzzy
msgid "1252"
msgstr "1251"
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4
msgid "Input system for linguistic use"
msgstr ""
#~ msgid "Auto Start"
#~ msgstr "Samodejni zagon"
#~ msgid "Select %s language for decomposition"
#~ msgstr "Izberi jezik %s za razstavljanje"
#~ msgid "&Start on Logon"
#~ msgstr "Z&aženi ob prijavi"
#~ msgid "Start this program automatically on logon"
#~ msgstr "Samodejno zaženi ta program ob prijavi"
#~ msgid "Set language according to keyboard layout automatically"
#~ msgstr "Samodejno nastavi jezik glede na izbrano tipkovnico"
#~ msgid "&Unicode"
#~ msgstr "&Unicode"
#~ msgid "Esc"
#~ msgstr "Esc"
#~ msgid "F1"
#~ msgstr "F1"
#~ msgid "F2"
#~ msgstr "F2"
#~ msgid "F3"
#~ msgstr "F3"
#~ msgid "F4"
#~ msgstr "F4"
#~ msgid "F5"
#~ msgstr "F5"
#~ msgid "F6"
#~ msgstr "F6"
#~ msgid "F7"
#~ msgstr "F7"
#~ msgid "F8"
#~ msgstr "F8"
#~ msgid "F9"
#~ msgstr "F9"
#~ msgid "F10"
#~ msgstr "F10"
#~ msgid "F11"
#~ msgstr "F11"
#~ msgid "F12"
#~ msgstr "F12"
#~ msgid "Print Screen"
#~ msgstr "Print Screen"
#~ msgid "Scroll Lock"
#~ msgstr "Scroll Lock"
#~ msgid "Pause"
#~ msgstr "Pause"
#~ msgid "Backspace"
#~ msgstr "Backspace"
#~ msgid "Tab"
#~ msgstr "Tab"
#~ msgid "Caps Lock"
#~ msgstr "Caps Lock"
#~ msgid "Return"
#~ msgstr "Return"
#~ msgid "Space"
#~ msgstr "preslednica"
#~ msgid "Shift"
#~ msgstr "Shift"
#~ msgid "Alt"
#~ msgstr "Alt"
#~ msgid "Ctrl"
#~ msgstr "Ctrl"
#~ msgid "Menu"
#~ msgstr "Menu"
#~ msgid "Insert"
#~ msgstr "Insert"
#~ msgid "Delete"
#~ msgstr "Delete"
#~ msgid "Page Up"
#~ msgstr "Page Up"
#~ msgid "Page Down"
#~ msgstr "Page Down"
#~ msgid "Home"
#~ msgstr "Home"
#~ msgid "End"
#~ msgstr "End"
#~ msgid "Left"
#~ msgstr "Left"
#~ msgid "Up"
#~ msgstr "Up"
#~ msgid "Right"
#~ msgstr "Right"
#~ msgid "Down"
#~ msgstr "Down"
#~ msgid "Num Lock"
#~ msgstr "Num Lock"
#~ msgid "`"
#~ msgstr "`"
#~ msgid "-"
#~ msgstr "-"
#~ msgid "["
#~ msgstr "["
#~ msgid "]"
#~ msgstr "]"
#~ msgid ":"
#~ msgstr ":"
#~ msgid "'"
#~ msgstr "'"
#~ msgid "\\"
#~ msgstr "\\"
#~ msgid ","
#~ msgstr ","
#~ msgid "."
#~ msgstr "."
#~ msgid "/"
#~ msgstr "/"
#~ msgid "INS"
#~ msgstr "INS"
#~ msgid "Character &Groups"
#~ msgstr "Skupine &znakov"
#~ msgid "Language:"
#~ msgstr "Jezik:"
#~ msgid "&About"
#~ msgstr "O progr&amu"
#~ msgid "Cuts selected text and puts it on the clipboard"
#~ msgstr "Izreže izbrano besedilo in ga shrani na odložišče"
#~ msgid "Copies selected text to the clipboard"
#~ msgstr "Kopira izbrano besedilo na odložišče"
#~ msgid "Inserts text from the clipboard"
#~ msgstr "Vstavi besedilo z odložišča"
#~ msgid "&Copy"
#~ msgstr "&Kopiraj"
#~ msgid "&Paste"
#~ msgstr "&Prilepi"
#~ msgid "&File"
#~ msgstr "&Datoteka"
#~ msgid "Send Decomposed (F6)"
#~ msgstr "Pošlji razstavljeno (F6)"
#~ msgid "Send Composed (F5)"
#~ msgstr "Pošlji sestavljeno (F5)"
#~ msgid ""
#~ "ZRCola keyboard shortcut Win+Shift+Z could not be registered. Some "
#~ "functionality will not be available."
#~ msgstr ""
#~ "ZRColine bližnjice na tipkovnici Win+Shift+Z ni mogoče registrirati. "
#~ "Nekaj funkcionalnosti ne bo na voljo."
#, fuzzy
#~ msgid "Authentication progress real time monitor"
#~ msgstr "Nadzira postopek overovljanja v realnem času"
#~ msgid "Grave\t&7"
#~ msgstr "Krativec\t&7"
#~ msgid "Acute\t&9"
#~ msgstr "Ostrivec\t&9"
#~ msgid "Circumflex\t&3"
#~ msgstr "Cirkumfleks\t&3"
#~ msgid "Inverted &breve"
#~ msgstr "O&brnjen polkrog"
#~ msgid "&Accents"
#~ msgstr "N&aglasi"
#~ msgid ""
#~ "There is already an auto hidden bar on this edge.\n"
#~ "Only one auto hidden bar is allowed on each edge.\n"
#~ "Auto-hide feature is now off."
#~ msgstr ""
#~ "Ob tem robu je že samodejno skrita pasica.\n"
#~ "Na vsakem robu je lahko samo ena samodejno skrita pasica.\n"
#~ "Samodejno skrivanje je zdaj izklopljeno."
#~ msgid "Hello World"
#~ msgstr "Zdravo svet"
#~ msgid "&Hello...\tCtrl+H"
#~ msgstr "&Pozdrav ...\tCtrl+H"
#~ msgid "Help string shown in status bar for this menu item"
#~ msgstr "Niz s pomočjo prikazan v statusni vrstici za to točko menija"
#~ msgid "This is a wxWidgets' Hello world sample"
#~ msgstr "To je primer Zdravo svet v wxWidgets"
#~ msgid "About Hello World"
#~ msgstr "O Zdravo svet"
#~ msgid "Hello world from wxWidgets!"
#~ msgstr "Zdravo svet iz wxWidgets!"
#~ msgid "Welcome to wxWidgets!"
#~ msgstr "Dobrodošli v wxWidgets!"

View File

@@ -1,8 +1,8 @@
msgid ""
msgstr ""
"Project-Id-Version: ZRCola\n"
"POT-Creation-Date: 2016-05-13 15:52+0200\n"
"PO-Revision-Date: 2016-05-13 15:52+0200\n"
"POT-Creation-Date: 2016-05-31 14:24+0200\n"
"PO-Revision-Date: 2016-05-31 14:26+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"
@@ -10,21 +10,30 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.7\n"
"X-Poedit-Basepath: ..\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"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: .\n"
#: zrcolafrm.cpp:90 zrcolagui.h:98 MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: zrcolaabout.cpp:31
#, c-format
msgid "© 2004-%s ZRC SAZU"
msgstr "© 2004-%s ZRC SAZU"
#: zrcolaapp.cpp:79 zrcolafrm.cpp:86 zrcolagui.cpp:831 zrcolagui.h:102
#: MSIBuild/En.Win32.Release.Feature-2.idtx:4
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:4
#: MSIBuild/En.x64.Release.Feature-2.idtx:4
#: MSIBuild/En.x64.Release.Shortcut-2.idtx:4
msgid "ZRCola"
msgstr "ZRCola"
#: zrcolafrm.cpp:108
#: zrcolachrreq.cpp:49 zrcolagui.h:353
msgid "Request a New Character"
msgstr "Zahtevaj nov znak"
#: zrcolafrm.cpp:104
msgid ""
"ZRCola keyboard shortcut Win+F5 could not be registered. Some functionality "
"will not be available."
@@ -32,11 +41,11 @@ msgstr ""
"ZRColine bližnjice na tipkovnici Win+F5 ni mogoče registrirati. Nekaj "
"funkcionalnosti ne bo na voljo."
#: zrcolafrm.cpp:108 zrcolafrm.cpp:110
#: zrcolafrm.cpp:104 zrcolafrm.cpp:106
msgid "Warning"
msgstr "Opozorilo"
#: zrcolafrm.cpp:110
#: zrcolafrm.cpp:106
msgid ""
"ZRCola keyboard shortcut Win+F6 could not be registered. Some functionality "
"will not be available."
@@ -44,23 +53,6 @@ msgstr ""
"ZRColine bližnjice na tipkovnici Win+F6 ni mogoče registrirati. Nekaj "
"funkcionalnosti ne bo na voljo."
#: zrcolafrm.cpp:336
msgid "http://zrcola-2.amebis.si/en/contact/"
msgstr "http://zrcola-2.amebis.si/contact/"
#: zrcolafrm.cpp:342
#, c-format
msgid ""
"ZRCola v%s\n"
"Copyright 2015-%s Amebis"
msgstr ""
"ZRCola v%s\n"
"Vse pravice pridržane 2015-%s Amebis"
#: zrcolafrm.cpp:342
msgid "About ZRCola"
msgstr "O ZRColi"
#: zrcolagui.cpp:36
msgid "E&xit"
msgstr "I&zhod"
@@ -85,7 +77,7 @@ msgstr "Izberi celotno besedilo"
msgid "C&haracter Selector..."
msgstr "Izbirnik &znaka ..."
#: zrcolagui.cpp:78 zrcolagui.cpp:166
#: zrcolagui.cpp:78 zrcolagui.cpp:170
msgid "Display character selector to select character to insert into text"
msgstr "Prikaži izbirnik znaka za izbor znaka za vstavljanje v besedilo"
@@ -93,7 +85,7 @@ msgstr "Prikaži izbirnik znaka za izbor znaka za vstavljanje v besedilo"
msgid "&Send Composed"
msgstr "Pošlji &sestavljeno"
#: zrcolagui.cpp:89 zrcolagui.cpp:168
#: zrcolagui.cpp:89 zrcolagui.cpp:172
msgid "Send composed text to source window"
msgstr "Pošlji sestavljeno besedilo izvornemu oknu"
@@ -101,7 +93,7 @@ msgstr "Pošlji sestavljeno besedilo izvornemu oknu"
msgid "Send &Decomposed"
msgstr "Pošlji &razstavljeno"
#: zrcolagui.cpp:98 zrcolagui.cpp:170
#: zrcolagui.cpp:98 zrcolagui.cpp:174
msgid "Send decomposed text to source window"
msgstr "Pošlji razstavljeno besedilo izvornemu oknu"
@@ -161,99 +153,190 @@ msgstr "&Zahtevaj nov znak ..."
msgid "Submit a request to ZRC to add a new character"
msgstr "Oddaj prošnjo ZRC-u za dodajanje novega znaka"
#: zrcolagui.cpp:151
#: zrcolagui.cpp:146
msgid "Check for &Updates..."
msgstr "Preveri za &posodobitev ..."
#: zrcolagui.cpp:146
msgid "Check online for product update"
msgstr "Preveri na spletu za posodobitev izdelka"
#: zrcolagui.cpp:155
msgid "&Help"
msgstr "Po&moč"
#: zrcolagui.cpp:156
#: zrcolagui.cpp:160
msgid "Cut"
msgstr "Izreži"
#: zrcolagui.cpp:156
#: zrcolagui.cpp:160
msgid "Cut selection"
msgstr "Izreži izbor"
#: zrcolagui.cpp:158
#: zrcolagui.cpp:162
msgid "Copy"
msgstr "Kopiraj"
#: zrcolagui.cpp:158
#: zrcolagui.cpp:162
msgid "Copy selection"
msgstr "Kopiraj izbor"
#: zrcolagui.cpp:160
#: zrcolagui.cpp:164
msgid "Paste"
msgstr "Prilepi"
#: zrcolagui.cpp:160
#: zrcolagui.cpp:164
msgid "Paste selection"
msgstr "Prilepi izbor"
#: zrcolagui.cpp:163
#: zrcolagui.cpp:167
msgid "Edit"
msgstr "Urejanje"
#: zrcolagui.cpp:166 zrcolagui.h:222
#: zrcolagui.cpp:170 zrcolagui.h:238
msgid "Character Selector"
msgstr "Izbirnik znaka"
#: zrcolagui.cpp:168
#: zrcolagui.cpp:172
msgid "Send Composed"
msgstr "Pošlji sestavljeno"
#: zrcolagui.cpp:170
#: zrcolagui.cpp:174
msgid "Send Decomposed"
msgstr "Pošlji razstavljeno"
#: zrcolagui.cpp:173
#: zrcolagui.cpp:177
msgid "Compose"
msgstr "Sestavljanje"
#: zrcolagui.cpp:177
#: zrcolagui.cpp:181
msgid "Character Catalog"
msgstr "Katalog znakov"
#: zrcolagui.cpp:181
#: zrcolagui.cpp:185
msgid "(De)Composer"
msgstr "Raz/Sestavljalnik"
#: zrcolagui.cpp:218
#: zrcolagui.cpp:224
msgid "Decomposed Text"
msgstr "Razstavljeno besedilo"
#: zrcolagui.cpp:238
#: zrcolagui.cpp:244
msgid "Decomposed Unicode Dump"
msgstr "Unicode razstavljenega"
#: zrcolagui.cpp:265
#: zrcolagui.cpp:271
msgid "Composed Text"
msgstr "Sestavljeno besedilo"
#: zrcolagui.cpp:285
#: zrcolagui.cpp:291
msgid "Composed Unicode Dump"
msgstr "Unicode sestavljenega"
#: zrcolagui.cpp:405
#: zrcolagui.cpp:411
msgid "&Browse"
msgstr "Pre&brskaj"
#: zrcolagui.cpp:453
#: zrcolagui.cpp:418
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:424
msgid "List of Unicode character categories to search in"
msgstr "Seznam kategorij znaka Unicode za iskanje"
#: zrcolagui.cpp:431
msgid "All"
msgstr "Vse"
#: zrcolagui.cpp:432
msgid "Select all categories"
msgstr "Izberi vse kategorije"
#: zrcolagui.cpp:436
msgid "None"
msgstr "Nič"
#: zrcolagui.cpp:437
msgid "Clear category selection"
msgstr "Počisti izbor kategorij"
#: zrcolagui.cpp:441
msgid "Invert"
msgstr "Obrni"
#: zrcolagui.cpp:442
msgid "Invert category selection"
msgstr "Obrni izbor kategorij"
#: zrcolagui.cpp:475
msgid "Character search results"
msgstr "Rezultati iskanja znakov"
#: zrcolagui.cpp:485
msgid "Re&cently Used"
msgstr "Nedavno &uporabljeni"
#: zrcolagui.cpp:494
#: zrcolagui.cpp:513
msgid "List of recently inserted characters"
msgstr "Seznam nedavno vstavljenih znakov"
#: zrcolagui.cpp:527
msgid "Preview"
msgstr "Predogled"
#: zrcolagui.cpp:499
#: zrcolagui.cpp:532
msgid "U+"
msgstr "U+"
#: zrcolagui.cpp:550
#: zrcolagui.cpp:537
msgid "Unicode hexadecimal code"
msgstr "Šestnajstiška koda Unicode"
#: zrcolagui.cpp:542
msgid "Keyboard shortcut in Composer window"
msgstr "Bližnjica na tipkovnici v oknu sestavljalnika"
#: zrcolagui.cpp:577
msgid "Character preview"
msgstr "Predogled znaka"
#: zrcolagui.cpp:582
msgid "Unicode character description"
msgstr "Opis znaka Unicode"
#: zrcolagui.cpp:587
msgid "Unicode character category"
msgstr "Kategorija znaka Unicode"
#: zrcolagui.cpp:594
msgid "« Back"
msgstr "« Nazaj"
#: zrcolagui.cpp:596
msgid "To previously viewed character"
msgstr "Na prejšnji prikazan znak"
#: zrcolagui.cpp:600
msgid "Forward »"
msgstr "Naprej »"
#: zrcolagui.cpp:602
msgid "To following viewed character"
msgstr "Na naslednji prikazan znak"
#: zrcolagui.cpp:613
msgid "Re&lated"
msgstr "&Sorodni"
#: zrcolagui.cpp:650
#: zrcolagui.cpp:640
msgid "List of related characters"
msgstr "Seznam sorodnih znakov"
#: zrcolagui.cpp:727
msgid ""
"Some character native to specific language you are working with should not "
"decompose to primitives.\n"
@@ -263,19 +346,19 @@ msgstr ""
"razstaviti v dele.\n"
"Za optimalno razstavljanje izberite pravilni jezik."
#: zrcolagui.cpp:654
#: zrcolagui.cpp:731
msgid "Select language &automatically according to selected keyboard"
msgstr "S&amodejno izberi jezik glede na izbrano tipkovnico"
#: zrcolagui.cpp:657
#: zrcolagui.cpp:734
msgid "&Manually select the language from the list below:"
msgstr "Ročno izberi jezik na spodnje&m spisku:"
#: zrcolagui.cpp:669
#: zrcolagui.cpp:746
msgid "Text Language"
msgstr "Jezik besedila"
#: zrcolagui.cpp:674
#: zrcolagui.cpp:751
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 "
@@ -285,14 +368,110 @@ msgstr ""
"Na voljo bo na vrstici za sistemska obvestila ter preko registriranih "
"bližnjic Win+F5 in Win+F6."
#: zrcolagui.cpp:678
#: zrcolagui.cpp:755
msgid "Start ZRCola &automatically on logon"
msgstr "S&amodejno zaženi ZRColo ob prijavi"
#: zrcolagui.cpp:685
#: zrcolagui.cpp:762
msgid "Startup"
msgstr "Zagon"
#: zrcolagui.cpp:841
msgid ""
"Editor: Janoš Ježovnik\n"
"Development: Amebis d. o. o.\n"
"Development and maintenance (2004-2015): dr. Peter Weiss"
msgstr ""
"Urednik: Janoš Ježovnik\n"
"Razvoj: Amebis d. o. o.\n"
"Razvoj in vzdrževanje (2004-2015): dr. Peter Weiss"
#: zrcolagui.cpp:849
msgid "www.zrc-sazu.si"
msgstr "www.zrc-sazu.si"
#: zrcolagui.cpp:855
msgid ""
"Texts made using ZRCola have to include in the colophon, foreword, footnote "
"or some other appropriate part of the publication the note below:"
msgstr ""
"Besedilo, nastalo z uporabo ZRCole, mora biti v kolofonu, predgovoru, v "
"opombi ali na drugem ustreznem mestu v publikaciji opremljeno z naslednjim "
"zapisom:"
#: zrcolagui.cpp:859
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 Dr. 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 dr. Peter Weiss."
#: zrcolagui.cpp:900
msgid "Log"
msgstr "Dnevnik"
#: zrcolagui.cpp:916
msgid "&Update"
msgstr "&Posodobi"
#: zrcolagui.cpp:921
msgid "&Close"
msgstr "&Zapri"
#: zrcolagui.cpp:953
msgid "Character"
msgstr "Znak"
#: zrcolagui.cpp:955
msgid "Enter the &character you would like to request:"
msgstr "Vpišite &znak, ki ga želite zahtevati:"
#: zrcolagui.cpp:961
msgid "Decomposed character to request"
msgstr "Razstavljen znak, ki ga zahtevate"
# Please use a double && for final "&" character
#: zrcolagui.cpp:965
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 ""
"Uporabite razstavljeno obliko.\n"
"Za vnos znaka lahko uporavite ZRColine bližnjice na tipkovnici ali kopirate "
"in prilepite iz okna z razstavljenim besedilom."
#: zrcolagui.cpp:973
msgid "Context"
msgstr "Kontekst"
#: zrcolagui.cpp:975
msgid ""
"The &context, examples or short description why and where the character is "
"required:"
msgstr "&Kontekst, primeri oz. kratek opis zakaj in kje potrebujete novi znak:"
#: zrcolagui.cpp:981
msgid "Additional notes for character request"
msgstr "Dodatne opombe za zahtevo znaka"
#: zrcolagui.cpp:988
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 "
"we'll encode the necessarry information so the Editor will be able to read "
"it correctly."
msgstr ""
"Ko boste kliknili gumb V redu, se bo odprl vaš program za e-pošto, s katerim "
"boste lahko oddali zahtevo za novi znak uredniku ZRCole.\n"
"Vaš e-poštni program mogoče ne bo prikazal vseh znakov pravilno, toda mi "
"bomo vse potrebne podatke ustrezno kodirali, da jih bo urednik lahko "
"pravilno prebral."
#: zrcolakeyhndlr.cpp:44
msgid ""
"INS key is pressed. Type the Unicode code of desired character now (up to "
@@ -301,14 +480,22 @@ msgstr ""
"Pritisnjena tipka INS. Zdaj vtpikajte kodo Unicode želenega znaka (do štiri "
"šestnajstiške števke: 0-9, A-F), nato izpustite INS."
#: zrcolasettings.cpp:116
#: zrcolasettings.cpp:93
msgid "Start ZRCola automatically on logon"
msgstr "Samodejno zaženi ZRColo ob prijavi"
#: zrcolagui.h:258
#: zrcolagui.h:275
msgid "Settings"
msgstr "Nastavitve"
#: zrcolagui.h:301
msgid "About ZRCola"
msgstr "O ZRColi"
#: zrcolagui.h:324
msgid "Product Update"
msgstr "Posodabljanje izdelka"
# Windows charset for this language (decimal)
#: MSIBuild/En.Win32.Release.Feature-2.idtx:3
#: MSIBuild/En.Win32.Release.Shortcut-2.idtx:3
@@ -571,3 +758,13 @@ msgstr "Vnašalni sistem za jezikoslovno rabo"
#~ msgid "Welcome to wxWidgets!"
#~ msgstr "Dobrodošli v wxWidgets!"
#~ msgid "http://zrcola-2.amebis.si/en/contact/"
#~ msgstr "http://zrcola-2.amebis.si/contact/"
#~ msgid ""
#~ "ZRCola v%s\n"
#~ "Copyright 2015-%s Amebis"
#~ msgstr ""
#~ "ZRCola v%s\n"
#~ "Vse pravice pridržane 2015-%s Amebis"

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

1936
ZRCola/res/navigate_back.pdf Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

File diff suppressed because one or more lines are too long

View File

@@ -19,14 +19,31 @@
#pragma once
#include "../include/zrcola.h"
#include "zrcolaabout.h"
#include "zrcolaapp.h"
#include "zrcolachrcatpnl.h"
#include "zrcolachrgrid.h"
#include "zrcolachrreq.h"
#include "zrcolacomppnl.h"
#include "zrcolafrm.h"
#include "zrcolakeyhndlr.h"
#include "zrcolasettings.h"
#include "zrcolaupdater.h"
#include <Updater/chkthread.h>
#include <wxex/common.h>
#include <wxex/url.h>
#include <wxex/persist/auimanager.h>
#include <wx/ffile.h>
#include <wx/msgdlg.h>
#include <wx/persist.h>
#include <wx/persist/toplevel.h>
#include <wx/utils.h>
#include <wx/valtext.h>
#include <wxex/common.h>
#include <wxex/persist/auimanager.h>
#include <wx/socket.h>
#include <fstream>
#include <string>
@@ -40,12 +57,3 @@
#include <ShObjIdl.h>
#include <ShlGuid.h>
#endif
#include "../include/zrcola.h"
#include "zrcolaapp.h"
#include "zrcolachrgrid.h"
#include "zrcolachrcatpnl.h"
#include "zrcolacomppnl.h"
#include "zrcolafrm.h"
#include "zrcolakeyhndlr.h"
#include "zrcolasettings.h"

32
ZRCola/zrcolaabout.cpp Normal file
View File

@@ -0,0 +1,32 @@
/*
Copyright 2015-2016 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"
//////////////////////////////////////////////////////////////////////////
// wxZRColaAbout
//////////////////////////////////////////////////////////////////////////
wxZRColaAbout::wxZRColaAbout(wxWindow* parent) : wxZRColaAboutBase(parent)
{
m_staticTextVersion->SetLabelText(wxT(ZRCOLA_VERSION_STR));
m_staticTextCopyright->SetLabelText(wxString::Format(_("© 2004-%s ZRC SAZU"), wxT(ZRCOLA_BUILD_YEAR_STR)));
}

38
ZRCola/zrcolaabout.h Normal file
View File

@@ -0,0 +1,38 @@
/*
Copyright 2015-2016 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 wxZRColaAbout;
#pragma once
#include "zrcolagui.h"
///
/// About ZRCola dialog
///
class wxZRColaAbout : public wxZRColaAboutBase
{
public:
wxZRColaAbout(wxWindow* parent);
};

View File

@@ -32,6 +32,9 @@ wxIMPLEMENT_APP(ZRColaApp);
ZRColaApp::ZRColaApp() :
m_mainWnd(NULL),
#ifdef __WXMSW__
m_running(NULL),
#endif
wxApp()
{
}
@@ -61,11 +64,31 @@ bool ZRColaApp::OnInit()
m_locale.AddCatalogLookupPathPrefix(sPath);
wxVERIFY(m_locale.Init(language));
wxVERIFY(m_locale.AddCatalog(wxT("wxExtend") wxT(wxExtendVersion)));
wxVERIFY(m_locale.AddCatalog(wxT("Updater") wxT(wxUpdaterVersion)));
wxVERIFY(m_locale.AddCatalog(wxT("libZRColaUI")));
wxVERIFY(m_locale.AddCatalog(wxT("ZRCola")));
wxVERIFY(m_locale.AddCatalog(wxT("ZRCola-zrcdb")));
}
#ifdef __WXMSW__
// Create global event.
m_running = ::CreateEvent(NULL, FALSE, FALSE, _T(ZRCOLA_CFG_APPLICATION) _T("{BBDE7AAD-29B6-4B83-ADA1-92AFA81A0883}"));
wxASSERT(m_running);
if (::GetLastError() == ERROR_ALREADY_EXISTS) {
// ZRCola is already running. Find its window.
HWND okno = ::FindWindow(_T("wxWindowNR"), _("ZRCola"));
if (okno) {
if (::IsIconic(okno))
::SendMessage(okno, WM_SYSCOMMAND, SC_RESTORE, 0);
::SetActiveWindow(okno);
::SetForegroundWindow(okno);
// Not an error condition actually; Just nothing else to do...
return false;
}
}
#endif
std::fstream dat((LPCTSTR)GetDatabasePath(), std::ios_base::in | std::ios_base::binary);
if (dat.good()) {
if (stdex::idrec::find<ZRCola::recordid_t, ZRCola::recordsize_t, ZRCOLA_RECORD_ALIGN>(dat, ZRCOLA_DB_ID, sizeof(ZRCola::recordid_t))) {
@@ -139,9 +162,29 @@ bool ZRColaApp::OnInit()
wxFAIL_MSG(wxT("ZRCola.zrcdb is not a valid ZRCola database."));
}
// Initialize sockets. Otherwise Updater thread will not work.
wxSocketBase::Initialize();
m_mainWnd = new wxZRColaFrame();
wxPersistentRegisterAndRestore<wxZRColaFrame>(m_mainWnd);
m_mainWnd->Show();
return true;
}
int ZRColaApp::OnExit()
{
wxSocketBase::Shutdown();
int res = wxApp::OnExit();
#ifdef __WXMSW__
if (m_running) {
wxVERIFY(::CloseHandle(m_running));
m_running = NULL;
}
#endif
return res;
}

View File

@@ -52,6 +52,12 @@ public:
///
virtual bool OnInit();
///
/// Called when application uninitializes.
///
/// \returns Result code to return to OS
///
virtual int OnExit();
///
/// \returns Path to ZRCola.zrcdb file
@@ -68,8 +74,12 @@ public:
wxZRColaFrame *m_mainWnd; ///< Main window
protected:
wxLocale m_locale; ///< Current locale
protected:
#ifdef __WXMSW__
HANDLE m_running; ///< Global Win32 event to determine if another instance of ZRCola is already running
#endif
};

View File

@@ -81,7 +81,7 @@ void wxZRColaCharGrid::SetCharacters(const wxString &chars)
wxString wxZRColaCharGrid::GetToolTipText(int idx)
{
wxASSERT_MSG(idx < m_chars.Length(), wxT("index out of bounds"));
wxASSERT_MSG(idx < (int)m_chars.Length(), wxT("index out of bounds"));
ZRColaApp *app = (ZRColaApp*)wxTheApp;
@@ -135,7 +135,7 @@ void wxZRColaCharGrid::OnSize(wxSizeEvent& event)
wxGridStringTable *table = new wxGridStringTable(rows, cols);
for (int r = 0, i = 0; r < rows; r++)
for (int c = 0; c < cols; c++, i++)
table->SetValue(r, c, i < char_len ? wxString(1, m_chars[i]) : wxEmptyString);
table->SetValue(r, c, i < (int)char_len ? wxString(1, m_chars[i]) : wxEmptyString);
SetTable(table, true);
m_regenerate = false;
}
@@ -159,7 +159,8 @@ void wxZRColaCharGrid::OnKeyDown(wxKeyEvent& event)
{
wxWindow *parentWnd;
if (event.GetKeyCode() == WXK_TAB && (parentWnd = GetParent()) != NULL) {
int key_code = event.GetKeyCode();
if (key_code == WXK_TAB && (parentWnd = GetParent()) != NULL) {
wxNavigationKeyEvent eventNav;
eventNav.SetDirection(!event.ShiftDown());
eventNav.SetWindowChange(event.ControlDown());
@@ -167,6 +168,14 @@ void wxZRColaCharGrid::OnKeyDown(wxKeyEvent& event)
if (parentWnd->HandleWindowEvent(eventNav))
return;
} else if (key_code == WXK_LEFT && m_currentCellCoords.GetCol() == 0 && m_currentCellCoords.GetRow()) {
GoToCell(m_currentCellCoords.GetRow() - 1, m_numCols - 1);
event.StopPropagation();
return;
} else if (key_code == WXK_RIGHT && m_currentCellCoords.GetCol() == m_numCols - 1 && m_currentCellCoords.GetRow() < m_numRows - 1) {
GoToCell(m_currentCellCoords.GetRow() + 1, 0);
event.StopPropagation();
return;
}
event.Skip();

View File

@@ -68,6 +68,19 @@ public:
return m_chars;
}
///
/// Returns given character coordinates
///
/// \param[in] c Character
///
/// \returns Grid coordinates of selected character or (-1, -1) if character not found.
///
inline wxGridCellCoords GetCharacterCoords(wchar_t c) const
{
int i = m_chars.Find(c);
return i != wxNOT_FOUND ? wxGridCellCoords(i / m_numCols, i % m_numCols) : wxGridCellCoords(-1, -1);
}
protected:
virtual wxString GetToolTipText(int idx);

101
ZRCola/zrcolachrreq.cpp Normal file
View File

@@ -0,0 +1,101 @@
/*
Copyright 2015-2016 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"
//////////////////////////////////////////////////////////////////////////
// wxZRColaCharRequest
//////////////////////////////////////////////////////////////////////////
wxZRColaCharRequest::wxZRColaCharRequest(wxWindow* parent) : wxZRColaCharRequestBase(parent)
{
m_character->PushEventHandler(new wxZRColaKeyHandler());
m_context->PushEventHandler(new wxZRColaKeyHandler());
}
wxZRColaCharRequest::~wxZRColaCharRequest()
{
m_context->PopEventHandler(true);
m_character->PopEventHandler(true);
}
void wxZRColaCharRequest::OnOKButtonClick(wxCommandEvent& event)
{
event.Skip();
const wxString chr = m_character->GetValue();
const wxString ctx = m_context->GetValue();
wxString body;
body += _("Character") + wxT(": ");
for (size_t i = 0, i_end = chr.Length(); i < i_end; i++) {
if (chr[i] < 0x7f)
body += chr[i];
else
body += wxString::Format(wxT("(U+%04X)"), chr[i]);
}
body += wxT('\n');
if (!ctx.IsEmpty()) {
body += _("Context") + wxT(": ");
body += ctx;
body += wxT('\n');
}
wxLaunchDefaultBrowser(wxString::Format(wxT("mailto:janos.jezovnik@zrc-sazu.si&subject=%s&body=%s"),
wxURLEncode(wxString((wxString(wxT("[ZRCola] ")) + _("Request a New Character")).ToUTF8())),
wxURLEncode(body.ToUTF8())
));
}
//////////////////////////////////////////////////////////////////////////
// wxPersistentZRColaCharRequest
//////////////////////////////////////////////////////////////////////////
wxPersistentZRColaCharRequest::wxPersistentZRColaCharRequest(wxZRColaCharRequest *wnd) : wxPersistentDialog(wnd)
{
}
void wxPersistentZRColaCharRequest::Save() const
{
wxPersistentDialog::Save();
const wxZRColaCharRequest * const wnd = static_cast<const wxZRColaCharRequest*>(GetWindow());
SaveValue(wxT("character"), wnd->m_character->GetValue());
SaveValue(wxT("context"), wnd->m_context->GetValue());
}
bool wxPersistentZRColaCharRequest::Restore()
{
wxZRColaCharRequest * const wnd = static_cast<wxZRColaCharRequest*>(GetWindow());
wxString str;
if (RestoreValue(wxT("character"), &str))
wnd->m_character->SetValue(str);
if (RestoreValue(wxT("context"), &str))
wnd->m_context->SetValue(str);
return wxPersistentDialog::Restore();
}

65
ZRCola/zrcolachrreq.h Normal file
View File

@@ -0,0 +1,65 @@
/*
Copyright 2015-2016 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 wxZRColaCharRequest;
#pragma once
#include "zrcolagui.h"
#include "zrcolakeyhndlr.h"
///
/// ZRCola New Character Request dialog
///
class wxZRColaCharRequest : public wxZRColaCharRequestBase
{
public:
wxZRColaCharRequest(wxWindow* parent);
virtual ~wxZRColaCharRequest();
friend class wxPersistentZRColaCharRequest; // Allow saving/restoring window state.
protected:
virtual void OnOKButtonClick(wxCommandEvent& event);
};
///
/// Supports saving/restoring wxZRColaCharRequest state
///
class wxPersistentZRColaCharRequest : public wxPersistentDialog
{
public:
wxPersistentZRColaCharRequest(wxZRColaCharRequest *wnd);
virtual void Save() const;
virtual bool Restore();
};
inline wxPersistentObject *wxCreatePersistentObject(wxZRColaCharRequest *wnd)
{
return new wxPersistentZRColaCharRequest(wnd);
}

View File

@@ -36,7 +36,7 @@ wxZRColaCharSelect::wxZRColaCharSelect(wxWindow* parent) :
{
Connect(wxID_ANY, wxEVT_SEARCH_COMPLETE, wxThreadEventHandler(wxZRColaCharSelect::OnSearchComplete), NULL, this);
m_unicode->SetValidator(wxHexValidator<wchar_t>(&m_char));
m_unicode->SetValidator(wxHexValidator<wchar_t>(&m_char, wxNUM_VAL_DEFAULT, 4));
// Fill categories.
ZRColaApp *app = (ZRColaApp*)wxTheApp;
@@ -48,6 +48,12 @@ wxZRColaCharSelect::wxZRColaCharSelect(wxWindow* parent) :
}
ResetResults();
NavigationState state;
state.m_char = m_char;
state.m_related.m_selected.SetCol(m_gridRelated->GetGridCursorCol());
state.m_related.m_selected.SetRow(m_gridRelated->GetGridCursorRow());
m_historyCursor = m_history.insert(m_history.end(), state);
}
@@ -70,31 +76,56 @@ void wxZRColaCharSelect::OnIdle(wxIdleEvent& event)
m_gridPreview->SetCellValue(wxString(1, m_char), 0, 0);
{
char chr[sizeof(ZRCola::character_db::character)] = {};
((ZRCola::character_db::character*)chr)->chr = m_char;
size_t start;
if (app->m_chr_db.idxChr.find(*(ZRCola::character_db::character*)chr, start)) {
const ZRCola::character_db::character &chr = app->m_chr_db.idxChr[start];
m_description->SetValue(wxString(chr.data, chr.desc_len));
{
char cc[sizeof(ZRCola::chrcat_db::chrcat)] = {};
((ZRCola::chrcat_db::chrcat*)cc)->id = chr.cat;
size_t start;
if (app->m_cc_db.idxChrCat.find(*((ZRCola::chrcat_db::chrcat*)cc), start)) {
const ZRCola::chrcat_db::chrcat &cat = app->m_cc_db.idxChrCat[start];
m_category->SetValue(wxGetTranslation(wxString(cat.name, cat.name_len), wxT("ZRCola-zrcdb")));
} else
m_category->SetValue(wxEmptyString);
}
m_gridRelated->SetCharacters(wxString(chr.data + chr.desc_len, chr.rel_len));
} else {
m_description->SetValue(wxEmptyString);
m_category->SetValue(wxEmptyString);
m_gridRelated->ClearGrid();
char chr[sizeof(ZRCola::character_db::character)] = {};
((ZRCola::character_db::character*)chr)->chr = m_char;
size_t start;
if (app->m_chr_db.idxChr.find(*(ZRCola::character_db::character*)chr, start)) {
const ZRCola::character_db::character &chr = app->m_chr_db.idxChr[start];
// Update characted description.
m_description->SetValue(wxString(chr.data, chr.desc_len));
{
// See if this character has a key sequence registered.
ZRCola::keyseq_db::indexKey::size_type start;
char ks[sizeof(ZRCola::keyseq_db::keyseq)] = {};
((ZRCola::keyseq_db::keyseq*)ks)->chr = m_char;
if (app->m_ks_db.idxChr.find(*(ZRCola::keyseq_db::keyseq*)ks, start)) {
ZRCola::keyseq_db::keyseq &seq = app->m_ks_db.idxChr[start];
wxString ks_str;
if (ZRCola::keyseq_db::GetSequenceAsText(seq.seq, seq.seq_len, ks_str))
m_shortcut->SetValue(ks_str);
else
m_shortcut->SetValue(wxEmptyString);
} else
m_shortcut->SetValue(wxEmptyString);
}
m_gridRelated->Scroll(0, 0);
{
char cc[sizeof(ZRCola::chrcat_db::chrcat)] = {};
((ZRCola::chrcat_db::chrcat*)cc)->id = chr.cat;
size_t start;
// Update character category.
if (app->m_cc_db.idxChrCat.find(*((ZRCola::chrcat_db::chrcat*)cc), start)) {
const ZRCola::chrcat_db::chrcat &cat = app->m_cc_db.idxChrCat[start];
m_category->SetValue(wxGetTranslation(wxString(cat.name, cat.name_len), wxT("ZRCola-zrcdb")));
} else
m_category->SetValue(wxEmptyString);
}
// Update related characters.
m_gridRelated->SetCharacters(wxString(chr.data + chr.desc_len, chr.rel_len));
} else {
m_description->SetValue(wxEmptyString);
m_shortcut->SetValue(wxEmptyString);
m_category->SetValue(wxEmptyString);
m_gridRelated->ClearGrid();
}
m_gridRelated->GoToCell(m_historyCursor->m_related.m_selected);
wxGridCellCoords coord(m_gridResults->GetCharacterCoords(m_char));
if (coord.GetRow() != -1 && coord.GetCol() != -1) {
m_gridResults->GoToCell(coord);
m_gridResults->SetGridCursor(coord);
} else
m_gridResults->ClearSelection();
}
m_unicodeChanged = false;
@@ -138,6 +169,42 @@ void wxZRColaCharSelect::OnSearchText(wxCommandEvent& event)
}
void wxZRColaCharSelect::OnCategoriesAll(wxHyperlinkEvent& event)
{
event.StopPropagation();
ZRColaApp *app = (ZRColaApp*)wxTheApp;
for (size_t i = 0, n = app->m_cc_db.idxRnk.size(); i < n; i++)
m_categories->Check(i, true);
m_searchChanged = true;
}
void wxZRColaCharSelect::OnCategoriesNone(wxHyperlinkEvent& event)
{
event.StopPropagation();
ZRColaApp *app = (ZRColaApp*)wxTheApp;
for (size_t i = 0, n = app->m_cc_db.idxRnk.size(); i < n; i++)
m_categories->Check(i, false);
m_searchChanged = true;
}
void wxZRColaCharSelect::OnCategoriesInvert(wxHyperlinkEvent& event)
{
event.StopPropagation();
ZRColaApp *app = (ZRColaApp*)wxTheApp;
for (size_t i = 0, n = app->m_cc_db.idxRnk.size(); i < n; i++)
m_categories->Check(i, !m_categories->IsChecked(i));
m_searchChanged = true;
}
void wxZRColaCharSelect::OnCategoriesToggle(wxCommandEvent& event)
{
event.Skip();
@@ -154,7 +221,7 @@ void wxZRColaCharSelect::OnSearchComplete(wxThreadEvent& event)
// Display results.
wxString chars;
chars.reserve(m_searchThread->m_hits.size());
for (std::vector< std::pair<unsigned long, wchar_t> >::const_iterator i = m_searchThread->m_hits.cbegin(), i_end = m_searchThread->m_hits.cend(); i != i_end; ++i)
for (std::vector<std::pair<ZRCola::charrank_t, wchar_t> >::const_iterator i = m_searchThread->m_hits.cbegin(), i_end = m_searchThread->m_hits.cend(); i != i_end; ++i)
chars += i->second;
m_gridResults->SetCharacters(chars);
@@ -168,9 +235,11 @@ void wxZRColaCharSelect::OnSearchComplete(wxThreadEvent& event)
void wxZRColaCharSelect::OnResultSelectCell(wxGridEvent& event)
{
if (m_unicodeChanged) return;
wxString val(m_gridResults->GetCellValue(event.GetRow(), event.GetCol()));
m_char = val.IsEmpty() ? 0 : val[0];
m_unicode->GetValidator()->TransferToWindow();
if (!val.IsEmpty())
NavigateTo(val[0]);
}
@@ -180,7 +249,7 @@ void wxZRColaCharSelect::OnResultCellDClick(wxGridEvent& event)
wxString val(m_gridResults->GetCellValue(event.GetRow(), event.GetCol()));
if (!val.IsEmpty()) {
m_char = val[0];
NavigateTo(val[0]);
wxCommandEvent e(wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK);
m_sdbSizerButtonsOK->GetEventHandler()->ProcessEvent(e);
}
@@ -194,7 +263,7 @@ void wxZRColaCharSelect::OnResultsKeyDown(wxKeyEvent& event)
case WXK_NUMPAD_ENTER:
wxString val(m_gridResults->GetCellValue(m_gridResults->GetCursorRow(), m_gridResults->GetCursorColumn()));
if (!val.IsEmpty()) {
m_char = val[0];
NavigateTo(val[0]);
wxCommandEvent e(wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK);
m_sdbSizerButtonsOK->GetEventHandler()->ProcessEvent(e);
@@ -209,9 +278,11 @@ void wxZRColaCharSelect::OnResultsKeyDown(wxKeyEvent& event)
void wxZRColaCharSelect::OnRecentSelectCell(wxGridEvent& event)
{
if (m_unicodeChanged) return;
wxString val(m_gridRecent->GetCellValue(event.GetRow(), event.GetCol()));
m_char = val.IsEmpty() ? 0 : val[0];
m_unicode->GetValidator()->TransferToWindow();
if (!val.IsEmpty())
NavigateTo(val[0]);
}
@@ -221,7 +292,7 @@ void wxZRColaCharSelect::OnRecentCellDClick(wxGridEvent& event)
wxString val(m_gridRecent->GetCellValue(event.GetRow(), event.GetCol()));
if (!val.IsEmpty()) {
m_char = val[0];
NavigateTo(val[0]);
wxCommandEvent e(wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK);
m_sdbSizerButtonsOK->GetEventHandler()->ProcessEvent(e);
}
@@ -235,7 +306,7 @@ void wxZRColaCharSelect::OnRecentKeyDown(wxKeyEvent& event)
case WXK_NUMPAD_ENTER:
wxString val(m_gridRecent->GetCellValue(m_gridRecent->GetCursorRow(), m_gridRecent->GetCursorColumn()));
if (!val.IsEmpty()) {
m_char = val[0];
NavigateTo(val[0]);
wxCommandEvent e(wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK);
m_sdbSizerButtonsOK->GetEventHandler()->ProcessEvent(e);
@@ -248,14 +319,6 @@ void wxZRColaCharSelect::OnRecentKeyDown(wxKeyEvent& event)
}
void wxZRColaCharSelect::OnRelatedSelectCell(wxGridEvent& event)
{
wxString val(m_gridRelated->GetCellValue(event.GetRow(), event.GetCol()));
m_char = val.IsEmpty() ? 0 : val[0];
m_unicode->GetValidator()->TransferToWindow();
}
void wxZRColaCharSelect::OnUnicodeText(wxCommandEvent& event)
{
event.Skip();
@@ -264,6 +327,49 @@ void wxZRColaCharSelect::OnUnicodeText(wxCommandEvent& event)
}
void wxZRColaCharSelect::OnPreviewKeyDown(wxKeyEvent& event)
{
int key_code = event.GetKeyCode();
if (key_code == WXK_TAB != NULL) {
wxNavigationKeyEvent eventNav;
eventNav.SetDirection(!event.ShiftDown());
eventNav.SetWindowChange(event.ControlDown());
eventNav.SetEventObject(this);
if (HandleWindowEvent(eventNav))
return;
}
event.Skip();
}
void wxZRColaCharSelect::OnNavigateBack(wxHyperlinkEvent& event)
{
event.StopPropagation();
NavigateBy(-1);
}
void wxZRColaCharSelect::OnNavigateForward(wxHyperlinkEvent& event)
{
event.StopPropagation();
NavigateBy(+1);
}
void wxZRColaCharSelect::OnRelatedSelectCell(wxGridEvent& event)
{
if (m_unicodeChanged) return;
wxString val(m_gridRelated->GetCellValue(event.GetRow(), event.GetCol()));
if (!val.IsEmpty())
NavigateTo(val[0]);
}
void wxZRColaCharSelect::OnOKButtonClick(wxCommandEvent& event)
{
event.Skip();
@@ -298,6 +404,73 @@ void wxZRColaCharSelect::ResetResults()
}
void wxZRColaCharSelect::NavigateBy(int offset)
{
if (offset != 0) {
// Update history state
m_historyCursor->m_related.m_selected.SetCol(m_gridRelated->GetGridCursorCol());
m_historyCursor->m_related.m_selected.SetRow(m_gridRelated->GetGridCursorRow());
if (offset < 0) {
while (m_historyCursor != m_history.begin() && offset) {
--m_historyCursor; offset++;
m_char = m_historyCursor->m_char;
m_unicodeChanged = true;
}
} else {
while (offset) {
++m_historyCursor;
if (m_historyCursor == m_history.end()) {
// We're past the last history entry.
--m_historyCursor;
break;
}
offset--;
m_char = m_historyCursor->m_char;
m_unicodeChanged = true;
}
}
m_navigateBack->Enable(m_historyCursor != m_history.begin());
std::list<NavigationState>::iterator cursor_next(m_historyCursor);
++cursor_next;
m_navigateForward->Enable(cursor_next != m_history.end());
if (m_unicodeChanged)
m_unicode->GetValidator()->TransferToWindow();
}
}
void wxZRColaCharSelect::NavigateTo(wchar_t c)
{
if (m_char != c) {
// Update history state
m_historyCursor->m_related.m_selected.SetCol(m_gridRelated->GetGridCursorCol());
m_historyCursor->m_related.m_selected.SetRow(m_gridRelated->GetGridCursorRow());
++m_historyCursor;
// Create new state.
NavigationState state;
state.m_char = m_char = c;
state.m_related.m_selected.SetCol(0);
state.m_related.m_selected.SetRow(0);
m_historyCursor = m_history.insert(m_historyCursor, state);
// Purge the history's tail.
std::list<NavigationState>::iterator cursor_next(m_historyCursor);
++cursor_next;
m_history.erase(cursor_next, m_history.end());
m_unicode->GetValidator()->TransferToWindow();
m_navigateBack->Enable(true);
m_navigateForward->Enable(false);
}
}
wxZRColaCharSelect::SearchThread::SearchThread(wxZRColaCharSelect *parent) :
m_parent(parent),
wxThread(wxTHREAD_JOINABLE)
@@ -310,17 +483,17 @@ wxZRColaCharSelect::SearchThread::SearchThread(wxZRColaCharSelect *parent) :
wxThread::ExitCode wxZRColaCharSelect::SearchThread::Entry()
{
ZRColaApp *app = (ZRColaApp*)wxTheApp;
std::map<wchar_t, unsigned long> hits;
std::map<wchar_t, ZRCola::charrank_t> hits;
if (TestDestroy()) return (wxThread::ExitCode)1;
{
// Search by indexes and merge results.
std::map<wchar_t, unsigned long> hits_sub;
std::map<wchar_t, ZRCola::charrank_t> hits_sub;
if (!app->m_chr_db.Search(m_search.c_str(), m_cats, hits, hits_sub, TestDestroyS, this)) return (wxThread::ExitCode)1;
for (std::map<wchar_t, unsigned long>::const_iterator i = hits_sub.cbegin(), i_end = hits_sub.cend(); i != i_end; ++i) {
for (std::map<wchar_t, ZRCola::charrank_t>::const_iterator i = hits_sub.cbegin(), i_end = hits_sub.cend(); i != i_end; ++i) {
if (TestDestroy()) return (wxThread::ExitCode)1;
std::map<wchar_t, unsigned long>::iterator idx = hits.find(i->first);
std::map<wchar_t, ZRCola::charrank_t>::iterator idx = hits.find(i->first);
if (idx == hits.end())
hits.insert(std::make_pair(i->first, i->second / 4));
else
@@ -328,13 +501,23 @@ wxThread::ExitCode wxZRColaCharSelect::SearchThread::Entry()
}
}
// Now sort the characters by rank.
m_hits.reserve(hits.size());
for (std::map<wchar_t, unsigned long>::const_iterator i = hits.cbegin(), i_end = hits.cend(); i != i_end; ++i) {
// Get best rank.
ZRCola::charrank_t rank_ref = 0;
for (std::map<wchar_t, ZRCola::charrank_t>::const_iterator i = hits.cbegin(), i_end = hits.cend(); i != i_end; ++i) {
if (TestDestroy()) return (wxThread::ExitCode)1;
m_hits.push_back(std::make_pair(i->second, i->first));
if (i->second > rank_ref)
rank_ref = i->second;
}
std::qsort(m_hits.data(), m_hits.size(), sizeof(std::pair<unsigned long, wchar_t>), CompareHits);
// Now sort the characters by rank (taking only top 3/4 by rank).
ZRCola::charrank_t rank_threshold = rank_ref*3/4;
m_hits.reserve(hits.size());
for (std::map<wchar_t, ZRCola::charrank_t>::const_iterator i = hits.cbegin(), i_end = hits.cend(); i != i_end; ++i) {
if (TestDestroy()) return (wxThread::ExitCode)1;
if (i->second > rank_threshold)
m_hits.push_back(std::make_pair(i->second, i->first));
}
std::qsort(m_hits.data(), m_hits.size(), sizeof(std::pair<ZRCola::charrank_t, wchar_t>), CompareHits);
// Signal the event handler that this thread is going to be destroyed.
// NOTE: here we assume that using the m_parent pointer is safe,
@@ -347,8 +530,8 @@ wxThread::ExitCode wxZRColaCharSelect::SearchThread::Entry()
int __cdecl wxZRColaCharSelect::SearchThread::CompareHits(const void *a, const void *b)
{
const std::pair<unsigned long, wchar_t> *_a = (const std::pair<unsigned long, wchar_t>*)a;
const std::pair<unsigned long, wchar_t> *_b = (const std::pair<unsigned long, wchar_t>*)b;
const std::pair<ZRCola::charrank_t, wchar_t> *_a = (const std::pair<ZRCola::charrank_t, wchar_t>*)a;
const std::pair<ZRCola::charrank_t, wchar_t> *_b = (const std::pair<ZRCola::charrank_t, wchar_t>*)b;
if (_a->first > _b->first) return -1;
else if (_a->first < _b->first) return 1;

View File

@@ -32,7 +32,9 @@ class wxPersistentZRColaCharSelect;
#include <wxex/persist/dialog.h>
#include <wx/event.h>
#include <wx/thread.h>
#include <list>
#include <map>
#include <vector>
wxDECLARE_EVENT(wxEVT_SEARCH_COMPLETE, wxThreadEvent);
@@ -53,6 +55,9 @@ public:
protected:
virtual void OnIdle(wxIdleEvent& event);
virtual void OnSearchText(wxCommandEvent& event);
virtual void OnCategoriesAll(wxHyperlinkEvent& event);
virtual void OnCategoriesNone(wxHyperlinkEvent& event);
virtual void OnCategoriesInvert(wxHyperlinkEvent& event);
virtual void OnCategoriesToggle(wxCommandEvent& event);
void OnSearchComplete(wxThreadEvent& event);
virtual void OnResultSelectCell(wxGridEvent& event);
@@ -61,11 +66,16 @@ protected:
virtual void OnRecentSelectCell(wxGridEvent& event);
virtual void OnRecentCellDClick(wxGridEvent& event);
virtual void OnRecentKeyDown(wxKeyEvent& event);
virtual void OnRelatedSelectCell(wxGridEvent& event);
virtual void OnNavigateBack(wxHyperlinkEvent& event);
virtual void OnNavigateForward(wxHyperlinkEvent& event);
virtual void OnUnicodeText(wxCommandEvent& event);
virtual void OnPreviewKeyDown(wxKeyEvent& event);
virtual void OnRelatedSelectCell(wxGridEvent& event);
virtual void OnOKButtonClick(wxCommandEvent& event);
void ResetResults();
void NavigateBy(int offset);
void NavigateTo(wchar_t c);
public:
wchar_t m_char; ///< Currently selected character (0 when none)
@@ -92,11 +102,25 @@ protected:
public:
std::wstring m_search; ///< Search phrase
std::set<ZRCola::chrcatid_t> m_cats; ///< Search categories
std::vector< std::pair<unsigned long, wchar_t> > m_hits; ///< Search results
std::vector<std::pair<ZRCola::charrank_t, wchar_t> > m_hits; ///< Search results
protected:
wxZRColaCharSelect *m_parent; ///< Thread owner
} *m_searchThread; ///< Search thread
///
/// Navigation state
///
struct NavigationState
{
wchar_t m_char;
struct {
wxGridCellCoords m_selected;
} m_related;
};
std::list<NavigationState> m_history; ///< Navigation history
std::list<NavigationState>::iterator m_historyCursor; ///< Navigation history cursor
};

View File

@@ -50,8 +50,8 @@ wxBEGIN_EVENT_TABLE(wxZRColaFrame, wxZRColaFrameBase)
EVT_MENU (wxID_FOCUS_CHARACTER_CATALOG , wxZRColaFrame::OnPanelCharacterCatalogFocus )
EVT_MENU (wxID_HELP_REQCHAR , wxZRColaFrame::OnHelpReqChar )
EVT_MENU (wxID_ABOUT , wxZRColaFrame::OnAbout )
EVT_MENU (wxID_HELP_UPDATE , wxZRColaFrame::OnHelpUpdate )
EVT_MENU (wxID_ABOUT , wxZRColaFrame::OnHelpAbout )
wxEND_EVENT_TABLE()
@@ -59,6 +59,7 @@ wxZRColaFrame::wxZRColaFrame() :
m_hWndSource(NULL),
m_chrSelect(NULL),
m_settings(NULL),
m_chrReq(NULL),
wxZRColaFrameBase(NULL)
{
{
@@ -69,10 +70,6 @@ wxZRColaFrame::wxZRColaFrame() :
m_toolbarCompose->SetWindowStyleFlag(m_toolbarCompose->GetWindowStyleFlag() | wxAUI_TB_HORIZONTAL);
}
// Restore the wxAuiManager's state here to keep symmetric with save in the destructor below.
// See the comment in destructor why.
wxPersistentAuiManager(&m_mgr).Restore();
// Load main window icons.
#ifdef __WINDOWS__
wxIcon icon_small(wxT("00_zrcola.ico"), wxBITMAP_TYPE_ICO_RESOURCE, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON));
@@ -100,6 +97,9 @@ wxZRColaFrame::wxZRColaFrame() :
m_chrSelect = new wxZRColaCharSelect(this);
wxPersistentRegisterAndRestore<wxZRColaCharSelect>(m_chrSelect);
m_chrReq = new wxZRColaCharRequest(this);
wxPersistentRegisterAndRestore<wxZRColaCharRequest>(m_chrReq);
// Set focus.
m_panel->m_decomposed->SetFocus();
@@ -135,6 +135,9 @@ wxZRColaFrame::wxZRColaFrame() :
entries[0].Set(wxACCEL_NORMAL, WXK_F4, wxID_FOCUS_CHARACTER_CATALOG);
SetAcceleratorTable(wxAcceleratorTable(_countof(entries), entries));
}
// Restore persistent state of wxAuiManager manually, since m_mgr is not on the heap.
wxPersistentAuiManager(&m_mgr).Restore();
}
@@ -151,6 +154,9 @@ wxZRColaFrame::~wxZRColaFrame()
UnregisterHotKey(wxZRColaHKID_INVOKE_DECOMPOSE);
UnregisterHotKey(wxZRColaHKID_INVOKE_COMPOSE);
if (m_chrReq)
delete m_chrReq;
if (m_chrSelect)
delete m_chrSelect;
@@ -161,10 +167,16 @@ wxZRColaFrame::~wxZRColaFrame()
m_taskBarIcon->Disconnect(wxEVT_TASKBAR_LEFT_DOWN, wxTaskBarIconEventHandler(wxZRColaFrame::OnTaskbarIconClick), NULL, this);
delete m_taskBarIcon;
}
}
// Save wxAuiManager's state before return to parent's destructor.
// Since the later calls m_mgr.UnInit() the regular persistence mechanism is useless to save wxAuiManager's state.
wxPersistentAuiManager((wxAuiManager*)&m_mgr).Save();
void wxZRColaFrame::OnClose(wxCloseEvent& event)
{
event.Skip();
// Save wxAuiManager's state before destructor.
// Since the destructor calls m_mgr.UnInit() the regular persistence mechanism is useless to save wxAuiManager's state.
wxPersistentAuiManager(&m_mgr).Save();
}
@@ -333,13 +345,21 @@ void wxZRColaFrame::OnPanelCharacterCatalogFocus(wxCommandEvent& event)
void wxZRColaFrame::OnHelpReqChar(wxCommandEvent& event)
{
wxLaunchDefaultBrowser(_("http://zrcola-2.amebis.si/en/contact/"));
m_chrReq->ShowModal();
}
void wxZRColaFrame::OnAbout(wxCommandEvent& event)
void wxZRColaFrame::OnHelpUpdate(wxCommandEvent& event)
{
wxMessageBox(wxString::Format(_("ZRCola v%s\nCopyright 2015-%s Amebis"), wxT(ZRCOLA_VERSION_STR), wxT(ZRCOLA_BUILD_YEAR_STR)), _("About ZRCola"), wxOK | wxICON_INFORMATION);
wxZRColaUpdater dlg(this);
dlg.ShowModal();
}
void wxZRColaFrame::OnHelpAbout(wxCommandEvent& event)
{
wxZRColaAbout dlg(this);
dlg.ShowModal();
}
@@ -460,12 +480,10 @@ WXLRESULT wxZRColaFrame::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM
m_hWndSource = hWndSource;
//if (m_state == wxABS_FLOAT) {
if (IsIconized()) {
if (IsIconized())
::SendMessage(m_hWnd, WM_SYSCOMMAND, SC_RESTORE, 0);
} else {
::SetActiveWindow(m_hWnd);
::SetForegroundWindow(m_hWnd);
}
::SetActiveWindow(m_hWnd);
::SetForegroundWindow(m_hWnd);
//} else if (wxAppBarIsDocked(m_state)) {
// // ZRCola window is currently docked.

View File

@@ -27,6 +27,7 @@ class wxZRColaFrame;
#include "zrcolagui.h"
#include "zrcolachrslct.h"
#include "zrcolachrreq.h"
#include "zrcolasettings.h"
#include <zrcola/language.h>
#include <wx/taskbar.h>
@@ -65,6 +66,7 @@ public:
friend class wxZRColaComposerPanel;
protected:
virtual void OnClose(wxCloseEvent& event);
void OnExit(wxCommandEvent& event);
void OnForwardEventUpdate(wxUpdateUIEvent& event);
void OnForwardEvent(wxCommandEvent& event);
@@ -85,7 +87,8 @@ protected:
void OnPanelCharacterCatalog(wxCommandEvent& event);
void OnPanelCharacterCatalogFocus(wxCommandEvent& event);
void OnHelpReqChar(wxCommandEvent& event);
void OnAbout(wxCommandEvent& event);
void OnHelpUpdate(wxCommandEvent& event);
void OnHelpAbout(wxCommandEvent& event);
wxDECLARE_EVENT_TABLE();
protected:
@@ -116,6 +119,7 @@ protected:
WXHWND m_hWndSource; ///< Handle of the active window, when the ZRCola hotkey was pressed
wxTaskBarIcon *m_taskBarIcon; ///< Taskbar icon
wxZRColaCharSelect *m_chrSelect; ///< Character selection dialog
wxZRColaCharRequest *m_chrReq; ///< Request a New Character dialog
wxZRColaSettings *m_settings; ///< Configuration dialog
};

View File

@@ -1,4 +1,4 @@
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Jun 17 2015)
// http://www.wxformbuilder.org/
//
@@ -142,6 +142,10 @@ wxZRColaFrameBase::wxZRColaFrameBase( wxWindow* parent, wxWindowID id, const wxS
m_menuHelpReqChar = new wxMenuItem( m_menuHelp, wxID_HELP_REQCHAR, wxString( _("&Request a new character...") ) , _("Submit a request to ZRC to add a new character"), wxITEM_NORMAL );
m_menuHelp->Append( m_menuHelpReqChar );
wxMenuItem* m_menuHelpUpdate;
m_menuHelpUpdate = new wxMenuItem( m_menuHelp, wxID_HELP_UPDATE, wxString( _("Check for &Updates...") ) , _("Check online for product update"), wxITEM_NORMAL );
m_menuHelp->Append( m_menuHelpUpdate );
m_menuHelp->AppendSeparator();
wxMenuItem* m_menuHelpAbout;
@@ -186,6 +190,7 @@ wxZRColaFrameBase::wxZRColaFrameBase( wxWindow* parent, wxWindowID id, const wxS
this->Centre( wxBOTH );
// Connect Events
this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( wxZRColaFrameBase::OnClose ) );
this->Connect( wxEVT_ICONIZE, wxIconizeEventHandler( wxZRColaFrameBase::OnIconize ) );
this->Connect( wxEVT_IDLE, wxIdleEventHandler( wxZRColaFrameBase::OnIdle ) );
}
@@ -193,6 +198,7 @@ wxZRColaFrameBase::wxZRColaFrameBase( wxWindow* parent, wxWindowID id, const wxS
wxZRColaFrameBase::~wxZRColaFrameBase()
{
// Disconnect Events
this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( wxZRColaFrameBase::OnClose ) );
this->Disconnect( wxEVT_ICONIZE, wxIconizeEventHandler( wxZRColaFrameBase::OnIconize ) );
this->Disconnect( wxEVT_IDLE, wxIdleEventHandler( wxZRColaFrameBase::OnIdle ) );
@@ -409,12 +415,37 @@ wxZRColaCharSelectBase::wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id,
m_search->ShowSearchButton( true );
#endif
m_search->ShowCancelButton( true );
m_search->SetToolTip( _("Full or partial terms from Unicode character description (in English) to search for") );
sbSizerBrowse->Add( m_search, 0, wxALL|wxEXPAND, 5 );
wxArrayString m_categoriesChoices;
m_categories = new wxCheckListBox( sbSizerBrowse->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxSize( -1,60 ), m_categoriesChoices, 0 );
m_categories->SetToolTip( _("List of Unicode character categories to search in") );
sbSizerBrowse->Add( m_categories, 0, wxALL|wxEXPAND, 5 );
wxBoxSizer* bSizerCategoriesCtrl;
bSizerCategoriesCtrl = new wxBoxSizer( wxHORIZONTAL );
m_categoriesAll = new wxHyperlinkCtrl( sbSizerBrowse->GetStaticBox(), wxID_ANY, _("All"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
m_categoriesAll->SetToolTip( _("Select all categories") );
bSizerCategoriesCtrl->Add( m_categoriesAll, 0, wxALL, 5 );
m_categoriesNone = new wxHyperlinkCtrl( sbSizerBrowse->GetStaticBox(), wxID_ANY, _("None"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
m_categoriesNone->SetToolTip( _("Clear category selection") );
bSizerCategoriesCtrl->Add( m_categoriesNone, 0, wxALL, 5 );
m_categoriesInvert = new wxHyperlinkCtrl( sbSizerBrowse->GetStaticBox(), wxID_ANY, _("Invert"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
m_categoriesInvert->SetToolTip( _("Invert category selection") );
bSizerCategoriesCtrl->Add( m_categoriesInvert, 0, wxALL, 5 );
sbSizerBrowse->Add( bSizerCategoriesCtrl, 0, wxALIGN_RIGHT, 5 );
m_gridResults = new wxZRColaCharGrid( sbSizerBrowse->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), wxSTATIC_BORDER );
// Grid
@@ -441,6 +472,7 @@ wxZRColaCharSelectBase::wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id,
m_gridResults->SetDefaultCellFont( wxFont( 20, 70, 90, 90, false, wxT("00 ZRCola") ) );
m_gridResults->SetDefaultCellAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
m_gridResults->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxEmptyString ) );
m_gridResults->SetToolTip( _("Character search results") );
m_gridResults->SetMinSize( wxSize( 560,35 ) );
m_gridResults->SetMaxSize( wxSize( 560,-1 ) );
@@ -478,6 +510,7 @@ wxZRColaCharSelectBase::wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id,
m_gridRecent->SetDefaultCellFont( wxFont( 20, 70, 90, 90, false, wxT("00 ZRCola") ) );
m_gridRecent->SetDefaultCellAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
m_gridRecent->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxEmptyString ) );
m_gridRecent->SetToolTip( _("List of recently inserted characters") );
sbSizerRecent->Add( m_gridRecent, 0, wxALL|wxEXPAND, 5 );
@@ -498,13 +531,20 @@ wxZRColaCharSelectBase::wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id,
m_labelUnicode = new wxStaticText( sbSizerPreview->GetStaticBox(), wxID_ANY, _("U+"), wxDefaultPosition, wxDefaultSize, 0 );
m_labelUnicode->Wrap( -1 );
bSizerUnicode->Add( m_labelUnicode, 0, wxALIGN_CENTER, 5 );
bSizerUnicode->Add( m_labelUnicode, 0, wxALIGN_CENTER|wxBOTTOM|wxLEFT|wxTOP, 5 );
m_unicode = new wxTextCtrl( sbSizerPreview->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 50,-1 ), 0 );
bSizerUnicode->Add( m_unicode, 0, wxALIGN_CENTER, 5 );
m_unicode->SetToolTip( _("Unicode hexadecimal code") );
bSizerUnicode->Add( m_unicode, 0, wxALIGN_CENTER|wxBOTTOM|wxRIGHT|wxTOP, 5 );
m_shortcut = new wxTextCtrl( sbSizerPreview->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_CENTRE|wxTE_READONLY );
m_shortcut->SetToolTip( _("Keyboard shortcut in Composer window") );
bSizerUnicode->Add( m_shortcut, 1, wxALL|wxEXPAND, 5 );
sbSizerPreview->Add( bSizerUnicode, 0, wxALIGN_CENTER|wxALL, 5 );
sbSizerPreview->Add( bSizerUnicode, 0, wxEXPAND, 5 );
m_gridPreview = new wxGrid( sbSizerPreview->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSTATIC_BORDER );
@@ -531,18 +571,41 @@ wxZRColaCharSelectBase::wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id,
// Label Appearance
// Cell Defaults
m_gridPreview->SetDefaultCellFont( wxFont( 120, 70, 90, 90, false, wxT("00 ZRCola") ) );
m_gridPreview->SetDefaultCellFont( wxFont( 96, 70, 90, 90, false, wxT("00 ZRCola") ) );
m_gridPreview->SetDefaultCellAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
m_gridPreview->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
m_gridPreview->SetToolTip( _("Character preview") );
sbSizerPreview->Add( m_gridPreview, 0, wxALL|wxEXPAND, 5 );
m_description = new wxTextCtrl( sbSizerPreview->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_CENTRE|wxTE_MULTILINE|wxTE_READONLY );
m_description->SetToolTip( _("Unicode character description") );
sbSizerPreview->Add( m_description, 1, wxALL|wxEXPAND, 5 );
m_category = new wxTextCtrl( sbSizerPreview->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_CENTRE|wxTE_READONLY );
m_category->SetToolTip( _("Unicode character category") );
sbSizerPreview->Add( m_category, 0, wxALL|wxEXPAND, 5 );
wxBoxSizer* bSizerNavigateButtons;
bSizerNavigateButtons = new wxBoxSizer( wxHORIZONTAL );
m_navigateBack = new wxHyperlinkCtrl( sbSizerPreview->GetStaticBox(), wxID_ANY, _("« Back"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
m_navigateBack->Enable( false );
m_navigateBack->SetToolTip( _("To previously viewed character") );
bSizerNavigateButtons->Add( m_navigateBack, 0, wxALL, 5 );
m_navigateForward = new wxHyperlinkCtrl( sbSizerPreview->GetStaticBox(), wxID_ANY, _("Forward »"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
m_navigateForward->Enable( false );
m_navigateForward->SetToolTip( _("To following viewed character") );
bSizerNavigateButtons->Add( m_navigateForward, 0, wxALL, 5 );
sbSizerPreview->Add( bSizerNavigateButtons, 0, wxALIGN_RIGHT, 5 );
bSizerRight->Add( sbSizerPreview, 70, wxALL|wxEXPAND, 5 );
@@ -574,6 +637,8 @@ wxZRColaCharSelectBase::wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id,
// Cell Defaults
m_gridRelated->SetDefaultCellFont( wxFont( 20, 70, 90, 90, false, wxT("00 ZRCola") ) );
m_gridRelated->SetDefaultCellAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
m_gridRelated->SetToolTip( _("List of related characters") );
sbSizerRelated->Add( m_gridRelated, 1, wxALL|wxEXPAND, 5 );
@@ -583,7 +648,7 @@ wxZRColaCharSelectBase::wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id,
bSizerColumns->Add( bSizerRight, 0, wxEXPAND, 5 );
bSizerContent->Add( bSizerColumns, 1, wxEXPAND, 5 );
bSizerContent->Add( bSizerColumns, 1, wxALL|wxEXPAND, 5 );
bSizerContent->Add( 5, 5, 0, wxALL|wxEXPAND, 5 );
@@ -606,6 +671,9 @@ wxZRColaCharSelectBase::wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id,
this->Connect( wxEVT_IDLE, wxIdleEventHandler( wxZRColaCharSelectBase::OnIdle ) );
m_search->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( wxZRColaCharSelectBase::OnSearchText ), NULL, this );
m_categories->Connect( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, wxCommandEventHandler( wxZRColaCharSelectBase::OnCategoriesToggle ), NULL, this );
m_categoriesAll->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnCategoriesAll ), NULL, this );
m_categoriesNone->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnCategoriesNone ), NULL, this );
m_categoriesInvert->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnCategoriesInvert ), NULL, this );
m_gridResults->Connect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( wxZRColaCharSelectBase::OnResultCellDClick ), NULL, this );
m_gridResults->Connect( wxEVT_GRID_SELECT_CELL, wxGridEventHandler( wxZRColaCharSelectBase::OnResultSelectCell ), NULL, this );
m_gridResults->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( wxZRColaCharSelectBase::OnResultsKeyDown ), NULL, this );
@@ -613,6 +681,9 @@ wxZRColaCharSelectBase::wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id,
m_gridRecent->Connect( wxEVT_GRID_SELECT_CELL, wxGridEventHandler( wxZRColaCharSelectBase::OnRecentSelectCell ), NULL, this );
m_gridRecent->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( wxZRColaCharSelectBase::OnRecentKeyDown ), NULL, this );
m_unicode->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( wxZRColaCharSelectBase::OnUnicodeText ), NULL, this );
m_gridPreview->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( wxZRColaCharSelectBase::OnPreviewKeyDown ), NULL, this );
m_navigateBack->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnNavigateBack ), NULL, this );
m_navigateForward->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnNavigateForward ), NULL, this );
m_gridRelated->Connect( wxEVT_GRID_SELECT_CELL, wxGridEventHandler( wxZRColaCharSelectBase::OnRelatedSelectCell ), NULL, this );
m_sdbSizerButtonsOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaCharSelectBase::OnOKButtonClick ), NULL, this );
}
@@ -623,6 +694,9 @@ wxZRColaCharSelectBase::~wxZRColaCharSelectBase()
this->Disconnect( wxEVT_IDLE, wxIdleEventHandler( wxZRColaCharSelectBase::OnIdle ) );
m_search->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( wxZRColaCharSelectBase::OnSearchText ), NULL, this );
m_categories->Disconnect( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, wxCommandEventHandler( wxZRColaCharSelectBase::OnCategoriesToggle ), NULL, this );
m_categoriesAll->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnCategoriesAll ), NULL, this );
m_categoriesNone->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnCategoriesNone ), NULL, this );
m_categoriesInvert->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnCategoriesInvert ), NULL, this );
m_gridResults->Disconnect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( wxZRColaCharSelectBase::OnResultCellDClick ), NULL, this );
m_gridResults->Disconnect( wxEVT_GRID_SELECT_CELL, wxGridEventHandler( wxZRColaCharSelectBase::OnResultSelectCell ), NULL, this );
m_gridResults->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( wxZRColaCharSelectBase::OnResultsKeyDown ), NULL, this );
@@ -630,6 +704,9 @@ wxZRColaCharSelectBase::~wxZRColaCharSelectBase()
m_gridRecent->Disconnect( wxEVT_GRID_SELECT_CELL, wxGridEventHandler( wxZRColaCharSelectBase::OnRecentSelectCell ), NULL, this );
m_gridRecent->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( wxZRColaCharSelectBase::OnRecentKeyDown ), NULL, this );
m_unicode->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( wxZRColaCharSelectBase::OnUnicodeText ), NULL, this );
m_gridPreview->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( wxZRColaCharSelectBase::OnPreviewKeyDown ), NULL, this );
m_navigateBack->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnNavigateBack ), NULL, this );
m_navigateForward->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnNavigateForward ), NULL, this );
m_gridRelated->Disconnect( wxEVT_GRID_SELECT_CELL, wxGridEventHandler( wxZRColaCharSelectBase::OnRelatedSelectCell ), NULL, this );
m_sdbSizerButtonsOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaCharSelectBase::OnOKButtonClick ), NULL, this );
@@ -734,3 +811,211 @@ wxZRColaSettingsBase::~wxZRColaSettingsBase()
m_sdbSizerButtonsOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaSettingsBase::OnOKButtonClick ), NULL, this );
}
wxZRColaAboutBase::wxZRColaAboutBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : wxDialog( parent, id, title, pos, size, style, name )
{
this->SetSizeHints( wxDefaultSize, wxSize( -1,-1 ) );
wxBoxSizer* bSizerContent;
bSizerContent = new wxBoxSizer( wxVERTICAL );
wxBoxSizer* bSizerColumns;
bSizerColumns = new wxBoxSizer( wxHORIZONTAL );
m_bitmapIcon = new wxStaticBitmap( this, wxID_ANY, wxIcon( wxT("00_zrcola.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 32, 32 ), wxDefaultPosition, wxDefaultSize, 0 );
bSizerColumns->Add( m_bitmapIcon, 0, wxALL, 5 );
wxBoxSizer* bSizerText;
bSizerText = new wxBoxSizer( wxVERTICAL );
m_staticTextZRCola = new wxStaticText( this, wxID_ANY, _("ZRCola"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextZRCola->Wrap( -1 );
m_staticTextZRCola->SetFont( wxFont( 20, 70, 90, 90, false, wxT("00 ZRCola") ) );
bSizerText->Add( m_staticTextZRCola, 0, wxALL|wxEXPAND, 5 );
m_staticTextVersion = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextVersion->Wrap( -1 );
bSizerText->Add( m_staticTextVersion, 0, wxALL|wxEXPAND, 5 );
m_staticTextColophone = new wxStaticText( this, wxID_ANY, _("Editor: Janoš Ježovnik\nDevelopment: Amebis d. o. o.\nDevelopment and maintenance (2004-2015): dr. Peter Weiss"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextColophone->Wrap( -1 );
bSizerText->Add( m_staticTextColophone, 0, wxALL|wxEXPAND, 5 );
m_staticTextCopyright = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextCopyright->Wrap( -1 );
bSizerText->Add( m_staticTextCopyright, 0, wxALL|wxEXPAND, 5 );
m_hyperlink = new wxHyperlinkCtrl( this, wxID_ANY, _("www.zrc-sazu.si"), wxT("http://www.zrc-sazu.si/"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
bSizerText->Add( m_hyperlink, 0, wxALL|wxEXPAND, 5 );
bSizerText->Add( 0, 0, 0, wxALL|wxEXPAND, 5 );
m_staticTextDeclaration = new wxStaticText( this, wxID_ANY, _("Texts made using ZRCola have to include in the colophon, foreword, footnote or some other appropriate part of the publication the note below:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextDeclaration->Wrap( 400 );
bSizerText->Add( m_staticTextDeclaration, 0, wxALL|wxEXPAND, 5 );
m_declaration = new wxTextCtrl( this, wxID_ANY, _("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 Dr. Peter Weiss."), wxDefaultPosition, wxSize( -1,80 ), wxTE_MULTILINE|wxTE_READONLY );
m_declaration->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 93, 90, false, wxEmptyString ) );
bSizerText->Add( m_declaration, 0, wxALL|wxEXPAND, 5 );
bSizerColumns->Add( bSizerText, 1, wxEXPAND, 5 );
bSizerContent->Add( bSizerColumns, 1, wxALL|wxEXPAND, 5 );
bSizerContent->Add( 0, 0, 0, wxALL|wxEXPAND, 5 );
m_sdbSizerButtons = new wxStdDialogButtonSizer();
m_sdbSizerButtonsOK = new wxButton( this, wxID_OK );
m_sdbSizerButtons->AddButton( m_sdbSizerButtonsOK );
m_sdbSizerButtons->Realize();
bSizerContent->Add( m_sdbSizerButtons, 0, wxALL|wxEXPAND, 5 );
this->SetSizer( bSizerContent );
this->Layout();
bSizerContent->Fit( this );
this->Centre( wxBOTH );
}
wxZRColaAboutBase::~wxZRColaAboutBase()
{
}
wxZRColaUpdaterBase::wxZRColaUpdaterBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : wxDialog( parent, id, title, pos, size, style, name )
{
this->SetSizeHints( wxDefaultSize, wxDefaultSize );
wxBoxSizer* bSizerContent;
bSizerContent = new wxBoxSizer( wxVERTICAL );
wxStaticBoxSizer* sbSizerLog;
sbSizerLog = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Log") ), wxVERTICAL );
m_log = new wxTextCtrl( sbSizerLog->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_READONLY );
m_log->SetMinSize( wxSize( 450,150 ) );
sbSizerLog->Add( m_log, 1, wxEXPAND, 5 );
bSizerContent->Add( sbSizerLog, 1, wxALL|wxEXPAND, 5 );
bSizerContent->Add( 0, 0, 0, wxEXPAND, 5 );
wxBoxSizer* bSizerButtons;
bSizerButtons = new wxBoxSizer( wxHORIZONTAL );
m_buttonUpdate = new wxButton( this, wxID_ANY, _("&Update"), wxDefaultPosition, wxDefaultSize, 0 );
m_buttonUpdate->Enable( false );
bSizerButtons->Add( m_buttonUpdate, 0, wxALL, 5 );
m_buttonClose = new wxButton( this, wxID_OK, _("&Close"), wxDefaultPosition, wxDefaultSize, 0 );
bSizerButtons->Add( m_buttonClose, 0, wxALL, 5 );
bSizerContent->Add( bSizerButtons, 0, wxALIGN_RIGHT, 5 );
this->SetSizer( bSizerContent );
this->Layout();
bSizerContent->Fit( this );
this->Centre( wxBOTH );
// Connect Events
m_buttonUpdate->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaUpdaterBase::OnUpdate ), NULL, this );
}
wxZRColaUpdaterBase::~wxZRColaUpdaterBase()
{
// Disconnect Events
m_buttonUpdate->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaUpdaterBase::OnUpdate ), NULL, this );
}
wxZRColaCharRequestBase::wxZRColaCharRequestBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : wxDialog( parent, id, title, pos, size, style, name )
{
this->SetSizeHints( wxDefaultSize, wxDefaultSize );
wxBoxSizer* bSizerContent;
bSizerContent = new wxBoxSizer( wxVERTICAL );
wxStaticBoxSizer* sbSizerCharacter;
sbSizerCharacter = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Character") ), wxVERTICAL );
m_characterLbl = new wxStaticText( sbSizerCharacter->GetStaticBox(), wxID_ANY, _("Enter the &character you would like to request:"), wxDefaultPosition, wxDefaultSize, 0 );
m_characterLbl->Wrap( 400 );
sbSizerCharacter->Add( m_characterLbl, 0, wxALL|wxEXPAND, 5 );
m_character = new wxTextCtrl( sbSizerCharacter->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_character->SetMaxLength( 20 );
m_character->SetFont( wxFont( 20, 70, 90, 90, false, wxT("00 ZRCola") ) );
m_character->SetToolTip( _("Decomposed character to request") );
sbSizerCharacter->Add( m_character, 0, wxALL|wxEXPAND, 5 );
m_characterNote = new wxStaticText( sbSizerCharacter->GetStaticBox(), wxID_ANY, _("Please, use the decomposed form.\nYou can use ZRCola keyboard shortcuts to enter the character or Copy&&Paste it from the Decomposed window."), wxDefaultPosition, wxDefaultSize, 0 );
m_characterNote->Wrap( 400 );
sbSizerCharacter->Add( m_characterNote, 0, wxALL|wxEXPAND, 5 );
bSizerContent->Add( sbSizerCharacter, 40, wxALL|wxEXPAND, 5 );
wxStaticBoxSizer* sbSizerContext;
sbSizerContext = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Context") ), wxVERTICAL );
m_contextLbl = new wxStaticText( sbSizerContext->GetStaticBox(), wxID_ANY, _("The &context, examples or short description why and where the character is required:"), wxDefaultPosition, wxDefaultSize, 0 );
m_contextLbl->Wrap( 400 );
sbSizerContext->Add( m_contextLbl, 0, wxALL|wxEXPAND, 5 );
m_context = new wxTextCtrl( sbSizerContext->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE );
m_context->SetFont( wxFont( 16, 70, 90, 90, false, wxT("00 ZRCola") ) );
m_context->SetToolTip( _("Additional notes for character request") );
sbSizerContext->Add( m_context, 1, wxALL|wxEXPAND, 5 );
bSizerContent->Add( sbSizerContext, 60, wxALL|wxEXPAND, 5 );
m_note = new wxStaticText( this, wxID_ANY, _("After clicking OK button, your e-mail application should open allowing you to submit the new character request to ZRCola Editor.\nYour e-mail application might not display all the characters correctly, but we'll encode the necessarry information so the Editor will be able to read it correctly."), wxDefaultPosition, wxDefaultSize, 0 );
m_note->Wrap( 400 );
bSizerContent->Add( m_note, 0, wxALL|wxEXPAND, 5 );
bSizerContent->Add( 0, 0, 0, wxALL|wxEXPAND, 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, wxALL|wxEXPAND, 5 );
this->SetSizer( bSizerContent );
this->Layout();
bSizerContent->Fit( this );
this->Centre( wxBOTH );
// Connect Events
m_sdbSizerButtonsOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaCharRequestBase::OnOKButtonClick ), NULL, this );
}
wxZRColaCharRequestBase::~wxZRColaCharRequestBase()
{
// Disconnect Events
m_sdbSizerButtonsOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaCharRequestBase::OnOKButtonClick ), NULL, this );
}

View File

@@ -1,4 +1,4 @@
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Jun 17 2015)
// http://www.wxformbuilder.org/
//
@@ -39,6 +39,7 @@ class wxZRColaComposerPanel;
#include <wx/grid.h>
#include <wx/srchctrl.h>
#include <wx/checklst.h>
#include <wx/hyperlink.h>
#include <wx/stattext.h>
#include <wx/button.h>
#include <wx/dialog.h>
@@ -47,6 +48,7 @@ class wxZRColaComposerPanel;
#include <wx/checkbox.h>
#include <wx/listbook.h>
#include <wx/listctrl.h>
#include <wx/statbmp.h>
///////////////////////////////////////////////////////////////////////////
@@ -68,7 +70,8 @@ class wxZRColaFrameBase : public wxFrame
wxID_TOOLBAR_EDIT,
wxID_TOOLBAR_COMPOSE,
wxID_PANEL_CHRGRPS,
wxID_HELP_REQCHAR
wxID_HELP_REQCHAR,
wxID_HELP_UPDATE
};
wxMenuBar* m_menubar;
@@ -88,6 +91,7 @@ class wxZRColaFrameBase : public wxFrame
wxStatusBar* m_statusBar;
// Virtual event handlers, overide them in your derived class
virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
virtual void OnIconize( wxIconizeEvent& event ) { event.Skip(); }
virtual void OnIdle( wxIdleEvent& event ) { event.Skip(); }
@@ -190,13 +194,19 @@ class wxZRColaCharSelectBase : public wxDialog
protected:
wxSearchCtrl* m_search;
wxCheckListBox* m_categories;
wxHyperlinkCtrl* m_categoriesAll;
wxHyperlinkCtrl* m_categoriesNone;
wxHyperlinkCtrl* m_categoriesInvert;
wxZRColaCharGrid* m_gridResults;
wxZRColaCharGrid* m_gridRecent;
wxStaticText* m_labelUnicode;
wxTextCtrl* m_unicode;
wxTextCtrl* m_shortcut;
wxGrid* m_gridPreview;
wxTextCtrl* m_description;
wxTextCtrl* m_category;
wxHyperlinkCtrl* m_navigateBack;
wxHyperlinkCtrl* m_navigateForward;
wxZRColaCharGrid* m_gridRelated;
wxStdDialogButtonSizer* m_sdbSizerButtons;
wxButton* m_sdbSizerButtonsOK;
@@ -206,6 +216,9 @@ class wxZRColaCharSelectBase : public wxDialog
virtual void OnIdle( wxIdleEvent& event ) { event.Skip(); }
virtual void OnSearchText( wxCommandEvent& event ) { event.Skip(); }
virtual void OnCategoriesToggle( wxCommandEvent& event ) { event.Skip(); }
virtual void OnCategoriesAll( wxHyperlinkEvent& event ) { event.Skip(); }
virtual void OnCategoriesNone( wxHyperlinkEvent& event ) { event.Skip(); }
virtual void OnCategoriesInvert( wxHyperlinkEvent& event ) { event.Skip(); }
virtual void OnResultCellDClick( wxGridEvent& event ) { event.Skip(); }
virtual void OnResultSelectCell( wxGridEvent& event ) { event.Skip(); }
virtual void OnResultsKeyDown( wxKeyEvent& event ) { event.Skip(); }
@@ -213,6 +226,9 @@ class wxZRColaCharSelectBase : public wxDialog
virtual void OnRecentSelectCell( wxGridEvent& event ) { event.Skip(); }
virtual void OnRecentKeyDown( wxKeyEvent& event ) { event.Skip(); }
virtual void OnUnicodeText( wxCommandEvent& event ) { event.Skip(); }
virtual void OnPreviewKeyDown( wxKeyEvent& event ) { event.Skip(); }
virtual void OnNavigateBack( wxHyperlinkEvent& event ) { event.Skip(); }
virtual void OnNavigateForward( wxHyperlinkEvent& event ) { event.Skip(); }
virtual void OnRelatedSelectCell( wxGridEvent& event ) { event.Skip(); }
virtual void OnOKButtonClick( wxCommandEvent& event ) { event.Skip(); }
@@ -261,4 +277,82 @@ class wxZRColaSettingsBase : public wxDialog
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxZRColaAboutBase
///////////////////////////////////////////////////////////////////////////////
class wxZRColaAboutBase : public wxDialog
{
private:
protected:
wxStaticBitmap* m_bitmapIcon;
wxStaticText* m_staticTextZRCola;
wxStaticText* m_staticTextVersion;
wxStaticText* m_staticTextColophone;
wxStaticText* m_staticTextCopyright;
wxHyperlinkCtrl* m_hyperlink;
wxStaticText* m_staticTextDeclaration;
wxTextCtrl* m_declaration;
wxStdDialogButtonSizer* m_sdbSizerButtons;
wxButton* m_sdbSizerButtonsOK;
public:
wxZRColaAboutBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("About ZRCola"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaAbout") );
~wxZRColaAboutBase();
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxZRColaUpdaterBase
///////////////////////////////////////////////////////////////////////////////
class wxZRColaUpdaterBase : public wxDialog
{
private:
protected:
wxTextCtrl* m_log;
wxButton* m_buttonUpdate;
wxButton* m_buttonClose;
// Virtual event handlers, overide them in your derived class
virtual void OnUpdate( wxCommandEvent& event ) { event.Skip(); }
public:
wxZRColaUpdaterBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Product Update"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaUpdater") );
~wxZRColaUpdaterBase();
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxZRColaCharRequestBase
///////////////////////////////////////////////////////////////////////////////
class wxZRColaCharRequestBase : public wxDialog
{
private:
protected:
wxStaticText* m_characterLbl;
wxTextCtrl* m_character;
wxStaticText* m_characterNote;
wxStaticText* m_contextLbl;
wxTextCtrl* m_context;
wxStaticText* m_note;
wxStdDialogButtonSizer* m_sdbSizerButtons;
wxButton* m_sdbSizerButtonsOK;
wxButton* m_sdbSizerButtonsCancel;
// Virtual event handlers, overide them in your derived class
virtual void OnOKButtonClick( wxCommandEvent& event ) { event.Skip(); }
public:
wxZRColaCharRequestBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Request a New Character"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaCharRequest") );
~wxZRColaCharRequestBase();
};
#endif //__ZRCOLAGUI_H__

View File

@@ -25,6 +25,8 @@ class wxZRColaKeyHandler;
#pragma once
#include <zrcolaui/keyboard.h>
#include <wx/event.h>
#include <vector>

84
ZRCola/zrcolaupdater.cpp Normal file
View File

@@ -0,0 +1,84 @@
/*
Copyright 2015-2016 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"
//////////////////////////////////////////////////////////////////////////
// wxZRColaUpdater
//////////////////////////////////////////////////////////////////////////
wxZRColaUpdater::wxZRColaUpdater(wxWindow* parent) :
m_logLevelOrig(wxLOG_Warning),
m_logOrig(NULL),
m_updater(NULL),
wxZRColaUpdaterBase(parent)
{
// Setup logging.
m_logOrig = wxLog::SetActiveTarget(new wxLogTextCtrl(m_log));
m_logLevelOrig = wxLog::GetLogLevel();
wxLog::SetLogLevel(wxLOG_Info);
// Connect events.
Connect(wxID_ANY, wxEVT_UPDATER_CHECK_COMPLETE, wxThreadEventHandler(wxZRColaUpdater::OnCheckComplete), NULL, this);
// Launch Updater thread.
ZRColaApp *app = (ZRColaApp*)wxTheApp;
m_updater = new wxUpdCheckThread(app->m_locale.GetCanonicalName(), this);
if (m_updater->Run() != wxTHREAD_NO_ERROR) {
wxFAIL_MSG(wxT("Can't create the thread!"));
delete m_updater;
m_updater = NULL;
}
}
wxZRColaUpdater::~wxZRColaUpdater()
{
if (m_updater) {
// Terminate the Updater thread.
m_updater->Delete();
}
// Disconnect events.
Disconnect(wxID_ANY, wxEVT_UPDATER_CHECK_COMPLETE, wxThreadEventHandler(wxZRColaUpdater::OnCheckComplete), NULL, this);
wxLog::SetLogLevel(m_logLevelOrig);
if (m_logOrig) {
// Return logging to previous state.
delete wxLog::SetActiveTarget(m_logOrig);
}
}
void wxZRColaUpdater::OnCheckComplete(wxThreadEvent& event)
{
event.Skip();
m_buttonUpdate->Enable(event.GetInt() == wxUpdCheckThread::wxUpdUpdateAvailable);
}
void wxZRColaUpdater::OnUpdate(wxCommandEvent& event)
{
event.Skip();
if (m_updater)
m_updater->LaunchUpdate();
}

52
ZRCola/zrcolaupdater.h Normal file
View File

@@ -0,0 +1,52 @@
/*
Copyright 2015-2016 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 wxZRColaUpdater;
#pragma once
#include "zrcolagui.h"
#include <Updater/chkthread.h>
#include <wx/log.h>
///
/// ZRCola updater dialog
///
class wxZRColaUpdater : public wxZRColaUpdaterBase
{
public:
wxZRColaUpdater(wxWindow* parent);
virtual ~wxZRColaUpdater();
protected:
void OnCheckComplete(wxThreadEvent& event);
virtual void OnUpdate(wxCommandEvent& event);
protected:
wxLogLevel m_logLevelOrig; ///< Original log level
wxLog *m_logOrig; ///< Original log
wxUpdCheckThread *m_updater; ///< Updater thread
};

View File

@@ -71,8 +71,13 @@
<ResourceCompile Include="ZRColaCompile.rc" />
</ItemGroup>
<ItemGroup>
<POCompile Include="locale\de_DE.po" />
<POCompile Include="locale\ru_RU.po" />
<POCompile Include="locale\sl_SI.po" />
</ItemGroup>
<ItemGroup>
<None Include="locale\ZRColaCompile.pot" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
<Import Project="..\include\xgettext.targets" />

View File

@@ -46,5 +46,16 @@
<POCompile Include="locale\sl_SI.po">
<Filter>Resource Files\Localization</Filter>
</POCompile>
<POCompile Include="locale\de_DE.po">
<Filter>Resource Files\Localization</Filter>
</POCompile>
<POCompile Include="locale\ru_RU.po">
<Filter>Resource Files\Localization</Filter>
</POCompile>
</ItemGroup>
<ItemGroup>
<None Include="locale\ZRColaCompile.pot">
<Filter>Resource Files\Localization</Filter>
</None>
</ItemGroup>
</Project>

View File

@@ -19,9 +19,145 @@
#include "stdafx.h"
using namespace std;
using namespace stdex;
bool ZRCola::DBSource::character_desc_idx::add_keywords(const wchar_t *str, wchar_t chr, size_t sub)
//////////////////////////////////////////////////////////////////////////
// ZRCola::DBSource::character_bank
//////////////////////////////////////////////////////////////////////////
ZRCola::DBSource::character_bank::character_bank() : vector<unique_ptr<ZRCola::DBSource::character> >()
{
resize(0x10000);
}
void ZRCola::DBSource::character_bank::build_related()
{
// Initialize ignore list.
m_ignore.insert(L"letter");
m_ignore.insert(L"modifier");
m_ignore.insert(L"symbol");
m_ignore.insert(L"accent");
m_ignore.insert(L"with");
m_ignore.insert(L"and");
m_ignore.insert(L"capital");
m_ignore.insert(L"small");
m_ignore.insert(L"combining");
SYSTEM_INFO si;
GetSystemInfo(&si);
// Launch workers.
build_related_worker **workers = new build_related_worker*[si.dwNumberOfProcessors];
size_type from = 0, to;
for (DWORD i = 0; i < si.dwNumberOfProcessors; i++) {
to = MulDiv(i + 1, 0x10000, si.dwNumberOfProcessors);
workers[i] = new build_related_worker(this, from, to);
from = to;
}
// Wait for workers.
for (DWORD i = 0; i < si.dwNumberOfProcessors; i++) {
if (workers[i]) {
workers[i]->join();
delete workers[i];
}
}
delete workers; // This line of code sounds horrible, I know.
}
ZRCola::DBSource::character_bank::build_related_worker::build_related_worker(_In_ const character_bank *cb, _In_ size_type from, _In_ size_type to) :
thread_type((HANDLE)_beginthreadex(NULL, 0, process, this, CREATE_SUSPENDED, NULL)),
m_heap(HeapCreate(0, 0, 0)),
m_cb(cb),
m_from(from),
m_to(to)
{
// Now that members of this class are surely initialized, proceed.
ResumeThread(get());
}
ZRCola::DBSource::character_bank::build_related_worker::~build_related_worker()
{
assert(m_heap);
HeapDestroy(m_heap);
}
unsigned int ZRCola::DBSource::character_bank::build_related_worker::process()
{
heap_allocator<wchar_t> al(m_heap);
basic_string<wchar_t, char_traits<wchar_t>, heap_allocator<wchar_t> > rel(al);
set<wstring, less<wstring>, heap_allocator<wstring> > matching(less<wstring>(), al);
for (size_type i = m_from; i < m_to; i++) {
ZRCola::DBSource::character &chr = *(m_cb->at(i).get());
if (&chr == NULL) continue;
rel.clear();
// Remove all unexisting, inactive, or self related characters.
for (wstring::size_type j = chr.rel.length(); j--;) {
wchar_t c = chr.rel[j];
if (m_cb->at(c) && (wchar_t)j != c)
rel += c;
}
// Add all characters that share enought keywords.
for (size_type j = 0, j_end = m_cb->size(); j < j_end; j++) {
if (i == j || rel.find((wchar_t)j) != wstring::npos)
continue;
const ZRCola::DBSource::character &chr2 = *(m_cb->at(j).get());
if (&chr2 == NULL)
continue;
set<wstring>::size_type comparisons = 0;
matching.clear();
for (set<wstring>::const_iterator term = chr.terms.cbegin(), term_end = chr.terms.cend(); term != term_end; ++term) {
// Test for ignored word(s).
if (m_cb->m_ignore.find(*term) != m_cb->m_ignore.cend())
continue;
for (set<wstring>::const_iterator term2 = chr2.terms.cbegin(), term2_end = chr2.terms.cend(); term2 != term2_end; ++term2) {
// Test for ignored word(s).
if (m_cb->m_ignore.find(*term2) != m_cb->m_ignore.cend())
continue;
comparisons++;
if (*term == *term2)
matching.insert(*term);
}
}
if (comparisons) {
// If 1/2 terms match, assume related.
set<wstring>::size_type hits = matching.size();
if (hits*hits*2 >= comparisons)
rel += chr2.chr;
}
}
chr.rel.assign(rel.c_str(), rel.length());
}
return 0;
}
unsigned int __stdcall ZRCola::DBSource::character_bank::build_related_worker::process(_In_ void *param)
{
return ((ZRCola::DBSource::character_bank::build_related_worker*)param)->process();
}
//////////////////////////////////////////////////////////////////////////
// ZRCola::DBSource::character_desc_idx
//////////////////////////////////////////////////////////////////////////
void ZRCola::DBSource::character_desc_idx::parse_keywords(const wchar_t *str, set<wstring> &terms)
{
wxASSERT_MSG(str, wxT("string is NULL"));
@@ -29,7 +165,7 @@ bool ZRCola::DBSource::character_desc_idx::add_keywords(const wchar_t *str, wcha
// Skip white space.
for (;;) {
if (*str == 0)
return true;
return;
else if (!iswspace(*str))
break;
else
@@ -37,7 +173,7 @@ bool ZRCola::DBSource::character_desc_idx::add_keywords(const wchar_t *str, wcha
}
// Get term.
std::wstring term;
wstring term;
if (*str == L'"') {
const wchar_t *str_end = ++str;
for (;;) {
@@ -60,24 +196,30 @@ bool ZRCola::DBSource::character_desc_idx::add_keywords(const wchar_t *str, wcha
}
if (!term.empty()) {
std::transform(term.begin(), term.end(), term.begin(), std::towlower);
if (sub) {
std::wstring::size_type j_end = term.size();
if (j_end >= sub) {
// Insert all keyword substrings "sub" or more characters long.
for (std::wstring::size_type i = 0, i_end = j_end - sub; i <= i_end; ++i) {
for (std::wstring::size_type j = i + sub; j <= j_end; ++j)
add_keyword(term.substr(i, j - i), chr);
}
}
} else {
// Insert exact keyword only.
add_keyword(term, chr);
}
transform(term.begin(), term.end(), term.begin(), towlower);
terms.insert(term);
}
}
}
return true;
void ZRCola::DBSource::character_desc_idx::add_keywords(const set<wstring> &terms, wchar_t chr, size_t sub)
{
for (set<wstring>::const_iterator term = terms.cbegin(), term_end = terms.cend(); term != term_end; ++term) {
if (sub) {
wstring::size_type j_end = term->size();
if (j_end >= sub) {
// Insert all keyword substrings "sub" or more characters long.
for (wstring::size_type i = 0, i_end = j_end - sub; i <= i_end; ++i) {
for (wstring::size_type j = i + sub; j <= j_end; ++j)
add_keyword(term->substr(i, j - i), chr);
}
}
} else {
// Insert exact keyword only.
add_keyword(*term, chr);
}
}
}
@@ -88,8 +230,8 @@ void ZRCola::DBSource::character_desc_idx::save(ZRCola::textindex<wchar_t, wchar
idx.values.clear();
// Pre-allocate memory.
std::vector<wchar_t>::size_type size_keys = 0;
std::vector<wchar_t>::size_type size_values = 0;
vector<wchar_t>::size_type size_keys = 0;
vector<wchar_t>::size_type size_values = 0;
for (const_iterator i = cbegin(), i_end = cend(); i != i_end; ++i) {
size_keys += i->first.size();
size_values += i->second.size();
@@ -108,6 +250,10 @@ void ZRCola::DBSource::character_desc_idx::save(ZRCola::textindex<wchar_t, wchar
}
//////////////////////////////////////////////////////////////////////////
// ZRCola::DBSource
//////////////////////////////////////////////////////////////////////////
ZRCola::DBSource::DBSource()
{
}
@@ -137,7 +283,7 @@ bool ZRCola::DBSource::Open(LPCTSTR filename)
HRESULT hr = ::CoCreateInstance(CLSID_CADOConnection, NULL, CLSCTX_ALL, IID_IADOConnection, (LPVOID*)&m_db);
if (SUCCEEDED(hr)) {
// Open the database.
std::wstring cn;
wstring cn;
cn = L"Driver={Microsoft Access Driver (*.mdb)};";
cn += L"Dbq=";
cn += filename;
@@ -238,7 +384,7 @@ bool ZRCola::DBSource::GetValue(const ATL::CComPtr<ADOField>& f, int& val) const
}
bool ZRCola::DBSource::GetValue(const ATL::CComPtr<ADOField>& f, std::wstring& val) const
bool ZRCola::DBSource::GetValue(const ATL::CComPtr<ADOField>& f, wstring& val) const
{
wxASSERT_MSG(f, wxT("field is empty"));
@@ -250,7 +396,7 @@ bool ZRCola::DBSource::GetValue(const ATL::CComPtr<ADOField>& f, std::wstring& v
val.reserve(::SysStringLen(V_BSTR(&v)));
val = V_BSTR(&v);
} else
val.empty();
val.clear();
return true;
}
@@ -290,7 +436,7 @@ bool ZRCola::DBSource::GetUnicodeCharacter(const ATL::CComPtr<ADOField>& f, wcha
}
bool ZRCola::DBSource::GetUnicodeString(const ATL::CComPtr<ADOField>& f, std::wstring& str) const
bool ZRCola::DBSource::GetUnicodeString(const ATL::CComPtr<ADOField>& f, wstring& str) const
{
wxASSERT_MSG(f, wxT("field is empty"));
@@ -325,54 +471,6 @@ bool ZRCola::DBSource::GetUnicodeString(const ATL::CComPtr<ADOField>& f, std::ws
}
bool ZRCola::DBSource::GetKeyCode(const ATL::CComPtr<ADOField>& f, ZRCola::DBSource::keyseq::keycode& kc) const
{
wxASSERT_MSG(f, wxT("field is empty"));
ATL::CComVariant v;
wxVERIFY(SUCCEEDED(f->get_Value(&v)));
wxCHECK(SUCCEEDED(v.ChangeType(VT_BSTR)), false);
// Convert to uppercase.
_wcsupr_l(V_BSTR(&v), m_locale);
// Parse the field.
memset(&kc, 0, sizeof(kc));
for (UINT i = 0, n = ::SysStringLen(V_BSTR(&v)); i < n && V_BSTR(&v)[i];) {
// Parse key code.
if (i) {
// Check for "+" separator.
if (V_BSTR(&v)[i] != L'+') {
ATL::CComBSTR fieldname; wxVERIFY(SUCCEEDED(f->get_Name(&fieldname)));
_ftprintf(stderr, wxT("%s: error ZCC0070: Syntax error in \"%.*ls\" field (\"%.*ls\"). Key codes must be \"Ctrl+Alt+<key>\" formatted.\n"), m_filename.c_str(), fieldname.Length(), (BSTR)fieldname, n, V_BSTR(&v));
}
i++;
if (i >= n || !V_BSTR(&v)[i]) {
ATL::CComBSTR fieldname; wxVERIFY(SUCCEEDED(f->get_Name(&fieldname)));
_ftprintf(stderr, wxT("%s: error ZCC0071: Syntax error in \"%.*ls\" field (\"%.*ls\"). Trailing separator \"+\" found.\n"), m_filename.c_str(), fieldname.Length(), (BSTR)fieldname, n, V_BSTR(&v));
}
}
static const wchar_t str_shift[] = L"SHIFT", str_ctrl[] = L"CTRL", str_alt[] = L"ALT";
if (i + _countof(str_shift) - 1 <= n && wmemcmp(V_BSTR(&v) + i, str_shift, _countof(str_shift) - 1) == 0) {
kc.shift = true;
i += _countof(str_shift) - 1;
} else if (i + _countof(str_ctrl) - 1 <= n && wmemcmp(V_BSTR(&v) + i, str_ctrl, _countof(str_ctrl) - 1) == 0) {
kc.ctrl = true;
i += _countof(str_ctrl) - 1;
} else if (i + _countof(str_alt) - 1 <= n && wmemcmp(V_BSTR(&v) + i, str_alt, _countof(str_alt) - 1) == 0) {
kc.alt = true;
i += _countof(str_alt) - 1;
} else {
kc.key = V_BSTR(&v)[i];
i++;
}
}
return true;
}
bool ZRCola::DBSource::GetLanguage(const ATL::CComPtr<ADOField>& f, ZRCola::langid_t& lang) const
{
wxASSERT_MSG(f, wxT("field is empty"));
@@ -508,9 +606,9 @@ bool ZRCola::DBSource::SelectKeySequences(ATL::CComPtr<ADORecordset> &rs) const
// Open it.
if (FAILED(rs->Open(ATL::CComVariant(
L"SELECT DISTINCT [VRS_KeyCodes].[Znak], [VRS_CharGroup].[Name] AS [CharGroup], [VRS_KeyCodes].[KeyCode], [VRS_KeyCodes].[Shift] "
L"SELECT DISTINCT [VRS_KeyCodes].[Znak], [VRS_CharGroup].[CharGroup], IIF([VRS_CharGroup].[Arg1] IS NOT NULL, [VRS_CharGroup].[Arg1], 0)+IIF([VRS_CharGroup].[Arg2] IS NOT NULL, [VRS_CharGroup].[Arg2], 0)+IIF([VRS_CharGroup].[Arg3] IS NOT NULL, [VRS_CharGroup].[Arg3], 0) AS [Modifiers], IIF([VRS_CharGroup].[Arg4] IS NOT NULL, [VRS_CharGroup].[Arg4], 0) AS [KeyCodePre], [VRS_KeyCodes].[KeyCode], [VRS_KeyCodes].[Shift] "
L"FROM [VRS_KeyCodes] LEFT JOIN [VRS_CharGroup] ON [VRS_CharGroup].[CharGroup]=[VRS_KeyCodes].[CharGroup] "
L"ORDER BY [VRS_CharGroup].[Name], [VRS_KeyCodes].[KeyCode], [VRS_KeyCodes].[Shift], [VRS_KeyCodes].[Znak]"), ATL::CComVariant(m_db), adOpenStatic, adLockReadOnly, adCmdText)))
L"ORDER BY [VRS_CharGroup].[CharGroup], [VRS_KeyCodes].[KeyCode], [VRS_KeyCodes].[Shift], [VRS_KeyCodes].[Znak]"), ATL::CComVariant(m_db), adOpenStatic, adLockReadOnly, adCmdText)))
{
_ftprintf(stderr, wxT("%s: error ZCC0050: Error loading key sequences from database. Please make sure the file is ZRCola.zrc compatible.\n"), m_filename.c_str());
LogErrors();
@@ -534,11 +632,18 @@ bool ZRCola::DBSource::GetKeySequence(const ATL::CComPtr<ADORecordset>& rs, ZRCo
wxCHECK(GetUnicodeCharacter(f, ks.chr), false);
}
keyseq::keycode kc1;
int modifiers;
{
ATL::CComPtr<ADOField> f;
wxVERIFY(SUCCEEDED(flds->get_Item(ATL::CComVariant(L"CharGroup"), &f)));
wxCHECK(GetKeyCode(f, kc1), false);
wxVERIFY(SUCCEEDED(flds->get_Item(ATL::CComVariant(L"Modifiers"), &f)));
wxCHECK(GetValue(f, modifiers), false);
}
int keycode1;
{
ATL::CComPtr<ADOField> f;
wxVERIFY(SUCCEEDED(flds->get_Item(ATL::CComVariant(L"KeyCodePre"), &f)));
wxCHECK(GetValue(f, keycode1), false);
}
int keycode;
@@ -556,15 +661,24 @@ bool ZRCola::DBSource::GetKeySequence(const ATL::CComPtr<ADORecordset>& rs, ZRCo
}
ks.seq.clear();
if (kc1.key) {
if (keycode1) {
// First key in the sequence is complete.
keyseq::keycode kc1 = {
keyseq::keycode::translate_slen(keycode1),
(modifiers & 0x100) != 0,
(modifiers & 0x200) != 0,
(modifiers & 0x400) != 0 };
ks.seq.push_back(kc1);
keyseq::keycode kc2 = { keycode, shift };
keyseq::keycode kc2 = { keyseq::keycode::translate_slen(keycode), shift };
ks.seq.push_back(kc2);
} else {
// First key in the sequence is only modifier(s).
kc1.key = keycode;
if (shift) kc1.shift = true;
keyseq::keycode kc1 = {
keyseq::keycode::translate_slen(keycode),
shift || (modifiers & 0x100) != 0,
(modifiers & 0x200) != 0,
(modifiers & 0x400) != 0 };
ks.seq.push_back(kc1);
}
@@ -687,7 +801,7 @@ bool ZRCola::DBSource::GetCharacterGroup(const ATL::CComPtr<ADORecordset>& rs, c
ATL::CComPtr<ADOFields> flds;
wxVERIFY(SUCCEEDED(rs->get_Fields(&flds)));
std::wstring id;
wstring id;
{
ATL::CComPtr<ADOField> f;
@@ -753,6 +867,9 @@ bool ZRCola::DBSource::SelectCharacters(ATL::CComPtr<ADORecordset>& rs) const
if (FAILED(rs->Open(ATL::CComVariant(
L"SELECT DISTINCT [znak], [opis_en], [klj_bes_en], [kat], [znak_v], [znak_m] "
L"FROM [VRS_CharList] "
L"WHERE "
L"[aktiven]=1 AND " // Active characters only
L"[kat]<>'g' " // Ignore "Other, Control" category!
L"ORDER BY [znak]"), ATL::CComVariant(m_db), adOpenStatic, adLockReadOnly, adCmdText)))
{
_ftprintf(stderr, wxT("%s: error ZCC0120: Error loading characters from database. Please make sure the file is ZRCola.zrc compatible.\n"), m_filename.c_str());
@@ -800,12 +917,15 @@ bool ZRCola::DBSource::GetCharacter(const ATL::CComPtr<ADORecordset>& rs, charac
wxVERIFY(SUCCEEDED(flds->get_Item(ATL::CComVariant(L"opis_en"), &f)));
wxCHECK(GetValue(f, chr.desc), false);
}
ZRCola::DBSource::character_desc_idx::parse_keywords(chr.desc.c_str(), chr.terms);
wstring keywords;
{
ATL::CComPtr<ADOField> f;
wxVERIFY(SUCCEEDED(flds->get_Item(ATL::CComVariant(L"klj_bes_en"), &f)));
wxCHECK(GetValue(f, chr.keywords), false);
wxCHECK(GetValue(f, keywords), false);
}
ZRCola::DBSource::character_desc_idx::parse_keywords(keywords.c_str(), chr.terms);
{
ATL::CComPtr<ADOField> f;
@@ -827,6 +947,7 @@ bool ZRCola::DBSource::SelectCharacterCategories(ATL::CComPtr<ADORecordset>& rs)
if (FAILED(rs->Open(ATL::CComVariant(
L"SELECT DISTINCT [kat], [opis_en], [Rang] "
L"FROM [VRS_CharCategory] "
L"WHERE [kat]<>'g' " // Ignore "Other, Control" category!
L"ORDER BY [Rang], [opis_en]"), ATL::CComVariant(m_db), adOpenStatic, adLockReadOnly, adCmdText)))
{
_ftprintf(stderr, wxT("%s: error ZCC0130: Error loading character categories from database. Please make sure the file is ZRCola.zrc compatible.\n"), m_filename.c_str());
@@ -844,7 +965,7 @@ bool ZRCola::DBSource::GetCharacterCategory(const ATL::CComPtr<ADORecordset>& rs
ATL::CComPtr<ADOFields> flds;
wxVERIFY(SUCCEEDED(rs->get_Fields(&flds)));
std::wstring id;
wstring id;
{
ATL::CComPtr<ADOField> f;

View File

@@ -25,6 +25,8 @@
#include <atlbase.h>
#include <adoint.h>
#include <map>
#include <memory>
#include <set>
#include <string>
#include <vector>
@@ -60,6 +62,20 @@ namespace ZRCola {
bool shift; ///< Shift modifier
bool ctrl; ///< Ctrl modifier
bool alt; ///< Alt modifier
///
/// Translates keycode from Slovenian to English keyboard
///
inline static wchar_t translate_slen(_In_ wchar_t key)
{
switch (key) {
case L'Z': return L'Y';
case L'Y': return L'Z';
case 191: return 189;
case 189: return 191;
default : return key;
}
}
};
public:
@@ -105,11 +121,90 @@ namespace ZRCola {
///
class character {
public:
wchar_t chr; ///< Character
ZRCola::chrcatid_t cat; ///> Category ID
std::wstring desc; ///< Character description
std::wstring keywords; ///< Additional keywords
std::wstring rel; ///< Related characters
inline character()
{
chr = 0;
cat.data[0] = 0;
cat.data[1] = 0;
}
inline character(_In_ const character &othr) :
chr (othr.chr),
cat (othr.cat),
desc (othr.desc),
terms(othr.terms),
rel (othr.rel)
{
}
inline bool operator==(_In_ const character &othr) const
{
return
chr == othr.chr &&
cat == othr.cat &&
desc == othr.desc &&
terms == othr.terms &&
rel == othr.rel;
}
inline bool operator!=(_In_ const character &othr) const
{
return !operator==(othr);
}
wchar_t chr; ///< Character
ZRCola::chrcatid_t cat; ///< Category ID
std::wstring desc; ///< Character description
std::set<std::wstring> terms; ///< Search terms
std::wstring rel; ///< Related characters
};
///
/// Character bank
///
class character_bank : public std::vector<std::unique_ptr<character> >
{
public:
character_bank();
void build_related();
protected:
class build_related_worker : public std::unique_ptr<void, stdex::CloseHandle_delete<void> >
{
public:
typedef std::unique_ptr<void, stdex::CloseHandle_delete<void> > thread_type;
public:
build_related_worker(_In_ const character_bank *cb, _In_ size_type from, _In_ size_type to);
virtual ~build_related_worker();
inline void join()
{
HANDLE h = get();
if (h)
WaitForSingleObject(h, INFINITE);
}
private:
// This class is non-copyable AND non-movable
build_related_worker(_Inout_ build_related_worker &othr);
build_related_worker(_Inout_ build_related_worker &&othr);
build_related_worker& operator=(_Inout_ build_related_worker &othr);
build_related_worker& operator=(_Inout_ build_related_worker &&othr);
protected:
unsigned int process();
static unsigned int __stdcall process(_In_ void *param);
protected:
const character_bank *m_cb;
size_type m_from, m_to;
HANDLE m_heap;
};
protected:
std::set<std::wstring> m_ignore;
};
@@ -139,7 +234,14 @@ namespace ZRCola {
class character_desc_idx : public std::map<std::wstring, std::vector<wchar_t>, character_desc_idx_less>
{
public:
bool add_keywords(const wchar_t *str, wchar_t chr, size_t sub = 0);
static void parse_keywords(const wchar_t *str, std::set<std::wstring> &terms);
void add_keywords(const std::set<std::wstring> &terms, wchar_t chr, size_t sub = 0);
inline void add_keywords(const wchar_t *str, wchar_t chr, size_t sub = 0)
{
std::set<std::wstring> terms;
parse_keywords(str, terms);
add_keywords(terms, chr, sub);
}
void save(ZRCola::textindex<wchar_t, wchar_t, unsigned __int32> &idx) const;
@@ -310,19 +412,6 @@ namespace ZRCola {
bool GetUnicodeString(const ATL::CComPtr<ADOField>& f, std::wstring& str) const;
///
/// Gets encoded key from ZRCola.zrc database
///
/// \param[in] f Data field
/// \param[out] kc Output key code
///
/// \returns
/// - true when successful
/// - false otherwise
///
bool GetKeyCode(const ATL::CComPtr<ADOField>& f, keyseq::keycode& kc) const;
///
/// Gets language ID from ZRCola.zrc database
///

View File

@@ -0,0 +1,39 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: ZRColaCompile\n"
"POT-Creation-Date: 2016-05-13 20:00+0200\n"
"PO-Revision-Date: 2016-04-13 18:11+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.7\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"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: .\n"
#: main.cpp:53
#, fuzzy
msgid "Show this help message"
msgstr "Pokaži to sporočilo pomoči"
#: main.cpp:54
#, fuzzy
msgid "<input file>"
msgstr "<vhodna datoteka>"
#: main.cpp:55
#, fuzzy
msgid "<output file>"
msgstr "<izhodna datoteka>"
#: main.cpp:56
#, fuzzy
msgid "<output POT catalog>"
msgstr "<izhodni katalog POT>"

View File

@@ -0,0 +1,33 @@
msgid ""
msgstr ""
"Project-Id-Version: ZRColaCompile\n"
"POT-Creation-Date: 2016-05-13 20:01+0200\n"
"PO-Revision-Date: 2016-05-13 20:01+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.7\n"
"X-Poedit-Basepath: .\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: _\n"
#: main.cpp:53
#, fuzzy
msgid "Show this help message"
msgstr "Zeige diesen Hilfstext"
#: main.cpp:54
msgid "<input file>"
msgstr ""
#: main.cpp:55
msgid "<output file>"
msgstr ""
#: main.cpp:56
msgid "<output POT catalog>"
msgstr ""

View File

@@ -0,0 +1,33 @@
msgid ""
msgstr ""
"Project-Id-Version: ZRColaCompile\n"
"POT-Creation-Date: 2016-05-13 20:01+0200\n"
"PO-Revision-Date: 2016-05-13 20:01+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.7\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"
"X-Poedit-KeywordsList: _\n"
#: main.cpp:53
msgid "Show this help message"
msgstr ""
#: main.cpp:54
msgid "<input file>"
msgstr ""
#: main.cpp:55
msgid "<output file>"
msgstr ""
#: main.cpp:56
msgid "<output POT catalog>"
msgstr ""

View File

@@ -1,8 +1,8 @@
msgid ""
msgstr ""
"Project-Id-Version: ZRColaCompile\n"
"POT-Creation-Date: 2016-04-13 18:11+0200\n"
"PO-Revision-Date: 2016-04-13 18:11+0200\n"
"POT-Creation-Date: 2016-05-13 20:00+0200\n"
"PO-Revision-Date: 2016-05-13 20:00+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"
@@ -10,25 +10,24 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.7\n"
"X-Poedit-Basepath: ..\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"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: .\n"
#: main.cpp:276
#: main.cpp:53
msgid "Show this help message"
msgstr "Pokaži to sporočilo pomoči"
#: main.cpp:277
#: main.cpp:54
msgid "<input file>"
msgstr "<vhodna datoteka>"
#: main.cpp:278
#: main.cpp:55
msgid "<output file>"
msgstr "<izhodna datoteka>"
#: main.cpp:279
#: main.cpp:56
msgid "<output POT catalog>"
msgstr "<izhodni katalog POT>"

View File

@@ -19,6 +19,9 @@
#include "stdafx.h"
using namespace std;
using namespace stdex;
///
/// Main function
@@ -87,7 +90,7 @@ int _tmain(int argc, _TCHAR *argv[])
}
const wxString& filenameOut = parser.GetParam(1);
std::fstream dst((LPCTSTR)filenameOut, std::ios_base::out | std::ios_base::trunc | std::ios_base::binary);
fstream dst((LPCTSTR)filenameOut, ios_base::out | ios_base::trunc | ios_base::binary);
if (dst.fail()) {
_ftprintf(stderr, wxT("%s: error ZCC0002: Error opening output file.\n"), filenameOut.fn_str());
return 1;
@@ -97,10 +100,10 @@ int _tmain(int argc, _TCHAR *argv[])
// Set of strings to translate.
bool build_pot = parser.GetParamCount() > 2;
std::set<std::wstring> pot;
set<wstring> pot;
// Open file ID.
std::streamoff dst_start = stdex::idrec::open<ZRCola::recordid_t, ZRCola::recordsize_t>(dst, ZRCOLA_DB_ID);
streamoff dst_start = idrec::open<ZRCola::recordid_t, ZRCola::recordsize_t>(dst, ZRCOLA_DB_ID);
{
// Get translations.
@@ -125,10 +128,10 @@ int _tmain(int argc, _TCHAR *argv[])
db.data.push_back(trans.chr);
wxASSERT_MSG((int)0xffff8000 <= trans.rank && trans.rank <= (int)0x00007fff, wxT("transformation rank out of bounds"));
db.data.push_back((unsigned __int16)trans.rank);
std::wstring::size_type n = trans.str.length();
wstring::size_type n = trans.str.length();
wxASSERT_MSG(n <= 0xffff, wxT("transformation string too long"));
db.data.push_back((unsigned __int16)n);
for (std::wstring::size_type i = 0; i < n; i++)
for (wstring::size_type i = 0; i < n; i++)
db.data.push_back(trans.str[i]);
db.idxComp .push_back(idx);
db.idxDecomp.push_back(idx);
@@ -175,10 +178,10 @@ int _tmain(int argc, _TCHAR *argv[])
// Add key sequence to index and data.
unsigned __int32 idx = db.data.size();
db.data.push_back(ks.chr);
std::vector<ZRCola::DBSource::keyseq::keycode>::size_type n = ks.seq.size();
vector<ZRCola::DBSource::keyseq::keycode>::size_type n = ks.seq.size();
wxASSERT_MSG(n <= 0xffff, wxT("key sequence too long"));
db.data.push_back((unsigned __int16)n);
for (std::vector<ZRCola::DBSource::keyseq::keycode>::size_type i = 0; i < n; i++) {
for (vector<ZRCola::DBSource::keyseq::keycode>::size_type i = 0; i < n; i++) {
const ZRCola::DBSource::keyseq::keycode &kc = ks.seq[i];
db.data.push_back(kc.key);
db.data.push_back(
@@ -242,12 +245,12 @@ int _tmain(int argc, _TCHAR *argv[])
if (src.GetLanguage(rs, lang)) {
// Add language to index and data.
unsigned __int32 idx = db.data.size();
for (std::wstring::size_type i = 0; i < sizeof(ZRCola::langid_t)/sizeof(unsigned __int16); i++)
for (wstring::size_type i = 0; i < sizeof(ZRCola::langid_t)/sizeof(unsigned __int16); i++)
db.data.push_back(((const unsigned __int16*)lang.id.data)[i]);
std::wstring::size_type n = lang.name.length();
wstring::size_type n = lang.name.length();
wxASSERT_MSG(n <= 0xffff, wxT("language name too long"));
db.data.push_back((unsigned __int16)n);
for (std::wstring::size_type i = 0; i < n; i++)
for (wstring::size_type i = 0; i < n; i++)
db.data.push_back(lang.name[i]);
db.idxLng.push_back(idx);
if (build_pot)
@@ -296,7 +299,7 @@ int _tmain(int argc, _TCHAR *argv[])
// Add language characters to index and data.
unsigned __int32 idx = db.data.size();
db.data.push_back(lc.chr);
for (std::wstring::size_type i = 0; i < sizeof(ZRCola::langid_t)/sizeof(unsigned __int16); i++)
for (wstring::size_type i = 0; i < sizeof(ZRCola::langid_t)/sizeof(unsigned __int16); i++)
db.data.push_back(((const unsigned __int16*)lc.lang.data)[i]);
db.idxChr.push_back(idx);
#ifdef ZRCOLA_LANGCHAR_LANG_IDX
@@ -349,15 +352,15 @@ int _tmain(int argc, _TCHAR *argv[])
db.data.push_back((unsigned __int16)cg.id);
wxASSERT_MSG((int)0xffff8000 <= cg.rank && cg.rank <= (int)0x00007fff, wxT("character group rank out of bounds"));
db.data.push_back((unsigned __int16)cg.rank);
std::wstring::size_type n_name = cg.name.length();
wstring::size_type n_name = cg.name.length();
wxASSERT_MSG(n_name <= 0xffff, wxT("character group name too long"));
db.data.push_back((unsigned __int16)n_name);
std::wstring::size_type n_char = cg.chars.length();
wstring::size_type n_char = cg.chars.length();
wxASSERT_MSG(n_char <= 0xffff, wxT("too many character group characters"));
db.data.push_back((unsigned __int16)n_char);
for (std::wstring::size_type i = 0; i < n_name; i++)
for (wstring::size_type i = 0; i < n_name; i++)
db.data.push_back(cg.name[i]);
for (std::wstring::size_type i = 0; i < n_char; i++)
for (wstring::size_type i = 0; i < n_char; i++)
db.data.push_back(cg.chars[i]);
db.idxRnk.push_back(idx);
if (build_pot)
@@ -383,50 +386,68 @@ int _tmain(int argc, _TCHAR *argv[])
}
}
set<ZRCola::chrcatid_t> categories_used;
{
// Get characters.
ATL::CComPtr<ADORecordset> rs;
if (src.SelectCharacters(rs)) {
size_t count = src.GetRecordsetCount(rs);
if (count < 0xffffffff) { // 4G check (-1 is reserved for error condition)
ZRCola::DBSource::character chr;
ZRCola::character_db db;
ZRCola::DBSource::character_desc_idx idxChrDsc, idxChrDscSub;
ZRCola::DBSource::character_bank chrs;
// Phase 1: Parse characters and build indexes.
while (!ZRCola::DBSource::IsEOF(rs)) {
// Read character from the database.
unique_ptr<ZRCola::DBSource::character> c(new ZRCola::DBSource::character);
if (src.GetCharacter(rs, *c)) {
const ZRCola::DBSource::character &chr = *c.get();
chrs[chr.chr].swap(c);
} else
has_errors = true;
wxVERIFY(SUCCEEDED(rs->MoveNext()));
}
// Phase 2: Build related character lists.
chrs.build_related();
ZRCola::character_db db;
// Preallocate memory.
db.idxChr.reserve(count);
db.data .reserve(count*4);
// Parse characters and build index and data.
while (!ZRCola::DBSource::IsEOF(rs)) {
// Read character from the database.
if (src.GetCharacter(rs, chr)) {
// Add character to index and data.
unsigned __int32 idx = db.data.size();
db.data.push_back((unsigned __int16)chr.chr);
for (std::wstring::size_type i = 0; i < sizeof(ZRCola::chrcatid_t)/sizeof(unsigned __int16); i++)
db.data.push_back(((const unsigned __int16*)chr.cat.data)[i]);
std::wstring::size_type n_desc = chr.desc.length();
wxASSERT_MSG(n_desc <= 0xffff, wxT("character description too long"));
db.data.push_back((unsigned __int16)n_desc);
std::wstring::size_type n_rel = chr.rel.length();
wxASSERT_MSG(n_rel <= 0xffff, wxT("too many related characters"));
db.data.push_back((unsigned __int16)n_rel);
for (std::wstring::size_type i = 0; i < n_desc; i++)
db.data.push_back(chr.desc[i]);
for (std::wstring::size_type i = 0; i < n_rel; i++)
db.data.push_back(chr.rel[i]);
db.idxChr.push_back(idx);
// Phase 3: Parse characters and build index and data.
for (size_t i = 0, i_end = chrs.size(); i < i_end; i++) {
const ZRCola::DBSource::character &chr = *(chrs[i].get());
if (&chr == NULL) continue;
// Add description (and keywords) to index.
idxChrDsc .add_keywords(chr.desc .c_str(), chr.chr, 0);
idxChrDsc .add_keywords(chr.keywords.c_str(), chr.chr, 0);
idxChrDscSub.add_keywords(chr.desc .c_str(), chr.chr, 3);
idxChrDscSub.add_keywords(chr.keywords.c_str(), chr.chr, 3);
} else
has_errors = true;
// Add character to index and data.
unsigned __int32 idx = db.data.size();
db.data.push_back((unsigned __int16)chr.chr);
for (wstring::size_type i = 0; i < sizeof(ZRCola::chrcatid_t)/sizeof(unsigned __int16); i++)
db.data.push_back(((const unsigned __int16*)chr.cat.data)[i]);
wstring::size_type n_desc = chr.desc.length();
wxASSERT_MSG(n_desc <= 0xffff, wxT("character description too long"));
db.data.push_back((unsigned __int16)n_desc);
wstring::size_type n_rel = chr.rel.length();
wxASSERT_MSG(n_rel <= 0xffff, wxT("too many related characters"));
db.data.push_back((unsigned __int16)n_rel);
for (wstring::size_type i = 0; i < n_desc; i++)
db.data.push_back(chr.desc[i]);
for (wstring::size_type i = 0; i < n_rel; i++)
db.data.push_back(chr.rel[i]);
db.idxChr.push_back(idx);
wxVERIFY(SUCCEEDED(rs->MoveNext()));
// Add description (and keywords) to index.
idxChrDsc .add_keywords(chr.terms, chr.chr, 0);
idxChrDscSub.add_keywords(chr.terms, chr.chr, 3);
// Mark category used.
categories_used.insert(chr.cat);
}
// Sort indices.
@@ -466,21 +487,24 @@ int _tmain(int argc, _TCHAR *argv[])
while (!ZRCola::DBSource::IsEOF(rs)) {
// Read character category from the database.
if (src.GetCharacterCategory(rs, cc)) {
// Add character category to index and data.
unsigned __int32 idx = db.data.size();
for (std::wstring::size_type i = 0; i < sizeof(ZRCola::chrcatid_t)/sizeof(unsigned __int16); i++)
db.data.push_back(((const unsigned __int16*)cc.id.data)[i]);
wxASSERT_MSG((int)0xffff8000 <= cc.rank && cc.rank <= (int)0x00007fff, wxT("character category rank out of bounds"));
db.data.push_back((unsigned __int16)cc.rank);
std::wstring::size_type n_name = cc.name.length();
wxASSERT_MSG(n_name <= 0xffff, wxT("character category name too long"));
db.data.push_back((unsigned __int16)n_name);
for (std::wstring::size_type i = 0; i < n_name; i++)
db.data.push_back(cc.name[i]);
db.idxChrCat.push_back(idx);
db.idxRnk .push_back(idx);
if (build_pot)
pot.insert(cc.name);
if (categories_used.find(cc.id) != categories_used.end()) {
// Add character category to index and data.
unsigned __int32 idx = db.data.size();
for (wstring::size_type i = 0; i < sizeof(ZRCola::chrcatid_t)/sizeof(unsigned __int16); i++)
db.data.push_back(((const unsigned __int16*)cc.id.data)[i]);
wxASSERT_MSG((int)0xffff8000 <= cc.rank && cc.rank <= (int)0x00007fff, wxT("character category rank out of bounds"));
db.data.push_back((unsigned __int16)cc.rank);
wstring::size_type n_name = cc.name.length();
wxASSERT_MSG(n_name <= 0xffff, wxT("character category name too long"));
db.data.push_back((unsigned __int16)n_name);
for (wstring::size_type i = 0; i < n_name; i++)
db.data.push_back(cc.name[i]);
db.idxChrCat.push_back(idx);
db.idxRnk .push_back(idx);
if (build_pot)
pot.insert(cc.name);
} else
_ftprintf(stderr, wxT("%s: warning ZCC0019: Ommiting empty category %ls.\n"), (LPCTSTR)filenameIn.c_str(), (LPCWSTR)cc.name.c_str());
} else
has_errors = true;
@@ -503,7 +527,7 @@ int _tmain(int argc, _TCHAR *argv[])
}
}
stdex::idrec::close<ZRCola::recordid_t, ZRCola::recordsize_t, ZRCOLA_RECORD_ALIGN>(dst, dst_start);
idrec::close<ZRCola::recordid_t, ZRCola::recordsize_t, ZRCOLA_RECORD_ALIGN>(dst, dst_start);
if (dst.fail()) {
_ftprintf(stderr, wxT("%s: error ZCC1000: Writing to output file failed.\n"), (LPCTSTR)filenameOut.c_str());
@@ -512,21 +536,21 @@ int _tmain(int argc, _TCHAR *argv[])
if (!has_errors && build_pot) {
const wxString& filenamePot = parser.GetParam(2);
std::fstream dst((LPCTSTR)filenamePot, std::ios_base::out | std::ios_base::trunc);
fstream dst((LPCTSTR)filenamePot, ios_base::out | ios_base::trunc);
if (dst.good()) {
dst << "msgid \"\"" << std::endl
<< "msgstr \"\"" << std::endl
<< "\"Project-Id-Version: ZRCola.zrcdb\\n\"" << std::endl
<< "\"Language: en\\n\"" << std::endl
<< "\"MIME-Version: 1.0\\n\"" << std::endl
<< "\"Content-Type: text/plain; charset=UTF-8\\n\"" << std::endl
<< "\"Content-Transfer-Encoding: 8bit\\n\"" << std::endl
<< "\"X-Generator: ZRColaCompile " << ZRCOLA_VERSION_STR << "\\n\"" << std::endl;
dst << "msgid \"\"" << endl
<< "msgstr \"\"" << endl
<< "\"Project-Id-Version: ZRCola.zrcdb\\n\"" << endl
<< "\"Language: en\\n\"" << endl
<< "\"MIME-Version: 1.0\\n\"" << endl
<< "\"Content-Type: text/plain; charset=UTF-8\\n\"" << endl
<< "\"Content-Transfer-Encoding: 8bit\\n\"" << endl
<< "\"X-Generator: ZRColaCompile " << ZRCOLA_VERSION_STR << "\\n\"" << endl;
std::wstring_convert<std::codecvt_utf8<wchar_t>> conv;
for (std::set<std::wstring>::const_iterator i = pot.cbegin(); i != pot.cend(); ++i) {
wstring_convert<codecvt_utf8<wchar_t>> conv;
for (set<wstring>::const_iterator i = pot.cbegin(); i != pot.cend(); ++i) {
// Convert UTF-16 to UTF-8 and escape.
std::string t(conv.to_bytes(*i)), u;
string t(conv.to_bytes(*i)), u;
for (size_t i = 0, n = t.size(); i < n; i++) {
char c = t[i];
switch (c) {
@@ -537,9 +561,9 @@ int _tmain(int argc, _TCHAR *argv[])
default : u += c;
}
}
dst << std::endl
<< "msgid \"" << u << "\"" << std::endl
<< "msgstr \"\"" << std::endl;
dst << endl
<< "msgid \"" << u << "\"" << endl
<< "msgstr \"\"" << endl;
}
if (dst.fail()) {

View File

@@ -52,4 +52,6 @@
#include <codecvt>
#include <cwctype>
#include <fstream>
#include <memory>
#include <set>
#include <vector>

View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<OutDir>..\output\$(Platform).$(Configuration)\</OutDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<CompileAsManaged>false</CompileAsManaged>
<BufferSecurityCheck>false</BufferSecurityCheck>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<SmallerTypeCheck>false</SmallerTypeCheck>
</ClCompile>
<Link>
<IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
<ClCompile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="ZRColaInstall.rc" />
</ItemGroup>
</Project>

Binary file not shown.

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{620D6AC0-C8FF-4185-B820-DB1503ACB95C}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>ZRColaInstallDe</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\include\Win32.props" />
<Import Project="..\include\Debug.props" />
<Import Project="ZRColaInstall.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\include\Win32.props" />
<Import Project="..\include\Release.props" />
<Import Project="ZRColaInstall.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>ZRCOLA_INSTALL_LANG="De";%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>ZRCOLA_INSTALL_LANG="De";%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="stdafx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="ZRColaInstall.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{5BD95B95-38B0-4C7D-9471-F99CA1203DF4}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>ZRColaInstallEn</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\include\Win32.props" />
<Import Project="..\include\Debug.props" />
<Import Project="ZRColaInstall.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\include\Win32.props" />
<Import Project="..\include\Release.props" />
<Import Project="ZRColaInstall.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>ZRCOLA_INSTALL_LANG="En";%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>ZRCOLA_INSTALL_LANG="En";%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="stdafx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="ZRColaInstall.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{2551B561-5E5B-497E-AE01-11519F91EF19}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>ZRColaInstallRu</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\include\Win32.props" />
<Import Project="..\include\Debug.props" />
<Import Project="ZRColaInstall.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\include\Win32.props" />
<Import Project="..\include\Release.props" />
<Import Project="ZRColaInstall.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>ZRCOLA_INSTALL_LANG="Ru";%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>ZRCOLA_INSTALL_LANG="Ru";%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="stdafx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="ZRColaInstall.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{0C2C89C2-C96B-41B6-AA99-7E7741E20F3A}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>ZRColaInstallSl</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\include\Win32.props" />
<Import Project="..\include\Debug.props" />
<Import Project="ZRColaInstall.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\include\Win32.props" />
<Import Project="..\include\Release.props" />
<Import Project="ZRColaInstall.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>ZRCOLA_INSTALL_LANG="Sl";%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>ZRCOLA_INSTALL_LANG="Sl";%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="stdafx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="ZRColaInstall.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
</Project>

97
ZRColaInstall/main.cpp Normal file
View File

@@ -0,0 +1,97 @@
/*
Copyright 2015-2016 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"
///
/// Main function
///
extern "C" void WinMainCRTStartup()
{
// Load "KERNEL32.DLL".
HMODULE hKernel32 = LoadLibrary(TEXT("KERNEL32.DLL"));
if (!hKernel32)
ExitProcess(1);
// Get IsWow64Process() address.
BOOL (WINAPI *_IsWow64Process)(__in HANDLE hProcess, __out PBOOL Wow64Process) = (BOOL(WINAPI*)(__in HANDLE, __out PBOOL))::GetProcAddress(hKernel32, "IsWow64Process");
BOOL bIs64Bit;
#ifndef _WIN64
// Determine if this is a 32-bit process under Windows-over-Windows64.
if (_IsWow64Process) {
// See what IsWow64Process() says.
if (!_IsWow64Process(::GetCurrentProcess(), &bIs64Bit)) {
// IsWow64Process() returned an error. Assume not 64-bit Windows.
bIs64Bit = FALSE;
}
} else {
// This platform does not have IsWow64Process(). Therefore, this is definitely not 64-bit Windows.
bIs64Bit = FALSE;
}
#else
// This is a running 64-bit process. The Windows must be 64 bit then.
bIs64Bit = TRUE;
#endif
FreeLibrary(hKernel32);
// Get temporary folder path.
static const LPTSTR pszTempFolderDefault = TEXT("");
LPTSTR pszTempFolder;
DWORD dwLength;
if ((dwLength = GetEnvironmentVariable(TEXT("TEMP"), NULL, 0)) != 0 &&
(pszTempFolder = (LPTSTR)LocalAlloc(LMEM_FIXED, (dwLength + 1)*sizeof(TCHAR))) != NULL) // +1 is for trailing backslash when missing!
{
dwLength = ::GetEnvironmentVariable(TEXT("TEMP"), pszTempFolder, dwLength);
if (pszTempFolder[dwLength - 1] != TEXT('\\')) {
// Append trailing backslash.
pszTempFolder[dwLength ] = TEXT('\\');
pszTempFolder[dwLength + 1] = 0;
}
} else
pszTempFolder = pszTempFolderDefault;
// Format msiexec's command line.
LPTSTR pszParams;
DWORD_PTR aArgs[] = {
(DWORD_PTR)TEXT(ZRCOLA_INSTALL_LANG),
(DWORD_PTR)(bIs64Bit ? TEXT("64") : TEXT("32")),
(DWORD_PTR)pszTempFolder,
};
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_ARGUMENT_ARRAY | FORMAT_MESSAGE_FROM_STRING,
TEXT("/i \"http://www.amebis.si/prenos/ZRCola/_latest/ZRCola%1%2.msi\" /l* \"%3ZRCola%1%2.log\""),
0,
0,
(LPTSTR)&pszParams,
1,
(va_list*)aArgs);
// Launch installation.
int iResult = (int)ShellExecute(NULL, NULL, TEXT("msiexec.exe"), pszParams, NULL, SW_SHOWNORMAL) > 32;
// Clean up.
LocalFree(pszParams);
if (pszTempFolder != pszTempFolderDefault) LocalFree(pszTempFolder);
ExitProcess(iResult ? 0 : 2);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

File diff suppressed because one or more lines are too long

20
ZRColaInstall/stdafx.cpp Normal file
View File

@@ -0,0 +1,20 @@
/*
Copyright 2015-2016 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"

22
ZRColaInstall/stdafx.h Normal file
View File

@@ -0,0 +1,22 @@
/*
Copyright 2015-2016 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/>.
*/
#pragma once
#include <Windows.h>

View File

@@ -18,6 +18,16 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stdex", "lib\stdex\build\st
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libZRColaUI", "lib\libZRColaUI\build\libZRColaUI.vcxproj", "{C0A84BD2-3870-4CD6-B281-0AB322E3C579}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ZRColaInstall", "ZRColaInstall", "{7F5D45A3-B3D2-4B1D-B258-9B83395786E6}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZRColaInstallSl", "ZRColaInstall\ZRColaInstallSl.vcxproj", "{0C2C89C2-C96B-41B6-AA99-7E7741E20F3A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZRColaInstallDe", "ZRColaInstall\ZRColaInstallDe.vcxproj", "{620D6AC0-C8FF-4185-B820-DB1503ACB95C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZRColaInstallEn", "ZRColaInstall\ZRColaInstallEn.vcxproj", "{5BD95B95-38B0-4C7D-9471-F99CA1203DF4}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZRColaInstallRu", "ZRColaInstall\ZRColaInstallRu.vcxproj", "{2551B561-5E5B-497E-AE01-11519F91EF19}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -64,6 +74,30 @@ Global
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Release|Win32.Build.0 = Release|Win32
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Release|x64.ActiveCfg = Release|x64
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Release|x64.Build.0 = Release|x64
{0C2C89C2-C96B-41B6-AA99-7E7741E20F3A}.Debug|Win32.ActiveCfg = Debug|Win32
{0C2C89C2-C96B-41B6-AA99-7E7741E20F3A}.Debug|Win32.Build.0 = Debug|Win32
{0C2C89C2-C96B-41B6-AA99-7E7741E20F3A}.Debug|x64.ActiveCfg = Debug|Win32
{0C2C89C2-C96B-41B6-AA99-7E7741E20F3A}.Release|Win32.ActiveCfg = Release|Win32
{0C2C89C2-C96B-41B6-AA99-7E7741E20F3A}.Release|Win32.Build.0 = Release|Win32
{0C2C89C2-C96B-41B6-AA99-7E7741E20F3A}.Release|x64.ActiveCfg = Release|Win32
{620D6AC0-C8FF-4185-B820-DB1503ACB95C}.Debug|Win32.ActiveCfg = Debug|Win32
{620D6AC0-C8FF-4185-B820-DB1503ACB95C}.Debug|Win32.Build.0 = Debug|Win32
{620D6AC0-C8FF-4185-B820-DB1503ACB95C}.Debug|x64.ActiveCfg = Debug|Win32
{620D6AC0-C8FF-4185-B820-DB1503ACB95C}.Release|Win32.ActiveCfg = Release|Win32
{620D6AC0-C8FF-4185-B820-DB1503ACB95C}.Release|Win32.Build.0 = Release|Win32
{620D6AC0-C8FF-4185-B820-DB1503ACB95C}.Release|x64.ActiveCfg = Release|Win32
{5BD95B95-38B0-4C7D-9471-F99CA1203DF4}.Debug|Win32.ActiveCfg = Debug|Win32
{5BD95B95-38B0-4C7D-9471-F99CA1203DF4}.Debug|Win32.Build.0 = Debug|Win32
{5BD95B95-38B0-4C7D-9471-F99CA1203DF4}.Debug|x64.ActiveCfg = Debug|Win32
{5BD95B95-38B0-4C7D-9471-F99CA1203DF4}.Release|Win32.ActiveCfg = Release|Win32
{5BD95B95-38B0-4C7D-9471-F99CA1203DF4}.Release|Win32.Build.0 = Release|Win32
{5BD95B95-38B0-4C7D-9471-F99CA1203DF4}.Release|x64.ActiveCfg = Release|Win32
{2551B561-5E5B-497E-AE01-11519F91EF19}.Debug|Win32.ActiveCfg = Debug|Win32
{2551B561-5E5B-497E-AE01-11519F91EF19}.Debug|Win32.Build.0 = Debug|Win32
{2551B561-5E5B-497E-AE01-11519F91EF19}.Debug|x64.ActiveCfg = Debug|Win32
{2551B561-5E5B-497E-AE01-11519F91EF19}.Release|Win32.ActiveCfg = Release|Win32
{2551B561-5E5B-497E-AE01-11519F91EF19}.Release|Win32.Build.0 = Release|Win32
{2551B561-5E5B-497E-AE01-11519F91EF19}.Release|x64.ActiveCfg = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -73,5 +107,9 @@ Global
{A3A36689-AC35-4026-93DA-A3BA0C0E767C} = {A7D28E0C-BB96-444D-AAB0-F22A6483FE5F}
{518777CC-0A59-4415-A12A-82751ED75343} = {A7D28E0C-BB96-444D-AAB0-F22A6483FE5F}
{C0A84BD2-3870-4CD6-B281-0AB322E3C579} = {A7D28E0C-BB96-444D-AAB0-F22A6483FE5F}
{0C2C89C2-C96B-41B6-AA99-7E7741E20F3A} = {7F5D45A3-B3D2-4B1D-B258-9B83395786E6}
{620D6AC0-C8FF-4185-B820-DB1503ACB95C} = {7F5D45A3-B3D2-4B1D-B258-9B83395786E6}
{5BD95B95-38B0-4C7D-9471-F99CA1203DF4} = {7F5D45A3-B3D2-4B1D-B258-9B83395786E6}
{2551B561-5E5B-497E-AE01-11519F91EF19} = {7F5D45A3-B3D2-4B1D-B258-9B83395786E6}
EndGlobalSection
EndGlobal

View File

@@ -41,7 +41,13 @@
<ItemGroup />
<Target Name="Sign" Condition="'$(ManifestCertificateThumbprint)' != '' and ('$(ConfigurationType)' == 'Application' or '$(ConfigurationType)' == 'DynamicLibrary')" AfterTargets="_Manifest" BeforeTargets="RegisterOutput" Inputs="$(OutDir)$(TargetName)$(TargetExt)" Outputs="$(IntDir)$(TargetName).sign">
<Message Text="Signing output file..." />
<SignFile CertificateThumbprint="$(ManifestCertificateThumbprint)" SigningTarget="$(OutDir)$(TargetName)$(TargetExt)" />
<!--
To make Windows XP and Vista compliant signatures, the binaries have to be signed using SHA1.
<SignFile> switches to SHA256 if the signing certificate is SHA256.
Reverted to signtool.exe until we can drop Windows XP and Vista support.
-->
<!--<SignFile CertificateThumbprint="$(ManifestCertificateThumbprint)" SigningTarget="$(OutDir)$(TargetName)$(TargetExt)" />-->
<Exec Command="signtool.exe sign /du &quot;http://www.amebis.si&quot; /sha1 &quot;%ManifestCertificateThumbprint%&quot; /fd sha1 /q &quot;$(TargetPath)&quot;" />
<Touch Files="$(IntDir)$(TargetName).sign" AlwaysCreate="true" />
</Target>
</Project>

Binary file not shown.

View File

@@ -61,7 +61,13 @@
<ItemGroup />
<Target Name="Sign" Condition="'$(ManifestCertificateThumbprint)' != '' and ('$(ConfigurationType)' == 'Application' or '$(ConfigurationType)' == 'DynamicLibrary')" AfterTargets="_Manifest" BeforeTargets="RegisterOutput" Inputs="$(OutDir)$(TargetName)$(TargetExt)" Outputs="$(IntDir)$(TargetName).sign">
<Message Text="Signing output file..." />
<SignFile CertificateThumbprint="$(ManifestCertificateThumbprint)" TimestampUrl="$(ManifestTimestampUrl)" SigningTarget="$(OutDir)$(TargetName)$(TargetExt)" />
<!--
To make Windows XP and Vista compliant signatures, the binaries have to be signed using SHA1.
<SignFile> switches to SHA256 if the signing certificate is SHA256.
Reverted to signtool.exe until we can drop Windows XP and Vista support.
-->
<!--<SignFile CertificateThumbprint="$(ManifestCertificateThumbprint)" TimestampUrl="$(ManifestTimestampUrl)" SigningTarget="$(OutDir)$(TargetName)$(TargetExt)" />-->
<Exec Command="signtool.exe sign /du &quot;http://www.amebis.si&quot; /sha1 &quot;%ManifestCertificateThumbprint%&quot; /fd sha1 /t &quot;%ManifestTimestampUrl%&quot; /q &quot;$(TargetPath)&quot;" />
<Touch Files="$(IntDir)$(TargetName).sign" AlwaysCreate="true" />
</Target>
</Project>

View File

@@ -23,7 +23,7 @@
// Product version as a single DWORD
// Note: Used for version comparison within C/C++ code.
//
#define ZRCOLA_VERSION 0x01ff0800
#define ZRCOLA_VERSION 0x01ff0b00
//
// Product version by components
@@ -33,26 +33,26 @@
//
#define ZRCOLA_VERSION_MAJ 1
#define ZRCOLA_VERSION_MIN 255
#define ZRCOLA_VERSION_REV 8
#define ZRCOLA_VERSION_REV 11
#define ZRCOLA_VERSION_BUILD 0
//
// Human readable product version and build year for UI
//
#define ZRCOLA_VERSION_STR "2.0-beta"
#define ZRCOLA_VERSION_STR "2.0-beta3"
#define ZRCOLA_BUILD_YEAR_STR "2016"
//
// Numerical version presentation for ProductVersion propery in
// MSI packages (syntax: N.N[.N[.N]])
//
#define ZRCOLA_VERSION_INST "1.255.8"
#define ZRCOLA_VERSION_INST "1.255.11"
//
// The product code for ProductCode property in MSI packages
// Replace with new on every version change, regardless how minor it is.
//
#define ZRCOLA_VERSION_GUID "{9ABAB2D1-7A6B-4D99-B362-D98D53930367}"
#define ZRCOLA_VERSION_GUID "{51E1E2D4-2409-48B3-AC57-5E853F3665EF}"
//
// The product vendor and application name for configuration keeping.

View File

@@ -36,6 +36,11 @@
namespace ZRCola {
///
/// Character rank type
///
typedef double charrank_t;
///
/// Character category ID type
/// Two letter abbreviation, non-terminated
@@ -237,7 +242,7 @@ namespace ZRCola {
/// \param[in] fn_abort Pointer to function to periodically test for search cancellation
/// \param[in] cookie Cookie for \p fn_abort call
///
bool Search(_In_z_ const wchar_t *str, _In_ const std::set<chrcatid_t> &cats, _Inout_ std::map<wchar_t, unsigned long> &hits, _Inout_ std::map<wchar_t, unsigned long> &hits_sub, _In_opt_ bool (__cdecl *fn_abort)(void *cookie) = NULL, _In_opt_ void *cookie = NULL) const;
bool Search(_In_z_ const wchar_t *str, _In_ const std::set<chrcatid_t> &cats, _Inout_ std::map<wchar_t, charrank_t> &hits, _Inout_ std::map<wchar_t, charrank_t> &hits_sub, _In_opt_ bool (__cdecl *fn_abort)(void *cookie) = NULL, _In_opt_ void *cookie = NULL) const;
///
/// Get character category

View File

@@ -475,9 +475,10 @@ namespace ZRCola {
inline int compare(_In_count_(key_len) const T_key *key, _In_ size_t key_len, size_type pos) const
{
// Get key at position pos.
size_type pos_next = pos + 1;
size_t
start = base_t::at(pos ).idx_key,
key2_len = (pos < size() ? base_t::at(pos + 1).idx_key : keys.size()) - start;
start = base_t::at(pos ).idx_key,
key2_len = (pos_next < size() ? base_t::at(pos_next).idx_key : keys.size()) - start;
std::vector<T_key>::const_pointer key2 = &keys.at(start);
// Compare keys.

View File

@@ -20,7 +20,7 @@
#include "stdafx.h"
bool ZRCola::character_db::Search(_In_z_ const wchar_t *str, _In_ const std::set<chrcatid_t> &cats, _Inout_ std::map<wchar_t, unsigned long> &hits, _Inout_ std::map<wchar_t, unsigned long> &hits_sub, _In_opt_ bool (__cdecl *fn_abort)(void *cookie), _In_opt_ void *cookie) const
bool ZRCola::character_db::Search(_In_z_ const wchar_t *str, _In_ const std::set<chrcatid_t> &cats, _Inout_ std::map<wchar_t, charrank_t> &hits, _Inout_ std::map<wchar_t, charrank_t> &hits_sub, _In_opt_ bool (__cdecl *fn_abort)(void *cookie), _In_opt_ void *cookie) const
{
assert(str);
@@ -77,13 +77,13 @@ bool ZRCola::character_db::Search(_In_z_ const wchar_t *str, _In_ const std::set
if (fn_abort && fn_abort(cookie)) return false;
wchar_t c = data[i];
if (cats.find(GetCharCat(c)) != cats.end()) {
std::map<wchar_t, unsigned long>::iterator idx = hits.find(c);
std::map<wchar_t, charrank_t>::iterator idx = hits.find(c);
if (idx == hits.end()) {
// New character.
hits.insert(std::make_pair(data[i], 1));
hits.insert(std::make_pair(data[i], 1.0/len));
} else {
// Increment existing character.
idx->second++;
// Increase rating of existing character.
idx->second += 1.0/len;
}
}
}
@@ -95,13 +95,13 @@ bool ZRCola::character_db::Search(_In_z_ const wchar_t *str, _In_ const std::set
if (fn_abort && fn_abort(cookie)) return false;
wchar_t c = data[i];
if (cats.find(GetCharCat(c)) != cats.end()) {
std::map<wchar_t, unsigned long>::iterator idx = hits_sub.find(c);
std::map<wchar_t, charrank_t>::iterator idx = hits_sub.find(c);
if (idx == hits_sub.end()) {
// New character.
hits_sub.insert(std::make_pair(data[i], 1));
hits_sub.insert(std::make_pair(data[i], 1.0/len));
} else {
// Increment existing character.
idx->second++;
// Increase rating of existing character.
idx->second += 1.0/len;
}
}
}

View File

@@ -37,6 +37,8 @@
<ResourceCompile Include="..\res\libZRColaUI.rc" />
</ItemGroup>
<ItemGroup>
<POCompile Include="..\locale\de_DE.po" />
<POCompile Include="..\locale\ru_RU.po" />
<POCompile Include="..\locale\sl_SI.po" />
</ItemGroup>
<ItemGroup>

View File

@@ -53,5 +53,11 @@
<POCompile Include="..\locale\sl_SI.po">
<Filter>Resource Files\Localization</Filter>
</POCompile>
<POCompile Include="..\locale\de_DE.po">
<Filter>Resource Files\Localization</Filter>
</POCompile>
<POCompile Include="..\locale\ru_RU.po">
<Filter>Resource Files\Localization</Filter>
</POCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,179 @@
msgid ""
msgstr ""
"Project-Id-Version: libZRColaUI\n"
"POT-Creation-Date: 2016-05-13 19:19+0200\n"
"PO-Revision-Date: 2016-05-13 19:20+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.7\n"
"X-Poedit-Basepath: .\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: _\n"
#: src/keyboard.cpp:30 src/keyboard.cpp:72
#, fuzzy
msgid "Ctrl"
msgstr "strg"
#: src/keyboard.cpp:31 src/keyboard.cpp:71
#, fuzzy
msgid "Alt"
msgstr "alt"
#: src/keyboard.cpp:32 src/keyboard.cpp:70
#, fuzzy
msgid "Shift"
msgstr "Umschalt"
#: src/keyboard.cpp:45
#, fuzzy
msgid "Esc"
msgstr "ESC"
#: src/keyboard.cpp:47
msgid "F1"
msgstr ""
#: src/keyboard.cpp:48
msgid "F2"
msgstr ""
#: src/keyboard.cpp:49
msgid "F3"
msgstr ""
#: src/keyboard.cpp:50
msgid "F4"
msgstr ""
#: src/keyboard.cpp:51
msgid "F5"
msgstr ""
#: src/keyboard.cpp:52
msgid "F6"
msgstr ""
#: src/keyboard.cpp:53
msgid "F7"
msgstr ""
#: src/keyboard.cpp:54
msgid "F8"
msgstr ""
#: src/keyboard.cpp:55
msgid "F9"
msgstr ""
#: src/keyboard.cpp:56
msgid "F10"
msgstr ""
#: src/keyboard.cpp:57
msgid "F11"
msgstr ""
#: src/keyboard.cpp:58
msgid "F12"
msgstr ""
#: src/keyboard.cpp:60
msgid "Print Screen"
msgstr ""
#: src/keyboard.cpp:61
#, fuzzy
msgid "Scroll Lock"
msgstr "ROLLEN_LOCK"
#: src/keyboard.cpp:62
#, fuzzy
msgid "Pause"
msgstr "PAUSE"
#: src/keyboard.cpp:64
msgid "Backspace"
msgstr ""
#: src/keyboard.cpp:65
#, fuzzy
msgid "Tab"
msgstr "Tabulator"
#: src/keyboard.cpp:66
msgid "Caps Lock"
msgstr ""
#: src/keyboard.cpp:67
#, fuzzy
msgid "Return"
msgstr "EINGABE"
#: src/keyboard.cpp:68
#, fuzzy
msgid "Space"
msgstr "Leertaste"
#: src/keyboard.cpp:73
#, fuzzy
msgid "Menu"
msgstr "Menü"
#: src/keyboard.cpp:75
#, fuzzy
msgid "Insert"
msgstr "Einfügen"
#: src/keyboard.cpp:76
#, fuzzy
msgid "Delete"
msgstr "Löschen"
#: src/keyboard.cpp:77
msgid "Page Up"
msgstr ""
#: src/keyboard.cpp:78
msgid "Page Down"
msgstr ""
#: src/keyboard.cpp:79
#, fuzzy
msgid "Home"
msgstr "Start"
#: src/keyboard.cpp:80
#, fuzzy
msgid "End"
msgstr "ENDE"
#: src/keyboard.cpp:82
#, fuzzy
msgid "Left"
msgstr "Links"
#: src/keyboard.cpp:83
#, fuzzy
msgid "Up"
msgstr "Hoch"
#: src/keyboard.cpp:84
#, fuzzy
msgid "Right"
msgstr "Rechts"
#: src/keyboard.cpp:85
#, fuzzy
msgid "Down"
msgstr "Herunter"
#: src/keyboard.cpp:87
#, fuzzy
msgid "Num Lock"
msgstr "Num_LOCK"

View File

@@ -0,0 +1,161 @@
msgid ""
msgstr ""
"Project-Id-Version: libZRColaUI\n"
"POT-Creation-Date: 2016-05-13 19:20+0200\n"
"PO-Revision-Date: 2016-05-13 19:20+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.7\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"
"X-Poedit-KeywordsList: _\n"
#: src/keyboard.cpp:30 src/keyboard.cpp:72
msgid "Ctrl"
msgstr ""
#: src/keyboard.cpp:31 src/keyboard.cpp:71
msgid "Alt"
msgstr ""
#: src/keyboard.cpp:32 src/keyboard.cpp:70
msgid "Shift"
msgstr ""
#: src/keyboard.cpp:45
msgid "Esc"
msgstr ""
#: src/keyboard.cpp:47
msgid "F1"
msgstr ""
#: src/keyboard.cpp:48
msgid "F2"
msgstr ""
#: src/keyboard.cpp:49
msgid "F3"
msgstr ""
#: src/keyboard.cpp:50
msgid "F4"
msgstr ""
#: src/keyboard.cpp:51
msgid "F5"
msgstr ""
#: src/keyboard.cpp:52
msgid "F6"
msgstr ""
#: src/keyboard.cpp:53
msgid "F7"
msgstr ""
#: src/keyboard.cpp:54
msgid "F8"
msgstr ""
#: src/keyboard.cpp:55
msgid "F9"
msgstr ""
#: src/keyboard.cpp:56
msgid "F10"
msgstr ""
#: src/keyboard.cpp:57
msgid "F11"
msgstr ""
#: src/keyboard.cpp:58
msgid "F12"
msgstr ""
#: src/keyboard.cpp:60
msgid "Print Screen"
msgstr ""
#: src/keyboard.cpp:61
msgid "Scroll Lock"
msgstr ""
#: src/keyboard.cpp:62
msgid "Pause"
msgstr ""
#: src/keyboard.cpp:64
msgid "Backspace"
msgstr ""
#: src/keyboard.cpp:65
msgid "Tab"
msgstr ""
#: src/keyboard.cpp:66
msgid "Caps Lock"
msgstr ""
#: src/keyboard.cpp:67
msgid "Return"
msgstr ""
#: src/keyboard.cpp:68
msgid "Space"
msgstr ""
#: src/keyboard.cpp:73
msgid "Menu"
msgstr ""
#: src/keyboard.cpp:75
msgid "Insert"
msgstr ""
#: src/keyboard.cpp:76
msgid "Delete"
msgstr ""
#: src/keyboard.cpp:77
msgid "Page Up"
msgstr ""
#: src/keyboard.cpp:78
msgid "Page Down"
msgstr ""
#: src/keyboard.cpp:79
msgid "Home"
msgstr ""
#: src/keyboard.cpp:80
msgid "End"
msgstr ""
#: src/keyboard.cpp:82
msgid "Left"
msgstr ""
#: src/keyboard.cpp:83
msgid "Up"
msgstr ""
#: src/keyboard.cpp:84
msgid "Right"
msgstr ""
#: src/keyboard.cpp:85
msgid "Down"
msgstr ""
#: src/keyboard.cpp:87
msgid "Num Lock"
msgstr ""

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,4 +1,5 @@
*/libZRColaUI.mo
*/wxExtend11.mo
*/wxExtend13.mo
*/Updater10.mo
*/ZRCola.mo
*/ZRColaCompile.mo

View File

@@ -5,7 +5,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: ZRColaCompile 2.0-alpha7\n"
"X-Generator: ZRColaCompile 2.0-beta1\n"
msgid "Albanian"
msgstr ""
@@ -163,81 +163,18 @@ msgstr ""
msgid "Letter a"
msgstr ""
msgid "Letter b"
msgstr ""
msgid "Letter c"
msgstr ""
msgid "Letter d"
msgstr ""
msgid "Letter e"
msgstr ""
msgid "Letter f"
msgstr ""
msgid "Letter g"
msgstr ""
msgid "Letter h"
msgstr ""
msgid "Letter i"
msgstr ""
msgid "Letter j"
msgstr ""
msgid "Letter k"
msgstr ""
msgid "Letter l"
msgstr ""
msgid "Letter m"
msgstr ""
msgid "Letter n"
msgstr ""
msgid "Letter o"
msgstr ""
msgid "Letter p"
msgstr ""
msgid "Letter q"
msgstr ""
msgid "Letter r"
msgstr ""
msgid "Letter s"
msgstr ""
msgid "Letter t"
msgstr ""
msgid "Letter u"
msgstr ""
msgid "Letter v"
msgstr ""
msgid "Letter w"
msgstr ""
msgid "Letter x"
msgstr ""
msgid "Letter y"
msgstr ""
msgid "Letter z"
msgstr ""
msgid "Letter, Lowercase"
msgstr ""
@@ -271,9 +208,6 @@ msgstr ""
msgid "Mark, Non-Spacing"
msgstr ""
msgid "Mark, Spacing Combining"
msgstr ""
msgid "Metric"
msgstr ""
@@ -328,21 +262,15 @@ msgstr ""
msgid "Number, Other"
msgstr ""
msgid "Numbers"
msgstr ""
msgid "Numbers - Circled"
msgstr ""
msgid "Other, Control"
msgid "Other modifiers"
msgstr ""
msgid "Other, Format"
msgstr ""
msgid "Other, Surrogate"
msgstr ""
msgid "Parentheses"
msgstr ""
@@ -382,12 +310,6 @@ msgstr ""
msgid "Russian"
msgstr ""
msgid "Separator, Line"
msgstr ""
msgid "Separator, Paragraph"
msgstr ""
msgid "Separator, Space"
msgstr ""
@@ -469,6 +391,9 @@ msgstr ""
msgid "Symbol, Other"
msgstr ""
msgid "Transliterated"
msgstr ""
msgid "Turkish"
msgstr ""

Binary file not shown.

View File

@@ -0,0 +1,423 @@
msgid ""
msgstr ""
"Project-Id-Version: ZRCola.zrcdb\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \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.7\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Poedit-SourceCharset: UTF-8\n"
msgid "Albanian"
msgstr ""
msgid "Arrows"
msgstr ""
msgid "Belarusian"
msgstr ""
msgid "Bosnian Cyrillic"
msgstr ""
msgid "Bosnian Latinic"
msgstr ""
msgid "Combine"
msgstr ""
msgid "Combine Above"
msgstr ""
msgid "Combine Below"
msgstr ""
msgid "Combine Over"
msgstr ""
msgid "Croatian"
msgstr ""
msgid "Currencies"
msgstr ""
msgid "Czech"
msgstr ""
msgid "Danish"
msgstr ""
msgid "English"
msgstr ""
msgid "Estonian"
msgstr ""
msgid "Eva"
msgstr ""
msgid "French"
msgstr ""
msgid "Friulian"
msgstr ""
msgid "German"
msgstr ""
msgid "Hungarian"
msgstr ""
msgid "Irish Gaelic"
msgstr ""
msgid "Joined"
msgstr ""
msgid "Kashubian"
msgstr ""
msgid "Latin"
msgstr ""
msgid "Latvian"
msgstr ""
#, fuzzy
msgid "Letter A"
msgstr "Letter Extra 9 1/2 x 12 Zoll"
msgid "Letter B"
msgstr ""
msgid "Letter C"
msgstr ""
msgid "Letter D"
msgstr ""
msgid "Letter E"
msgstr ""
msgid "Letter F"
msgstr ""
msgid "Letter G"
msgstr ""
msgid "Letter H"
msgstr ""
msgid "Letter I"
msgstr ""
msgid "Letter J"
msgstr ""
msgid "Letter K"
msgstr ""
msgid "Letter L"
msgstr ""
msgid "Letter M"
msgstr ""
msgid "Letter N"
msgstr ""
msgid "Letter O"
msgstr ""
msgid "Letter P"
msgstr ""
msgid "Letter Q"
msgstr ""
msgid "Letter R"
msgstr ""
msgid "Letter S"
msgstr ""
msgid "Letter T"
msgstr ""
msgid "Letter U"
msgstr ""
msgid "Letter V"
msgstr ""
msgid "Letter W"
msgstr ""
msgid "Letter X"
msgstr ""
msgid "Letter Y"
msgstr ""
msgid "Letter Z"
msgstr ""
#, fuzzy
msgid "Letter a"
msgstr "Letter Extra 9 1/2 x 12 Zoll"
msgid "Letter e"
msgstr ""
msgid "Letter i"
msgstr ""
msgid "Letter o"
msgstr ""
msgid "Letter u"
msgstr ""
msgid "Letter, Lowercase"
msgstr ""
msgid "Letter, Modifier"
msgstr ""
msgid "Letter, Other"
msgstr ""
msgid "Letter, Titlecase"
msgstr ""
msgid "Letter, Uppercase"
msgstr ""
msgid "Ligatures"
msgstr ""
msgid "Lithuanian"
msgstr ""
msgid "Macedonian"
msgstr ""
msgid "Maltese"
msgstr ""
msgid "Mark, Enclosing"
msgstr ""
msgid "Mark, Non-Spacing"
msgstr ""
msgid "Metric"
msgstr ""
#, fuzzy
msgid "Modified"
msgstr "Geändert"
msgid "Moldavian Cyrillic"
msgstr ""
msgid "Moldavian Latinic"
msgstr ""
msgid "Norwegian"
msgstr ""
msgid "Number 0"
msgstr ""
msgid "Number 1"
msgstr ""
msgid "Number 2"
msgstr ""
msgid "Number 3"
msgstr ""
msgid "Number 4"
msgstr ""
msgid "Number 5"
msgstr ""
msgid "Number 6"
msgstr ""
msgid "Number 7"
msgstr ""
msgid "Number 8"
msgstr ""
msgid "Number 9"
msgstr ""
msgid "Number, Decimal Digit"
msgstr ""
msgid "Number, Letter"
msgstr ""
msgid "Number, Other"
msgstr ""
msgid "Numbers - Circled"
msgstr ""
msgid "Other modifiers"
msgstr ""
msgid "Other, Format"
msgstr ""
msgid "Parentheses"
msgstr ""
msgid "Polish"
msgstr ""
msgid "Portuguese"
msgstr ""
msgid "Punctuation, Close"
msgstr ""
msgid "Punctuation, Connector"
msgstr ""
msgid "Punctuation, Dash"
msgstr ""
msgid "Punctuation, Final quote"
msgstr ""
msgid "Punctuation, Initial quote"
msgstr ""
msgid "Punctuation, Open"
msgstr ""
msgid "Punctuation, Other"
msgstr ""
msgid "Quotes"
msgstr ""
msgid "Romanian"
msgstr ""
msgid "Russian"
msgstr ""
msgid "Separator, Space"
msgstr ""
msgid "Serbian Cyrillic"
msgstr ""
msgid "Serbian Latinic"
msgstr ""
msgid "Slovak"
msgstr ""
msgid "Slovenian"
msgstr ""
msgid "Sorbian"
msgstr ""
msgid "Spanish"
msgstr ""
msgid "Special Characters"
msgstr ""
msgid "Strokes"
msgstr ""
msgid "Surrounded"
msgstr ""
msgid "Swedish"
msgstr ""
#, fuzzy
msgid "Symbol !"
msgstr "&Symbol:"
#, fuzzy
msgid "Symbol ("
msgstr "&Symbol:"
#, fuzzy
msgid "Symbol )"
msgstr "&Symbol:"
#, fuzzy
msgid "Symbol +"
msgstr "&Symbol:"
#, fuzzy
msgid "Symbol ,"
msgstr "&Symbol:"
#, fuzzy
msgid "Symbol -"
msgstr "&Symbol:"
#, fuzzy
msgid "Symbol :"
msgstr "&Symbol:"
#, fuzzy
msgid "Symbol ;"
msgstr "&Symbol:"
#, fuzzy
msgid "Symbol <"
msgstr "&Symbol:"
#, fuzzy
msgid "Symbol ="
msgstr "&Symbol:"
#, fuzzy
msgid "Symbol >"
msgstr "&Symbol:"
#, fuzzy
msgid "Symbol ?"
msgstr "&Symbol:"
msgid "Symbol, Currency"
msgstr ""
msgid "Symbol, Math"
msgstr ""
msgid "Symbol, Modifier"
msgstr ""
msgid "Symbol, Other"
msgstr ""
msgid "Transliterated"
msgstr ""
#, fuzzy
msgid "Turkish"
msgstr "Windows Türkisch (CP 1254)"
msgid "Ukrainian"
msgstr ""

Binary file not shown.

9107
output/locale/de_DE/wxstd.po Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -0,0 +1,408 @@
msgid ""
msgstr ""
"Project-Id-Version: ZRCola.zrcdb\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \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.7\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"
msgid "Albanian"
msgstr ""
msgid "Arrows"
msgstr ""
msgid "Belarusian"
msgstr ""
msgid "Bosnian Cyrillic"
msgstr ""
msgid "Bosnian Latinic"
msgstr ""
msgid "Combine"
msgstr ""
msgid "Combine Above"
msgstr ""
msgid "Combine Below"
msgstr ""
msgid "Combine Over"
msgstr ""
msgid "Croatian"
msgstr ""
msgid "Currencies"
msgstr ""
msgid "Czech"
msgstr ""
msgid "Danish"
msgstr ""
msgid "English"
msgstr ""
msgid "Estonian"
msgstr ""
msgid "Eva"
msgstr ""
msgid "French"
msgstr ""
msgid "Friulian"
msgstr ""
msgid "German"
msgstr ""
msgid "Hungarian"
msgstr ""
msgid "Irish Gaelic"
msgstr ""
msgid "Joined"
msgstr ""
msgid "Kashubian"
msgstr ""
msgid "Latin"
msgstr ""
msgid "Latvian"
msgstr ""
msgid "Letter A"
msgstr ""
msgid "Letter B"
msgstr ""
msgid "Letter C"
msgstr ""
msgid "Letter D"
msgstr ""
msgid "Letter E"
msgstr ""
msgid "Letter F"
msgstr ""
msgid "Letter G"
msgstr ""
msgid "Letter H"
msgstr ""
msgid "Letter I"
msgstr ""
msgid "Letter J"
msgstr ""
msgid "Letter K"
msgstr ""
msgid "Letter L"
msgstr ""
msgid "Letter M"
msgstr ""
msgid "Letter N"
msgstr ""
msgid "Letter O"
msgstr ""
msgid "Letter P"
msgstr ""
msgid "Letter Q"
msgstr ""
msgid "Letter R"
msgstr ""
msgid "Letter S"
msgstr ""
msgid "Letter T"
msgstr ""
msgid "Letter U"
msgstr ""
msgid "Letter V"
msgstr ""
msgid "Letter W"
msgstr ""
msgid "Letter X"
msgstr ""
msgid "Letter Y"
msgstr ""
msgid "Letter Z"
msgstr ""
msgid "Letter a"
msgstr ""
msgid "Letter e"
msgstr ""
msgid "Letter i"
msgstr ""
msgid "Letter o"
msgstr ""
msgid "Letter u"
msgstr ""
msgid "Letter, Lowercase"
msgstr ""
msgid "Letter, Modifier"
msgstr ""
msgid "Letter, Other"
msgstr ""
msgid "Letter, Titlecase"
msgstr ""
msgid "Letter, Uppercase"
msgstr ""
msgid "Ligatures"
msgstr ""
msgid "Lithuanian"
msgstr ""
msgid "Macedonian"
msgstr ""
msgid "Maltese"
msgstr ""
msgid "Mark, Enclosing"
msgstr ""
msgid "Mark, Non-Spacing"
msgstr ""
msgid "Metric"
msgstr ""
msgid "Modified"
msgstr ""
msgid "Moldavian Cyrillic"
msgstr ""
msgid "Moldavian Latinic"
msgstr ""
msgid "Norwegian"
msgstr ""
msgid "Number 0"
msgstr ""
msgid "Number 1"
msgstr ""
msgid "Number 2"
msgstr ""
msgid "Number 3"
msgstr ""
msgid "Number 4"
msgstr ""
msgid "Number 5"
msgstr ""
msgid "Number 6"
msgstr ""
msgid "Number 7"
msgstr ""
msgid "Number 8"
msgstr ""
msgid "Number 9"
msgstr ""
msgid "Number, Decimal Digit"
msgstr ""
msgid "Number, Letter"
msgstr ""
msgid "Number, Other"
msgstr ""
msgid "Numbers - Circled"
msgstr ""
msgid "Other modifiers"
msgstr ""
msgid "Other, Format"
msgstr ""
msgid "Parentheses"
msgstr ""
msgid "Polish"
msgstr ""
msgid "Portuguese"
msgstr ""
msgid "Punctuation, Close"
msgstr ""
msgid "Punctuation, Connector"
msgstr ""
msgid "Punctuation, Dash"
msgstr ""
msgid "Punctuation, Final quote"
msgstr ""
msgid "Punctuation, Initial quote"
msgstr ""
msgid "Punctuation, Open"
msgstr ""
msgid "Punctuation, Other"
msgstr ""
msgid "Quotes"
msgstr ""
msgid "Romanian"
msgstr ""
msgid "Russian"
msgstr ""
msgid "Separator, Space"
msgstr ""
msgid "Serbian Cyrillic"
msgstr ""
msgid "Serbian Latinic"
msgstr ""
msgid "Slovak"
msgstr ""
msgid "Slovenian"
msgstr ""
msgid "Sorbian"
msgstr ""
msgid "Spanish"
msgstr ""
msgid "Special Characters"
msgstr ""
msgid "Strokes"
msgstr ""
msgid "Surrounded"
msgstr ""
msgid "Swedish"
msgstr ""
msgid "Symbol !"
msgstr ""
msgid "Symbol ("
msgstr ""
msgid "Symbol )"
msgstr ""
msgid "Symbol +"
msgstr ""
msgid "Symbol ,"
msgstr ""
msgid "Symbol -"
msgstr ""
msgid "Symbol :"
msgstr ""
msgid "Symbol ;"
msgstr ""
msgid "Symbol <"
msgstr ""
msgid "Symbol ="
msgstr ""
msgid "Symbol >"
msgstr ""
msgid "Symbol ?"
msgstr ""
msgid "Symbol, Currency"
msgstr ""
msgid "Symbol, Math"
msgstr ""
msgid "Symbol, Modifier"
msgstr ""
msgid "Symbol, Other"
msgstr ""
msgid "Transliterated"
msgstr ""
msgid "Turkish"
msgstr ""
msgid "Ukrainian"
msgstr ""

Binary file not shown.

8885
output/locale/ru_RU/wxstd.po Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -170,81 +170,18 @@ msgstr "Črka Z"
msgid "Letter a"
msgstr "Črka a"
msgid "Letter b"
msgstr "Črka b"
msgid "Letter c"
msgstr "Črka c"
msgid "Letter d"
msgstr "Črka d"
msgid "Letter e"
msgstr "Črka e"
msgid "Letter f"
msgstr "Črka f"
msgid "Letter g"
msgstr "Črka g"
msgid "Letter h"
msgstr "Črka h"
msgid "Letter i"
msgstr "Črka i"
msgid "Letter j"
msgstr "Črka j"
msgid "Letter k"
msgstr "Črka k"
msgid "Letter l"
msgstr "Črka l"
msgid "Letter m"
msgstr "Črka m"
msgid "Letter n"
msgstr "Črka n"
msgid "Letter o"
msgstr "Črka o"
msgid "Letter p"
msgstr "Črka p"
msgid "Letter q"
msgstr "Črka q"
msgid "Letter r"
msgstr "Črka r"
msgid "Letter s"
msgstr "Črka s"
msgid "Letter t"
msgstr "Črka t"
msgid "Letter u"
msgstr "Črka u"
msgid "Letter v"
msgstr "Črka v"
msgid "Letter w"
msgstr "Črka w"
msgid "Letter x"
msgstr "Črka x"
msgid "Letter y"
msgstr "Črka y"
msgid "Letter z"
msgstr "Črka z"
msgid "Letter, Lowercase"
msgstr "Črka, mala"
@@ -278,9 +215,6 @@ msgstr "Ločevalo, obdajajoča"
msgid "Mark, Non-Spacing"
msgstr "Ločevalo, neločljivo"
msgid "Mark, Spacing Combining"
msgstr "Ločevalo, ločljivo"
msgid "Metric"
msgstr "Metrično"
@@ -335,21 +269,15 @@ msgstr "Številka, črka"
msgid "Number, Other"
msgstr "Številka, drugo"
msgid "Numbers"
msgstr "Številke"
msgid "Numbers - Circled"
msgstr "Številke - obkroženo"
msgid "Other, Control"
msgstr "Drugo, kontrolni"
msgid "Other modifiers"
msgstr "Druga spreminjevala"
msgid "Other, Format"
msgstr "Drugo, oblikovni"
msgid "Other, Surrogate"
msgstr "Drugo, nadomestni"
msgid "Parentheses"
msgstr "Oklepaji"
@@ -389,12 +317,6 @@ msgstr "romunščina"
msgid "Russian"
msgstr "ruščina"
msgid "Separator, Line"
msgstr "Ločilo, vrstic"
msgid "Separator, Paragraph"
msgstr "Ločilo, odstavkov"
msgid "Separator, Space"
msgstr "Ločilo, presledek"
@@ -476,8 +398,92 @@ msgstr "Simbol, ločevalo"
msgid "Symbol, Other"
msgstr "Simbol, drugo"
msgid "Transliterated"
msgstr "Prečrkovano"
msgid "Turkish"
msgstr "turščina"
msgid "Ukrainian"
msgstr "ukrajinščina"
#~ msgid "Mark, Spacing Combining"
#~ msgstr "Ločevalo, ločljivo"
#~ msgid "Other, Surrogate"
#~ msgstr "Drugo, nadomestni"
#~ msgid "Separator, Line"
#~ msgstr "Ločilo, vrstic"
#~ msgid "Separator, Paragraph"
#~ msgstr "Ločilo, odstavkov"
#~ msgid "Letter b"
#~ msgstr "Črka b"
#~ msgid "Letter c"
#~ msgstr "Črka c"
#~ msgid "Letter d"
#~ msgstr "Črka d"
#~ msgid "Letter f"
#~ msgstr "Črka f"
#~ msgid "Letter g"
#~ msgstr "Črka g"
#~ msgid "Letter h"
#~ msgstr "Črka h"
#~ msgid "Letter j"
#~ msgstr "Črka j"
#~ msgid "Letter k"
#~ msgstr "Črka k"
#~ msgid "Letter l"
#~ msgstr "Črka l"
#~ msgid "Letter m"
#~ msgstr "Črka m"
#~ msgid "Letter n"
#~ msgstr "Črka n"
#~ msgid "Letter p"
#~ msgstr "Črka p"
#~ msgid "Letter q"
#~ msgstr "Črka q"
#~ msgid "Letter r"
#~ msgstr "Črka r"
#~ msgid "Letter s"
#~ msgstr "Črka s"
#~ msgid "Letter t"
#~ msgstr "Črka t"
#~ msgid "Letter v"
#~ msgstr "Črka v"
#~ msgid "Letter w"
#~ msgstr "Črka w"
#~ msgid "Letter x"
#~ msgstr "Črka x"
#~ msgid "Letter y"
#~ msgstr "Črka y"
#~ msgid "Letter z"
#~ msgstr "Črka z"
#~ msgid "Numbers"
#~ msgstr "Številke"
#~ msgid "Other, Control"
#~ msgstr "Drugo, kontrolni"