- case 0 : m_locale.Init(wxLANGUAGE_DEFAULT); break;
- case 1 : m_locale.Init(wxLANGUAGE_FRENCH); break;
- case 2 : m_locale.Init(wxLANGUAGE_GERMAN); break;
- case 3 : m_locale.Init(wxLANGUAGE_RUSSIAN); break;
- case 4 : m_locale.Init(wxLANGUAGE_ENGLISH); break;
- case -1:
- case 5 : m_locale.Init(wxLANGUAGE_ENGLISH_US); break;
+ // note that it makes no sense to translate these strings, they are
+ // shown before we set the locale anyhow
+ const wxString langNames[] =
+ {
+ _T("System default"),
+ _T("French"),
+ _T("German"),
+ _T("Russian"),
+#if wxUSE_UNICODE
+ _T("Japanese"),
+ _T("Georgian"),
+#endif
+ _T("English"),
+ _T("English (U.S.)")
+ };
+
+ // the arrays should be in sync
+ wxCOMPILE_TIME_ASSERT( WXSIZEOF(langNames) == WXSIZEOF(langIds),
+ LangArraysMismatch );
+
+ lng = wxGetSingleChoiceIndex
+ (
+ _T("Please choose language:"),
+ _T("Language"),
+ WXSIZEOF(langNames),
+ langNames
+ );