在ThinkPHP框架下实现多语言共存显示,需要进行如下设置:
在config.php
中定义支持的语言类型和语言变量文件路径:
'lang_switch_on' => true, // 开启语言包功能
'default_lang' => 'zh-cn', // 默认语言
'lang_list' => ['zh-cn', 'en-us'], // 支持的语言列表
'lang_detect_var' => 'lang', // 语言自动侦测的变量名
'lang_cookie_var' => 'think_lang', // 语言切换所用的cookie变量
'lang_auto_detect' => true, // 自动侦测语言
'lang_dir' => APP_PATH . 'lang' . DS, // 语言包所在目录
在lang
目录下创建对应的语言变量文件,例如zh-cn.php
和en-us.php
,并在文件中定义对应的语言变量:
// zh-cn.php
return [
'hello' => '你好',
'world' => '世界',
];
// en-us.php
return [
'hello' => 'Hello',
'world' => 'World',
];
在需要显示多语言的地方,使用__()
函数进行语言变量的调用,例如:
echo __('hello') . ' ' . __('world');
这样就可以实现在ThinkPHP框架下多语言共存显示了。需要注意的是,语言变量文件中的变量名需要与代码中调用的名称一致,否则无法正确显示对应的语言内容。