diff --git a/pi2-view/include/MapApplication.hpp b/pi2-view/include/MapApplication.hpp index 1879b4f478173359eb14df3c2118cbd7cad4c22c..dc87e17ea0702b9149537db134ccfc5e6adf7018 100644 --- a/pi2-view/include/MapApplication.hpp +++ b/pi2-view/include/MapApplication.hpp @@ -15,6 +15,7 @@ public: static void removeWindow(Gtk::Window &window); private: + static void initGettext(); static Glib::RefPtr application; static std::thread thread; }; diff --git a/pi2-view/src/MapApplication.cpp b/pi2-view/src/MapApplication.cpp index 7d4f89125b6222a90a7efb06a7f1da0051ab8a94..d87ad1f3a0ce7aed23c4586110a7daf07eb87aaf 100644 --- a/pi2-view/src/MapApplication.cpp +++ b/pi2-view/src/MapApplication.cpp @@ -1,11 +1,25 @@ #include "MapApplication.hpp" +#include #include #include #include #include -Glib::RefPtr MapApplication::application = - Gtk::Application::create(); +void MapApplication::initGettext() { +#ifdef G_OS_WIN32 + gchar *win32_dir = g_win32_get_package_installation_directory_of_module(NULL); + bindtextdomain("pi2-view", + g_build_filename(win32_dir, "share", "locale", NULL)); + g_free(win32_dir); +#endif /* G_OS_WIN32 */ + + bind_textdomain_codeset("pi2-view", "UTF-8"); +} + +Glib::RefPtr MapApplication::application = []() { + initGettext(); + return Gtk::Application::create(); +}(); std::thread MapApplication::thread; void MapApplication::addWindow(Gtk::Window &window) {