YII2 实现多语言配置的方法分享
前言:
由于我的YII2版本是2.0.7, 设置多语言时和其他教程有不同的地方, 所以想着整理下,方便自己以后需要的时候和有需要的朋友参考学习。下面来一起学习学习吧。
方法如下:
1. 在一个controller里面写一个调用i18n的语句, 比如actionIndex
echo \Yii::t('app', 'whatisthis');
现在进入这个页面, 页面输出whatisthis
2. 手动创建一个文件夹messages来存放多语言相关文件, 如果是advanced版本则在frontend下面创建这个文件夹
3. 创建i18n配置文件
yii message/config frontend/messages/config.php
会自动生成一个config.php文件
然后打开frontend/messages/config.php
, language行设置为
'languages' => ['en', 'zh-CN'],
4. 创建message文件, 执行
yii message frontend/messages/config.php
这样在frontend/messages里面会生成en和zh-CN文件夹
5. 打开frontend/messages/zh-CH/yii.php
添加一行
'whatisthis' => '这是啥玩意',
6. 在/yii2/frontend/config/main.php
里设置
components中加入
'i18n' => [ 'translations' => [ 'app*' => [ 'class' => 'yii\i18n\PhpMessageSource', //'basePath' => '@app/messages', //'sourceLanguage' => 'en-US', 'fileMap' => [ 'app' => 'yii.php', 'app/error' => 'error.php', ], ], ], ],
注意, 如果想要更改validate等yii本身的翻译
需增加下面设置到 'translations' => []
中:
'yii' => [ 'class' => 'yii\i18n\PhpMessageSource', 'sourceLanguage' => 'en-US', 'basePath' => '@app/messages' ],
components同等级后加入
'language' => 'zh-CN',
7. 再刷新页面, 应该会显示"这是啥玩意"了.
8. 当你需要新增其他语言时候, 执行第3,4步会重新生成文件, 之前的翻译(whatisthis)会保留, 但我试了之后发现变成了
'whatisthis' => '@@这是啥玩意@@',
很奇怪的两边多出@@.
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
相关文章
- 这篇文章主要介绍了Yii2创建表单(ActiveForm)的方法,结合实例形式详细分析了Yii创建表单的详细步骤及相关函数与属性的使用技巧,需要的朋友可以参考下...2016-07-29
- 这篇文章主要介绍了PHP之深入学习Yii2缓存Cache组件详细讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下...2021-07-27
- 带搜索功能下拉框在项目中经常会用到,下面小编把实现代码分享到脚本之家平台,供大家参考...2016-05-13
- yii2的一个强大之处之一就是他的Form组件,既方便又安全。本文给大家介绍yii2中的rules 自定义验证规则,需要的朋友参考下...2016-04-23
Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等
使用Yii2的时候,在某些场景和环境下需要获得Yii2目前所处于的module(模型)、Controller(控制器)、Action(方法),以及会调用控制器里面已经定义过的一些公共的方法等.对于这些问题Yii2可以在视图层View中使用$this->context这个对象去获得。下面通过示例代码给大家讲解下...2017-04-03- 这篇文章主要介绍了YII2实现多语言配置的方法,文中YII2的版本是2.0.7,可能会与其他教程有不同,有需要的朋友可以参考借鉴,下面来一起看看吧。...2017-01-15
- 这篇文章主要介绍了Yii2实现让关联字段支持搜索功能的方法,结合实例形式分析了Yii2关联字段搜索功能的原理与相关实现技巧,需要的朋友可以参考下...2016-08-27
- 这篇文章主要介绍了Yii2基于Ajax自动获取表单数据的方法,涉及Yii结合ajax调用鼠标事件动态查询表单的相关技巧,需要的朋友可以参考下...2016-08-27
- 本篇文章主要介绍了Yii2框架实现数据库常用操作总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...2017-02-18
- 这篇文章主要介绍了yii2分页之实现跳转到具体某页的实例代码的相关资料,需要的朋友可以参考下...2016-06-12
- yii2集成另外一个强大好用的富文本编辑器Redactor。接下来通过本文给大家介绍Yii2集成富文本编辑器redactor实例教程,感兴趣的朋友一起学习吧...2016-04-28
- 这篇文章主要介绍了Yii2使用swiftmailer发送邮件的方法,结合实例形式分析了Yii2使用swiftmailer进行邮件发送的设置与代码实现技巧,需要的朋友可以参考下...2016-05-05
- 这篇文章主要介绍了Yii2搭建后台并实现rbac权限控制完整实例教程的相关资料,需要的朋友可以参考下...2016-05-04
- 在朋友圈里有童鞋向我讨论GridView的问题,有朋友说你用gridview给我去掉表头的链接?我想的很久,用gridview确实不容易实现。有不同见解的朋友欢迎留言。但是呢,这根gridview有个毛线关联啊,明明是要设置ActiveDataProvider,你要我怎么用gridview实现嘛...2016-04-23
- 本文是小编给大家收集整理些有关网络上Yii2中GridView常见操作中出现的大部分问题,本文做一个总结特此分享到脚本之家平台供大家参考...2016-04-23
- 这篇文章主要介绍了浅析Yii2 GridView实现下拉搜索教程的相关资料,需要的朋友可以参考下...2016-04-23
- 一个有缓存的框架可以说是一个好的框架。下面小编通过本文给大家介绍yii2中是如何使用缓存的,非常具有参考借鉴价值,感兴趣的朋友一起学习吧...2016-05-13
- 这篇文章主要介绍了Yii2使用自带的UploadedFile实现的文件上传的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2016-06-24
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
这篇文章主要介绍了Yii2 GridView 日期格式化并实现日期可搜索教程的相关资料,需要的朋友可以参考下...2016-04-23yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
这篇文章主要介绍了yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法的相关资料,需要的朋友可以参考下...2016-04-23