Как заставить CodeIgniter работать с несколькими языками, используя файлы json - PullRequest
1 голос
/ 26 мая 2020

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

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

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, поэтому пошаговые инструкции по изменениям и расположению файлов, которые нужно изменить, будут оценен.

Я провел некоторые исследования по основному c многоязыковой поддержке CodeIgniter, но все они основаны на другом подходе, который используется в этом скрипте, с использованием хуков и каталогов для языков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...