> 多语言支持解决方案有两种,第一种是分别创建英文站栏目+英文站模板,切换的时候,只需要进入对应的语言模板中即可展现其他语言的内容;第二种是通过配置多语言包实现,该方法实现比较繁琐复杂,但也是一些软件系统通用的解决方法。下面我就逐一写一下教程吧。
# 方案一:根据需要创建英文栏目+英文模板(更多其他语言支持同理)
* * *
**举例:实现中英文双语网站**
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');
~~~
上面定义的字符串,可以自行更改,系统默认上面的一样。
- 引言
- 条款
- 开始使用
- 模板标签
- 公共配置
- 系统配置
- 自定义配置
- 网站栏目
- 全局栏目属性
- 导航栏相关
- 当前栏目下的直系下级
- 当前栏目下的直系上级
- 栏目详情页
- 栏目列表页
- 栏目分页
- 输出三级及三级以上栏目
- 当前位置面包屑
- 获取当前栏目的顶级栏目
- 直播讲解栏目相关
- 文章详情页
- 基本内容
- 点赞
- 收藏
- 相关文章
- 输出新增字段
- 商品详情页
- 基本内容
- 输出新增字段
- 商品图集
- 点赞
- 收藏
- *点评星星
- 加入购物车
- *评论
- 相关商品
- 自定义字段
- 原样输出
- 单选字段
- 多选字段
- loop标签
- 通用说明
- loop分页
- 案例说明
- like使用
- 怎么判断loop没有数据
- limit使用
- day参数
- table缺省参数
- 单选多选相关
- 单选字段输出
- 多选字段输出
- 特殊输出
- 输出换行
- 替换字符串
- 输出被解析的HTML原句
- 截取字符串
- 内容body去除HTML
- 分割字符输出
- foreach标签
- for标签
- fun标签
- php标签
- 不解析标签
- if..else..标签
- screen筛选标签
- 客户端判断
- 轮播图
- 友情链接
- 自定义图集输出
- Tags标签调用及使用说明
- 网站留言调用
- 自定义单页
- 系统架构
- 高级功能
- ajax数据交互
- ajax在栏目页的应用
- ajax在screen筛选中的应用
- screen多选筛选
- Message留言表单
- 万能表单
- 多语言支持
- 系统高级配置说明
- 网站动态链接
- 邮件发送
- 插件开发
- 控制器方法覆盖(cover)[简单]
- 控制器方法钩子(hook)[复杂]
- 制成后台安装插件
- 附录
- 时间
- 富文本编辑器导航
- 版本更新