Как я могу заставить CodeIgniter работать с несколькими языками, используя файлы JSON?Php

Кемеровские программисты php общаются здесь
Anonymous
Как я могу заставить CodeIgniter работать с несколькими языками, используя файлы JSON?

Сообщение Anonymous »

У меня есть сценарий, который, хотя и имеет возможность многоязычности, спроектирован таким образом, что для всех пользователей можно настроить только один язык, у меня есть несколько файлов JSON с переведенными сообщениями, и я могу выбрать только один язык.

Выбранный язык затем записывается в БД и доступен через вспомогательный файл:

Код: Выделить всё

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

Вернуться в «Php»