博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
YII2配置多语言
阅读量:5231 次
发布时间:2019-06-14

本文共 1407 字,大约阅读时间需要 4 分钟。

我的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' => '@@这是啥玩意@@',

很奇怪的两边多出@@.

 

转载于:https://www.cnblogs.com/derrck/p/5213834.html

你可能感兴趣的文章
HDU 1671 Phone List(Trie的应用与内存释放)
查看>>
HDU 2222 Keywords Search(AC自动机模版题)
查看>>
hihoCoder 第136周 优化延迟(二分答案+手写堆)
查看>>
redis安装
查看>>
mysql_存储引擎层-innodb buffer pool
查看>>
js中把JSON字符串转换成JSON对象最好的方法
查看>>
Python对象类型及其运算
查看>>
java附件上传下载磁盘版
查看>>
python 2018/8/25
查看>>
localhost兼容js不能用
查看>>
SQL 删除重复记录,并保留其中一条
查看>>
leetcode 88 Merge Sorted Array 归并排序
查看>>
爬虫实践---悦音台mv排行榜与简单反爬虫技术应用
查看>>
Javascript异步编程
查看>>
清楚浮动的10种方法
查看>>
Go学习笔记01-环境搭建
查看>>
迈出从3K到1W的重要一步——掌握设计模式
查看>>
[原创]Juint4 + WebDriver 搭建自动化测试框架
查看>>
判断两个链表是否相交
查看>>
ArcGIS 9.3 安装之 Desktop的安装
查看>>