如何使用json文件使CodeIgniter与多语言一起工作
我有一个脚本,虽然有多语言选项,但它的设计方式是,所有用户只能设置一种语言,我有一些json文件,其中包含翻译的消息,我只能选择一种语言 然后,所选语言被写入数据库,并由助手文件访问:如何使用json文件使CodeIgniter与多语言一起工作,codeigniter,Codeigniter,我有一个脚本,虽然有多语言选项,但它的设计方式是,所有用户只能设置一种语言,我有一些json文件,其中包含翻译的消息,我只能选择一种语言 然后,所选语言被写入数据库,并由助手文件访问: if ( ! function_exists('get_phrase')) { function get_phrase($phrase = '') { $CI =& get_instance(); $CI->load->database();
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多语言支持做了一些研究,但它们都采用了一种不同的方法,在这个脚本中使用钩子和语言目录代码>。这意味着,如果该项目被翻译成假装的语言,它将显示,否则它将返回到字符串“世界冲浪储备”;这很有用,因为您不会失去对视图文本的控制。在语言文件(例如(application/language/PT)中,您可以创建所有必需的数组项,并通过数据库调用为其提供数据……请在此处检查我的回答:我使用的是类似于:
$this->lang->line('wsl')的内容?:'World Surfing Reserve';
。这意味着,如果项目被翻译成假装的语言,它会显示,否则它会返回到字符串“World Surfing Reserve”;这很有用,因为您不会失去对视图文本的控制。在语言文件中(例如:(application/language/PT),您可以创建所有必需的数组项,并通过数据库调用为其提供数据…请在此处查看我的答案: