forked from enlightenment/enlightenment
and lets have lang settings work by unsetting lang and language too if
set. SVN revision: 62622
This commit is contained in:
parent
4e858087fd
commit
e61c8c2a88
|
@ -4,6 +4,8 @@ static Ecore_Exe *_e_intl_input_method_exec = NULL;
|
||||||
static Ecore_Event_Handler *_e_intl_exit_handler = NULL;
|
static Ecore_Event_Handler *_e_intl_exit_handler = NULL;
|
||||||
|
|
||||||
static char *_e_intl_orig_lc_all = 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 = NULL;
|
||||||
|
|
||||||
static char *_e_intl_language_alias = NULL;
|
static char *_e_intl_language_alias = NULL;
|
||||||
|
@ -56,6 +58,8 @@ e_intl_init(void)
|
||||||
e_intl_data_init();
|
e_intl_data_init();
|
||||||
|
|
||||||
if ((s = getenv("LC_ALL"))) _e_intl_orig_lc_all = strdup(s);
|
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("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);
|
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_language);
|
||||||
E_FREE(_e_intl_orig_lc_all);
|
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_gtk_im_module);
|
||||||
E_FREE(_e_intl_orig_qt_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("LC_ALL");
|
||||||
if (!lang) lang = getenv("LANG");
|
if (!lang) lang = getenv("LANG");
|
||||||
|
if (!lang) lang = getenv("LANGUAGE");
|
||||||
|
|
||||||
set_envars = 0;
|
set_envars = 0;
|
||||||
}
|
}
|
||||||
|
@ -187,6 +194,8 @@ e_intl_language_set(const char *lang)
|
||||||
if (set_envars)
|
if (set_envars)
|
||||||
{
|
{
|
||||||
e_util_env_set("LC_ALL", _e_intl_language);
|
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);
|
setlocale(LC_ALL, _e_intl_language);
|
||||||
|
|
Loading…
Reference in New Issue