《PHP应用:YII2 实现多语言配置的方法分享》要点:
本文介绍了PHP应用:YII2 实现多语言配置的方法分享,希望对您有用。如果有疑问,可以联系我们。
相关主题:YII框架
PHP实战前言:
PHP实战由于我的YII2版本是2.0.7, 设置多语言时和其他教程有不同的地方, 所以想着整理下,方便自己以后需要的时候和有需要的朋友参考学习.下面来一起学习学习吧.
PHP实战方法如下:
PHP实战1. 在一个controller里面写一个调用i18n的语句, 比如actionIndex
PHP实战
echo \Yii::t('app', 'whatisthis');
PHP实战现在进入这个页面, 页面输出whatisthis
PHP实战2. 手动创建一个文件夹messages来存放多语言相关文件, 如果是advanced版本则在frontend下面创建这个文件夹
PHP实战3. 创建i18n配置文件
PHP实战
yii message/config frontend/messages/config.php
PHP实战会自动生成一个config.php文件
PHP实战然后打开frontend/messages/config.php
, language行设置为
PHP实战
'languages' => ['en', 'zh-CN'],
PHP实战4. 创建message文件, 执行
PHP实战
yii message frontend/messages/config.php
PHP实战这样在frontend/messages里面会生成en和zh-CN文件夹
PHP实战5. 打开frontend/messages/zh-CH/yii.php
PHP实战添加一行
PHP实战
'whatisthis' => '这是啥玩意',
PHP实战6. 在/yii2/frontend/config/main.php
里设置
PHP实战components中加入
PHP实战
'i18n' => [
'translations' => [
'app*' => [
'class' => 'yii\i18n\PhpMessageSource',
//'basePath' => '@app/messages',
//'sourceLanguage' => 'en-US',
'fileMap' => [
'app' => 'yii.php',
'app/error' => 'error.php',
],
],
],
],
PHP实战注意, 如果想要更改validate等yii本身的翻译
PHP实战需增加下面设置到 'translations' => []
中:
PHP实战
'yii' => [ 'class' => 'yii\i18n\PhpMessageSource', 'sourceLanguage' => 'en-US', 'basePath' => '@app/messages' ],
PHP实战components同等级后加入
PHP实战
'language' => 'zh-CN',
PHP实战7. 再刷新页面, 应该会显示"这是啥玩意"了.
PHP实战8. 当你需要新增其他语言时候, 执行第3,4步会重新生成文件, 之前的翻译(whatisthis)会保留, 但我试了之后发现变成了
PHP实战
'whatisthis' => '@@这是啥玩意@@',
PHP实战很奇怪的两边多出@@.
PHP实战总结
PHP实战以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流.
转载请注明本页网址:
http://www.vephp.com/jiaocheng/2004.html