Выбранный язык затем записывается в БД и доступен через вспомогательный файл:
Код: Выделить всё
if ( ! function_exists('get_phrase'))
{
function get_phrase($phrase = '') {
$CI =& get_instance();
$CI->load->database();
$language_code = $CI->db->get_where('settings' , array('key' => 'language'))->row()->value;
$key = strtolower(preg_replace('/\s+/', '_', $phrase));
$langArray = openJSONFile($language_code);
if (array_key_exists($key, $langArray)) {
} else {
$langArray[$key] = ucfirst(str_replace('_', ' ', $key));
$jsonData = json_encode($langArray, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
file_put_contents(APPPATH.'language/'.$language_code.'.json', stripslashes($jsonData));
}
return $langArray[$key];
}
Я не разбираюсь в CodeIgniter, поэтому буду признателен за пошаговые изменения и расположение изменяемых файлов.
Я провел небольшое исследование базовой многоязычности CodeIgniter поддерживаются, но все они основаны на другом подходе, который используется в этом скрипте, с использованием перехватчиков и каталогов для языков.
Подробнее здесь: https://stackoverflow.com/questions/620 ... json-files
Мобильная версия