前言:
由于我的YII2版本是2.0.7, 设置多语言时和其他教程有不同的地方, 所以想着整理下,方便自己以后需要的时候和有需要的朋友参考学习。下面来一起学习学习吧。
方法如下:
1. 在一个controller里面写一个调用i18n的语句, 比如actionIndex
?
1
|
echo \\Yii::t('app', 'whatisthis');
|
现在进入这个页面, 页面输出whatisthis
2. 手动创建一个文件夹messages来存放多语言相关文件, 如果是advanced版本则在frontend下面创建这个文件夹
3. 创建i18n配置文件
?
1
|
yii message/config frontend/messages/config.php
|
会自动生成一个config.php文件
然后打开frontend/messages/config.php
, language行设置为
?
1
|
'languages' => ['en', 'zh-CN'],
|
4. 创建message文件, 执行
?
1
|
yii message frontend/messages/config.php
|
这样在frontend/messages里面会生成en和zh-CN文件夹
5. 打开frontend/messages/zh-CH/yii.php
添加一行
?
1
|
'whatisthis' => '这是啥玩意',
|
6. 在/yii2/frontend/config/main.php
里设置
components中加入
?
1
2
3
4
5
6
7
8
9
10
11
12
13
|
'i18n' => [
'translations' => [
'app*' => [
'class' => 'yii\\i18n\\PhpMessageSource',
//'basePath' => '@app/messages',
//'sourceLanguage' => 'en-US',
'fileMap' => [
'app' => 'yii.php',
'app/error' => 'error.php',
],
],
],
],
|
注意, 如果想要更改validate等yii本身的翻译
需增加下面设置到 'translations' => []
中:
?
1
|
'yii' => [ 'class' => 'yii\\i18n\\PhpMessageSource', 'sourceLanguage' => 'en-US', 'basePath' => '@app/messages' ],
|
components同等级后加入
?
1
|
'language' => 'zh-CN',
|
7. 再刷新页面, 应该会显示"这是啥玩意"了.
8. 当你需要新增其他语言时候, 执行第3,4步会重新生成文件, 之前的翻译(whatisthis)会保留, 但我试了之后发现变成了
?
1
|
'whatisthis' => '@@这是啥玩意@@',
|
很奇怪的两边多出@@.
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
相关文章
猜你喜欢
- ASP.NET本地开发时常见的配置错误及解决方法? 2025-06-10
- ASP.NET自助建站系统的数据库备份与恢复操作指南 2025-06-10
- 个人网站服务器域名解析设置指南:从购买到绑定全流程 2025-06-10
- 个人网站搭建:如何挑选具有弹性扩展能力的服务器? 2025-06-10
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-06-04 96
-
2025-05-29 81
-
2025-05-25 100
-
2025-05-25 44
-
2025-05-29 82
热门评论