diff options
author | Renato Botelho <renato@netgate.com> | 2016-01-21 19:10:21 -0200 |
---|---|---|
committer | Renato Botelho <renato@netgate.com> | 2016-01-21 19:12:10 -0200 |
commit | ceecd29b53b7d570b56fb391a09abb71fe80566b (patch) | |
tree | a764684df84eb4a876c9d8dda490cf37f18e1100 /src/etc/inc/pfsense-utils.inc | |
parent | b50d30c3a6d29b02cc7f4fe66f3a16bc7a4ea1a6 (diff) | |
download | pfsense-ceecd29b53b7d570b56fb391a09abb71fe80566b.zip pfsense-ceecd29b53b7d570b56fb391a09abb71fe80566b.tar.gz |
Fix #5690:
- Remove parameters from set_language()
- Add a global variable for default language
- add env var for LANG, otherwise it won't work
Diffstat (limited to 'src/etc/inc/pfsense-utils.inc')
-rw-r--r-- | src/etc/inc/pfsense-utils.inc | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/etc/inc/pfsense-utils.inc b/src/etc/inc/pfsense-utils.inc index ae00bee..5a0a34e 100644 --- a/src/etc/inc/pfsense-utils.inc +++ b/src/etc/inc/pfsense-utils.inc @@ -2756,11 +2756,21 @@ function pfSense_handle_custom_code($src_dir) { } } -function set_language($lang = 'en_US', $encoding = "UTF-8") { - setlocale(LC_ALL, "{$lang}.{$encoding}"); - textdomain("pfSense"); - bindtextdomain("pfSense", "/usr/local/share/locale"); - bind_textdomain_codeset("pfSense", "{$lang}.{$encoding}"); +function set_language() { + global $config, $g; + + if (!empty($config['system']['language'])) { + $lang = $config['system']['language']; + } elseif (!empty($g['language'])) { + $lang = $g['language']; + } + $lang .= ".UTF-8"; + + putenv("LANG={$lang}"); + $r = setlocale(LC_ALL, $lang); + $r = textdomain("pfSense"); + $r = bindtextdomain("pfSense", "/usr/local/share/locale"); + $r = bind_textdomain_codeset("pfSense", $lang); } function get_locale_list() { |