diff options
author | Berke Viktor <bviktor@hexchat.org> | 2012-10-18 16:34:40 +0200 |
---|---|---|
committer | Berke Viktor <bviktor@hexchat.org> | 2012-10-18 16:34:40 +0200 |
commit | 5acd848f79b248511c298ae6321417e1488dc696 (patch) | |
tree | eda7e2ef517d153a46c04debd189bf8edef23999 /src/common | |
parent | 4732505e3030574ccdacbefc1d0ef696813ff705 (diff) |
Initial version of language selector GUI
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/cfgfiles.c | 4 | ||||
-rw-r--r-- | src/common/xchat.c | 5 | ||||
-rw-r--r-- | src/common/xchat.h | 1 |
3 files changed, 10 insertions, 0 deletions
diff --git a/src/common/cfgfiles.c b/src/common/cfgfiles.c index 4ac47f58..09b91423 100644 --- a/src/common/cfgfiles.c +++ b/src/common/cfgfiles.c @@ -451,6 +451,9 @@ const struct prefs vars[] = { {"gui_input_style", P_OFFINT (style_inputbox), TYPE_BOOL}, {"gui_join_dialog", P_OFFINT (gui_join_dialog), TYPE_BOOL}, {"gui_lagometer", P_OFFINT (lagometer), TYPE_INT}, +#ifdef WIN32 + {"gui_lang", P_OFFSET (gui_lang), TYPE_STR}, +#endif {"gui_mode_buttons", P_OFFINT (chanmodebuttons), TYPE_BOOL}, #ifdef WIN32 {"gui_one_instance", P_OFFINT (gui_one_instance), TYPE_BOOL}, @@ -746,6 +749,7 @@ load_config (void) prefs.timestamp = 1; #ifdef WIN32 prefs.identd = 1; + strcpy (prefs.gui_lang, g_getenv ("LC_ALL") ? g_getenv ("LC_ALL") : "en_US"); #endif strcpy (prefs.spell_langs, g_getenv ("LC_ALL") ? g_getenv ("LC_ALL") : "en_US"); strcpy (prefs.stamp_format, "[%H:%M:%S] "); diff --git a/src/common/xchat.c b/src/common/xchat.c index 17bad663..77650a03 100644 --- a/src/common/xchat.c +++ b/src/common/xchat.c @@ -951,6 +951,7 @@ main (int argc, char *argv[]) int ret; #ifdef WIN32 + char hexchat_lang[13]; /* LC_ALL= plus 5 chars of gui_lang and trailing \0 */ HANDLE mutex; #endif @@ -971,6 +972,10 @@ main (int argc, char *argv[]) load_config (); #ifdef WIN32 + /* we MUST do this after load_config () otherwise it would fail */ + snprintf (hexchat_lang, 12, "LC_ALL=%s", prefs.gui_lang); + putenv (hexchat_lang); + if (prefs.gui_one_instance && !portable_mode ()) { DWORD error; diff --git a/src/common/xchat.h b/src/common/xchat.h index 7767d709..06b29494 100644 --- a/src/common/xchat.h +++ b/src/common/xchat.h @@ -117,6 +117,7 @@ struct xchatprefs char font_normal[4 * FONTNAMELEN + 1]; char font_main[FONTNAMELEN + 1]; char font_alternative[3 * FONTNAMELEN + 1]; + char gui_lang[6]; /* Just enough for xx_YY plus trailing \0 */ #else char font_normal[FONTNAMELEN + 1]; #endif |