我正在使用Yii2框架,我正在翻译所有按钮,标签,消息等文本。
然后我读了这篇文章http://www.yiiframework.com/doc-2.0/guide-tutorial-i18n.html,它展示了如何自动完成,但我不明白。
我想从阿根廷翻译成西班牙语: es-AR 或者至少翻译成西班牙语。
所以我认为我需要从 en-US 更改为 es-AR ,但我想知道应该更改哪些文件。
此外,我正在使用优秀的Gii代码生成器,我可以看到一个名为启用I18N 的复选框。
我看了这些文件,但我不确定我是否正在查找正确的文件:
答案 0 :(得分:2)
在应用程序配置中添加language
propery和i18n
组件。对于common/config/main.php
return [
'language' => 'es-AR',
...
'components' => [
...
'i18n' => [
'translations' => [
'app*' => [
'class' => 'yii\i18n\PhpMessageSource',
'basePath' => '@app/messages',
],
],
],
...
],
]
对所有用户消息(模型标签,视图,错误消息等)使用Yii::t()
。
echo \Yii::t('app', 'Friend');
创建目录messages/es-AR
。在此目录中创建文件app.php
并添加翻译
return [
'Friend' => 'Amigo',
'Girl' => 'Сhica',
...
];
答案 1 :(得分:1)
尝试查看官方文档,这是最适合您的教程。 http://www.yiiframework.com/doc-2.0/guide-tutorial-i18n.html
另外,请看这个答案yii2 basic multiple language
您可以通过更改主配置文件的'language'
参数来更改默认语言。像这样:
返回
[
// set target language to be English
'language' => 'en-US',
]
而不是'en-US'
,您必须设置所需的区域设置代码,例如'es-AR'