From e61c8c2a886b810ccbf082977392edb8eac3679f Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Sat, 20 Aug 2011 05:16:42 +0000 Subject: [PATCH] and lets have lang settings work by unsetting lang and language too if set. SVN revision: 62622 --- src/bin/e_intl.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/bin/e_intl.c b/src/bin/e_intl.c index c150f685d..88646c79c 100644 --- a/src/bin/e_intl.c +++ b/src/bin/e_intl.c @@ -4,6 +4,8 @@ static Ecore_Exe *_e_intl_input_method_exec = NULL; static Ecore_Event_Handler *_e_intl_exit_handler = NULL; static char *_e_intl_orig_lc_all = NULL; +static char *_e_intl_orig_lang = NULL; +static char *_e_intl_orig_language = NULL; static char *_e_intl_language = NULL; static char *_e_intl_language_alias = NULL; @@ -56,6 +58,8 @@ e_intl_init(void) e_intl_data_init(); if ((s = getenv("LC_ALL"))) _e_intl_orig_lc_all = strdup(s); + if ((s = getenv("LANG"))) _e_intl_orig_lang = strdup(s); + if ((s = getenv("LANGUAGE"))) _e_intl_orig_language = strdup(s); if ((s = getenv("GTK_IM_MODULE"))) _e_intl_orig_gtk_im_module = strdup(s); if ((s = getenv("QT_IM_MODULE"))) _e_intl_orig_qt_im_module = strdup(s); @@ -70,6 +74,8 @@ e_intl_shutdown(void) { E_FREE(_e_intl_language); E_FREE(_e_intl_orig_lc_all); + E_FREE(_e_intl_orig_lang); + E_FREE(_e_intl_orig_language); E_FREE(_e_intl_orig_gtk_im_module); E_FREE(_e_intl_orig_qt_im_module); @@ -146,6 +152,7 @@ e_intl_language_set(const char *lang) if (!lang) lang = getenv("LC_ALL"); if (!lang) lang = getenv("LANG"); + if (!lang) lang = getenv("LANGUAGE"); set_envars = 0; } @@ -187,6 +194,8 @@ e_intl_language_set(const char *lang) if (set_envars) { e_util_env_set("LC_ALL", _e_intl_language); + e_util_env_set("LANG", NULL); + e_util_env_set("LANGUAGE", NULL); } setlocale(LC_ALL, _e_intl_language);