mirror of
https://github.com/opensourcepos/opensourcepos.git
synced 2026-05-06 14:54:32 -04:00
Fallback to english if translations are missing (#3205)
This commit is contained in:
@@ -10,10 +10,17 @@ class MY_Lang extends CI_Lang
|
||||
$CI->config->set_item('language', $idiom);
|
||||
$loaded = $this->is_loaded;
|
||||
$this->is_loaded = array();
|
||||
|
||||
|
||||
foreach($loaded as $file)
|
||||
{
|
||||
$this->load(strtr($file, '', '_lang.php'));
|
||||
$filename = strtr($file, '', '_lang.php');
|
||||
$this->load($filename, 'english');
|
||||
$array = $this->load($filename, $idiom, TRUE);
|
||||
foreach($array as $lang_key => $lang_value) {
|
||||
if ($lang_value != '') {
|
||||
$this->language[$lang_key] = $lang_value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,8 +26,8 @@ function load_config()
|
||||
$CI->config->set_item('language_code', 'en-US');
|
||||
}
|
||||
|
||||
_load_language_files($CI, '../vendor/codeigniter/framework/system/language', current_language());
|
||||
_load_language_files($CI, '../application/language', current_language_code());
|
||||
_load_language_files($CI, '../vendor/codeigniter/framework/system/language', current_language(), FALSE);
|
||||
_load_language_files($CI, '../application/language', current_language_code(), TRUE);
|
||||
|
||||
//Set timezone from config database
|
||||
if($CI->config->item('timezone'))
|
||||
@@ -46,16 +46,33 @@ function load_config()
|
||||
* @param $CI
|
||||
* @param $path
|
||||
* @param $language
|
||||
* @param $fallback
|
||||
*/
|
||||
function _load_language_files($CI, $path, $language)
|
||||
function _load_language_files($CI, $path, $language, $fallback)
|
||||
{
|
||||
$map = directory_map($path . DIRECTORY_SEPARATOR . $language);
|
||||
|
||||
foreach($map as $file)
|
||||
{
|
||||
|
||||
if(!is_array($file) && substr(strrchr($file, '.'), 1) == 'php')
|
||||
{
|
||||
$CI->lang->load(strtr($file, '', '_lang.php'), $language);
|
||||
$filename = strtr($file, '', '_lang.php');
|
||||
if ($fallback) {
|
||||
$CI->lang->load($filename, 'en-US');
|
||||
|
||||
$array = $CI->lang->load($filename, $language, TRUE);
|
||||
foreach($array as $lang_key => $lang_value) {
|
||||
if ($lang_value !== '') {
|
||||
$CI->lang->language[$lang_key] = $lang_value;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$CI->lang->load($filename, $language);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user