🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
> 多语言支持解决方案有两种,第一种是分别创建英文站栏目+英文站模板,切换的时候,只需要进入对应的语言模板中即可展现其他语言的内容;第二种是通过配置多语言包实现,该方法实现比较繁琐复杂,但也是一些软件系统通用的解决方法。下面我就逐一写一下教程吧。 # 方案一:根据需要创建英文栏目+英文模板(更多其他语言支持同理) ***** **举例:实现中英文双语网站** 1. 网站栏目设置: + 中文 + 关于我们 + 公司简介 + 联系我们 + 产品介绍 + English + about + company + contact + product 2. 我们创建两个首页:`index.html` `en.html` 将对应的中文栏目输出到 `index.html` 中,英文栏目输出到 `en.html` 中,两个页面结构一样,只不过栏目不同而已。同理栏目页,内容页也是一样。 3. 后台录入资料的时候,分别在对应的栏目录入,从而实现中文内容在中文站,英文内容在英文站。 4. 切换的时候也容易处理,只需要把对应栏目的链接给出来就可以直接跳转过去,其实也挺方便的。 5. 这样就简单实现了双语网站了 # 方案二:通过配置多语言包实现多语言 ***** **举例:实现中英文双语网站** 1. 配置多语言包 `Home/lang`文件夹下面存放语音包文件 `common.php` 公共语言包,定义多语言同义的内容 `zh_cn.php` 默认中文语言包,定义中文语言包对应的内容 ~~~ return [ // '公共字符串' => '对应语言包内的释义'; 'JIZHI' => '极致CMS', ]; ~~~ `公共字符串` 每种语言都需要配置对应的释义 **注意**:`common.php`里面如果定义了公共字符串,而语言包文件里又定义了一遍,那么`common.php`文件里的内容将被忽略,以语言包文件内的为准 2. 前台输出内容 ~~~ // {fun JZLANG('公共字符串')} 举例:{fun JZLANG('JIZHI')} ~~~ 3. 如何切换不同语言? ~~~ http://域名/?l=zh_cn ~~~ `l`为小写的L `zh_cn`为语言包文件名(这个文件名可以自由定义,不限制) 4. 如何设置`l`及默认的语言包(zh_cn) 在入口文件`index.php`进行定义切换语言包参数及默认语言包 (如果不更改,请不要添加如下内容) ~~~ //定义项目默认语言包接收参数(小写的L) define('APP_LANG_REQUREST','l'); //默认当前语言,zh_cn中文简体,其他自定义 define('APP_LANG','zh_cn'); ~~~ 上面定义的字符串,可以自行更改,系统默认上面的一样。