【问题标题】:Yii2 framework: How to change English default language to SpanishYii2 框架:如何将英语默认语言更改为西班牙语
【发布时间】:2017-08-08 14:25:39
【问题描述】:

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

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

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

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

我还使用了很棒的 Gii 代码生成器,我可以在其中看到一个名为 Enable I18N 的复选框。

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

  • 供应商/yiisoft/yii2/base/Application.php
  • 供应商/yiisoft/yii2/i18n/I18N.php
  • common/config/main-local.php

【问题讨论】:

    标签: php yii2 internationalization yii2-advanced-app


    【解决方案1】:

    在应用程序配置中添加language 属性和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',
        ...
    ];
    

    【讨论】:

    • 你的意思是yii.php文件吗?它存在于 /vendor/yiisoft/yii2/messages/es 中。我应该在哪里写 es-AR 以便 Yii2 可以翻译成西班牙语?
    • 'language' => 'es-AR' in common/config/main.php
    【解决方案2】:

    尝试查看官方文档,这是最适合您的教程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'

    【讨论】:

      猜你喜欢
      • 2020-12-28
      • 2020-10-03
      • 2011-10-13
      • 2021-07-24
      • 2020-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-23
      相关资源
      最近更新 更多