Yii2框架:如何将英语默认语言更改为西班牙语

时间:2017-08-08 14:25:40

标签: php yii2 internationalization yii2-advanced-app

我正在使用Yii2框架,我正在翻译所有按钮,标签,消息等文本。

然后我读了这篇文章http://www.yiiframework.com/doc-2.0/guide-tutorial-i18n.html,它展示了如何自动完成,但我不明白。

我想从阿根廷翻译成西班牙语: es-AR 或者至少翻译成西班牙语。

所以我认为我需要从 en-US 更改为 es-AR ,但我想知道应该更改哪些文件。

此外,我正在使用优秀的Gii代码生成器,我可以看到一个名为启用I18N 的复选框。

我看了这些文件,但我不确定我是否正在查找正确的文件:

  • 供应商/ yiisoft / yii2 /碱/ Application.php
  • 供应商/ yiisoft / yii2 / I18N / I18N.php
  • 公共/配置/主local.php

2 个答案:

答案 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'