很多公司□□□□面向全球□□□服务,网站多语□□□言就成了□□□必选项,那么如何丨实现网站□□□多语言呢?
ThinkPHP作为国内□□非常流行●的PHP网站开发◆框架,其实他已·经内置集□□□成了多语□□言的功能,只要我们□□按照要求▲配置就行□□□了。
首先,在中间件□□□□配置文件middleware.php中启用,注意,如果是多□□□□应用模式,则需要使□□□用的应用•里加载。如下代码□□□□所示:
return [
// 多语言加载
\think\middleware\LoadLangPack::class,
];
其次,配置好多语言配置文件lang.php,如下代码所示
return [
// 默认语言
'default_lang' => env('lang.default_lang', 'en-us'),
// 允许的语言列表
'allow_lang_list' => ['en-us','zh-cn','zh-hk'],
// 多语言自动侦测变量名,可通过URL参数判断使用哪个语言
'detect_var' => 'lang',
// 是否使用Cookie记录
'use_cookie' => true,
// 多语言cookie变量,通过保存这个cookie记录用户选项
'cookie_var' => 'think_lang',
// 多语言header变量
'header_var' => 'think-lang',
// 扩展语言包,主要是分多个语言文件的时候使用
'extend_list' => [
'en-us' => [
app()->getAppPath() . 'home\lang\en-us\common.php',
app()->getAppPath() . 'home\lang\en-us\index.php'
],
'zh-cn' => [
app()->getAppPath() . 'home\lang\zh-cn\common.php',
app()->getAppPath() . 'home\lang\zh-cn\index.php'
],
'zh-hk' => [
app()->getAppPath() . 'home\lang\zh-hk\common.php',
app()->getAppPath() . 'home\lang\zh-hk\index.php'
],
],
// Accept-Language转义为对应语言包名称
'accept_language' => [
'zh-hans-cn' => 'zh-cn',
],
// 是否支持语言分组
'allow_group' => true
];
再次,编写多语□□□言翻译文□□件。如下图所□□示,主要以PHP数组方式,可分组配□□置,每个语言□□□版本变量□□□一致。

最后,绑定语言□□□□变量到模□□板,并通过URL切换语言
绑定变量如:{$Think.lang.site_menu_home}
切换语言□□□只需要在URL后面加上□□□参数lang,如:index.php?lang=zh-en
是不是很□□简单?如下所示□□可实现



BG大游集团□□专注于高□□□端网站定▼制和小程▼序开发,为客户提□□□供周到的□□□网络服务,如有需求,欢迎咨询135-2716-3909