Compare commits

...

74 Commits

Author SHA1 Message Date
Simon Rozman
dacca1409e Version set to 2.0-beta10 2016-10-05 19:39:28 +02:00
Simon Rozman
8a3a539d5b Texts and translations update 2016-10-05 14:00:42 +02:00
Simon Rozman
bb2e5e256b Stock "About" menu text replaced with custom one (the stock was missing ellipsis) 2016-10-05 13:39:33 +02:00
Simon Rozman
6828887308 Program title in About dialog box now limited in width to prevent excess dimensions when font is not installed 2016-10-05 13:33:22 +02:00
Simon Rozman
186bc61723 Locale is set using wxExtend's wxInitializeLocale() helper function now 2016-10-05 13:18:35 +02:00
Simon Rozman
19a9d9c26d Shortcuts in Russian translation revised 2016-10-05 13:18:26 +02:00
Simon Rozman
cca084be7d Missing shortcuts and ellipses added to Russian translation 2016-10-05 11:56:34 +02:00
Simon Rozman
6710e0a21c Font and database update 2016-10-05 11:43:25 +02:00
Simon Rozman
b5cc0b8f2c Slovenian translation update 2016-10-05 11:36:33 +02:00
Simon Rozman
ded987e4f8 Slovenian translations update 2016-10-05 11:07:54 +02:00
Simon Rozman
957d530801 Russian MSI files available now 2016-10-05 11:04:40 +02:00
Simon Rozman
4c716f2ba3 Translation update 2016-10-05 11:02:42 +02:00
Simon Rozman
7e3cf0bce7 HKLM\SOFTWARE\Amebis\ZRCola\Language is set using LANGUAGE property now to prevent accidental localization of registry key and/or value name 2016-10-05 11:02:23 +02:00
Simon Rozman
7f97a20ba0 MO files are dynamically generated as a part of build process now 2016-10-05 10:22:06 +02:00
Simon Rozman
4b4bc1b371 Revert "A system reboot is scheduled when "00 ZRCola" font substitute is registered"
This reverts commit 41aa04abad.
2016-10-04 13:19:48 +02:00
Simon Rozman
f0b573f1a8 Sub-module update 2016-10-04 13:15:52 +02:00
Simon Rozman
c2887f77b0 WinStd update 2016-09-19 10:52:04 +02:00
Simon Rozman
f056a4b0ec rcxgettext.exe dependency eliminated 2016-09-19 10:46:17 +02:00
Simon Rozman
181778c981 Adaptation to MSIBuild updates
- Source file English "en_US" instead of generic "En" now
- MSIBUILD_LANG_PO merged to LANG
- Language names in MSIBuild extended from two letter to ll_CC syntax
2016-09-19 10:04:42 +02:00
Simon Rozman
ffb887b306 Creation of localized folder added 2016-09-15 12:56:38 +02:00
Simon Rozman
515a994ece Switch to new version of MSIBuild 2016-09-14 00:20:07 +02:00
Simon Rozman
ab28678227 Generation of localized IDT files simplified 2016-09-06 16:40:56 +02:00
Simon Rozman
b90ff2977f Translations update 2016-08-12 13:42:58 +02:00
Simon Rozman
eab7bcb35f URL update 2016-08-03 08:38:16 +02:00
Simon Rozman
a7c6f2967f Version set to 2.0-beta9 2016-08-03 08:28:29 +02:00
Simon Rozman
2316e5906c Database update 2016-08-03 08:27:24 +02:00
Simon Rozman
1866ace76f Version tagging removed from POT file generation to make POT files version independent 2016-08-03 08:27:09 +02:00
Simon Rozman
48d97742b1 URL update 2016-08-02 17:47:52 +02:00
Simon Rozman
96bde4740f A reboot after "00 ZRCola" font substitute installation is explained now + Updater updated to version that should not reboot after an unattended update 2016-07-22 01:20:24 +02:00
Simon Rozman
333a415a66 Database and Slovenian translation update 2016-07-22 00:19:00 +02:00
Simon Rozman
26e81ac0a0 Sub-module update 2016-07-18 08:51:20 +02:00
Simon Rozman
2b610e2804 Version set to 2.0-beta8 2016-07-18 08:29:30 +02:00
Simon Rozman
ea4f85223c "ZRCola" font name mainstream now 2016-07-15 21:44:28 +02:00
Simon Rozman
aff96d1efe Russian MSI generation commented & some additional support for German added 2016-07-15 21:27:51 +02:00
Simon Rozman
f5eaf3c74b Internal and output folders now using $(MSBuildProjectName) instead of $(ProjectName), to distinguish project variations of essentially the same module 2016-07-15 12:48:07 +02:00
Simon Rozman
6e167b7344 Contact information updated 2016-07-15 10:32:26 +02:00
Simon Rozman
acaae141de ZRCola keyboard PDF updated 2016-07-15 10:28:29 +02:00
Simon Rozman
4a32a4b40c General package information moved from NMAKE macros to Property table, to allow translation to other scripts (than Windows-1252 and Windows-1250) 2016-07-15 09:52:22 +02:00
Simon Rozman
902fcf92a4 Support for Russian localization introduced 2016-07-14 18:08:15 +02:00
Simon Rozman
424a6762f7 Support for numeric keyboard with Ins+nnnn added 2016-07-14 13:59:50 +02:00
Simon Rozman
41aa04abad A system reboot is scheduled when "00 ZRCola" font substitute is registered 2016-07-14 13:44:32 +02:00
Simon Rozman
8ae98bfb12 The font components marked to use reference counter 2016-07-14 12:34:27 +02:00
Simon Rozman
41dfe0c892 Font update 2016-07-14 11:25:01 +02:00
Simon Rozman
5cd454a757 Version set to 2.0-beta7f 2016-07-14 10:56:38 +02:00
Simon Rozman
a75b649f8b Database and font update 2016-07-14 10:50:53 +02:00
Simon Rozman
174f117770 "00 ZRCola" font renamed to "ZRCola" 2016-07-14 10:25:54 +02:00
Simon Rozman
19d1daf099 Slovenian translations updated 2016-07-14 09:27:36 +02:00
Simon Rozman
c4fe7c4370 Some Russian translations added 2016-07-14 09:18:37 +02:00
Simon Rozman
7a7135ea81 Version set to 2.0-beta7 2016-06-17 13:04:29 +02:00
Simon Rozman
2d97afded3 Database update 2016-06-17 13:01:16 +02:00
Simon Rozman
01e8ca5338 Documentation update 2016-06-14 12:45:31 +02:00
Simon Rozman
02f69e332c Documentation update 2016-06-14 12:38:46 +02:00
Simon Rozman
5ce2d209d2 Update README.md 2016-06-14 12:29:38 +02:00
Simon Rozman
088abe062b Documentation update 2016-06-14 12:28:19 +02:00
Simon Rozman
f264fdb211 Version set to 2.0-beta6 2016-06-14 12:13:21 +02:00
Simon Rozman
0e9c6ab66e Support for more or less frequent characters in catalog added 2016-06-14 12:12:17 +02:00
Simon Rozman
040109c36f Version set to 2.0-beta5 2016-06-14 10:15:43 +02:00
Simon Rozman
d130888753 End-of-setup tutorial added 2016-06-14 10:14:45 +02:00
Simon Rozman
e81b0f772d Translation update 2016-06-14 10:02:21 +02:00
Simon Rozman
750cab5370 Add/Remove Programs icon reverted back to ZRCola's 2016-06-14 09:19:03 +02:00
Simon Rozman
213425fd11 Global hot-key registration moved as late as possible to avoid non-effective registration at auto start-up 2016-06-13 15:38:19 +02:00
Simon Rozman
689c72e7e7 Composing ə (and some other characters) combinations fixed 2016-06-13 15:35:52 +02:00
Simon Rozman
fbd60a53dc Categories are collapsible in Character Search dialog now 2016-06-13 13:25:05 +02:00
Simon Rozman
e3475ef48d Font and database update - fonts now OpenType 2016-06-13 11:02:55 +02:00
Simon Rozman
86d512e752 Empty character groups and categories are included in translation catalog too now 2016-06-13 10:57:00 +02:00
Simon Rozman
665b6c3564 Version set to 2.0-beta4 2016-06-02 21:24:13 +02:00
Simon Rozman
173d9c77af ZRCola keyboard PDF update 2016-06-02 21:23:21 +02:00
Simon Rozman
a6088c3028 Additional check for inactive/disabled characters in Character Catalog added 2016-06-02 21:06:36 +02:00
Simon Rozman
ff0354474e Character Selector >> Find Character 2016-06-02 20:54:52 +02:00
Simon Rozman
33f0cbea0d About dialog text change 2016-06-02 20:41:18 +02:00
Simon Rozman
c39aa9f97e Manual check for updates modified to use foreground thread: works always, but blocks UI while downloading 2016-06-02 20:33:49 +02:00
Simon Rozman
45530b23f3 WX_INSTALL_PATH >> WXWIN 2016-06-02 15:10:22 +02:00
Simon Rozman
cb17f06927 ZRCola keyboard shortcuts PDF and link to Instructions website added 2016-06-01 19:16:25 +02:00
Simon Rozman
ac3b44de2b Sub-module update 2016-06-01 17:52:57 +02:00
86 changed files with 9009 additions and 35155 deletions

27
.gitmodules vendored
View File

@@ -1,21 +1,24 @@
[submodule "lib/wxExtend"]
path = lib/wxExtend
url = https://github.com/Amebis/wxExtend.git
[submodule "lib/stdex"]
path = lib/stdex
url = https://github.com/Amebis/stdex.git
[submodule "MSI/MSIBuild"]
path = MSI/MSIBuild
url = https://github.com/Amebis/MSIBuild.git
[submodule "MSI/MSICA"]
path = MSI/MSICA
url = https://github.com/Amebis/MSICA.git
[submodule "lib/atlex"]
path = lib/atlex
url = https://github.com/Amebis/atlex.git
[submodule "lib/MSICALib"]
path = lib/MSICALib
url = https://github.com/Amebis/MSICALib.git
[submodule "lib/stdex"]
path = lib/stdex
url = https://github.com/Amebis/stdex.git
[submodule "lib/WinStd"]
path = lib/WinStd
url = https://github.com/Amebis/WinStd.git
[submodule "lib/wxExtend"]
path = lib/wxExtend
url = https://github.com/Amebis/wxExtend.git
[submodule "MSI/MSIBuild"]
path = MSI/MSIBuild
url = https://github.com/Amebis/MSIBuild.git
[submodule "MSI/MSICA"]
path = MSI/MSICA
url = https://github.com/Amebis/MSICA.git
[submodule "Updater"]
path = Updater
url = https://github.com/Amebis/Updater.git

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

343
Makefile
View File

@@ -37,14 +37,22 @@ Clean ::
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean
cd "$(MAKEDIR)"
cd "MSI\ZRCola"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=En PLAT=Win32 CFG=Release
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=En PLAT=Win32 CFG=Debug
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=En PLAT=x64 CFG=Release
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=En PLAT=x64 CFG=Debug
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=Sl PLAT=Win32 CFG=Release
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=Sl PLAT=Win32 CFG=Debug
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=Sl PLAT=x64 CFG=Release
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=Sl PLAT=x64 CFG=Debug
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=de_DE PLAT=Win32 CFG=Release
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=de_DE PLAT=Win32 CFG=Debug
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=de_DE PLAT=x64 CFG=Release
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=de_DE PLAT=x64 CFG=Debug
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=en_US PLAT=Win32 CFG=Release
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=en_US PLAT=Win32 CFG=Debug
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=en_US PLAT=x64 CFG=Release
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=en_US PLAT=x64 CFG=Debug
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=ru_RU PLAT=Win32 CFG=Release
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=ru_RU PLAT=Win32 CFG=Debug
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=ru_RU PLAT=x64 CFG=Release
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=ru_RU PLAT=x64 CFG=Debug
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=sl_SI PLAT=Win32 CFG=Release
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=sl_SI PLAT=Win32 CFG=Debug
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=sl_SI PLAT=x64 CFG=Release
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean LANG=sl_SI PLAT=x64 CFG=Debug
cd "$(MAKEDIR)"
devenv.com "ZRCola.sln" /clean "Release|Win32"
devenv.com "ZRCola.sln" /clean "Debug|Win32"
@@ -60,15 +68,29 @@ Clean ::
devenv.com "Updater\Updater.sln" /clean "Debug|Win32"
devenv.com "Updater\Updater.sln" /clean "Release|x64"
devenv.com "Updater\Updater.sln" /clean "Debug|x64"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaEn32.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaEn32.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaEn32D.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaEn32D.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaEn64.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaEn64.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaEn64D.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaEn64D.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaSl32.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaSl32.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaSl32D.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaSl32D.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaSl64.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaSl64.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaSl64D.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaSl64D.msi"
-if exist "$(OUTPUT_DIR)\catalog.xml" del /f /q "$(OUTPUT_DIR)\catalog.xml"
-if exist "$(OUTPUT_DIR)\locale\de_DE\wxstd.mo" del /f /q "$(OUTPUT_DIR)\locale\de_DE\wxstd.mo"
-if exist "$(OUTPUT_DIR)\locale\ru_RU\wxstd.mo" del /f /q "$(OUTPUT_DIR)\locale\ru_RU\wxstd.mo"
-if exist "$(OUTPUT_DIR)\locale\sl_SI\wxstd.mo" del /f /q "$(OUTPUT_DIR)\locale\sl_SI\wxstd.mo"
-if exist "$(OUTPUT_DIR)\locale\de_DE\ZRCola-zrcdb.mo" del /f /q "$(OUTPUT_DIR)\locale\de_DE\ZRCola-zrcdb.mo"
-if exist "$(OUTPUT_DIR)\locale\ru_RU\ZRCola-zrcdb.mo" del /f /q "$(OUTPUT_DIR)\locale\ru_RU\ZRCola-zrcdb.mo"
-if exist "$(OUTPUT_DIR)\locale\sl_SI\ZRCola-zrcdb.mo" del /f /q "$(OUTPUT_DIR)\locale\sl_SI\ZRCola-zrcdb.mo"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaDe32.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaDe32.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaDe32D.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaDe32D.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaDe64.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaDe64.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaDe64D.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaDe64D.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaEn32.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaEn32.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaEn32D.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaEn32D.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaEn64.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaEn64.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaEn64D.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaEn64D.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaRu32.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaRu32.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaRu32D.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaRu32D.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaRu64.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaRu64.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaRu64D.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaRu64D.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaSl32.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaSl32.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaSl32D.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaSl32D.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaSl64.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaSl64.msi"
-if exist "$(OUTPUT_DIR)\Setup\ZRColaSl64D.msi" del /f /q "$(OUTPUT_DIR)\Setup\ZRColaSl64D.msi"
-if exist "$(OUTPUT_DIR)\catalog.xml" del /f /q "$(OUTPUT_DIR)\catalog.xml"
!IFNDEF HAS_VERSION
@@ -82,6 +104,7 @@ Setup \
SetupDebug \
Register \
Unregister \
Localization \
PublishPre \
Publish :: "MSI\MSIBuild\Version\Version.mak"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) HAS_VERSION=1 $@
@@ -104,8 +127,12 @@ Publish :: "MSI\MSIBuild\Version\Version.mak"
PUBLISH_PACKAGE_DIR=$(PUBLISH_DIR)\$(MSIBUILD_VERSION_STR)
PUBLISH_PACKAGE_URL=http://www.amebis.si/prenos/ZRCola/$(MSIBUILD_VERSION_STR)
REDIST_DE_WIN32="$(PUBLISH_PACKAGE_DIR)\ZRColaDe32.msi"
REDIST_DE_X64="$(PUBLISH_PACKAGE_DIR)\ZRColaDe64.msi"
REDIST_EN_WIN32="$(PUBLISH_PACKAGE_DIR)\ZRColaEn32.msi"
REDIST_EN_X64="$(PUBLISH_PACKAGE_DIR)\ZRColaEn64.msi"
REDIST_RU_WIN32="$(PUBLISH_PACKAGE_DIR)\ZRColaRu32.msi"
REDIST_RU_X64="$(PUBLISH_PACKAGE_DIR)\ZRColaRu64.msi"
REDIST_SL_WIN32="$(PUBLISH_PACKAGE_DIR)\ZRColaSl32.msi"
REDIST_SL_X64="$(PUBLISH_PACKAGE_DIR)\ZRColaSl64.msi"
@@ -119,18 +146,56 @@ All :: \
Setup :: \
"$(OUTPUT_DIR)\Setup" \
# "$(OUTPUT_DIR)\Setup\ZRColaDe32.msi" \
# "$(OUTPUT_DIR)\Setup\ZRColaDe64.msi" \
"$(OUTPUT_DIR)\Setup\ZRColaEn32.msi" \
"$(OUTPUT_DIR)\Setup\ZRColaEn64.msi" \
"$(OUTPUT_DIR)\Setup\ZRColaRu32.msi" \
"$(OUTPUT_DIR)\Setup\ZRColaRu64.msi" \
"$(OUTPUT_DIR)\Setup\ZRColaSl32.msi" \
"$(OUTPUT_DIR)\Setup\ZRColaSl64.msi"
SetupDebug :: \
"$(OUTPUT_DIR)\Setup" \
# "$(OUTPUT_DIR)\Setup\ZRColaDe32D.msi" \
# "$(OUTPUT_DIR)\Setup\ZRColaDe64D.msi" \
"$(OUTPUT_DIR)\Setup\ZRColaEn32D.msi" \
"$(OUTPUT_DIR)\Setup\ZRColaEn64D.msi" \
"$(OUTPUT_DIR)\Setup\ZRColaRu32D.msi" \
"$(OUTPUT_DIR)\Setup\ZRColaRu64D.msi" \
"$(OUTPUT_DIR)\Setup\ZRColaSl32D.msi" \
"$(OUTPUT_DIR)\Setup\ZRColaSl64D.msi"
######################################################################
# Publishing
######################################################################
PublishPre :: \
"$(PUBLISH_PACKAGE_DIR)" \
# $(REDIST_DE_WIN32) \
# $(REDIST_DE_X64) \
$(REDIST_EN_WIN32) \
$(REDIST_EN_X64) \
# $(REDIST_RU_WIN32) \
# $(REDIST_RU_X64) \
$(REDIST_SL_WIN32) \
$(REDIST_SL_X64) \
"$(PUBLISH_DIR)" \
# "$(PUBLISH_DIR)\ZRColaInstallDe.exe" \
"$(PUBLISH_DIR)\ZRColaInstallEn.exe" \
"$(PUBLISH_DIR)\ZRColaInstallRu.exe" \
"$(PUBLISH_DIR)\ZRColaInstallSl.exe"
Publish :: \
PublishPre \
"$(PUBLISH_DIR)\catalog-0000.xml"
######################################################################
# Registration
######################################################################
Register :: \
RegisterSettings \
InstallFonts \
@@ -158,24 +223,26 @@ UnregisterSettings ::
!ENDIF
InstallFonts :: \
"$(WINDIR)\Fonts\00_ZRCola_Re.ttf" \
"$(WINDIR)\Fonts\00_ZRCola_It.ttf" \
"$(WINDIR)\Fonts\00_ZRCola_Bd.ttf" \
"$(WINDIR)\Fonts\00_ZRCola_BI.ttf"
reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "00 ZRCola (TrueType)" /t REG_SZ /d "00_ZRCola_Re.ttf" $(REG_FLAGS) > NUL
reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "00 ZRCola Italic (TrueType)" /t REG_SZ /d "00_ZRCola_It.ttf" $(REG_FLAGS) > NUL
reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "00 ZRCola Bold (TrueType)" /t REG_SZ /d "00_ZRCola_Bd.ttf" $(REG_FLAGS) > NUL
reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "00 ZRCola Bold Italic (TrueType)" /t REG_SZ /d "00_ZRCola_BI.ttf" $(REG_FLAGS) > NUL
"$(WINDIR)\Fonts\ZRCola_Re.otf" \
"$(WINDIR)\Fonts\ZRCola_It.otf" \
"$(WINDIR)\Fonts\ZRCola_Bd.otf" \
"$(WINDIR)\Fonts\ZRCola_BI.otf"
reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "ZRCola (TrueType)" /t REG_SZ /d "ZRCola_Re.otf" $(REG_FLAGS) > NUL
reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "ZRCola Italic (TrueType)" /t REG_SZ /d "ZRCola_It.otf" $(REG_FLAGS) > NUL
reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "ZRCola Bold (TrueType)" /t REG_SZ /d "ZRCola_Bd.otf" $(REG_FLAGS) > NUL
reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "ZRCola Bold Italic (TrueType)" /t REG_SZ /d "ZRCola_BI.otf" $(REG_FLAGS) > NUL
reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes" /v "00 ZRCola" /t REG_SZ /d "ZRCola" $(REG_FLAGS) > NUL
UninstallFonts::
-reg.exe delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "00 ZRCola (TrueType)" $(REG_FLAGS) > NUL
-reg.exe delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "00 ZRCola Italic (TrueType)" $(REG_FLAGS) > NUL
-reg.exe delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "00 ZRCola Bold (TrueType)" $(REG_FLAGS) > NUL
-reg.exe delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "00 ZRCola Bold Italic (TrueType)" $(REG_FLAGS) > NUL
-if exist "$(WINDIR)\Fonts\00_ZRCola_Re.ttf" rd /s /q "$(WINDIR)\Fonts\00_ZRCola_Re.ttf"
-if exist "$(WINDIR)\Fonts\00_ZRCola_It.ttf" rd /s /q "$(WINDIR)\Fonts\00_ZRCola_It.ttf"
-if exist "$(WINDIR)\Fonts\00_ZRCola_Bd.ttf" rd /s /q "$(WINDIR)\Fonts\00_ZRCola_Bd.ttf"
-if exist "$(WINDIR)\Fonts\00_ZRCola_BI.ttf" rd /s /q "$(WINDIR)\Fonts\00_ZRCola_BI.ttf"
-reg.exe delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "ZRCola (TrueType)" $(REG_FLAGS) > NUL
-reg.exe delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "ZRCola Italic (TrueType)" $(REG_FLAGS) > NUL
-reg.exe delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "ZRCola Bold (TrueType)" $(REG_FLAGS) > NUL
-reg.exe delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "ZRCola Bold Italic (TrueType)" $(REG_FLAGS) > NUL
-reg.exe delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes" /v "00 ZRCola" $(REG_FLAGS) > NUL
-if exist "$(WINDIR)\Fonts\ZRCola_Re.otf" rd /s /q "$(WINDIR)\Fonts\ZRCola_Re.otf"
-if exist "$(WINDIR)\Fonts\ZRCola_It.otf" rd /s /q "$(WINDIR)\Fonts\ZRCola_It.otf"
-if exist "$(WINDIR)\Fonts\ZRCola_Bd.otf" rd /s /q "$(WINDIR)\Fonts\ZRCola_Bd.otf"
-if exist "$(WINDIR)\Fonts\ZRCola_BI.otf" rd /s /q "$(WINDIR)\Fonts\ZRCola_BI.otf"
RegisterShortcuts :: \
"$(PROGRAMDATA)\Microsoft\Windows\Start Menu\Programs\ZRCola" \
@@ -184,21 +251,20 @@ RegisterShortcuts :: \
UnregisterShortcuts ::
-if exist "$(PROGRAMDATA)\Microsoft\Windows\Start Menu\Programs\ZRCola" rd /s /q "$(PROGRAMDATA)\Microsoft\Windows\Start Menu\Programs\ZRCola"
PublishPre :: \
"$(PUBLISH_PACKAGE_DIR)" \
$(REDIST_EN_WIN32) \
$(REDIST_EN_X64) \
$(REDIST_SL_WIN32) \
$(REDIST_SL_X64) \
"$(PUBLISH_DIR)" \
"$(PUBLISH_DIR)\ZRColaInstallDe.exe" \
"$(PUBLISH_DIR)\ZRColaInstallEn.exe" \
"$(PUBLISH_DIR)\ZRColaInstallRu.exe" \
"$(PUBLISH_DIR)\ZRColaInstallSl.exe"
######################################################################
# Localization
######################################################################
Publish :: \
PublishPre \
"$(PUBLISH_DIR)\catalog-0000.xml"
Localization :: \
"$(OUTPUT_DIR)\locale\de_DE" \
"$(OUTPUT_DIR)\locale\de_DE\wxstd.mo" \
"$(OUTPUT_DIR)\locale\de_DE\ZRCola-zrcdb.mo" \
"$(OUTPUT_DIR)\locale\ru_RU" \
"$(OUTPUT_DIR)\locale\ru_RU\wxstd.mo" \
"$(OUTPUT_DIR)\locale\ru_RU\ZRCola-zrcdb.mo" \
"$(OUTPUT_DIR)\locale\sl_SI" \
"$(OUTPUT_DIR)\locale\sl_SI\wxstd.mo" \
"$(OUTPUT_DIR)\locale\sl_SI\ZRCola-zrcdb.mo"
######################################################################
@@ -207,6 +273,10 @@ Publish :: \
"$(OUTPUT_DIR)" \
"$(OUTPUT_DIR)\Keys" \
"$(OUTPUT_DIR)\locale" \
"$(OUTPUT_DIR)\locale\de_DE" \
"$(OUTPUT_DIR)\locale\ru_RU" \
"$(OUTPUT_DIR)\locale\sl_SI" \
"$(OUTPUT_DIR)\Setup" \
"$(PUBLISH_DIR)" \
"$(PUBLISH_PACKAGE_DIR)" \
@@ -214,8 +284,13 @@ Publish :: \
if not exist $@ md $@
"$(OUTPUT_DIR)\Keys" \
"$(OUTPUT_DIR)\locale" \
"$(OUTPUT_DIR)\Setup" : "$(OUTPUT_DIR)"
"$(OUTPUT_DIR)\locale\de_DE" \
"$(OUTPUT_DIR)\locale\ru_RU" \
"$(OUTPUT_DIR)\locale\sl_SI" : "$(OUTPUT_DIR)\locale"
"$(PUBLISH_PACKAGE_DIR)" : "$(PUBLISH_DIR)"
@@ -223,6 +298,20 @@ Publish :: \
# File copy
######################################################################
"$(OUTPUT_DIR)\Setup\ZRColaDe32.msi" \
$(REDIST_DE_WIN32) : "$(OUTPUT_DIR)\ZRColaDe32.3.msi"
copy /y $** $@ > NUL
"$(OUTPUT_DIR)\Setup\ZRColaDe32D.msi" : "$(OUTPUT_DIR)\ZRColaDe32D.3.msi"
copy /y $** $@ > NUL
"$(OUTPUT_DIR)\Setup\ZRColaDe64.msi" \
$(REDIST_DE_X64) : "$(OUTPUT_DIR)\ZRColaDe64.3.msi"
copy /y $** $@ > NUL
"$(OUTPUT_DIR)\Setup\ZRColaDe64D.msi" : "$(OUTPUT_DIR)\ZRColaDe64D.3.msi"
copy /y $** $@ > NUL
"$(OUTPUT_DIR)\Setup\ZRColaEn32.msi" \
$(REDIST_EN_WIN32) : "$(OUTPUT_DIR)\ZRColaEn32.3.msi"
copy /y $** $@ > NUL
@@ -237,6 +326,20 @@ $(REDIST_EN_X64) : "$(OUTPUT_DIR)\ZRColaEn64.3.msi"
"$(OUTPUT_DIR)\Setup\ZRColaEn64D.msi" : "$(OUTPUT_DIR)\ZRColaEn64D.3.msi"
copy /y $** $@ > NUL
"$(OUTPUT_DIR)\Setup\ZRColaRu32.msi" \
$(REDIST_RU_WIN32) : "$(OUTPUT_DIR)\ZRColaRu32.3.msi"
copy /y $** $@ > NUL
"$(OUTPUT_DIR)\Setup\ZRColaRu32D.msi" : "$(OUTPUT_DIR)\ZRColaRu32D.3.msi"
copy /y $** $@ > NUL
"$(OUTPUT_DIR)\Setup\ZRColaRu64.msi" \
$(REDIST_RU_X64) : "$(OUTPUT_DIR)\ZRColaRu64.3.msi"
copy /y $** $@ > NUL
"$(OUTPUT_DIR)\Setup\ZRColaRu64D.msi" : "$(OUTPUT_DIR)\ZRColaRu64D.3.msi"
copy /y $** $@ > NUL
"$(OUTPUT_DIR)\Setup\ZRColaSl32.msi" \
$(REDIST_SL_WIN32) : "$(OUTPUT_DIR)\ZRColaSl32.3.msi"
copy /y $** $@ > NUL
@@ -251,16 +354,16 @@ $(REDIST_SL_X64) : "$(OUTPUT_DIR)\ZRColaSl64.3.msi"
"$(OUTPUT_DIR)\Setup\ZRColaSl64D.msi" : "$(OUTPUT_DIR)\ZRColaSl64D.3.msi"
copy /y $** $@ > NUL
"$(WINDIR)\Fonts\00_ZRCola_Re.ttf" : "$(OUTPUT_DIR)\00_ZRCola_Re.ttf"
"$(WINDIR)\Fonts\ZRCola_Re.otf" : "$(OUTPUT_DIR)\ZRCola_Re.otf"
copy /y $** $@ > NUL
"$(WINDIR)\Fonts\00_ZRCola_It.ttf" : "$(OUTPUT_DIR)\00_ZRCola_It.ttf"
"$(WINDIR)\Fonts\ZRCola_It.otf" : "$(OUTPUT_DIR)\ZRCola_It.otf"
copy /y $** $@ > NUL
"$(WINDIR)\Fonts\00_ZRCola_Bd.ttf" : "$(OUTPUT_DIR)\00_ZRCola_Bd.ttf"
"$(WINDIR)\Fonts\ZRCola_Bd.otf" : "$(OUTPUT_DIR)\ZRCola_Bd.otf"
copy /y $** $@ > NUL
"$(WINDIR)\Fonts\00_ZRCola_BI.ttf" : "$(OUTPUT_DIR)\00_ZRCola_BI.ttf"
"$(WINDIR)\Fonts\ZRCola_BI.otf" : "$(OUTPUT_DIR)\ZRCola_BI.otf"
copy /y $** $@ > NUL
"$(PUBLISH_DIR)\ZRColaInstallDe.exe" : "$(OUTPUT_DIR)\Win32.Release\ZRColaInstallDe.exe"
@@ -288,12 +391,72 @@ $(REDIST_SL_X64) : "$(OUTPUT_DIR)\ZRColaSl64.3.msi"
# Building
######################################################################
"$(OUTPUT_DIR)\locale\de_DE\wxstd.mo" : "$(WXWIN)\locale\de.po"
msgfmt.exe --output-file=$@ --alignment=1 --endianness=little $**
"$(OUTPUT_DIR)\locale\ru_RU\wxstd.mo" : "$(WXWIN)\locale\ru.po"
msgfmt.exe --output-file=$@ --alignment=1 --endianness=little $**
"$(OUTPUT_DIR)\locale\sl_SI\wxstd.mo" : "$(WXWIN)\locale\sl.po"
msgfmt.exe --output-file=$@ --alignment=1 --endianness=little $**
"$(OUTPUT_DIR)\locale\de_DE\ZRCola-zrcdb.mo" : "$(OUTPUT_DIR)\locale\de_DE\ZRCola-zrcdb.po"
msgfmt.exe --output-file=$@ --alignment=1 --endianness=little $**
"$(OUTPUT_DIR)\locale\ru_RU\ZRCola-zrcdb.mo" : "$(OUTPUT_DIR)\locale\ru_RU\ZRCola-zrcdb.po"
msgfmt.exe --output-file=$@ --alignment=1 --endianness=little $**
"$(OUTPUT_DIR)\locale\sl_SI\ZRCola-zrcdb.mo" : "$(OUTPUT_DIR)\locale\sl_SI\ZRCola-zrcdb.po"
msgfmt.exe --output-file=$@ --alignment=1 --endianness=little $**
"$(OUTPUT_DIR)\Win32.Release\libZRCola10u_vc100.dll" \
"$(OUTPUT_DIR)\Win32.Release\libZRColaUI10u_vc100.dll" \
"$(OUTPUT_DIR)\Win32.Release\stdex10u_vc100.dll" \
"$(OUTPUT_DIR)\Win32.Release\wxExtend10u_vc100.dll" \
"$(OUTPUT_DIR)\Win32.Release\ZRCola.exe" \
"$(OUTPUT_DIR)\ZRColaDe32.3.msi" \
"$(OUTPUT_DIR)\ZRColaEn32.3.msi" \
"$(OUTPUT_DIR)\ZRColaRu32.3.msi" \
"$(OUTPUT_DIR)\ZRColaSl32.3.msi" :: Localization
"$(OUTPUT_DIR)\Win32.Debug\libZRCola10ud_vc100.dll" \
"$(OUTPUT_DIR)\Win32.Debug\libZRColaUI10ud_vc100.dll" \
"$(OUTPUT_DIR)\Win32.Debug\stdex10ud_vc100.dll" \
"$(OUTPUT_DIR)\Win32.Debug\wxExtend10ud_vc100.dll" \
"$(OUTPUT_DIR)\Win32.Debug\ZRCola.exe" \
"$(OUTPUT_DIR)\ZRColaDe32D.3.msi" \
"$(OUTPUT_DIR)\ZRColaEn32D.3.msi" \
"$(OUTPUT_DIR)\ZRColaRu32D.3.msi" \
"$(OUTPUT_DIR)\ZRColaSl32D.3.msi" :: Localization
"$(OUTPUT_DIR)\x64.Release\libZRCola10u_vc100.dll" \
"$(OUTPUT_DIR)\x64.Release\libZRColaUI10u_vc100.dll" \
"$(OUTPUT_DIR)\x64.Release\stdex10u_vc100.dll" \
"$(OUTPUT_DIR)\x64.Release\wxExtend10u_vc100.dll" \
"$(OUTPUT_DIR)\x64.Release\ZRCola.exe" \
"$(OUTPUT_DIR)\ZRColaDe64.3.msi" \
"$(OUTPUT_DIR)\ZRColaEn64.3.msi" \
"$(OUTPUT_DIR)\ZRColaRu64.3.msi" \
"$(OUTPUT_DIR)\ZRColaSl64.3.msi" :: Localization
"$(OUTPUT_DIR)\x64.Debug\libZRCola10ud_vc100.dll" \
"$(OUTPUT_DIR)\x64.Debug\libZRColaUI10ud_vc100.dll" \
"$(OUTPUT_DIR)\x64.Debug\stdex10ud_vc100.dll" \
"$(OUTPUT_DIR)\x64.Debug\wxExtend10ud_vc100.dll" \
"$(OUTPUT_DIR)\x64.Debug\ZRCola.exe" \
"$(OUTPUT_DIR)\ZRColaDe64D.3.msi" \
"$(OUTPUT_DIR)\ZRColaEn64D.3.msi" \
"$(OUTPUT_DIR)\ZRColaRu64D.3.msi" \
"$(OUTPUT_DIR)\ZRColaSl64D.3.msi" :: Localization
"$(OUTPUT_DIR)\Win32.Release\libZRCola10u_vc100.dll" \
"$(OUTPUT_DIR)\Win32.Release\libZRColaUI10u_vc100.dll" \
"$(OUTPUT_DIR)\Win32.Release\stdex10u_vc100.dll" \
"$(OUTPUT_DIR)\Win32.Release\wxExtend10u_vc100.dll" \
"$(OUTPUT_DIR)\Win32.Release\ZRCola.exe" \
"$(OUTPUT_DIR)\ZRColaDe32.3.msi" \
"$(OUTPUT_DIR)\ZRColaEn32.3.msi" \
"$(OUTPUT_DIR)\ZRColaRu32.3.msi" \
"$(OUTPUT_DIR)\ZRColaSl32.3.msi" ::
devenv.com "ZRCola.sln" /build "Release|Win32"
@@ -302,7 +465,9 @@ $(REDIST_SL_X64) : "$(OUTPUT_DIR)\ZRColaSl64.3.msi"
"$(OUTPUT_DIR)\Win32.Debug\stdex10ud_vc100.dll" \
"$(OUTPUT_DIR)\Win32.Debug\wxExtend10ud_vc100.dll" \
"$(OUTPUT_DIR)\Win32.Debug\ZRCola.exe" \
"$(OUTPUT_DIR)\ZRColaDe32D.3.msi" \
"$(OUTPUT_DIR)\ZRColaEn32D.3.msi" \
"$(OUTPUT_DIR)\ZRColaRu32D.3.msi" \
"$(OUTPUT_DIR)\ZRColaSl32D.3.msi" ::
devenv.com "ZRCola.sln" /build "Debug|Win32"
@@ -311,7 +476,9 @@ $(REDIST_SL_X64) : "$(OUTPUT_DIR)\ZRColaSl64.3.msi"
"$(OUTPUT_DIR)\x64.Release\stdex10u_vc100.dll" \
"$(OUTPUT_DIR)\x64.Release\wxExtend10u_vc100.dll" \
"$(OUTPUT_DIR)\x64.Release\ZRCola.exe" \
"$(OUTPUT_DIR)\ZRColaDe64.3.msi" \
"$(OUTPUT_DIR)\ZRColaEn64.3.msi" \
"$(OUTPUT_DIR)\ZRColaRu64.3.msi" \
"$(OUTPUT_DIR)\ZRColaSl64.3.msi" ::
devenv.com "ZRCola.sln" /build "Release|x64"
@@ -320,7 +487,9 @@ $(REDIST_SL_X64) : "$(OUTPUT_DIR)\ZRColaSl64.3.msi"
"$(OUTPUT_DIR)\x64.Debug\stdex10ud_vc100.dll" \
"$(OUTPUT_DIR)\x64.Debug\wxExtend10ud_vc100.dll" \
"$(OUTPUT_DIR)\x64.Debug\ZRCola.exe" \
"$(OUTPUT_DIR)\ZRColaDe64D.3.msi" \
"$(OUTPUT_DIR)\ZRColaEn64D.3.msi" \
"$(OUTPUT_DIR)\ZRColaRu64D.3.msi" \
"$(OUTPUT_DIR)\ZRColaSl64D.3.msi" ::
devenv.com "ZRCola.sln" /build "Debug|x64"
@@ -336,64 +505,112 @@ $(REDIST_SL_X64) : "$(OUTPUT_DIR)\ZRColaSl64.3.msi"
"$(OUTPUT_DIR)\Win32.Debug\ZRColaInstallSl.exe" ::
devenv.com "ZRColaUtils.sln" /build "Debug|Win32"
"$(OUTPUT_DIR)\ZRColaDe32.3.msi" \
"$(OUTPUT_DIR)\ZRColaEn32.3.msi" \
"$(OUTPUT_DIR)\ZRColaRu32.3.msi" \
"$(OUTPUT_DIR)\ZRColaSl32.3.msi" ::
devenv.com "MSI\MSICA\MSICA.sln" /build "Release|Win32"
devenv.com "Updater\Updater.sln" /build "Release|Win32"
"$(OUTPUT_DIR)\ZRColaDe32D.3.msi" \
"$(OUTPUT_DIR)\ZRColaEn32D.3.msi" \
"$(OUTPUT_DIR)\ZRColaRu32D.3.msi" \
"$(OUTPUT_DIR)\ZRColaSl32D.3.msi" ::
devenv.com "MSI\MSICA\MSICA.sln" /build "Debug|Win32"
devenv.com "Updater\Updater.sln" /build "Debug|Win32"
"$(OUTPUT_DIR)\ZRColaDe64.3.msi" \
"$(OUTPUT_DIR)\ZRColaEn64.3.msi" \
"$(OUTPUT_DIR)\ZRColaRu64.3.msi" \
"$(OUTPUT_DIR)\ZRColaSl64.3.msi" ::
devenv.com "MSI\MSICA\MSICA.sln" /build "Release|x64"
devenv.com "Updater\Updater.sln" /build "Release|x64"
"$(OUTPUT_DIR)\ZRColaDe64D.3.msi" \
"$(OUTPUT_DIR)\ZRColaEn64D.3.msi" \
"$(OUTPUT_DIR)\ZRColaRu64D.3.msi" \
"$(OUTPUT_DIR)\ZRColaSl64D.3.msi" ::
devenv.com "MSI\MSICA\MSICA.sln" /build "Debug|x64"
devenv.com "Updater\Updater.sln" /build "Debug|x64"
"$(OUTPUT_DIR)\ZRColaDe32.3.msi" ::
cd "MSI\ZRCola"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=de_DE PLAT=Win32 CFG=Release
cd "$(MAKEDIR)"
"$(OUTPUT_DIR)\ZRColaDe32D.3.msi" ::
cd "MSI\ZRCola"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=de_DE PLAT=Win32 CFG=Debug
cd "$(MAKEDIR)"
"$(OUTPUT_DIR)\ZRColaDe64.3.msi" ::
cd "MSI\ZRCola"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=de_DE PLAT=x64 CFG=Release
cd "$(MAKEDIR)"
"$(OUTPUT_DIR)\ZRColaDe64D.3.msi" ::
cd "MSI\ZRCola"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=de_DE PLAT=x64 CFG=Debug
cd "$(MAKEDIR)"
"$(OUTPUT_DIR)\ZRColaEn32.3.msi" ::
cd "MSI\ZRCola"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=En PLAT=Win32 CFG=Release
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=en_US PLAT=Win32 CFG=Release
cd "$(MAKEDIR)"
"$(OUTPUT_DIR)\ZRColaEn32D.3.msi" ::
cd "MSI\ZRCola"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=En PLAT=Win32 CFG=Debug
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=en_US PLAT=Win32 CFG=Debug
cd "$(MAKEDIR)"
"$(OUTPUT_DIR)\ZRColaEn64.3.msi" ::
cd "MSI\ZRCola"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=En PLAT=x64 CFG=Release
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=en_US PLAT=x64 CFG=Release
cd "$(MAKEDIR)"
"$(OUTPUT_DIR)\ZRColaEn64D.3.msi" ::
cd "MSI\ZRCola"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=En PLAT=x64 CFG=Debug
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=en_US PLAT=x64 CFG=Debug
cd "$(MAKEDIR)"
"$(OUTPUT_DIR)\ZRColaRu32.3.msi" ::
cd "MSI\ZRCola"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=ru_RU PLAT=Win32 CFG=Release
cd "$(MAKEDIR)"
"$(OUTPUT_DIR)\ZRColaRu32D.3.msi" ::
cd "MSI\ZRCola"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=ru_RU PLAT=Win32 CFG=Debug
cd "$(MAKEDIR)"
"$(OUTPUT_DIR)\ZRColaRu64.3.msi" ::
cd "MSI\ZRCola"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=ru_RU PLAT=x64 CFG=Release
cd "$(MAKEDIR)"
"$(OUTPUT_DIR)\ZRColaRu64D.3.msi" ::
cd "MSI\ZRCola"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=ru_RU PLAT=x64 CFG=Debug
cd "$(MAKEDIR)"
"$(OUTPUT_DIR)\ZRColaSl32.3.msi" ::
cd "MSI\ZRCola"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=Sl PLAT=Win32 CFG=Release
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=sl_SI PLAT=Win32 CFG=Release
cd "$(MAKEDIR)"
"$(OUTPUT_DIR)\ZRColaSl32D.3.msi" ::
cd "MSI\ZRCola"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=Sl PLAT=Win32 CFG=Debug
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=sl_SI PLAT=Win32 CFG=Debug
cd "$(MAKEDIR)"
"$(OUTPUT_DIR)\ZRColaSl64.3.msi" ::
cd "MSI\ZRCola"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=Sl PLAT=x64 CFG=Release
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=sl_SI PLAT=x64 CFG=Release
cd "$(MAKEDIR)"
"$(OUTPUT_DIR)\ZRColaSl64D.3.msi" ::
cd "MSI\ZRCola"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=Sl PLAT=x64 CFG=Debug
$(MAKE) /f "Makefile" /$(MAKEFLAGS) LANG=sl_SI PLAT=x64 CFG=Debug
cd "$(MAKEDIR)"
"$(PUBLISH_DIR)\catalog-0000.xml" : "$(OUTPUT_DIR)\catalog.xml"
@@ -401,15 +618,23 @@ $(REDIST_SL_X64) : "$(OUTPUT_DIR)\ZRColaSl64.3.msi"
output\$(PLAT).Release\UpdSignXML.exe $** $@
"$(OUTPUT_DIR)\catalog.xml" : \
# "$(OUTPUT_DIR)\ZRColaDe32.3.msi" \
# "$(OUTPUT_DIR)\ZRColaDe64.3.msi" \
"$(OUTPUT_DIR)\ZRColaEn32.3.msi" \
"$(OUTPUT_DIR)\ZRColaEn64.3.msi" \
"$(OUTPUT_DIR)\ZRColaRu32.3.msi" \
"$(OUTPUT_DIR)\ZRColaRu64.3.msi" \
"$(OUTPUT_DIR)\ZRColaSl32.3.msi" \
"$(OUTPUT_DIR)\ZRColaSl64.3.msi"
-if exist $@ del /f /q $@
-if exist "$(@:"=).tmp" del /f /q "$(@:"=).tmp"
copy /y "$(PUBLISH_DIR)\catalog-0000.xml" "$(@:"=).tmp" > NUL
# output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-x86 de_DE "$(PUBLISH_PACKAGE_URL)/ZRColaDe32.msi" -f "$(OUTPUT_DIR)\ZRColaDe32.3.msi"
# output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-amd64 de_DE "$(PUBLISH_PACKAGE_URL)/ZRColaDe64.msi" -f "$(OUTPUT_DIR)\ZRColaDe64.3.msi"
output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-x86 en_US "$(PUBLISH_PACKAGE_URL)/ZRColaEn32.msi" -f "$(OUTPUT_DIR)\ZRColaEn32.3.msi"
output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-amd64 en_US "$(PUBLISH_PACKAGE_URL)/ZRColaEn64.msi" -f "$(OUTPUT_DIR)\ZRColaEn64.3.msi"
output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-x86 ru_RU "$(PUBLISH_PACKAGE_URL)/ZRColaRu32.msi" -f "$(OUTPUT_DIR)\ZRColaRu32.3.msi"
output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-amd64 ru_RU "$(PUBLISH_PACKAGE_URL)/ZRColaRu64.msi" -f "$(OUTPUT_DIR)\ZRColaRu64.3.msi"
output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-x86 sl_SI "$(PUBLISH_PACKAGE_URL)/ZRColaSl32.msi" -f "$(OUTPUT_DIR)\ZRColaSl32.3.msi"
output\$(PLAT).Release\UpdPublish.exe "$(@:"=).tmp" "$(@:"=).tmp" win-amd64 sl_SI "$(PUBLISH_PACKAGE_URL)/ZRColaSl64.msi" -f "$(OUTPUT_DIR)\ZRColaSl64.3.msi"
move /y "$(@:"=).tmp" $@ > NUL

View File

@@ -1 +1,44 @@
# ZRCola
# ZRCola
A Microsoft Windows application for composing texts using a wide range of Slavic (and general) letters from or beyond Unicode.
## Project Website
http://zrcola.zrc-sazu.si/en/
## Binaries for Download
https://www.amebis.si/prenos/ZRCola/
## Building
### Building Environment Requirements
- Microsoft Windows Vista or later
- Microsoft Visual Studio 2010 SP1
- _sed.exe_ and _grep.exe_
- Command line utilities from Microsoft Windows SDK Bin folder: distributed with Visual Studio, add Bin folder to path manually.
- Additional command line utilities from projects bin folder: add bin folder to path. The source code is provided on request.
### Digital Signing of Build Outputs
In order to have the build process digitally sign output files, one should provide the following:
1. A signing certificate installed in the current users certificate store.
2. The following variables in the environment:
- `ManifestCertificateThumbprint` - set the value to certificates SHA1 thumbprint (hexadecimal, without spaces, i.e. `bc0d8da45f9eeefcbe4e334e1fc262804df88d7e`).
- `ManifestTimestampUrl` - set the value to URL used to perform timestamp signature (i.e. `http://timestamp.verisign.com/scripts/timstamp.dll`). In order to perform timestamp signing successfully, the computer running the build should be online and able to access this URL.
Please note that only Release builds are configured for timestamp signing. Debug configurations do not attempt to timestamp sign the resulting DLL and EXE files in order to speed up the building process and enable offline building.
### Building
Use Microsoft NMAKE to build the project. The resulting files can be found in output subfolder.
- `nmake Clean` Delete all intermediate and output files.
- `nmake Setup` Build a release version of project and release MSI setup files.
- `nmake SetupDebug` Build a debug version of project and debug MSI setup files.
- `nmake Register` Build a debug version of project, install fonts (reboot required), and Start Menu shortcuts. For development purposes only!
- `nmake Unregister` Remove Start Menu shortcuts, and fonts. For development purposes only!
The `/ls` flag can be appended to the commands above to reduce NMAKEs verbosity. You can combine multiple targets (i.e. nmake Unregister Clean). Please, see NMAKE reference for further reading.
## Contact Information
Please contact the following addressee for further information and help:
- ZRC SAZU, ZRCola@zrc-sazu.si
- Amebis, info@amebis.si

Submodule Updater updated: 54846632f3...3cab0a45a9

View File

@@ -5,7 +5,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZRCola", "ZRCola\ZRCola.vcx
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{6D85AD6A-69D6-40EB-BF0C-7495479DDCE5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxExtend", "lib\wxExtend\build\wxExtend.vcxproj", "{A3A36689-AC35-4026-93DA-A3BA0C0E767C}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxExtend", "lib\wxExtend\build\wxExtendDll.vcxproj", "{A3A36689-AC35-4026-93DA-A3BA0C0E767C}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{CFEBC17E-C840-4507-BDE6-1EF5B52DDCC5}"
ProjectSection(SolutionItems) = preProject
@@ -20,6 +20,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stdex", "lib\stdex\build\st
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Updater", "Updater\Updater\build\Updater.vcxproj", "{990D8CF9-4457-4DC0-AA18-4968EF434741}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinStd", "lib\WinStd\build\WinStd.vcxproj", "{47399D91-7EB9-41DE-B521-514BA5DB0C43}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -76,6 +78,14 @@ Global
{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
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|Win32.ActiveCfg = Debug|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|Win32.Build.0 = Debug|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|x64.ActiveCfg = Debug|x64
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|x64.Build.0 = Debug|x64
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|Win32.ActiveCfg = Release|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|Win32.Build.0 = Release|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|x64.ActiveCfg = Release|x64
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -86,5 +96,6 @@ Global
{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}
{47399D91-7EB9-41DE-B521-514BA5DB0C43} = {6D85AD6A-69D6-40EB-BF0C-7495479DDCE5}
EndGlobalSection
EndGlobal

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -37,6 +37,36 @@ OLDZRCOLADIR clZRCola.exe.$(PLAT)
<<NOKEEP
######################################################################
# Binary
All :: \
"$(LANG).$(PLAT).$(CFG).Binary-1.idt" \
"$(LANG).$(PLAT).$(CFG).Binary-1\tutorial1.bmp" \
"$(LANG).$(PLAT).$(CFG).Binary-1\tutorial2.bmp" \
"$(LANG).$(PLAT).$(CFG).Binary-1\tutorial3.bmp"
"$(LANG).$(PLAT).$(CFG).Binary-1.idt" : "Makefile" "..\..\include\MSIBuildCfg.mak" "$(LANG).$(PLAT).$(CFG).Binary-1"
-if exist $@ del /f /q $@
move /y << $@ > NUL
Name Data
s$(MSIBUILD_LENGTH_ID) v0
Binary Name
bintutorial1.bmp tutorial1.bmp
bintutorial2.bmp tutorial2.bmp
bintutorial3.bmp tutorial3.bmp
<<NOKEEP
"$(LANG).$(PLAT).$(CFG).Binary-1\tutorial1.bmp" : "Binary\tutorial1.bmp"
copy /y $** $@ > NUL
"$(LANG).$(PLAT).$(CFG).Binary-1\tutorial2.bmp" : "Binary\tutorial2.bmp"
copy /y $** $@ > NUL
"$(LANG).$(PLAT).$(CFG).Binary-1\tutorial3.bmp" : "Binary\tutorial3.bmp"
copy /y $** $@ > NUL
######################################################################
# CompLocator
@@ -74,18 +104,110 @@ compZRCola.exe.Win32 {F30B6545-6203-4B7D-8575-85245A0F90E5} ZRCOLABINDIR 0 file
!IF "$(PLAT)" == "x64"
compZRCola.exe.x64 {D45B105D-2303-459A-AF4B-52AC3AAD5510} ZRCOLABINDIR 256 fileZRCola.exe.x64
!ENDIF
!IF "$(LANG)" == "Sl"
!IF "$(LANG)" == "ru_RU"
compZRCola.mo.ru_RU {DEA5D11C-2B0E-4B85-ACE3-D76334866F50} ZRCOLALOCRURUDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) fileZRCola.mo.ru_RU
!ENDIF
!IF "$(LANG)" == "sl_SI"
compZRCola.mo.sl_SI {7FF95C71-D8DE-4D2B-A26D-FEB5A1F54D63} ZRCOLALOCSLSIDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) fileZRCola.mo.sl_SI
!ENDIF
<<NOKEEP
######################################################################
# Control
All :: "$(LANG).$(PLAT).$(CFG).Control-2.idt"
"en_US.$(PLAT).$(CFG).Control-2.idtx" : "Makefile" "..\..\include\MSIBuildCfg.mak"
-if exist $@ del /f /q $@
move /y << $@ > NUL
Dialog_ Control Type X Y Width Height Attributes Property Text Control_Next Help
s$(MSIBUILD_LENGTH_ID) s50 s20 i2 i2 i2 i2 I4 S50 L0 S50 L$(MSIBUILD_LENGTH_HELP)
1252 Control Dialog_ Control
dlgTutorial1 ctlBannerBitmap Bitmap 0 0 400 45 1 binUIHeader.bmp ctlTitle
dlgTutorial1 ctlTitle Text 15 15 320 15 196611 [DlgTitleFont][SimpleProductName] Tutorial : Starting ctlScreenshot
dlgTutorial1 ctlScreenshot Bitmap 154 60 92 54 5 bintutorial1.bmp ctlText1
dlgTutorial1 ctlText1 Text 15 119 370 24 196611 When configured, ZRCola starts at system startup and runs in the background. If needed, it can be brought up by pressing the combination Win+F5. ctlText2
dlgTutorial1 ctlText2 Text 15 148 370 36 196611 IMPORTANT: Upon pressing the combination Win+F5 the program memorises the location of the cursor in the text. If ZRCola is brought to the foreground without using the aforementioned combination of keys, the program won't know where to insert the special characters! ctlContinue
dlgTutorial1 ctlContinue PushButton 325 265 60 20 3 &Continue ctlBannerBitmap
dlgTutorial2 ctlBannerBitmap Bitmap 0 0 400 45 1 binUIHeader.bmp ctlTitle
dlgTutorial2 ctlTitle Text 15 15 320 15 196611 [DlgTitleFont][SimpleProductName] Tutorial : Composition ctlScreenshot
dlgTutorial2 ctlScreenshot Bitmap 81 60 238 137 5 bintutorial2.bmp ctlText1
dlgTutorial2 ctlText1 Text 15 202 370 36 196611 The string of basic and substitute characters is entered into the upper input window of the program. In the window below the resulted special characters are displayed. To insert them in the text, the F5 key is used. ctlContinue
dlgTutorial2 ctlContinue PushButton 325 265 60 20 3 &Continue ctlBannerBitmap
dlgTutorial3 ctlBannerBitmap Bitmap 0 0 400 45 1 binUIHeader.bmp ctlTitle
dlgTutorial3 ctlTitle Text 15 15 320 15 196611 [DlgTitleFont][SimpleProductName] Tutorial : Entering Characters ctlScreenshot
dlgTutorial3 ctlScreenshot Bitmap 147 60 106 112 5 bintutorial3.bmp ctlText1
dlgTutorial3 ctlText1 Text 15 177 370 24 196611 Characters can be entered using keyboard shortcuts, the character catalogue (F4) or the character finding tool (F8). ctlContinue
dlgTutorial3 ctlContinue PushButton 325 265 60 20 3 &Continue ctlBannerBitmap
<<NOKEEP
!IF "$(LANG)" == "en_US"
"en_US.$(PLAT).$(CFG).Control-2.idt" : "en_US.$(PLAT).$(CFG).Control-2.idtx"
copy /y $** $@ > NUL
!ELSE
"$(LANG).$(PLAT).$(CFG).Control-2.idt" : "en_US.$(PLAT).$(CFG).Control-2.idtx" "..\locale\$(LANG).po"
cscript.exe "..\..\MSI\MSIBuild\MSI.wsf" //Job:IDTTranslate //Nologo $@ $** /CP:$(MSIBUILD_CODEPAGE)
!ENDIF
######################################################################
# ControlEvent
All :: "$(LANG).$(PLAT).$(CFG).ControlEvent-1.idt"
"$(LANG).$(PLAT).$(CFG).ControlEvent-1.idt" : "Makefile" "..\..\include\MSIBuildCfg.mak"
-if exist $@ del /f /q $@
move /y << $@ > NUL
Dialog_ Control_ Event Argument Condition Ordering
s$(MSIBUILD_LENGTH_ID) s50 s50 s255 S255 I2
ControlEvent Dialog_ Control_ Event Argument Condition
dlgTutorial1 ctlContinue EndDialog Return 1 1000
dlgTutorial2 ctlContinue EndDialog Return 1 1000
dlgTutorial3 ctlContinue EndDialog Return 1 1000
<<NOKEEP
######################################################################
# Dialog
All :: "$(LANG).$(PLAT).$(CFG).Dialog-1.idt"
"$(LANG).$(PLAT).$(CFG).Dialog-1.idt" : "Makefile" "..\..\include\MSIBuildCfg.mak"
-if exist $@ del /f /q $@
move /y << $@ > NUL
Dialog HCentering VCentering Width Height Attributes Title Control_First Control_Default Control_Cancel
s$(MSIBUILD_LENGTH_ID) i2 i2 i2 i2 I4 L128 s50 S50 S50
Dialog Dialog
dlgTutorial1 50 50 400 300 3 [Setup] [SimpleProductName] [DisplayVersion] ctlTitle ctlContinue ctlContinue
dlgTutorial2 50 50 400 300 3 [Setup] [SimpleProductName] [DisplayVersion] ctlTitle ctlContinue ctlContinue
dlgTutorial3 50 50 400 300 3 [Setup] [SimpleProductName] [DisplayVersion] ctlTitle ctlContinue ctlContinue
<<NOKEEP
######################################################################
# InstallUISequence
All :: "$(LANG).$(PLAT).$(CFG).InstallUISequence-1.idt"
"$(LANG).$(PLAT).$(CFG).InstallUISequence-1.idt" : "Makefile" "..\..\include\MSIBuildCfg.mak"
-if exist $@ del /f /q $@
move /y << $@ > NUL
Action Condition Sequence
s$(MSIBUILD_LENGTH_ID) S255 I2
InstallUISequence Action
dlgTutorial1 NOT Installed 1400
dlgTutorial2 NOT Installed 1401
dlgTutorial3 NOT Installed 1402
<<NOKEEP
######################################################################
# Feature
All :: "$(LANG).$(PLAT).$(CFG).Feature-2.idt"
"En.$(PLAT).$(CFG).Feature-2.idtx" : "Makefile" "..\..\include\MSIBuildCfg.mak"
"en_US.$(PLAT).$(CFG).Feature-2.idtx" : "Makefile" "..\..\include\MSIBuildCfg.mak"
-if exist $@ del /f /q $@
move /y << $@ > NUL
Feature Feature_Parent Title Description Display Level Directory_ Attributes
@@ -94,17 +216,13 @@ s$(MSIBUILD_LENGTH_ID) S$(MSIBUILD_LENGTH_ID) L64 L255 I2 i2 S$(MSIBUILD_LENGTH_
featZRCola ZRCola Input system for linguistic use 1 1 ZRCOLADIR 8
<<NOKEEP
"De.$(PLAT).$(CFG).Feature-2.idt" : "En.$(PLAT).$(CFG).Feature-2.idtx" "..\locale\de_DE.po"
rcxgettext.exe idtp $@ $**
"En.$(PLAT).$(CFG).Feature-2.idt" : "En.$(PLAT).$(CFG).Feature-2.idtx"
!IF "$(LANG)" == "en_US"
"en_US.$(PLAT).$(CFG).Feature-2.idt" : "en_US.$(PLAT).$(CFG).Feature-2.idtx"
copy /y $** $@ > NUL
"It.$(PLAT).$(CFG).Feature-2.idt" : "En.$(PLAT).$(CFG).Feature-2.idtx" "..\locale\it_IT.po"
rcxgettext.exe idtp $@ $**
"Sl.$(PLAT).$(CFG).Feature-2.idt" : "En.$(PLAT).$(CFG).Feature-2.idtx" "..\locale\sl_SI.po"
rcxgettext.exe idtp $@ $**
!ELSE
"$(LANG).$(PLAT).$(CFG).Feature-2.idt" : "en_US.$(PLAT).$(CFG).Feature-2.idtx" "..\locale\$(LANG).po"
cscript.exe "..\..\MSI\MSIBuild\MSI.wsf" //Job:IDTTranslate //Nologo $@ $** /CP:$(MSIBUILD_CODEPAGE)
!ENDIF
######################################################################
@@ -127,8 +245,16 @@ featZRCola compLocalizationRepositoryPath
featZRCola compLanguage
featZRCola compDatabasePath
featZRCola compZRCola.zrcdb
featZRCola comp00_ZRCola_Re.ttf
!IF "$(LANG)" == "Sl"
featZRCola compZRCola_Re.otf
!IF "$(LANG)" == "ru_RU"
featZRCola compZRCola.mo.ru_RU
featZRCola compZRCola.zrcdb.mo.ru_RU
featZRCola complibZRColaUI.mo.ru_RU
featZRCola compwxExtend.mo.ru_RU
featZRCola compUpdater.mo.ru_RU
featZRCola compwxstd.mo.ru_RU
!ENDIF
!IF "$(LANG)" == "sl_SI"
featZRCola compZRCola.mo.sl_SI
featZRCola compZRCola.zrcdb.mo.sl_SI
featZRCola complibZRColaUI.mo.sl_SI
@@ -151,7 +277,10 @@ File Component_ FileName FileSize Version Language Attributes Sequence
s$(MSIBUILD_LENGTH_ID) s$(MSIBUILD_LENGTH_ID) l255 i4 S$(MSIBUILD_LENGTH_ID) S20 I2 i2
File File
fileZRCola.exe.$(PLAT) compZRCola.exe.$(PLAT) ZRCola.exe 0 0 1536 1
!IF "$(LANG)" == "Sl"
!IF "$(LANG)" == "ru_RU"
fileZRCola.mo.ru_RU compZRCola.mo.ru_RU ZRCola.mo 0 1060 0 1
!ENDIF
!IF "$(LANG)" == "sl_SI"
fileZRCola.mo.sl_SI compZRCola.mo.sl_SI ZRCola.mo 0 1060 0 1
!ENDIF
<<NOKEEP
@@ -197,7 +326,7 @@ rmfiZRCola compZRCola.exe.$(PLAT) ZRColaShortcutDir 2
All :: "$(LANG).$(PLAT).$(CFG).Shortcut-2.idt"
"En.$(PLAT).$(CFG).Shortcut-2.idtx" : "Makefile" "..\..\include\MSIBuildCfg.mak"
"en_US.$(PLAT).$(CFG).Shortcut-2.idtx" : "Makefile" "..\..\include\MSIBuildCfg.mak"
-if exist $@ del /f /q $@
move /y << $@ > NUL
Shortcut Directory_ Name Component_ Target Arguments Description Hotkey Icon_ IconIndex ShowCmd WkDir
@@ -206,17 +335,13 @@ s$(MSIBUILD_LENGTH_ID) s$(MSIBUILD_LENGTH_ID) l128 s$(MSIBUILD_LENGTH_ID) s$(MSI
shctZRCola ZRColaShortcutDir ZRCola compZRCola.exe.$(PLAT) featZRCola Input system for linguistic use iconZRCola.ico ZRCOLABINDIR
<<NOKEEP
"De.$(PLAT).$(CFG).Shortcut-2.idt" : "En.$(PLAT).$(CFG).Shortcut-2.idtx" "..\locale\de_DE.po"
rcxgettext.exe idtp $@ $**
"En.$(PLAT).$(CFG).Shortcut-2.idt" : "En.$(PLAT).$(CFG).Shortcut-2.idtx"
!IF "$(LANG)" == "en_US"
"en_US.$(PLAT).$(CFG).Shortcut-2.idt" : "en_US.$(PLAT).$(CFG).Shortcut-2.idtx"
copy /y $** $@ > NUL
"It.$(PLAT).$(CFG).Shortcut-2.idt" : "En.$(PLAT).$(CFG).Shortcut-2.idtx" "..\locale\it_IT.po"
rcxgettext.exe idtp $@ $**
"Sl.$(PLAT).$(CFG).Shortcut-2.idt" : "En.$(PLAT).$(CFG).Shortcut-2.idtx" "..\locale\sl_SI.po"
rcxgettext.exe idtp $@ $**
!ELSE
"$(LANG).$(PLAT).$(CFG).Shortcut-2.idt" : "en_US.$(PLAT).$(CFG).Shortcut-2.idtx" "..\locale\$(LANG).po"
cscript.exe "..\..\MSI\MSIBuild\MSI.wsf" //Job:IDTTranslate //Nologo $@ $** /CP:$(MSIBUILD_CODEPAGE)
!ENDIF
######################################################################

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -115,7 +115,7 @@
<ProjectReference Include="..\lib\libZRCola\build\libZRCola.vcxproj">
<Project>{3c61929e-7289-4101-8d0a-da22d6e1aea8}</Project>
</ProjectReference>
<ProjectReference Include="..\lib\wxExtend\build\wxExtend.vcxproj">
<ProjectReference Include="..\lib\wxExtend\build\wxExtendDll.vcxproj">
<Project>{a3a36689-ac35-4026-93da-a3ba0c0e767c}</Project>
</ProjectReference>
<ProjectReference Include="..\Updater\Updater\build\Updater.vcxproj">

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -45,6 +45,8 @@
#include <wx/valtext.h>
#include <wx/socket.h>
#include <WinStd/MSI.h>
#include <fstream>
#include <string>
#include <utility>

View File

@@ -50,19 +50,15 @@ bool ZRColaApp::OnInit()
::MsiUseFeature(_T(ZRCOLA_VERSION_GUID), _T("featZRCola"));
#endif
// Initialize configuration.
wxConfigBase *cfgPrev = wxConfigBase::Set(new wxConfig(wxT(ZRCOLA_CFG_APPLICATION), wxT(ZRCOLA_CFG_VENDOR)));
if (cfgPrev) wxDELETE(cfgPrev);
if (!wxApp::OnInit())
return false;
// Set desired locale.
wxLanguage language = (wxLanguage)wxConfigBase::Get()->Read(wxT("Language"), wxLANGUAGE_DEFAULT);
if (wxLocale::IsAvailable(language)) {
wxString sPath;
if (wxConfigBase::Get()->Read(wxT("LocalizationRepositoryPath"), &sPath))
m_locale.AddCatalogLookupPathPrefix(sPath);
wxVERIFY(m_locale.Init(language));
// Initialize locale.
if (wxInitializeLocale(m_locale)) {
wxVERIFY(m_locale.AddCatalog(wxT("wxExtend") wxT(wxExtendVersion)));
wxVERIFY(m_locale.AddCatalog(wxT("Updater") wxT(wxUpdaterVersion)));
wxVERIFY(m_locale.AddCatalog(wxT("libZRColaUI")));
@@ -89,7 +85,7 @@ bool ZRColaApp::OnInit()
}
#endif
std::fstream dat((LPCTSTR)GetDatabasePath(), std::ios_base::in | std::ios_base::binary);
std::fstream dat((LPCTSTR)GetDatabaseFilePath(), 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))) {
ZRCola::recordsize_t size;

View File

@@ -60,10 +60,15 @@ public:
virtual int OnExit();
///
/// \returns Path to ZRCola.zrcdb file
/// \returns Path to database files
///
inline wxString GetDatabasePath() const;
///
/// \returns Path to ZRCola.zrcdb file
///
inline wxString GetDatabaseFilePath() const;
public:
ZRCola::translation_db m_t_db; ///< Translation database
ZRCola::langchar_db m_lc_db; ///< Language character database
@@ -91,12 +96,17 @@ inline wxString ZRColaApp::GetDatabasePath() const
wxString sPath;
if (wxConfigBase::Get()->Read(wxT("DatabasePath"), &sPath)) {
if (!wxEndsWithPathSeparator(sPath))
sPath << wxFILE_SEP_PATH;
sPath += wxFILE_SEP_PATH;
} else {
sPath = wxPathOnly(argv[0]);
sPath << wxT("\\..\\data\\");
sPath += wxT("\\..\\data\\");
}
sPath << wxT("ZRCola.zrcdb");
return sPath;
}
inline wxString ZRColaApp::GetDatabaseFilePath() const
{
return GetDatabasePath() + wxT("ZRCola.zrcdb");
}

View File

@@ -31,7 +31,7 @@ END_EVENT_TABLE()
wxZRColaCharacterCatalogPanel::wxZRColaCharacterCatalogPanel(wxWindow* parent) : wxZRColaCharacterCatalogPanelBase(parent)
{
std::fstream dat((LPCTSTR)((ZRColaApp*)wxTheApp)->GetDatabasePath(), std::ios_base::in | std::ios_base::binary);
std::fstream dat((LPCTSTR)((ZRColaApp*)wxTheApp)->GetDatabaseFilePath(), 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))) {
ZRCola::recordsize_t size;
@@ -64,10 +64,7 @@ wxZRColaCharacterCatalogPanel::wxZRColaCharacterCatalogPanel(wxWindow* parent) :
m_cg_id = m_cg_db.idxRnk[0].id;
m_choice->Select(0);
// Update grid by simulating wxEVT_COMMAND_CHOICE_SELECTED event.
wxCommandEvent e(wxEVT_COMMAND_CHOICE_SELECTED, m_grid->GetId());
e.SetInt(0);
OnChoice(e);
Update();
}
// Register frame specific hotkey(s).
@@ -86,13 +83,12 @@ wxZRColaCharacterCatalogPanel::~wxZRColaCharacterCatalogPanel()
void wxZRColaCharacterCatalogPanel::OnChoice(wxCommandEvent& event)
{
ZRCola::chrgrp_db::chrgrp &cg = m_cg_db.idxRnk[event.GetSelection()];
const ZRCola::chrgrp_db::chrgrp &cg = m_cg_db.idxRnk[event.GetSelection()];
m_cg_id = cg.id;
m_grid->SetCharacters(wxString(cg.data + cg.name_len, cg.char_len));
// As size of the grid might have changed, relayout the panel.
Layout();
if (m_cg_id != cg.id) {
m_cg_id = cg.id;
Update();
}
event.Skip();
}
@@ -129,6 +125,16 @@ void wxZRColaCharacterCatalogPanel::OnGridKeyDown(wxKeyEvent& event)
}
void wxZRColaCharacterCatalogPanel::OnShowAll(wxCommandEvent& event)
{
UNREFERENCED_PARAMETER(event);
Update();
event.Skip();
}
void wxZRColaCharacterCatalogPanel::OnFocusDecomposed(wxCommandEvent& event)
{
ZRColaApp *app = (ZRColaApp*)wxTheApp;
@@ -143,6 +149,33 @@ void wxZRColaCharacterCatalogPanel::OnFocusDecomposed(wxCommandEvent& event)
}
void wxZRColaCharacterCatalogPanel::Update()
{
const ZRCola::chrgrp_db::chrgrp &cg = m_cg_db.idxRnk[m_choice->GetSelection()];
if (m_show_all->GetValue()) {
m_grid->SetCharacters(
wxString(cg.get_chars(), cg.char_len),
wxArrayShort((const short*)cg.get_char_shown(), (const short*)cg.get_char_shown() + (cg.char_len + 15)/16));
} else {
// Select frequently used characters only.
const wchar_t *src = cg.get_chars();
const unsigned __int16 *shown = cg.get_char_shown();
wxString chars;
for (unsigned __int16 i = 0, j = 0; i < cg.char_len; j++) {
for (unsigned __int16 k = 0, mask = shown[j]; k < 16 && i < cg.char_len; k++, mask >>= 1, i++) {
if (mask & 1)
chars += src[i];
}
}
m_grid->SetCharacters(chars);
}
// As size of the grid might have changed, relayout the panel.
Layout();
}
//////////////////////////////////////////////////////////////////////////
// wxPersistentZRColaCharacterCatalogPanel
//////////////////////////////////////////////////////////////////////////
@@ -163,6 +196,7 @@ void wxPersistentZRColaCharacterCatalogPanel::Save() const
const wxZRColaCharacterCatalogPanel * const wnd = static_cast<const wxZRColaCharacterCatalogPanel*>(GetWindow());
SaveValue(wxT("charGroup"), wnd->m_cg_id);
SaveValue(wxT("showAll" ), wnd->m_show_all->GetValue());
}
@@ -170,24 +204,35 @@ bool wxPersistentZRColaCharacterCatalogPanel::Restore()
{
wxZRColaCharacterCatalogPanel * const wnd = static_cast<wxZRColaCharacterCatalogPanel*>(GetWindow());
bool update = false;
// Restore selected character group.
int cg_id;
if (RestoreValue(wxT("charGroup"), &cg_id)) {
for (size_t i = 0, n = wnd->m_cg_db.idxRnk.size(); i < n; i++) {
const ZRCola::chrgrp_db::chrgrp &cg = wnd->m_cg_db.idxRnk[i];
if (cg.id == cg_id) {
wnd->m_cg_id = cg.id;
wnd->m_choice->Select(i);
// Update grid by simulating wxEVT_COMMAND_CHOICE_SELECTED event.
wxCommandEvent e(wxEVT_COMMAND_CHOICE_SELECTED, wnd->m_grid->GetId());
e.SetInt(i);
wnd->OnChoice(e);
if (wnd->m_cg_id != cg.id) {
wnd->m_cg_id = cg.id;
wnd->m_choice->Select(i);
update = true;
}
break;
}
}
}
bool show_all;
if (RestoreValue(wxT("showAll"), &show_all)) {
if (wnd->m_show_all->GetValue() != show_all) {
wnd->m_show_all->SetValue(show_all);
update = true;
}
}
if (update)
wnd->Update();
return true;
}

View File

@@ -50,9 +50,12 @@ protected:
virtual void OnChoice(wxCommandEvent& event);
virtual void OnGridClick(wxGridEvent& event);
virtual void OnGridKeyDown(wxKeyEvent& event);
virtual void OnShowAll(wxCommandEvent& event);
void OnFocusDecomposed(wxCommandEvent& event);
DECLARE_EVENT_TABLE()
void Update();
protected:
ZRCola::chrgrp_db m_cg_db; ///< Character group database
int m_cg_id; ///< Selected character group ID

View File

@@ -68,8 +68,22 @@ void wxZRColaCharGrid::Init()
void wxZRColaCharGrid::SetCharacters(const wxString &chars)
{
m_chars = chars;
m_relevance.Clear();
m_regenerate = true;
// Invoke OnSize(), which will populate the grid.
wxSizeEvent e(GetSize(), m_windowId);
e.SetEventObject(this);
HandleWindowEvent(e);
}
void wxZRColaCharGrid::SetCharacters(const wxString &chars, const wxArrayShort &relevance)
{
m_chars = chars;
m_relevance = relevance;
m_regenerate = true;
// Invoke OnSize(), which will populate the grid.
@@ -137,6 +151,17 @@ void wxZRColaCharGrid::OnSize(wxSizeEvent& event)
for (int c = 0; c < cols; c++, i++)
table->SetValue(r, c, i < (int)char_len ? wxString(1, m_chars[i]) : wxEmptyString);
SetTable(table, true);
if (!m_relevance.IsEmpty()) {
const wxColour colour_def;
const wxColour colour_irr = wxSystemSettings::GetColour(wxSYS_COLOUR_BTNHIGHLIGHT);
for (int r = 0, i = 0; r < rows; r++)
for (int c = 0; c < cols; c++, i++)
SetCellBackgroundColour(r, c, i >= (int)char_len || ((unsigned short)(m_relevance[i/16]) & (1<<(i%16))) ? colour_def : colour_irr);
} else {
for (int r = 0, i = 0; r < rows; r++)
for (int c = 0; c < cols; c++, i++)
SetAttr(r, c, NULL);
}
m_regenerate = false;
}

View File

@@ -58,6 +58,14 @@ public:
///
void SetCharacters(const wxString &chars);
///
/// Sets new array of characters to display
///
/// \param[in] chars The string containing characters to display
/// \param[in] relevance Bit-array of \p chars relevance (1=more relevant, 0=less relevant)
///
void SetCharacters(const wxString &chars, const wxArrayShort &relevance);
///
/// Returns displayed characters
///
@@ -91,14 +99,15 @@ protected:
DECLARE_EVENT_TABLE()
private:
void Init(); // common part of all ctors
void Init(); // common part of all ctors
protected:
wxString m_chars; ///< Array of Unicode characters to display in the grid
wxString m_chars; ///< Array of Unicode characters to display in the grid
wxArrayShort m_relevance; ///< Bit-array of `m_chars` relevance
private:
bool m_regenerate; ///< Force regenerate grid table
bool m_isResizing; ///< Prevents nesting of OnSize() method.
wxTimer m_timerToolTip; ///< Timer for displaying tooltip
size_t m_toolTipIdx; ///< Index of cell for tooltip display
bool m_regenerate; ///< Force regenerate grid table
bool m_isResizing; ///< Prevents nesting of OnSize() method.
wxTimer m_timerToolTip; ///< Timer for displaying tooltip
size_t m_toolTipIdx; ///< Index of cell for tooltip display
};

View File

@@ -1,4 +1,4 @@
/*
/*
Copyright 2015-2016 Amebis
This file is part of ZRCola.
@@ -36,6 +36,8 @@ wxZRColaCharSelect::wxZRColaCharSelect(wxWindow* parent) :
{
Connect(wxID_ANY, wxEVT_SEARCH_COMPLETE, wxThreadEventHandler(wxZRColaCharSelect::OnSearchComplete), NULL, this);
m_search_more->SetLabel(_(L"▸ Search Options"));
m_unicode->SetValidator(wxHexValidator<wchar_t>(&m_char, wxNUM_VAL_DEFAULT, 4));
// Fill categories.
@@ -169,6 +171,22 @@ void wxZRColaCharSelect::OnSearchText(wxCommandEvent& event)
}
void wxZRColaCharSelect::OnSearchMore(wxHyperlinkEvent& event)
{
event.StopPropagation();
if (m_search_panel->IsShown()) {
m_search_panel->Show(false);
m_search_more->SetLabel(_(L"▸ Search Options"));
} else {
m_search_panel->Show(true);
m_search_more->SetLabel(_(L"▾ Search Options"));
}
this->Layout();
}
void wxZRColaCharSelect::OnCategoriesAll(wxHyperlinkEvent& event)
{
event.StopPropagation();
@@ -573,6 +591,8 @@ void wxPersistentZRColaCharSelect::Save() const
name.Append(cc.id.data, _countof(cc.id.data));
SaveValue(name, wnd->m_categories->IsChecked(i));
}
SaveValue(wxT("searchPanel"), wnd->m_search_panel->IsShown());
}
@@ -593,6 +613,18 @@ bool wxPersistentZRColaCharSelect::Restore()
if (RestoreValue(name, &val))
wnd->m_categories->Check(i, val);
}
bool search_panel;
if (RestoreValue(wxT("searchPanel"), &search_panel)) {
if (search_panel) {
wnd->m_search_panel->Show(true);
wnd->m_search_more->SetLabel(_(L"▾ Search Options"));
} else {
wnd->m_search_panel->Show(false);
wnd->m_search_more->SetLabel(_(L"▸ Search Options"));
}
}
wnd->ResetResults();
return wxPersistentDialog::Restore();

View File

@@ -55,6 +55,7 @@ public:
protected:
virtual void OnIdle(wxIdleEvent& event);
virtual void OnSearchText(wxCommandEvent& event);
virtual void OnSearchMore(wxHyperlinkEvent& event);
virtual void OnCategoriesAll(wxHyperlinkEvent& event);
virtual void OnCategoriesNone(wxHyperlinkEvent& event);
virtual void OnCategoriesInvert(wxHyperlinkEvent& event);

View File

@@ -49,6 +49,9 @@ wxBEGIN_EVENT_TABLE(wxZRColaFrame, wxZRColaFrameBase)
EVT_MENU (wxID_PANEL_CHRGRPS , wxZRColaFrame::OnPanelCharacterCatalog )
EVT_MENU (wxID_FOCUS_CHARACTER_CATALOG , wxZRColaFrame::OnPanelCharacterCatalogFocus )
EVT_MENU (wxID_HELP_INSTRUCTIONS , wxZRColaFrame::OnHelpInstructions )
EVT_MENU (wxID_HELP_SHORTCUTS , wxZRColaFrame::OnHelpShortcuts )
EVT_MENU (wxID_HELP_REQCHAR , wxZRColaFrame::OnHelpReqChar )
EVT_MENU (wxID_HELP_UPDATE , wxZRColaFrame::OnHelpUpdate )
EVT_MENU (wxID_ABOUT , wxZRColaFrame::OnHelpAbout )
@@ -103,12 +106,6 @@ wxZRColaFrame::wxZRColaFrame() :
// Set focus.
m_panel->m_decomposed->SetFocus();
// Register global hotkey(s).
if (!RegisterHotKey(wxZRColaHKID_INVOKE_COMPOSE, wxMOD_WIN, VK_F5))
wxMessageBox(_("ZRCola keyboard shortcut Win+F5 could not be registered. Some functionality will not be available."), _("Warning"), wxOK | wxICON_WARNING);
if (!RegisterHotKey(wxZRColaHKID_INVOKE_DECOMPOSE, wxMOD_WIN, VK_F6))
wxMessageBox(_("ZRCola keyboard shortcut Win+F6 could not be registered. Some functionality will not be available."), _("Warning"), wxOK | wxICON_WARNING);
#if defined(__WXMSW__)
// Register notification sink for language detection.
m_ulRefCount = 1;
@@ -138,11 +135,21 @@ wxZRColaFrame::wxZRColaFrame() :
// Restore persistent state of wxAuiManager manually, since m_mgr is not on the heap.
wxPersistentAuiManager(&m_mgr).Restore();
// Register global hotkey(s).
if (!RegisterHotKey(wxZRColaHKID_INVOKE_COMPOSE, wxMOD_WIN, VK_F5))
wxMessageBox(_("ZRCola keyboard shortcut Win+F5 could not be registered. Some functionality will not be available."), _("Warning"), wxOK | wxICON_WARNING);
if (!RegisterHotKey(wxZRColaHKID_INVOKE_DECOMPOSE, wxMOD_WIN, VK_F6))
wxMessageBox(_("ZRCola keyboard shortcut Win+F6 could not be registered. Some functionality will not be available."), _("Warning"), wxOK | wxICON_WARNING);
}
wxZRColaFrame::~wxZRColaFrame()
{
// Unregister global hotkey(s).
UnregisterHotKey(wxZRColaHKID_INVOKE_DECOMPOSE);
UnregisterHotKey(wxZRColaHKID_INVOKE_COMPOSE);
#if defined(__WXMSW__)
if (m_tfSource) {
m_tfSource->UnadviseSink(m_dwCookie);
@@ -150,10 +157,6 @@ wxZRColaFrame::~wxZRColaFrame()
}
#endif
// Unregister global hotkey(s).
UnregisterHotKey(wxZRColaHKID_INVOKE_DECOMPOSE);
UnregisterHotKey(wxZRColaHKID_INVOKE_COMPOSE);
if (m_chrReq)
delete m_chrReq;
@@ -343,6 +346,36 @@ void wxZRColaFrame::OnPanelCharacterCatalogFocus(wxCommandEvent& event)
}
void wxZRColaFrame::OnHelpInstructions(wxCommandEvent& event)
{
wxLaunchDefaultBrowser(_("http://zrcola.zrc-sazu.si/en/info/instructions/"));
}
void wxZRColaFrame::OnHelpShortcuts(wxCommandEvent& event)
{
winstd::tstring pdf_path;
#ifdef __WXMSW__
// Search and try to launch installed PDF.
INSTALLSTATE pdf_is = ::MsiGetComponentPath(_T(ZRCOLA_VERSION_GUID), _T("{68AC2C38-10E2-41A3-B92C-844C03FFDF6A}"), pdf_path);
if ((pdf_is == INSTALLSTATE_LOCAL || pdf_is == INSTALLSTATE_SOURCE) &&
wxFileExists(pdf_path) &&
(int)::ShellExecute(GetHWND(), NULL, pdf_path.c_str(), NULL, NULL, SW_SHOWNORMAL) > 32) return;
#endif
// Search and try to launch local PDF copy.
ZRColaApp *app = (ZRColaApp*)wxTheApp;
pdf_path = app->GetDatabasePath();
pdf_path += _T("ZRCola_keyboard.pdf");
if (wxFileExists(pdf_path) &&
(int)::ShellExecute(GetHWND(), NULL, pdf_path.c_str(), NULL, NULL, SW_SHOWNORMAL) > 32) return;
// When everything else fail, try the online version.
wxLaunchDefaultBrowser(_("http://zrcola.zrc-sazu.si/wp-content/uploads/2016/06/ZRCola_tipkovnica_Jun2016.pdf"));
}
void wxZRColaFrame::OnHelpReqChar(wxCommandEvent& event)
{
m_chrReq->ShowModal();

View File

@@ -86,6 +86,8 @@ protected:
void OnPanelCharacterCatalogUpdate(wxUpdateUIEvent& event);
void OnPanelCharacterCatalog(wxCommandEvent& event);
void OnPanelCharacterCatalogFocus(wxCommandEvent& event);
void OnHelpInstructions(wxCommandEvent& event);
void OnHelpShortcuts(wxCommandEvent& event);
void OnHelpReqChar(wxCommandEvent& event);
void OnHelpUpdate(wxCommandEvent& event);
void OnHelpAbout(wxCommandEvent& event);

View File

@@ -75,7 +75,7 @@ wxZRColaFrameBase::wxZRColaFrameBase( wxWindow* parent, wxWindowID id, const wxS
m_menuEdit->AppendSeparator();
wxMenuItem* m_menuCharSelect;
m_menuCharSelect = new wxMenuItem( m_menuEdit, wxID_CHARACTER_SELECTOR, wxString( _("C&haracter Selector...") ) + wxT('\t') + wxT("F8"), _("Display character selector to select character to insert into text"), wxITEM_NORMAL );
m_menuCharSelect = new wxMenuItem( m_menuEdit, wxID_CHARACTER_SELECTOR, wxString( _("Find C&haracter...") ) + wxT('\t') + wxT("F8"), _("Display character search to select character to insert into text"), wxITEM_NORMAL );
#ifdef __WXMSW__
m_menuCharSelect->SetBitmaps( wxIcon( wxT("char_select.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 16, 16 ) );
#elif (defined( __WXGTK__ ) || defined( __WXOSX__ ))
@@ -138,6 +138,16 @@ wxZRColaFrameBase::wxZRColaFrameBase( wxWindow* parent, wxWindowID id, const wxS
m_menubar->Append( m_menuView, _("&View") );
m_menuHelp = new wxMenu();
wxMenuItem* m_menuHelpInstructions;
m_menuHelpInstructions = new wxMenuItem( m_menuHelp, wxID_HELP_INSTRUCTIONS, wxString( _("&Instructions...") ) + wxT('\t') + wxT("F1"), _("Open a web site with product instructions"), wxITEM_NORMAL );
m_menuHelp->Append( m_menuHelpInstructions );
wxMenuItem* m_menuHelpShortcuts;
m_menuHelpShortcuts = new wxMenuItem( m_menuHelp, wxID_HELP_SHORTCUTS, wxString( _("Keyboard &Shortcuts...") ) , _("Open a list of keyboard shortcuts"), wxITEM_NORMAL );
m_menuHelp->Append( m_menuHelpShortcuts );
m_menuHelp->AppendSeparator();
wxMenuItem* m_menuHelpReqChar;
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 );
@@ -149,7 +159,7 @@ wxZRColaFrameBase::wxZRColaFrameBase( wxWindow* parent, wxWindowID id, const wxS
m_menuHelp->AppendSeparator();
wxMenuItem* m_menuHelpAbout;
m_menuHelpAbout = new wxMenuItem( m_menuHelp, wxID_ABOUT, wxString( wxEmptyString ) , wxEmptyString, wxITEM_NORMAL );
m_menuHelpAbout = new wxMenuItem( m_menuHelp, wxID_ABOUT, wxString( _("&About...") ) , wxEmptyString, wxITEM_NORMAL );
m_menuHelp->Append( m_menuHelpAbout );
m_menubar->Append( m_menuHelp, _("&Help") );
@@ -167,7 +177,7 @@ wxZRColaFrameBase::wxZRColaFrameBase( wxWindow* parent, wxWindowID id, const wxS
m_mgr.AddPane( m_toolbarEdit, wxAuiPaneInfo().Name( wxT("toolbarEdit") ).Top().Caption( _("Edit") ).PinButton( true ).Dock().Resizable().FloatingSize( wxSize( -1,-1 ) ).LeftDockable( false ).RightDockable( false ).Row( 0 ).Layer( 1 ).ToolbarPane() );
m_toolbarCompose = new wxAuiToolBar( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_TB_HORZ_LAYOUT );
m_toolCharSelect = m_toolbarCompose->AddTool( wxID_CHARACTER_SELECTOR, _("Character Selector"), wxIcon( wxT("char_select.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Character Selector"), _("Display character selector to select character to insert into text"), NULL );
m_toolCharSelect = m_toolbarCompose->AddTool( wxID_CHARACTER_SELECTOR, _("Find Character"), wxIcon( wxT("char_select.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Find Character"), _("Display character search to select character to insert into text"), NULL );
m_toolSendComposed = m_toolbarCompose->AddTool( wxID_SEND_COMPOSED, _("Send Composed"), wxIcon( wxT("send_composed.ico"), wxBITMAP_TYPE_ICO_RESOURCE, 24, 24 ), wxNullBitmap, wxITEM_NORMAL, _("Send Composed"), _("Send composed text to source window"), NULL );
@@ -224,7 +234,7 @@ wxZRColaComposerPanelBase::wxZRColaComposerPanelBase( wxWindow* parent, wxWindow
bSizerDecomposedEdit2 = new wxStaticBoxSizer( new wxStaticBox( m_panelDecomposedEdit, wxID_ANY, _("Decomposed Text") ), wxVERTICAL );
m_decomposed = new wxTextCtrl( bSizerDecomposedEdit2->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE );
m_decomposed->SetFont( wxFont( 20, 70, 90, 90, false, wxT("00 ZRCola") ) );
m_decomposed->SetFont( wxFont( 20, 70, 90, 90, false, wxT("ZRCola") ) );
m_decomposed->SetMinSize( wxSize( 100,25 ) );
bSizerDecomposedEdit2->Add( m_decomposed, 1, wxEXPAND, 5 );
@@ -271,7 +281,7 @@ wxZRColaComposerPanelBase::wxZRColaComposerPanelBase( wxWindow* parent, wxWindow
bSizerComposedEdit2 = new wxStaticBoxSizer( new wxStaticBox( m_panelComposedEdit, wxID_ANY, _("Composed Text") ), wxVERTICAL );
m_composed = new wxTextCtrl( bSizerComposedEdit2->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE );
m_composed->SetFont( wxFont( 20, 70, 90, 90, false, wxT("00 ZRCola") ) );
m_composed->SetFont( wxFont( 20, 70, 90, 90, false, wxT("ZRCola") ) );
m_composed->SetMinSize( wxSize( 100,25 ) );
bSizerComposedEdit2->Add( m_composed, 1, wxEXPAND, 5 );
@@ -342,6 +352,8 @@ wxZRColaCharacterCatalogPanelBase::wxZRColaCharacterCatalogPanelBase( wxWindow*
wxArrayString m_choiceChoices;
m_choice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceChoices, 0 );
m_choice->SetSelection( 0 );
m_choice->SetToolTip( _("Select category to display") );
bSizer->Add( m_choice, 0, wxALL|wxEXPAND, 5 );
m_grid = new wxZRColaCharGrid( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
@@ -368,12 +380,17 @@ wxZRColaCharacterCatalogPanelBase::wxZRColaCharacterCatalogPanelBase( wxWindow*
// Cell Defaults
m_grid->SetDefaultCellBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
m_grid->SetDefaultCellFont( wxFont( 20, 70, 90, 90, false, wxT("00 ZRCola") ) );
m_grid->SetDefaultCellFont( wxFont( 20, 70, 90, 90, false, wxT("ZRCola") ) );
m_grid->SetDefaultCellAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
m_grid->SetMinSize( wxSize( 35,35 ) );
bSizer->Add( m_grid, 1, wxALL|wxEXPAND, 5 );
m_show_all = new wxCheckBox( this, wxID_ANY, _("Show &All"), wxDefaultPosition, wxDefaultSize, 0 );
m_show_all->SetToolTip( _("Toggle display of less frequent characters") );
bSizer->Add( m_show_all, 0, wxALL|wxEXPAND, 5 );
this->SetSizer( bSizer );
this->Layout();
@@ -383,6 +400,7 @@ wxZRColaCharacterCatalogPanelBase::wxZRColaCharacterCatalogPanelBase( wxWindow*
m_choice->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( wxZRColaCharacterCatalogPanelBase::OnChoice ), NULL, this );
m_grid->Connect( wxEVT_GRID_CELL_LEFT_CLICK, wxGridEventHandler( wxZRColaCharacterCatalogPanelBase::OnGridClick ), NULL, this );
m_grid->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( wxZRColaCharacterCatalogPanelBase::OnGridKeyDown ), NULL, this );
m_show_all->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( wxZRColaCharacterCatalogPanelBase::OnShowAll ), NULL, this );
}
wxZRColaCharacterCatalogPanelBase::~wxZRColaCharacterCatalogPanelBase()
@@ -391,6 +409,7 @@ wxZRColaCharacterCatalogPanelBase::~wxZRColaCharacterCatalogPanelBase()
m_choice->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( wxZRColaCharacterCatalogPanelBase::OnChoice ), NULL, this );
m_grid->Disconnect( wxEVT_GRID_CELL_LEFT_CLICK, wxGridEventHandler( wxZRColaCharacterCatalogPanelBase::OnGridClick ), NULL, this );
m_grid->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( wxZRColaCharacterCatalogPanelBase::OnGridKeyDown ), NULL, this );
m_show_all->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( wxZRColaCharacterCatalogPanelBase::OnShowAll ), NULL, this );
}
@@ -419,32 +438,49 @@ wxZRColaCharSelectBase::wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id,
sbSizerBrowse->Add( m_search, 0, wxALL|wxEXPAND, 5 );
m_search_more = new wxHyperlinkCtrl( sbSizerBrowse->GetStaticBox(), wxID_ANY, _("Search Options"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
m_search_more->SetToolTip( _("Shows/hides additional search options") );
sbSizerBrowse->Add( m_search_more, 0, wxALL|wxEXPAND, 5 );
m_search_panel = new wxPanel( sbSizerBrowse->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
m_search_panel->Hide();
wxBoxSizer* sbSizerSearch;
sbSizerSearch = new wxBoxSizer( wxVERTICAL );
wxArrayString m_categoriesChoices;
m_categories = new wxCheckListBox( sbSizerBrowse->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxSize( -1,60 ), m_categoriesChoices, 0 );
m_categories = new wxCheckListBox( m_search_panel, 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 );
sbSizerSearch->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 = new wxHyperlinkCtrl( m_search_panel, 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 = new wxHyperlinkCtrl( m_search_panel, 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 = new wxHyperlinkCtrl( m_search_panel, 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 );
sbSizerSearch->Add( bSizerCategoriesCtrl, 0, wxALIGN_RIGHT, 5 );
m_search_panel->SetSizer( sbSizerSearch );
m_search_panel->Layout();
sbSizerSearch->Fit( m_search_panel );
sbSizerBrowse->Add( m_search_panel, 0, wxEXPAND, 5 );
m_gridResults = new wxZRColaCharGrid( sbSizerBrowse->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), wxSTATIC_BORDER );
@@ -469,7 +505,7 @@ wxZRColaCharSelectBase::wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id,
// Label Appearance
// Cell Defaults
m_gridResults->SetDefaultCellFont( wxFont( 20, 70, 90, 90, false, wxT("00 ZRCola") ) );
m_gridResults->SetDefaultCellFont( wxFont( 20, 70, 90, 90, false, wxT("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") );
@@ -507,7 +543,7 @@ wxZRColaCharSelectBase::wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id,
// Label Appearance
// Cell Defaults
m_gridRecent->SetDefaultCellFont( wxFont( 20, 70, 90, 90, false, wxT("00 ZRCola") ) );
m_gridRecent->SetDefaultCellFont( wxFont( 20, 70, 90, 90, false, wxT("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") );
@@ -571,7 +607,7 @@ wxZRColaCharSelectBase::wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id,
// Label Appearance
// Cell Defaults
m_gridPreview->SetDefaultCellFont( wxFont( 96, 70, 90, 90, false, wxT("00 ZRCola") ) );
m_gridPreview->SetDefaultCellFont( wxFont( 96, 70, 90, 90, false, wxT("ZRCola") ) );
m_gridPreview->SetDefaultCellAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
m_gridPreview->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
m_gridPreview->SetToolTip( _("Character preview") );
@@ -635,7 +671,7 @@ wxZRColaCharSelectBase::wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id,
// Label Appearance
// Cell Defaults
m_gridRelated->SetDefaultCellFont( wxFont( 20, 70, 90, 90, false, wxT("00 ZRCola") ) );
m_gridRelated->SetDefaultCellFont( wxFont( 20, 70, 90, 90, false, wxT("ZRCola") ) );
m_gridRelated->SetDefaultCellAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
m_gridRelated->SetToolTip( _("List of related characters") );
@@ -670,6 +706,7 @@ wxZRColaCharSelectBase::wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id,
// Connect Events
this->Connect( wxEVT_IDLE, wxIdleEventHandler( wxZRColaCharSelectBase::OnIdle ) );
m_search->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( wxZRColaCharSelectBase::OnSearchText ), NULL, this );
m_search_more->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnSearchMore ), 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 );
@@ -693,6 +730,7 @@ wxZRColaCharSelectBase::~wxZRColaCharSelectBase()
// Disconnect Events
this->Disconnect( wxEVT_IDLE, wxIdleEventHandler( wxZRColaCharSelectBase::OnIdle ) );
m_search->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( wxZRColaCharSelectBase::OnSearchText ), NULL, this );
m_search_more->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( wxZRColaCharSelectBase::OnSearchMore ), 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 );
@@ -830,7 +868,8 @@ wxZRColaAboutBase::wxZRColaAboutBase( wxWindow* parent, wxWindowID id, const wxS
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") ) );
m_staticTextZRCola->SetFont( wxFont( 20, 70, 90, 90, false, wxT("ZRCola") ) );
m_staticTextZRCola->SetMaxSize( wxSize( 400,-1 ) );
bSizerText->Add( m_staticTextZRCola, 0, wxALL|wxEXPAND, 5 );
@@ -838,15 +877,15 @@ wxZRColaAboutBase::wxZRColaAboutBase( wxWindow* parent, wxWindowID id, const wxS
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 );
m_staticTextColophone = new wxStaticText( this, wxID_ANY, _("Program and Website Editor: Janoš Ježovnik\nDevelopment: Amebis, d. o. o., Kamnik\nTranslation into English: Janoš Ježovnik\nTranslation into Russian language: Domen Krvina, Silvo Torkar, Anastasia Plotnikova\nDevelopment and maintenance of the original program (20042015): Peter Weiss"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextColophone->Wrap( 400 );
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 );
m_hyperlink = new wxHyperlinkCtrl( this, wxID_ANY, _("zrcola.zrc-sazu.si"), wxT("http://zrcola.zrc-sazu.si/"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
bSizerText->Add( m_hyperlink, 0, wxALL|wxEXPAND, 5 );
@@ -856,7 +895,7 @@ wxZRColaAboutBase::wxZRColaAboutBase( wxWindow* parent, wxWindowID id, const wxS
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 = 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 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 );
@@ -913,12 +952,15 @@ wxZRColaUpdaterBase::wxZRColaUpdaterBase( wxWindow* parent, wxWindowID id, const
wxBoxSizer* bSizerButtons;
bSizerButtons = new wxBoxSizer( wxHORIZONTAL );
m_buttonUpdate = new wxButton( this, wxID_ANY, _("&Update"), wxDefaultPosition, wxDefaultSize, 0 );
m_buttonUpdate = new wxButton( this, wxID_ANY, _("Quit and &Update..."), wxDefaultPosition, wxDefaultSize, 0 );
m_buttonUpdate->Enable( false );
m_buttonUpdate->SetToolTip( _("Exit this program and launch product update") );
bSizerButtons->Add( m_buttonUpdate, 0, wxALL, 5 );
m_buttonClose = new wxButton( this, wxID_OK, _("&Close"), wxDefaultPosition, wxDefaultSize, 0 );
m_buttonClose->SetToolTip( _("Close this window") );
bSizerButtons->Add( m_buttonClose, 0, wxALL, 5 );
@@ -932,13 +974,17 @@ wxZRColaUpdaterBase::wxZRColaUpdaterBase( wxWindow* parent, wxWindowID id, const
this->Centre( wxBOTH );
// Connect Events
this->Connect( wxEVT_IDLE, wxIdleEventHandler( wxZRColaUpdaterBase::OnIdle ) );
m_buttonUpdate->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaUpdaterBase::OnUpdate ), NULL, this );
m_buttonClose->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaUpdaterBase::OnClose ), NULL, this );
}
wxZRColaUpdaterBase::~wxZRColaUpdaterBase()
{
// Disconnect Events
this->Disconnect( wxEVT_IDLE, wxIdleEventHandler( wxZRColaUpdaterBase::OnIdle ) );
m_buttonUpdate->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaUpdaterBase::OnUpdate ), NULL, this );
m_buttonClose->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxZRColaUpdaterBase::OnClose ), NULL, this );
}
@@ -958,7 +1004,7 @@ wxZRColaCharRequestBase::wxZRColaCharRequestBase( wxWindow* parent, wxWindowID i
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->SetFont( wxFont( 20, 70, 90, 90, false, wxT("ZRCola") ) );
m_character->SetToolTip( _("Decomposed character to request") );
sbSizerCharacter->Add( m_character, 0, wxALL|wxEXPAND, 5 );
@@ -973,12 +1019,12 @@ wxZRColaCharRequestBase::wxZRColaCharRequestBase( wxWindow* parent, wxWindowID i
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 = new wxStaticText( sbSizerContext->GetStaticBox(), wxID_ANY, _("The &context, examples or 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->SetFont( wxFont( 16, 70, 90, 90, false, wxT("ZRCola") ) );
m_context->SetToolTip( _("Additional notes for character request") );
sbSizerContext->Add( m_context, 1, wxALL|wxEXPAND, 5 );
@@ -986,7 +1032,7 @@ wxZRColaCharRequestBase::wxZRColaCharRequestBase( wxWindow* parent, wxWindowID i
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 = 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 the Editor will be able to read them correctly anyway."), wxDefaultPosition, wxDefaultSize, 0 );
m_note->Wrap( 400 );
bSizerContent->Add( m_note, 0, wxALL|wxEXPAND, 5 );

View File

@@ -37,15 +37,15 @@ class wxZRColaComposerPanel;
#include <wx/timer.h>
#include <wx/choice.h>
#include <wx/grid.h>
#include <wx/checkbox.h>
#include <wx/srchctrl.h>
#include <wx/checklst.h>
#include <wx/hyperlink.h>
#include <wx/checklst.h>
#include <wx/stattext.h>
#include <wx/button.h>
#include <wx/dialog.h>
#include <wx/radiobut.h>
#include <wx/listbox.h>
#include <wx/checkbox.h>
#include <wx/listbook.h>
#include <wx/listctrl.h>
#include <wx/statbmp.h>
@@ -70,6 +70,8 @@ class wxZRColaFrameBase : public wxFrame
wxID_TOOLBAR_EDIT,
wxID_TOOLBAR_COMPOSE,
wxID_PANEL_CHRGRPS,
wxID_HELP_INSTRUCTIONS,
wxID_HELP_SHORTCUTS,
wxID_HELP_REQCHAR,
wxID_HELP_UPDATE
};
@@ -170,11 +172,13 @@ class wxZRColaCharacterCatalogPanelBase : public wxPanel
protected:
wxChoice* m_choice;
wxZRColaCharGrid* m_grid;
wxCheckBox* m_show_all;
// Virtual event handlers, overide them in your derived class
virtual void OnChoice( wxCommandEvent& event ) { event.Skip(); }
virtual void OnGridClick( wxGridEvent& event ) { event.Skip(); }
virtual void OnGridKeyDown( wxKeyEvent& event ) { event.Skip(); }
virtual void OnShowAll( wxCommandEvent& event ) { event.Skip(); }
public:
@@ -193,6 +197,8 @@ class wxZRColaCharSelectBase : public wxDialog
protected:
wxSearchCtrl* m_search;
wxHyperlinkCtrl* m_search_more;
wxPanel* m_search_panel;
wxCheckListBox* m_categories;
wxHyperlinkCtrl* m_categoriesAll;
wxHyperlinkCtrl* m_categoriesNone;
@@ -215,6 +221,7 @@ class wxZRColaCharSelectBase : public wxDialog
// Virtual event handlers, overide them in your derived class
virtual void OnIdle( wxIdleEvent& event ) { event.Skip(); }
virtual void OnSearchText( wxCommandEvent& event ) { event.Skip(); }
virtual void OnSearchMore( wxHyperlinkEvent& event ) { event.Skip(); }
virtual void OnCategoriesToggle( wxCommandEvent& event ) { event.Skip(); }
virtual void OnCategoriesAll( wxHyperlinkEvent& event ) { event.Skip(); }
virtual void OnCategoriesNone( wxHyperlinkEvent& event ) { event.Skip(); }
@@ -235,7 +242,7 @@ class wxZRColaCharSelectBase : public wxDialog
public:
wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Character Selector"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaCharSelect") );
wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Character Search"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaCharSelect") );
~wxZRColaCharSelectBase();
};
@@ -316,7 +323,9 @@ class wxZRColaUpdaterBase : public wxDialog
wxButton* m_buttonClose;
// Virtual event handlers, overide them in your derived class
virtual void OnIdle( wxIdleEvent& event ) { event.Skip(); }
virtual void OnUpdate( wxCommandEvent& event ) { event.Skip(); }
virtual void OnClose( wxCommandEvent& event ) { event.Skip(); }
public:

View File

@@ -44,6 +44,11 @@ bool wxZRColaKeyHandler::ProcessEvent(wxEvent& event)
pFrame->SetStatusText(_("INS key is pressed. Type the Unicode code of desired character now (up to four hexadecimal digits: 0-9, A-F), then release INS."));
} else if (m_is_insert) {
wxChar chr = e.GetUnicodeKey();
if (!chr) {
int key = e.GetKeyCode();
if (WXK_NUMPAD0 <= key && key <= WXK_NUMPAD9)
chr = '0' + (key - WXK_NUMPAD0);
}
wxFrame *pFrame = wxDynamicCast(((ZRColaApp*)wxTheApp)->m_mainWnd, wxFrame);
if (('0' <= chr && chr <= '9' || 'A' <= chr && chr <= 'F') && m_insert_seq.size() < 4) {
// A hex-digit pressed. Save it.

View File

@@ -28,6 +28,7 @@ wxZRColaUpdater::wxZRColaUpdater(wxWindow* parent) :
m_logLevelOrig(wxLOG_Warning),
m_logOrig(NULL),
m_updater(NULL),
m_finished(false),
wxZRColaUpdaterBase(parent)
{
// Setup logging.
@@ -35,17 +36,17 @@ wxZRColaUpdater::wxZRColaUpdater(wxWindow* parent) :
m_logLevelOrig = wxLog::GetLogLevel();
wxLog::SetLogLevel(wxLOG_Info);
// Connect events.
Connect(wxID_ANY, wxEVT_UPDATER_CHECK_COMPLETE, wxThreadEventHandler(wxZRColaUpdater::OnCheckComplete), NULL, this);
//// Connect events.
//Connect(wxID_ANY, wxEVT_UPDATER_CHECK_COMPLETE, wxThreadEventHandler(wxZRColaUpdater::OnCheckComplete), NULL, this);
// Launch Updater thread.
// Prepare Updater.
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;
}
//if (m_updater->Run() != wxTHREAD_NO_ERROR) {
// wxFAIL_MSG(wxT("Can't create the thread!"));
// delete m_updater;
// m_updater = NULL;
//}
}
@@ -53,11 +54,12 @@ wxZRColaUpdater::~wxZRColaUpdater()
{
if (m_updater) {
// Terminate the Updater thread.
m_updater->Delete();
//m_updater->Delete();
delete m_updater;
}
// Disconnect events.
Disconnect(wxID_ANY, wxEVT_UPDATER_CHECK_COMPLETE, wxThreadEventHandler(wxZRColaUpdater::OnCheckComplete), NULL, this);
//// Disconnect events.
//Disconnect(wxID_ANY, wxEVT_UPDATER_CHECK_COMPLETE, wxThreadEventHandler(wxZRColaUpdater::OnCheckComplete), NULL, this);
wxLog::SetLogLevel(m_logLevelOrig);
if (m_logOrig) {
@@ -67,11 +69,20 @@ wxZRColaUpdater::~wxZRColaUpdater()
}
void wxZRColaUpdater::OnCheckComplete(wxThreadEvent& event)
{
event.Skip();
//void wxZRColaUpdater::OnCheckComplete(wxThreadEvent& event)
//{
// event.Skip();
//
// m_buttonUpdate->Enable(event.GetInt() == wxUpdCheckThread::wxUpdUpdateAvailable);
//}
m_buttonUpdate->Enable(event.GetInt() == wxUpdCheckThread::wxUpdUpdateAvailable);
void wxZRColaUpdater::OnIdle(wxIdleEvent& event)
{
if (!m_finished) {
m_buttonUpdate->Enable(m_updater->CheckForUpdate() == wxUpdCheckThread::wxUpdUpdateAvailable);
m_finished = true;
}
}
@@ -79,6 +90,21 @@ void wxZRColaUpdater::OnUpdate(wxCommandEvent& event)
{
event.Skip();
if (m_updater)
m_updater->LaunchUpdate();
if (m_updater) {
if (wxMessageBox(_("This program will now close and the upgrade will be launched.\nAre you sure?"), _("Product Update"), wxICON_QUESTION | wxYES_NO | wxNO_DEFAULT, this) == wxYES) {
m_updater->LaunchUpdate();
Close(true);
((ZRColaApp*)wxTheApp)->m_mainWnd->Close();
}
}
}
void wxZRColaUpdater::OnClose(wxCommandEvent& event)
{
if (m_updater)
m_updater->Abort();
event.Skip();
}

View File

@@ -42,11 +42,14 @@ public:
virtual ~wxZRColaUpdater();
protected:
void OnCheckComplete(wxThreadEvent& event);
//void OnCheckComplete(wxThreadEvent& event);
virtual void OnIdle(wxIdleEvent& event);
virtual void OnUpdate(wxCommandEvent& event);
virtual void OnClose(wxCommandEvent& event);
protected:
wxLogLevel m_logLevelOrig; ///< Original log level
wxLog *m_logOrig; ///< Original log
wxUpdCheckThread *m_updater; ///< Updater thread
bool m_finished; ///< Is Updater finished?
};

View File

@@ -63,7 +63,7 @@
<ProjectReference Include="..\lib\libZRCola\build\libZRCola.vcxproj">
<Project>{3c61929e-7289-4101-8d0a-da22d6e1aea8}</Project>
</ProjectReference>
<ProjectReference Include="..\lib\wxExtend\build\wxExtend.vcxproj">
<ProjectReference Include="..\lib\wxExtend\build\wxExtendDll.vcxproj">
<Project>{a3a36689-ac35-4026-93da-a3ba0c0e767c}</Project>
</ProjectReference>
</ItemGroup>

View File

@@ -300,7 +300,7 @@ bool ZRCola::DBSource::Open(LPCTSTR filename)
wxVERIFY(SUCCEEDED(::CoCreateInstance(CLSID_CADOCommand, NULL, CLSCTX_ALL, IID_IADOCommand, (LPVOID*)&m_comCharacterGroup)));
wxVERIFY(SUCCEEDED(m_comCharacterGroup->put_ActiveConnection(ATL::CComVariant(m_db))));
wxVERIFY(SUCCEEDED(m_comCharacterGroup->put_CommandType(adCmdText)));
wxVERIFY(SUCCEEDED(m_comCharacterGroup->put_CommandText(ATL::CComBSTR(L"SELECT [Znak] FROM [VRS_SkupineZnakov] WHERE [Skupina]=? ORDER BY [Rang] ASC, [Znak] ASC"))));
wxVERIFY(SUCCEEDED(m_comCharacterGroup->put_CommandText(ATL::CComBSTR(L"SELECT [VRS_SkupineZnakov].[Znak], [VRS_SkupineZnakov].[pogost] FROM [VRS_SkupineZnakov] LEFT JOIN [VRS_CharList] ON [VRS_SkupineZnakov].[Znak]=[VRS_CharList].[znak] WHERE [VRS_CharList].[aktiven]=1 AND [VRS_SkupineZnakov].[Skupina]=? ORDER BY [VRS_SkupineZnakov].[Rang] ASC, [VRS_SkupineZnakov].[Znak] ASC"))));
{
// Create and add command parameters.
ATL::CComPtr<ADOParameters> params;
@@ -844,12 +844,20 @@ bool ZRCola::DBSource::GetCharacterGroup(const ATL::CComPtr<ADORecordset>& rs, c
cg.chars.clear();
ATL::CComPtr<ADOFields> flds;
wxVERIFY(SUCCEEDED(rs_chars->get_Fields(&flds)));
ATL::CComPtr<ADOField> f;
wxVERIFY(SUCCEEDED(flds->get_Item(ATL::CComVariant(L"Znak"), &f)));
ATL::CComPtr<ADOField> f_char, f_show;
wxVERIFY(SUCCEEDED(flds->get_Item(ATL::CComVariant(L"Znak" ), &f_char)));
wxVERIFY(SUCCEEDED(flds->get_Item(ATL::CComVariant(L"pogost"), &f_show)));
for (VARIANT_BOOL eof = VARIANT_TRUE; SUCCEEDED(rs_chars->get_EOF(&eof)) && !eof; rs_chars->MoveNext()) {
wchar_t c;
wxCHECK(GetUnicodeCharacter(f, c), false);
wxCHECK(GetUnicodeCharacter(f_char, c), false);
size_t n = cg.chars.length();
cg.chars += c;
bool show;
wxCHECK(GetValue(f_show, show), false);
if ((n % 16) == 0)
cg.show.push_back(show ? 1 : 0);
else if (show)
cg.show[n / 16] |= 1 << (n % 16);
}
}

View File

@@ -109,10 +109,11 @@ namespace ZRCola {
///
class chrgrp {
public:
int id; ///< Character group ID
int rank; ///< Character group rank
std::wstring name; ///< Character group name
std::wstring chars; ///< Character group characters
int id; ///< Character group ID
int rank; ///< Character group rank
std::wstring name; ///< Character group name
std::wstring chars; ///< Character group characters
std::vector<unsigned __int16> show; ///< Bit vector if particular character is displayed initially
};

View File

@@ -2,7 +2,7 @@
msgid ""
msgstr ""
"Project-Id-Version: ZRColaCompile\n"
"POT-Creation-Date: 2016-05-13 20:00+0200\n"
"POT-Creation-Date: 2016-10-05 10:59+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"
@@ -10,7 +10,7 @@ msgstr ""
"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-Generator: Poedit 1.8.9\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"
@@ -18,22 +18,18 @@ msgstr ""
"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 "Show this help message"
msgstr ""
#: main.cpp:57
msgid "<input file>"
msgstr ""
#: main.cpp:58
msgid "<output file>"
msgstr ""
#: main.cpp:59
msgid "<output POT catalog>"
msgstr "<izhodni katalog POT>"
msgstr ""

View File

@@ -1,33 +1,32 @@
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"
"POT-Creation-Date: 2016-10-05 10:59+0200\n"
"PO-Revision-Date: 2016-10-05 10:59+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-Generator: Poedit 1.8.9\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
#: main.cpp:56
msgid "Show this help message"
msgstr "Zeige diesen Hilfstext"
#: main.cpp:54
#: main.cpp:57
msgid "<input file>"
msgstr ""
#: main.cpp:55
#: main.cpp:58
msgid "<output file>"
msgstr ""
#: main.cpp:56
#: main.cpp:59
msgid "<output POT catalog>"
msgstr ""

View File

@@ -1,33 +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"
"POT-Creation-Date: 2016-10-05 11:00+0200\n"
"PO-Revision-Date: 2016-10-05 11:00+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-Generator: Poedit 1.8.9\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
#: main.cpp:56
msgid "Show this help message"
msgstr ""
#: main.cpp:54
#: main.cpp:57
msgid "<input file>"
msgstr ""
#: main.cpp:55
#: main.cpp:58
msgid "<output file>"
msgstr ""
#: main.cpp:56
#: main.cpp:59
msgid "<output POT catalog>"
msgstr ""

View File

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

View File

@@ -30,25 +30,21 @@ int _tmain(int argc, _TCHAR *argv[])
{
wxApp::CheckBuildOptions(WX_BUILD_OPTIONS_SIGNATURE, "program");
// Inizialize wxWidgets.
// Initialize wxWidgets.
wxInitializer initializer;
if (!initializer) {
_ftprintf(stderr, wxT("Failed to initialize the wxWidgets library, aborting.\n"));
return -1;
}
wxConfig config(wxT(ZRCOLA_CFG_APPLICATION), wxT(ZRCOLA_CFG_VENDOR));
// Initialize configuration.
wxConfigBase *cfgPrev = wxConfigBase::Set(new wxConfig(wxT(ZRCOLA_CFG_APPLICATION), wxT(ZRCOLA_CFG_VENDOR)));
if (cfgPrev) wxDELETE(cfgPrev);
// Set desired locale.
// Initialize locale.
wxLocale locale;
wxLanguage language = (wxLanguage)config.Read(wxT("Language"), wxLANGUAGE_DEFAULT);
if (wxLocale::IsAvailable(language)) {
wxString sPath;
if (config.Read(wxT("LocalizationRepositoryPath"), &sPath))
locale.AddCatalogLookupPathPrefix(sPath);
wxVERIFY(locale.Init(language));
if (wxInitializeLocale(locale))
wxVERIFY(locale.AddCatalog(wxT("ZRColaCompile")));
}
// Parse command line.
static const wxCmdLineEntryDesc cmdLineDesc[] =
@@ -120,7 +116,7 @@ int _tmain(int argc, _TCHAR *argv[])
db.data .reserve(count*4);
// Parse translations and build index and data.
while (!ZRCola::DBSource::IsEOF(rs)) {
for (; !ZRCola::DBSource::IsEOF(rs); rs->MoveNext()) {
// Read translation from the database.
if (src.GetTranslation(rs, trans)) {
// Add translation to index and data.
@@ -137,8 +133,6 @@ int _tmain(int argc, _TCHAR *argv[])
db.idxDecomp.push_back(idx);
} else
has_errors = true;
wxVERIFY(SUCCEEDED(rs->MoveNext()));
}
// Sort indices.
@@ -172,7 +166,7 @@ int _tmain(int argc, _TCHAR *argv[])
db.data .reserve(count*4);
// Parse key sequences and build index and data.
while (!ZRCola::DBSource::IsEOF(rs)) {
for (; !ZRCola::DBSource::IsEOF(rs); rs->MoveNext()) {
// Read key sequence from the database.
if (src.GetKeySequence(rs, ks)) {
// Add key sequence to index and data.
@@ -193,8 +187,6 @@ int _tmain(int argc, _TCHAR *argv[])
db.idxKey.push_back(idx);
} else
has_errors = true;
wxVERIFY(SUCCEEDED(rs->MoveNext()));
}
// Sort indices.
@@ -240,9 +232,12 @@ int _tmain(int argc, _TCHAR *argv[])
db.data .reserve(count*4);
// Parse languages and build index and data.
while (!ZRCola::DBSource::IsEOF(rs)) {
for (; !ZRCola::DBSource::IsEOF(rs); rs->MoveNext()) {
// Read language from the database.
if (src.GetLanguage(rs, lang)) {
if (build_pot)
pot.insert(lang.name);
// Add language to index and data.
unsigned __int32 idx = db.data.size();
for (wstring::size_type i = 0; i < sizeof(ZRCola::langid_t)/sizeof(unsigned __int16); i++)
@@ -253,12 +248,8 @@ int _tmain(int argc, _TCHAR *argv[])
for (wstring::size_type i = 0; i < n; i++)
db.data.push_back(lang.name[i]);
db.idxLng.push_back(idx);
if (build_pot)
pot.insert(lang.name);
} else
has_errors = true;
wxVERIFY(SUCCEEDED(rs->MoveNext()));
}
// Sort indices.
@@ -293,7 +284,7 @@ int _tmain(int argc, _TCHAR *argv[])
db.data .reserve(count*4);
// Parse language characters and build index and data.
while (!ZRCola::DBSource::IsEOF(rs)) {
for (; !ZRCola::DBSource::IsEOF(rs); rs->MoveNext()) {
// Read language characters from the database.
if (src.GetLanguageCharacter(rs, lc)) {
// Add language characters to index and data.
@@ -307,8 +298,6 @@ int _tmain(int argc, _TCHAR *argv[])
#endif
} else
has_errors = true;
wxVERIFY(SUCCEEDED(rs->MoveNext()));
}
// Sort indices.
@@ -343,9 +332,17 @@ int _tmain(int argc, _TCHAR *argv[])
db.data .reserve(count*4);
// Parse character groups and build index and data.
while (!ZRCola::DBSource::IsEOF(rs)) {
for (; !ZRCola::DBSource::IsEOF(rs); rs->MoveNext()) {
// Read character group from the database.
if (src.GetCharacterGroup(rs, cg)) {
if (build_pot)
pot.insert(cg.name);
if (cg.chars.empty()) {
// Skip empty character groups.
continue;
}
// Add character group to index and data.
unsigned __int32 idx = db.data.size();
wxASSERT_MSG((int)0xffff8000 <= cg.id && cg.id <= (int)0x00007fff, wxT("character group ID out of bounds"));
@@ -362,13 +359,11 @@ int _tmain(int argc, _TCHAR *argv[])
db.data.push_back(cg.name[i]);
for (wstring::size_type i = 0; i < n_char; i++)
db.data.push_back(cg.chars[i]);
for (std::vector<unsigned __int16>::size_type i = 0, n = cg.show.size(); i < n; i++)
db.data.push_back(cg.show[i]);
db.idxRnk.push_back(idx);
if (build_pot)
pot.insert(cg.name);
} else
has_errors = true;
wxVERIFY(SUCCEEDED(rs->MoveNext()));
}
// Sort indices.
@@ -399,7 +394,7 @@ int _tmain(int argc, _TCHAR *argv[])
ZRCola::DBSource::character_bank chrs;
// Phase 1: Parse characters and build indexes.
while (!ZRCola::DBSource::IsEOF(rs)) {
for (; !ZRCola::DBSource::IsEOF(rs); rs->MoveNext()) {
// Read character from the database.
unique_ptr<ZRCola::DBSource::character> c(new ZRCola::DBSource::character);
if (src.GetCharacter(rs, *c)) {
@@ -407,8 +402,6 @@ int _tmain(int argc, _TCHAR *argv[])
chrs[chr.chr].swap(c);
} else
has_errors = true;
wxVERIFY(SUCCEEDED(rs->MoveNext()));
}
// Phase 2: Build related character lists.
@@ -484,31 +477,32 @@ int _tmain(int argc, _TCHAR *argv[])
db.data .reserve(count*4);
// Parse character categories and build index and data.
while (!ZRCola::DBSource::IsEOF(rs)) {
for (; !ZRCola::DBSource::IsEOF(rs); rs->MoveNext()) {
// Read character category from the database.
if (src.GetCharacterCategory(rs, cc)) {
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());
if (build_pot)
pot.insert(cc.name);
if (categories_used.find(cc.id) == categories_used.end()) {
// Skip empty character categories.
continue;
}
// 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);
} else
has_errors = true;
wxVERIFY(SUCCEEDED(rs->MoveNext()));
}
// Sort indices.
@@ -545,7 +539,7 @@ int _tmain(int argc, _TCHAR *argv[])
<< "\"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;
<< "\"X-Generator: ZRColaCompile\\n\"" << endl;
wstring_convert<codecvt_utf8<wchar_t>> conv;
for (set<wstring>::const_iterator i = pot.cbegin(); i != pot.cend(); ++i) {

View File

@@ -12,7 +12,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZRColaCompile", "ZRColaCompile\ZRColaCompile.vcxproj", "{87A3ADEC-1BE4-42E4-92B8-B742F3D21BC4}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxExtend", "lib\wxExtend\build\wxExtend.vcxproj", "{A3A36689-AC35-4026-93DA-A3BA0C0E767C}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxExtend", "lib\wxExtend\build\wxExtendDll.vcxproj", "{A3A36689-AC35-4026-93DA-A3BA0C0E767C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stdex", "lib\stdex\build\stdex.vcxproj", "{518777CC-0A59-4415-A12A-82751ED75343}"
EndProject

Binary file not shown.

View File

@@ -24,7 +24,7 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_PropertySheetDisplayName>ZRCola Win32</_PropertySheetDisplayName>
<LibraryPath>$(WX_INSTALL_PATH)\lib\vc$(PlatformToolsetVersion)_dll;$(LibraryPath)</LibraryPath>
<LibraryPath>$(WXWIN)\lib\vc$(PlatformToolsetVersion)_dll;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup>
<Lib>

View File

@@ -23,11 +23,11 @@
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<IntDir>temp\$(ProjectName).$(Platform).$(Configuration).$(PlatformToolset)\</IntDir>
<_PropertySheetDisplayName>ZRCola Common</_PropertySheetDisplayName>
<OutDir>temp\$(ProjectName).$(Platform).$(Configuration).$(PlatformToolset)\</OutDir>
<IncludePath>$(WX_INSTALL_PATH)\include\msvc;$(WX_INSTALL_PATH)\include;$(IncludePath)</IncludePath>
<SourcePath>$(WX_INSTALL_PATH)\src\aui;$(WX_INSTALL_PATH)\src\cocoa;$(WX_INSTALL_PATH)\src\common;$(WX_INSTALL_PATH)\src\dfb;$(WX_INSTALL_PATH)\src\expat;$(WX_INSTALL_PATH)\src\generic;$(WX_INSTALL_PATH)\src\gtk;$(WX_INSTALL_PATH)\src\gtk1;$(WX_INSTALL_PATH)\src\html;$(WX_INSTALL_PATH)\src\jpeg;$(WX_INSTALL_PATH)\src\motif;$(WX_INSTALL_PATH)\src\msdos;$(WX_INSTALL_PATH)\src\msw;$(WX_INSTALL_PATH)\src\os2;$(WX_INSTALL_PATH)\src\osx;$(WX_INSTALL_PATH)\src\png;$(WX_INSTALL_PATH)\src\propgrid;$(WX_INSTALL_PATH)\src\regex;$(WX_INSTALL_PATH)\src\ribbon;$(WX_INSTALL_PATH)\src\richtext;$(WX_INSTALL_PATH)\src\stc;$(WX_INSTALL_PATH)\src\tiff;$(WX_INSTALL_PATH)\src\univ;$(WX_INSTALL_PATH)\src\unix;$(WX_INSTALL_PATH)\src\x11;$(WX_INSTALL_PATH)\src\xml;$(WX_INSTALL_PATH)\src\xrc;$(WX_INSTALL_PATH)\src\zlib;$(SourcePath)</SourcePath>
<IntDir>temp\$(MSBuildProjectName).$(Platform).$(Configuration).$(PlatformToolset)\</IntDir>
<OutDir>temp\$(MSBuildProjectName).$(Platform).$(Configuration).$(PlatformToolset)\</OutDir>
<IncludePath>$(WXWIN)\include\msvc;$(WXWIN)\include;$(IncludePath)</IncludePath>
<SourcePath>$(WXWIN)\src\aui;$(WXWIN)\src\cocoa;$(WXWIN)\src\common;$(WXWIN)\src\dfb;$(WXWIN)\src\expat;$(WXWIN)\src\generic;$(WXWIN)\src\gtk;$(WXWIN)\src\gtk1;$(WXWIN)\src\html;$(WXWIN)\src\jpeg;$(WXWIN)\src\motif;$(WXWIN)\src\msdos;$(WXWIN)\src\msw;$(WXWIN)\src\os2;$(WXWIN)\src\osx;$(WXWIN)\src\png;$(WXWIN)\src\propgrid;$(WXWIN)\src\regex;$(WXWIN)\src\ribbon;$(WXWIN)\src\richtext;$(WXWIN)\src\stc;$(WXWIN)\src\tiff;$(WXWIN)\src\univ;$(WXWIN)\src\unix;$(WXWIN)\src\x11;$(WXWIN)\src\xml;$(WXWIN)\src\xrc;$(WXWIN)\src\zlib;$(SourcePath)</SourcePath>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>

View File

@@ -24,7 +24,7 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_PropertySheetDisplayName>ZRCola x64</_PropertySheetDisplayName>
<LibraryPath>$(WX_INSTALL_PATH)\lib\vc$(PlatformToolsetVersion)_x64_dll;$(LibraryPath)</LibraryPath>
<LibraryPath>$(WXWIN)\lib\vc$(PlatformToolsetVersion)_x64_dll;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup>
<Lib>

View File

@@ -38,7 +38,7 @@
<ItemGroup Condition="'@(SelectedFiles)' != ''">
<POCompile Remove="@(POCompile)" Condition="'%(Identity)' != '@(SelectedFiles)'" />
</ItemGroup>
<Message Text="Compiling localization catalogues..." />
<MakeDir Directories="$([System.IO.Path]::GetDirectoryName('%(POCompile.OutputFile)'))"/>
<POCompile
Condition="'@(POCompile)' != '' and '%(POCompile.ExcludedFromBuild)' != 'true'"
Inputs="@(POCompile)"

View File

@@ -23,7 +23,7 @@
// Product version as a single DWORD
// Note: Used for version comparison within C/C++ code.
//
#define ZRCOLA_VERSION 0x01ff0b00
#define ZRCOLA_VERSION 0x01ff1300
//
// Product version by components
@@ -33,26 +33,26 @@
//
#define ZRCOLA_VERSION_MAJ 1
#define ZRCOLA_VERSION_MIN 255
#define ZRCOLA_VERSION_REV 11
#define ZRCOLA_VERSION_REV 19
#define ZRCOLA_VERSION_BUILD 0
//
// Human readable product version and build year for UI
//
#define ZRCOLA_VERSION_STR "2.0-beta3"
#define ZRCOLA_VERSION_STR "2.0-beta10"
#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.11"
#define ZRCOLA_VERSION_INST "1.255.19"
//
// 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 "{51E1E2D4-2409-48B3-AC57-5E853F3665EF}"
#define ZRCOLA_VERSION_GUID "{DD261422-947E-4BB4-BCCE-8528EEEAD8C0}"
//
// The product vendor and application name for configuration keeping.

1
lib/WinStd Submodule

Submodule lib/WinStd added at 244b00ea77

View File

@@ -72,7 +72,10 @@ complibZRColaUI.dll.Win32 {D9A5BF44-DDFE-4A22-89F4-14D291581829} ZRCOLABINDIR 0
!IF "$(PLAT)" == "x64"
complibZRColaUI.dll.x64 {360E78E5-9560-4C52-B806-45EDC682BB17} ZRCOLABINDIR 256 filelibZRColaUI.dll.x64
!ENDIF
!IF "$(LANG)" == "Sl"
!IF "$(LANG)" == "ru_RU"
complibZRColaUI.mo.ru_RU {2099A205-5D5E-4AD9-BD31-EECC87FEAB47} ZRCOLALOCRURUDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filelibZRColaUI.mo.ru_RU
!ENDIF
!IF "$(LANG)" == "sl_SI"
complibZRColaUI.mo.sl_SI {EAE1C699-8415-4FC6-9EC7-FE74AFC432A9} ZRCOLALOCSLSIDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filelibZRColaUI.mo.sl_SI
!ENDIF
<<NOKEEP
@@ -105,7 +108,10 @@ filelibZRColaUI.dll.x64 complibZRColaUI.dll.x64 LIBZRC~6.DLL|libZRColaUI10u_vc10
filelibZRColaUI.dll.x64 complibZRColaUI.dll.x64 LIBZRC~8.DLL|libZRColaUI10ud_vc100_x64.dll 0 0 1536 1
!ENDIF
!ENDIF
!IF "$(LANG)" == "Sl"
!IF "$(LANG)" == "ru_RU"
filelibZRColaUI.mo.ru_RU complibZRColaUI.mo.ru_RU LIBZRC~1.MO|libZRColaUI.mo 0 1060 0 1
!ENDIF
!IF "$(LANG)" == "sl_SI"
filelibZRColaUI.mo.sl_SI complibZRColaUI.mo.sl_SI LIBZRC~1.MO|libZRColaUI.mo 0 1060 0 1
!ENDIF
<<NOKEEP

View File

@@ -23,6 +23,7 @@
#include <zrcola/common.h>
#include <stdex/idrec.h>
#include <assert.h>
#include <istream>
#include <ostream>
#include <vector>
@@ -50,6 +51,28 @@ namespace ZRCola {
unsigned __int16 name_len; ///< Character group name length in \c data
unsigned __int16 char_len; ///< Character list length in \c data
wchar_t data[]; ///< Character group name and character list
inline const wchar_t* get_chars() const
{
return data + name_len;
}
inline wchar_t get_char(size_t index) const
{
assert(index < char_len);
return data[name_len + index];
}
inline const unsigned __int16* get_char_shown() const
{
return (const unsigned __int16*)(data + name_len + char_len);
}
inline bool is_char_shown(size_t index) const
{
assert(index < char_len);
return (data[name_len + char_len + index / 16] & (1 << (index % 16))) ? true : false;
}
};
#pragma pack(pop)

View File

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

Binary file not shown.

Binary file not shown.

View File

@@ -1,5 +1,7 @@
*/libZRColaUI.mo
*/wxExtend13.mo
*/wxstd.mo
*/Updater10.mo
*/ZRCola.mo
*/ZRColaCompile.mo
*/ZRCola-zrcdb.mo

View File

@@ -5,11 +5,14 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: ZRColaCompile 2.0-beta1\n"
"X-Generator: ZRColaCompile\n"
msgid "Albanian"
msgstr ""
msgid "Arabic"
msgstr ""
msgid "Arrows"
msgstr ""
@@ -34,18 +37,30 @@ msgstr ""
msgid "Combine Over"
msgstr ""
msgid "Combining Marks"
msgstr ""
msgid "Croatian"
msgstr ""
msgid "Currencies"
msgstr ""
msgid "Cyrillic"
msgstr ""
msgid "Czech"
msgstr ""
msgid "Danish"
msgstr ""
msgid "Diacritics"
msgstr ""
msgid "Encircled Characters"
msgstr ""
msgid "English"
msgstr ""
@@ -61,9 +76,21 @@ msgstr ""
msgid "Friulian"
msgstr ""
msgid "Geometrical Shapes"
msgstr ""
msgid "German"
msgstr ""
msgid "Glagolitic"
msgstr ""
msgid "Greek"
msgstr ""
msgid "Hebrew"
msgstr ""
msgid "Hungarian"
msgstr ""
@@ -73,6 +100,99 @@ msgstr ""
msgid "Joined"
msgstr ""
msgid "Joined strings with A"
msgstr ""
msgid "Joined strings with B"
msgstr ""
msgid "Joined strings with C"
msgstr ""
msgid "Joined strings with D"
msgstr ""
msgid "Joined strings with E"
msgstr ""
msgid "Joined strings with F"
msgstr ""
msgid "Joined strings with G"
msgstr ""
msgid "Joined strings with H"
msgstr ""
msgid "Joined strings with I"
msgstr ""
msgid "Joined strings with J"
msgstr ""
msgid "Joined strings with K"
msgstr ""
msgid "Joined strings with L"
msgstr ""
msgid "Joined strings with M"
msgstr ""
msgid "Joined strings with N"
msgstr ""
msgid "Joined strings with O"
msgstr ""
msgid "Joined strings with P"
msgstr ""
msgid "Joined strings with Q"
msgstr ""
msgid "Joined strings with R"
msgstr ""
msgid "Joined strings with S"
msgstr ""
msgid "Joined strings with T"
msgstr ""
msgid "Joined strings with U"
msgstr ""
msgid "Joined strings with V"
msgstr ""
msgid "Joined strings with W"
msgstr ""
msgid "Joined strings with X"
msgstr ""
msgid "Joined strings with Y"
msgstr ""
msgid "Joined strings with Z"
msgstr ""
msgid "Joined strings with a"
msgstr ""
msgid "Joined strings with e"
msgstr ""
msgid "Joined strings with i"
msgstr ""
msgid "Joined strings with o"
msgstr ""
msgid "Joined strings with u"
msgstr ""
msgid "Kashubian"
msgstr ""
@@ -208,6 +328,12 @@ msgstr ""
msgid "Mark, Non-Spacing"
msgstr ""
msgid "Mark, Spacing Combining"
msgstr ""
msgid "Mathematical And Physical Symbols"
msgstr ""
msgid "Metric"
msgstr ""
@@ -220,6 +346,9 @@ msgstr ""
msgid "Moldavian Latinic"
msgstr ""
msgid "Musical Characters"
msgstr ""
msgid "Norwegian"
msgstr ""
@@ -262,15 +391,21 @@ msgstr ""
msgid "Number, Other"
msgstr ""
msgid "Numbers"
msgstr ""
msgid "Numbers - Circled"
msgstr ""
msgid "Other modifiers"
msgid "Other Modifiers"
msgstr ""
msgid "Other, Format"
msgstr ""
msgid "Other, Surrogate"
msgstr ""
msgid "Parentheses"
msgstr ""
@@ -280,6 +415,9 @@ msgstr ""
msgid "Portuguese"
msgstr ""
msgid "Punctuation"
msgstr ""
msgid "Punctuation, Close"
msgstr ""
@@ -310,6 +448,12 @@ msgstr ""
msgid "Russian"
msgstr ""
msgid "Separator, Line"
msgstr ""
msgid "Separator, Paragraph"
msgstr ""
msgid "Separator, Space"
msgstr ""
@@ -322,12 +466,18 @@ msgstr ""
msgid "Slovak"
msgstr ""
msgid "Slovene Historical Writings"
msgstr ""
msgid "Slovenian"
msgstr ""
msgid "Sorbian"
msgstr ""
msgid "Spaces"
msgstr ""
msgid "Spanish"
msgstr ""
@@ -337,6 +487,12 @@ msgstr ""
msgid "Strokes"
msgstr ""
msgid "Subscript Characters"
msgstr ""
msgid "Superscript Sharacters"
msgstr ""
msgid "Surrounded"
msgstr ""
@@ -391,11 +547,20 @@ msgstr ""
msgid "Symbol, Other"
msgstr ""
msgid "Technical Characters"
msgstr ""
msgid "Transliterated"
msgstr ""
msgid "Transliterating Marks"
msgstr ""
msgid "Turkish"
msgstr ""
msgid "Ukrainian"
msgstr ""
msgid "Units"
msgstr ""

Binary file not shown.

View File

@@ -9,13 +9,17 @@ msgstr ""
"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-Generator: Poedit 1.8.8\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Poedit-SourceCharset: UTF-8\n"
msgid "Albanian"
msgstr ""
#, fuzzy
msgid "Arabic"
msgstr "Arabisch"
msgid "Arrows"
msgstr ""
@@ -40,18 +44,31 @@ msgstr ""
msgid "Combine Over"
msgstr ""
msgid "Combining Marks"
msgstr ""
msgid "Croatian"
msgstr ""
msgid "Currencies"
msgstr ""
#, fuzzy
msgid "Cyrillic"
msgstr "Windows Kyrillisch (CP 1251)"
msgid "Czech"
msgstr ""
msgid "Danish"
msgstr ""
msgid "Diacritics"
msgstr ""
msgid "Encircled Characters"
msgstr ""
msgid "English"
msgstr ""
@@ -67,9 +84,23 @@ msgstr ""
msgid "Friulian"
msgstr ""
msgid "Geometrical Shapes"
msgstr ""
msgid "German"
msgstr ""
msgid "Glagolitic"
msgstr ""
#, fuzzy
msgid "Greek"
msgstr "Windows Griechisch (CP 1253)"
#, fuzzy
msgid "Hebrew"
msgstr "Windows Hebräisch (CP 1255)"
msgid "Hungarian"
msgstr ""
@@ -79,6 +110,99 @@ msgstr ""
msgid "Joined"
msgstr ""
msgid "Joined strings with A"
msgstr ""
msgid "Joined strings with B"
msgstr ""
msgid "Joined strings with C"
msgstr ""
msgid "Joined strings with D"
msgstr ""
msgid "Joined strings with E"
msgstr ""
msgid "Joined strings with F"
msgstr ""
msgid "Joined strings with G"
msgstr ""
msgid "Joined strings with H"
msgstr ""
msgid "Joined strings with I"
msgstr ""
msgid "Joined strings with J"
msgstr ""
msgid "Joined strings with K"
msgstr ""
msgid "Joined strings with L"
msgstr ""
msgid "Joined strings with M"
msgstr ""
msgid "Joined strings with N"
msgstr ""
msgid "Joined strings with O"
msgstr ""
msgid "Joined strings with P"
msgstr ""
msgid "Joined strings with Q"
msgstr ""
msgid "Joined strings with R"
msgstr ""
msgid "Joined strings with S"
msgstr ""
msgid "Joined strings with T"
msgstr ""
msgid "Joined strings with U"
msgstr ""
msgid "Joined strings with V"
msgstr ""
msgid "Joined strings with W"
msgstr ""
msgid "Joined strings with X"
msgstr ""
msgid "Joined strings with Y"
msgstr ""
msgid "Joined strings with Z"
msgstr ""
msgid "Joined strings with a"
msgstr ""
msgid "Joined strings with e"
msgstr ""
msgid "Joined strings with i"
msgstr ""
msgid "Joined strings with o"
msgstr ""
msgid "Joined strings with u"
msgstr ""
msgid "Kashubian"
msgstr ""
@@ -216,6 +340,12 @@ msgstr ""
msgid "Mark, Non-Spacing"
msgstr ""
msgid "Mark, Spacing Combining"
msgstr ""
msgid "Mathematical And Physical Symbols"
msgstr ""
msgid "Metric"
msgstr ""
@@ -229,6 +359,9 @@ msgstr ""
msgid "Moldavian Latinic"
msgstr ""
msgid "Musical Characters"
msgstr ""
msgid "Norwegian"
msgstr ""
@@ -271,15 +404,22 @@ msgstr ""
msgid "Number, Other"
msgstr ""
msgid "Numbers"
msgstr ""
msgid "Numbers - Circled"
msgstr ""
msgid "Other modifiers"
msgstr ""
#, fuzzy
msgid "Other Modifiers"
msgstr "Geändert"
msgid "Other, Format"
msgstr ""
msgid "Other, Surrogate"
msgstr ""
msgid "Parentheses"
msgstr ""
@@ -289,6 +429,9 @@ msgstr ""
msgid "Portuguese"
msgstr ""
msgid "Punctuation"
msgstr ""
msgid "Punctuation, Close"
msgstr ""
@@ -319,6 +462,12 @@ msgstr ""
msgid "Russian"
msgstr ""
msgid "Separator, Line"
msgstr ""
msgid "Separator, Paragraph"
msgstr ""
msgid "Separator, Space"
msgstr ""
@@ -331,12 +480,18 @@ msgstr ""
msgid "Slovak"
msgstr ""
msgid "Slovene Historical Writings"
msgstr ""
msgid "Slovenian"
msgstr ""
msgid "Sorbian"
msgstr ""
msgid "Spaces"
msgstr ""
msgid "Spanish"
msgstr ""
@@ -346,6 +501,12 @@ msgstr ""
msgid "Strokes"
msgstr ""
msgid "Subscript Characters"
msgstr ""
msgid "Superscript Sharacters"
msgstr ""
msgid "Surrounded"
msgstr ""
@@ -412,12 +573,21 @@ msgstr ""
msgid "Symbol, Other"
msgstr ""
msgid "Technical Characters"
msgstr ""
msgid "Transliterated"
msgstr ""
msgid "Transliterating Marks"
msgstr ""
#, fuzzy
msgid "Turkish"
msgstr "Windows Türkisch (CP 1254)"
msgid "Ukrainian"
msgstr ""
msgid "Units"
msgstr ""

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -9,400 +9,566 @@ msgstr ""
"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-Generator: Poedit 1.8.9\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 ""
msgstr "албанский"
msgid "Arabic"
msgstr "Арабские знаки"
msgid "Arrows"
msgstr ""
msgstr "Стрелки"
msgid "Belarusian"
msgstr ""
msgstr "белорусский"
msgid "Bosnian Cyrillic"
msgstr ""
msgstr "боснийский кириллица"
msgid "Bosnian Latinic"
msgstr ""
msgstr "боснийский латиница"
msgid "Combine"
msgstr ""
msgstr "Средние замещающие знаки"
msgid "Combine Above"
msgstr ""
msgstr "Верхние замещающие знаки"
msgid "Combine Below"
msgstr ""
msgstr "Низжние замещающие знаки"
msgid "Combine Over"
msgstr ""
msgstr "Неотдельные замещающие знаки"
msgid "Combining Marks"
msgstr "Модифицирующие символы"
msgid "Croatian"
msgstr ""
msgstr "хорватский"
msgid "Currencies"
msgstr ""
msgstr "Валюты"
msgid "Cyrillic"
msgstr "Кириллические знаки"
msgid "Czech"
msgstr ""
msgstr "чешский"
msgid "Danish"
msgstr ""
msgstr "датский"
msgid "Diacritics"
msgstr "Диакритики"
msgid "Encircled Characters"
msgstr "Знаки в круге"
msgid "English"
msgstr ""
msgstr "английский"
msgid "Estonian"
msgstr ""
msgstr "эстонский"
msgid "Eva"
msgstr ""
msgstr "Эва"
msgid "French"
msgstr ""
msgstr "французский"
msgid "Friulian"
msgstr ""
msgstr "фриульский"
msgid "Geometrical Shapes"
msgstr "Геометрические фигуры"
msgid "German"
msgstr ""
msgstr "немецкий"
msgid "Glagolitic"
msgstr "Глаголические знаки"
msgid "Greek"
msgstr "Греческие знаки"
msgid "Hebrew"
msgstr "Еврейские знаки"
msgid "Hungarian"
msgstr ""
msgstr "венгерский"
msgid "Irish Gaelic"
msgstr ""
msgstr "ирландский гэльский"
msgid "Joined"
msgstr ""
msgstr "Объединительные замещающие знаки"
msgid "Joined strings with A"
msgstr "Объединительные серии с А"
msgid "Joined strings with B"
msgstr "Объединительные серии с Б"
msgid "Joined strings with C"
msgstr "Объединительные серии с Ц"
msgid "Joined strings with D"
msgstr "Объединительные серии с Д"
msgid "Joined strings with E"
msgstr "Объединительные серии с Е"
msgid "Joined strings with F"
msgstr "Объединительные серии с Ф"
msgid "Joined strings with G"
msgstr "Объединительные серии с Г"
msgid "Joined strings with H"
msgstr "Объединительные серии с Х"
msgid "Joined strings with I"
msgstr "Объединительные серии с И"
msgid "Joined strings with J"
msgstr "Объединительные серии с Й"
msgid "Joined strings with K"
msgstr "Объединительные серии с К"
msgid "Joined strings with L"
msgstr "Объединительные серии с Л"
msgid "Joined strings with M"
msgstr "Объединительные серии с М"
msgid "Joined strings with N"
msgstr "Объединительные серии с Н"
msgid "Joined strings with O"
msgstr "Объединительные серии с О"
msgid "Joined strings with P"
msgstr "Объединительные серии с П"
msgid "Joined strings with Q"
msgstr "Объединительные серии с латинским Q"
msgid "Joined strings with R"
msgstr "Объединительные серии с Р"
msgid "Joined strings with S"
msgstr "Объединительные серии с С"
msgid "Joined strings with T"
msgstr "Объединительные серии с Т"
msgid "Joined strings with U"
msgstr "Объединительные серии с У"
msgid "Joined strings with V"
msgstr "Объединительные серии с В"
msgid "Joined strings with W"
msgstr "Объединительные серии с латинским W"
msgid "Joined strings with X"
msgstr "Объединительные серии с латинским X"
msgid "Joined strings with Y"
msgstr "Объединительные серии с латинским Y"
msgid "Joined strings with Z"
msgstr "Объединительные серии с З"
msgid "Joined strings with a"
msgstr "Объединительные серии с а"
msgid "Joined strings with e"
msgstr "Объединительные серии с е"
msgid "Joined strings with i"
msgstr "Объединительные серии с и"
msgid "Joined strings with o"
msgstr "Объединительные серии с о"
msgid "Joined strings with u"
msgstr "Объединительные серии с у"
msgid "Kashubian"
msgstr ""
msgstr "кашубский"
msgid "Latin"
msgstr ""
msgstr "латинский"
msgid "Latvian"
msgstr ""
msgstr "латышский"
msgid "Letter A"
msgstr ""
msgstr "Буква А"
msgid "Letter B"
msgstr ""
msgstr "Буква Б"
msgid "Letter C"
msgstr ""
msgstr "Буква Ц"
msgid "Letter D"
msgstr ""
msgstr "Буква Д"
msgid "Letter E"
msgstr ""
msgstr "Буква Е"
msgid "Letter F"
msgstr ""
msgstr "Буква Ф"
msgid "Letter G"
msgstr ""
msgstr "Буква Г"
msgid "Letter H"
msgstr ""
msgstr "Буква Х"
msgid "Letter I"
msgstr ""
msgstr "Буква И"
msgid "Letter J"
msgstr ""
msgstr "Буква Й"
msgid "Letter K"
msgstr ""
msgstr "Буква К"
msgid "Letter L"
msgstr ""
msgstr "Буква Л"
msgid "Letter M"
msgstr ""
msgstr "Буква М"
msgid "Letter N"
msgstr ""
msgstr "Буква Н"
msgid "Letter O"
msgstr ""
msgstr "Буква О"
msgid "Letter P"
msgstr ""
msgstr "Буква П"
msgid "Letter Q"
msgstr ""
msgstr "Буква латинское Q"
msgid "Letter R"
msgstr ""
msgstr "Буква Р"
msgid "Letter S"
msgstr ""
msgstr "Буква С"
msgid "Letter T"
msgstr ""
msgstr "Буква Т"
msgid "Letter U"
msgstr ""
msgstr "Буква У"
msgid "Letter V"
msgstr ""
msgstr "Буква В"
msgid "Letter W"
msgstr ""
msgstr "Буква латинское W"
msgid "Letter X"
msgstr ""
msgstr "Буква латинское Х"
msgid "Letter Y"
msgstr ""
msgstr "Буква латинское Y"
msgid "Letter Z"
msgstr ""
msgstr "Буква З"
msgid "Letter a"
msgstr ""
msgstr "Буква а"
msgid "Letter e"
msgstr ""
msgstr "Буква е"
msgid "Letter i"
msgstr ""
msgstr "Буква и"
msgid "Letter o"
msgstr ""
msgstr "Буква о"
msgid "Letter u"
msgstr ""
msgstr "Буква у"
msgid "Letter, Lowercase"
msgstr ""
msgstr "Буква, строчная"
msgid "Letter, Modifier"
msgstr ""
msgstr "Буква, модификатор"
msgid "Letter, Other"
msgstr ""
msgstr "Буква, остальное"
msgid "Letter, Titlecase"
msgstr ""
msgstr "Буква, начальная"
msgid "Letter, Uppercase"
msgstr ""
msgstr "Буква, прописная"
msgid "Ligatures"
msgstr ""
msgstr "Лигатуры"
msgid "Lithuanian"
msgstr ""
msgstr "литовский"
msgid "Macedonian"
msgstr ""
msgstr "македонский"
msgid "Maltese"
msgstr ""
msgstr "мальтийский"
msgid "Mark, Enclosing"
msgstr ""
msgstr "Метка, закрывающая"
msgid "Mark, Non-Spacing"
msgstr ""
msgstr "Метка, несамостоятельная"
msgid "Mark, Spacing Combining"
msgstr "Метка, несамостоятельная ненулевой ширины"
msgid "Mathematical And Physical Symbols"
msgstr "Математические и физические знаки"
msgid "Metric"
msgstr ""
msgstr "Метрические знаки"
msgid "Modified"
msgstr ""
msgstr "Изменяющие знаки"
msgid "Moldavian Cyrillic"
msgstr ""
msgstr "молдавский кириллица"
msgid "Moldavian Latinic"
msgstr ""
msgstr "молдавский латиница"
msgid "Musical Characters"
msgstr "Музыкальные символы"
msgid "Norwegian"
msgstr ""
msgstr "норвежский"
msgid "Number 0"
msgstr ""
msgstr "Число 0"
msgid "Number 1"
msgstr ""
msgstr "Число 1"
msgid "Number 2"
msgstr ""
msgstr "Число 2"
msgid "Number 3"
msgstr ""
msgstr "Число 3"
msgid "Number 4"
msgstr ""
msgstr "Число 4"
msgid "Number 5"
msgstr ""
msgstr "Число 5"
msgid "Number 6"
msgstr ""
msgstr "Число 6"
msgid "Number 7"
msgstr ""
msgstr "Число 7"
msgid "Number 8"
msgstr ""
msgstr "Число 8"
msgid "Number 9"
msgstr ""
msgstr "Число 9"
msgid "Number, Decimal Digit"
msgstr ""
msgstr "Число, децималная цифра"
msgid "Number, Letter"
msgstr ""
msgstr "Число, буква"
msgid "Number, Other"
msgstr ""
msgstr "Число, другое"
msgid "Numbers"
msgstr "Числа"
msgid "Numbers - Circled"
msgstr ""
msgstr "Числа в круге"
msgid "Other modifiers"
msgstr ""
msgid "Other Modifiers"
msgstr "Остальные замещающие знаки"
msgid "Other, Format"
msgstr ""
msgstr "Другое, формат"
msgid "Other, Surrogate"
msgstr "Другое, суррогат"
msgid "Parentheses"
msgstr ""
msgstr "Скобкы"
msgid "Polish"
msgstr ""
msgstr "польский"
msgid "Portuguese"
msgstr ""
msgstr "португальский"
msgid "Punctuation"
msgstr "Знаки препинания"
msgid "Punctuation, Close"
msgstr ""
msgstr "Пунктуация, заключительная"
msgid "Punctuation, Connector"
msgstr ""
msgstr "Пунктуация, соединитель"
msgid "Punctuation, Dash"
msgstr ""
msgstr "Пунктуация, черта"
msgid "Punctuation, Final quote"
msgstr ""
msgstr "Пунктуация, окончательная кавычка"
msgid "Punctuation, Initial quote"
msgstr ""
msgstr "Пунктуация, начальная кавычка"
msgid "Punctuation, Open"
msgstr ""
msgstr "Пунктуация, открывающая"
msgid "Punctuation, Other"
msgstr ""
msgstr "Пунктуация, остальное"
msgid "Quotes"
msgstr ""
msgstr "Кавычки"
msgid "Romanian"
msgstr ""
msgstr "румынский"
msgid "Russian"
msgstr ""
msgstr "русский"
msgid "Separator, Line"
msgstr "Сепаратор, строчка"
msgid "Separator, Paragraph"
msgstr "Сепаратор, абзац"
msgid "Separator, Space"
msgstr ""
msgstr "Сепаратор, пробел"
msgid "Serbian Cyrillic"
msgstr ""
msgstr "сербский кириллица"
msgid "Serbian Latinic"
msgstr ""
msgstr "сербский латиница"
msgid "Slovak"
msgstr ""
msgstr "словацкий"
# Preveri исторический!
msgid "Slovene Historical Writings"
msgstr "Словенские исторические письма"
msgid "Slovenian"
msgstr ""
msgstr "словенский"
msgid "Sorbian"
msgstr ""
msgstr "лужицкий"
msgid "Spaces"
msgstr "Пробелы"
msgid "Spanish"
msgstr ""
msgstr "испанский"
msgid "Special Characters"
msgstr ""
msgstr "Специальные знаки"
msgid "Strokes"
msgstr ""
msgstr "Перечертка"
msgid "Subscript Characters"
msgstr "Форматирование нижнего индекса"
msgid "Superscript Sharacters"
msgstr "Форматирование надстрочного индекса"
msgid "Surrounded"
msgstr ""
msgstr "В круге"
msgid "Swedish"
msgstr ""
msgstr "шведский"
msgid "Symbol !"
msgstr ""
msgstr "Симбол !"
msgid "Symbol ("
msgstr ""
msgstr "Симбол ("
msgid "Symbol )"
msgstr ""
msgstr "Симбол )"
msgid "Symbol +"
msgstr ""
msgstr "Симбол +"
msgid "Symbol ,"
msgstr ""
msgstr "Симбол ,"
msgid "Symbol -"
msgstr ""
msgstr "Симбол -"
msgid "Symbol :"
msgstr ""
msgstr "Симбол :"
msgid "Symbol ;"
msgstr ""
msgstr "Симбол ;"
msgid "Symbol <"
msgstr ""
msgstr "Симбол <"
msgid "Symbol ="
msgstr ""
msgstr "Симбол ="
msgid "Symbol >"
msgstr ""
msgstr "Симбол >"
msgid "Symbol ?"
msgstr ""
msgstr "Симбол ?"
msgid "Symbol, Currency"
msgstr ""
msgstr "Симбол, валюта"
msgid "Symbol, Math"
msgstr ""
msgstr "Симбол, математический"
msgid "Symbol, Modifier"
msgstr ""
msgstr "Симбол, модификатор"
msgid "Symbol, Other"
msgstr ""
msgstr "Симбол, остальное"
msgid "Technical Characters"
msgstr "Технические символы"
msgid "Transliterated"
msgstr ""
msgstr "Транслитерированные знаки"
msgid "Transliterating Marks"
msgstr "Транслитерирующие знаки"
msgid "Turkish"
msgstr ""
msgstr "турецкий"
msgid "Ukrainian"
msgstr ""
msgstr "украинский"
msgid "Units"
msgstr "Единицы"

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -9,7 +9,7 @@ msgstr ""
"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-Generator: Poedit 1.8.8\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"
@@ -17,6 +17,9 @@ msgstr ""
msgid "Albanian"
msgstr "albanščina"
msgid "Arabic"
msgstr "Arabski znaki"
msgid "Arrows"
msgstr "Puščice"
@@ -30,16 +33,19 @@ msgid "Bosnian Latinic"
msgstr "bosanščina latinica"
msgid "Combine"
msgstr "Kombinirano"
msgstr "Srednji nadomestni znaki"
msgid "Combine Above"
msgstr "Kombinirano zgoraj"
msgstr "Zgornji nadomestni znaki"
msgid "Combine Below"
msgstr "Kombinirano spodaj"
msgstr "Spodnji nadomestni znaki"
msgid "Combine Over"
msgstr "Kombinirano prečrtano"
msgstr "Neločljivi nadomestni znaki"
msgid "Combining Marks"
msgstr "Sestavljiva ločevalna znamenja"
msgid "Croatian"
msgstr "hrvaščina"
@@ -47,12 +53,21 @@ msgstr "hrvaščina"
msgid "Currencies"
msgstr "Valute"
msgid "Cyrillic"
msgstr "Cirilski znaki"
msgid "Czech"
msgstr "češčina"
msgid "Danish"
msgstr "danščina"
msgid "Diacritics"
msgstr "Ločevalna znamenja"
msgid "Encircled Characters"
msgstr "Obkroženi znaki"
msgid "English"
msgstr "angleščina"
@@ -68,9 +83,21 @@ msgstr "francoščina"
msgid "Friulian"
msgstr "furlanščina"
msgid "Geometrical Shapes"
msgstr "Geometrijski liki"
msgid "German"
msgstr "nemščina"
msgid "Glagolitic"
msgstr "Glagolski znaki"
msgid "Greek"
msgstr "Grški znaki"
msgid "Hebrew"
msgstr "Hebrejski znaki"
msgid "Hungarian"
msgstr "madžarščina"
@@ -78,7 +105,100 @@ msgid "Irish Gaelic"
msgstr "irščina"
msgid "Joined"
msgstr "Povezano"
msgstr "Povezajni nadomestni znaki"
msgid "Joined strings with A"
msgstr "Povezajni nizi z A"
msgid "Joined strings with B"
msgstr "Povezajni nizi z B"
msgid "Joined strings with C"
msgstr "Povezajni nizi s C"
msgid "Joined strings with D"
msgstr "Povezajni nizi z D"
msgid "Joined strings with E"
msgstr "Povezajni nizi z E"
msgid "Joined strings with F"
msgstr "Povezajni nizi s F"
msgid "Joined strings with G"
msgstr "Povezajni nizi z G"
msgid "Joined strings with H"
msgstr "Povezajni nizi s H"
msgid "Joined strings with I"
msgstr "Povezajni nizi z I"
msgid "Joined strings with J"
msgstr "Povezajni nizi z J"
msgid "Joined strings with K"
msgstr "Povezajni nizi s K"
msgid "Joined strings with L"
msgstr "Povezajni nizi z L"
msgid "Joined strings with M"
msgstr "Povezajni nizi z M"
msgid "Joined strings with N"
msgstr "Povezajni nizi z N"
msgid "Joined strings with O"
msgstr "Povezajni nizi z O"
msgid "Joined strings with P"
msgstr "Povezajni nizi s P"
msgid "Joined strings with Q"
msgstr "Povezajni nizi z Q"
msgid "Joined strings with R"
msgstr "Povezajni nizi z R"
msgid "Joined strings with S"
msgstr "Povezajni nizi s S"
msgid "Joined strings with T"
msgstr "Povezajni nizi s T"
msgid "Joined strings with U"
msgstr "Povezajni nizi z U"
msgid "Joined strings with V"
msgstr "Povezajni nizi z V"
msgid "Joined strings with W"
msgstr "Povezajni nizi z W"
msgid "Joined strings with X"
msgstr "Povezajni nizi z X"
msgid "Joined strings with Y"
msgstr "Povezajni nizi z Y"
msgid "Joined strings with Z"
msgstr "Povezajni nizi z Z"
msgid "Joined strings with a"
msgstr "Povezajni nizi z a"
msgid "Joined strings with e"
msgstr "Povezajni nizi z e"
msgid "Joined strings with i"
msgstr "Povezajni nizi z i"
msgid "Joined strings with o"
msgstr "Povezajni nizi z o"
msgid "Joined strings with u"
msgstr "Povezajni nizi z u"
msgid "Kashubian"
msgstr "kašubščina"
@@ -105,7 +225,7 @@ msgid "Letter E"
msgstr "Črka E"
msgid "Letter F"
msgstr "Črka f"
msgstr "Črka F"
msgid "Letter G"
msgstr "Črka G"
@@ -210,16 +330,22 @@ msgid "Maltese"
msgstr "malteščina"
msgid "Mark, Enclosing"
msgstr "Ločevalo, obdajajoča"
msgstr "Ločevalo, obdajajoče"
msgid "Mark, Non-Spacing"
msgstr "Ločevalo, neločljivo"
msgid "Mark, Spacing Combining"
msgstr "Ločevalo, ločljivo"
msgid "Mathematical And Physical Symbols"
msgstr "Matematični in fizikalni simboli"
msgid "Metric"
msgstr "Metrično"
msgid "Modified"
msgstr "Spremenjeno"
msgstr "Spreminjevalni nadomestni znaki"
msgid "Moldavian Cyrillic"
msgstr "moldavščina cirilica"
@@ -227,6 +353,9 @@ msgstr "moldavščina cirilica"
msgid "Moldavian Latinic"
msgstr "moldavščina latinica"
msgid "Musical Characters"
msgstr "Glasbeni znaki"
msgid "Norwegian"
msgstr "norveščina"
@@ -269,14 +398,20 @@ msgstr "Številka, črka"
msgid "Number, Other"
msgstr "Številka, drugo"
msgid "Numbers - Circled"
msgstr "Številke - obkroženo"
msgid "Numbers"
msgstr "Številke"
msgid "Other modifiers"
msgstr "Druga spreminjevala"
msgid "Numbers - Circled"
msgstr "Številka, obkrožena"
msgid "Other Modifiers"
msgstr "Ostali nadomestni znaki"
msgid "Other, Format"
msgstr "Drugo, oblikovni"
msgstr "Drugo, oblikovni znaki"
msgid "Other, Surrogate"
msgstr "Drugo, nadomestni znaki"
msgid "Parentheses"
msgstr "Oklepaji"
@@ -287,6 +422,9 @@ msgstr "poljščina"
msgid "Portuguese"
msgstr "portugalščina"
msgid "Punctuation"
msgstr "Ločila"
msgid "Punctuation, Close"
msgstr "Ločilo, zapiralno"
@@ -317,6 +455,12 @@ msgstr "romunščina"
msgid "Russian"
msgstr "ruščina"
msgid "Separator, Line"
msgstr "Ločilo, vrstica"
msgid "Separator, Paragraph"
msgstr "Ločilo, odstavek"
msgid "Separator, Space"
msgstr "Ločilo, presledek"
@@ -329,12 +473,18 @@ msgstr "srbščina latinica"
msgid "Slovak"
msgstr "slovaščina"
msgid "Slovene Historical Writings"
msgstr "Slovenske zgodovinske pisave"
msgid "Slovenian"
msgstr "slovenščina"
msgid "Sorbian"
msgstr "lužiščini"
msgid "Spaces"
msgstr "Presledki"
msgid "Spanish"
msgstr "španščina"
@@ -342,10 +492,16 @@ msgid "Special Characters"
msgstr "Posebni znaki"
msgid "Strokes"
msgstr "Poševnica"
msgstr "Poševnice"
msgid "Subscript Characters"
msgstr "Podpisani znaki"
msgid "Superscript Sharacters"
msgstr "Nadpisani znaki"
msgid "Surrounded"
msgstr "Obkroženi"
msgstr "Obkrožajni nadomestni znaki"
msgid "Swedish"
msgstr "švedščina"
@@ -398,26 +554,23 @@ msgstr "Simbol, ločevalo"
msgid "Symbol, Other"
msgstr "Simbol, drugo"
msgid "Technical Characters"
msgstr "Tehnični znaki"
msgid "Transliterated"
msgstr "Prečrkovano"
msgid "Transliterating Marks"
msgstr "Prečrkovalni nadomestni znaki"
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 "Units"
msgstr "Enote"
#~ msgid "Letter b"
#~ msgstr "Črka b"
@@ -482,8 +635,5 @@ msgstr "ukrajinščina"
#~ msgid "Letter z"
#~ msgstr "Črka z"
#~ msgid "Numbers"
#~ msgstr "Številke"
#~ msgid "Other, Control"
#~ msgstr "Drugo, kontrolni"

Binary file not shown.

File diff suppressed because it is too large Load Diff