diff --git a/src/mmg/mmg.cpp b/src/mmg/mmg.cpp index 7c8c7a927..7f9ff49fd 100644 --- a/src/mmg/mmg.cpp +++ b/src/mmg/mmg.cpp @@ -2170,9 +2170,11 @@ END_EVENT_TABLE(); void mmg_app::init_ui_locale(wxConfigBase *cfg) { - wxString w_locale; std::string locale; +#if defined(HAVE_LIBINTL_H) + wxString w_locale; + translation_c::initialize_available_translations(); cfg->SetPath(wxT("/GUI")); @@ -2182,7 +2184,11 @@ mmg_app::init_ui_locale(wxConfigBase *cfg) { locale = ""; } + if (locale.empty()) + locale = translation_c::get_default_ui_locale(); + m_ui_locale = locale; +#endif // HAVE_LIBINTL_H init_locales(locale); } diff --git a/src/mmg/options_dialog.cpp b/src/mmg/options_dialog.cpp index 426b46bfd..44225ce46 100644 --- a/src/mmg/options_dialog.cpp +++ b/src/mmg/options_dialog.cpp @@ -154,6 +154,9 @@ options_dialog::options_dialog(wxWindow *parent, ++translation; } + wxLogMessage(wxT("Locale selection logic: select_locale %s uu_locale_lower %s translation_c::get_default_ui_locale() %s app->m_ui_locale %s"), + select_locale.c_str(), wxCS2WS(ui_locale_lower), wxCS2WS(translation_c::get_default_ui_locale()), wxCS2WS(app->m_ui_locale)); + std::sort(sorted_entries.begin(), sorted_entries.end()); std::vector::iterator locale_entry = sorted_entries.begin();