From e08435900c836acfc0f2b4b17a9043d154ca9ecc Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Wed, 11 Feb 2009 00:35:44 +0100 Subject: [PATCH] mmg: Get default locale if none has been selected yet Get the default locale if none has been saved yet so that the preferences dialog shows the correct one as selected. Do not compile the locale code if libintl.h is not available. Add debug output for the language selection logic. --- src/mmg/mmg.cpp | 8 +++++++- src/mmg/options_dialog.cpp | 3 +++ 2 files changed, 10 insertions(+), 1 deletion(-) 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();