From 5edfe17fae189cc05e4869c8ca1ba46dda1b0ec1 Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Mon, 14 Mar 2016 17:06:26 +0100 Subject: [PATCH] Localization setup modified --- ZRCola/zrcolaapp.cpp | 20 ++++++++++++++++++-- ZRCola/zrcolaapp.h | 12 ++++++++++-- ZRColaCompile/main.cpp | 7 ++++--- 3 files changed, 32 insertions(+), 7 deletions(-) diff --git a/ZRCola/zrcolaapp.cpp b/ZRCola/zrcolaapp.cpp index 536a55a..7582d18 100644 --- a/ZRCola/zrcolaapp.cpp +++ b/ZRCola/zrcolaapp.cpp @@ -27,13 +27,29 @@ wxIMPLEMENT_APP(ZRColaApp); +ZRColaApp::ZRColaApp() : + m_config(wxT(ZRCOLA_CFG_APPLICATION), wxT(ZRCOLA_CFG_VENDOR)), + wxApp() +{ +} + + bool ZRColaApp::OnInit() { - if (!wxAppEx::OnInit()) + if (!wxApp::OnInit()) return false; - if (wxLocale::IsAvailable(wxLANGUAGE_SLOVENIAN)) + // Set desired locale. + wxLanguage language = (wxLanguage)m_config.Read(wxT("Language"), wxLANGUAGE_DEFAULT); + if (wxLocale::IsAvailable(language)) { + wxString sPath; + if (m_config.Read(wxT("LocalizationRepositoryPath"), &sPath)) + m_locale.AddCatalogLookupPathPrefix(sPath); + wxVERIFY(m_locale.Init(language)); + wxVERIFY(m_locale.AddCatalog(wxT("wxExtend"))); + wxVERIFY(m_locale.AddCatalog(wxT("ZRColaCompile"))); wxVERIFY(m_locale.AddCatalog(wxT("ZRCola"))); + } wxZRColaFrame* mainFrame = new wxZRColaFrame(); diff --git a/ZRCola/zrcolaapp.h b/ZRCola/zrcolaapp.h index 07ae7e9..7926702 100644 --- a/ZRCola/zrcolaapp.h +++ b/ZRCola/zrcolaapp.h @@ -25,15 +25,19 @@ class ZRColaApp; #pragma once -#include +#include +#include +#include /// /// ZRCola application /// -class ZRColaApp : public wxAppEx +class ZRColaApp : public wxApp { public: + ZRColaApp(); + /// /// Called when application initializes. /// @@ -41,6 +45,10 @@ public: /// - true if initialization succeeded /// - false otherwise virtual bool OnInit(); + +protected: + wxConfig m_config; ///< Application configuration + wxLocale m_locale; ///< Current locale }; diff --git a/ZRColaCompile/main.cpp b/ZRColaCompile/main.cpp index b64a731..e055429 100644 --- a/ZRColaCompile/main.cpp +++ b/ZRColaCompile/main.cpp @@ -150,13 +150,14 @@ int _tmain(int argc, _TCHAR *argv[]) // Set desired 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)); + wxVERIFY(locale.AddCatalog(wxT("ZRColaCompile"))); } - wxVERIFY(locale.Init(config.Read(wxT("Language"), wxLANGUAGE_DEFAULT))); - wxVERIFY(locale.AddCatalog(wxT("ZRColaCompile"))); // Parse command line. static const wxCmdLineEntryDesc cmdLineDesc[] =