yii2框架消息语言

时间:2014-07-18 05:22:55

标签: php yii yii-extensions yii-components yii2

正如您在Yii2中所知,核心信息有26种语言版本。我想更改yii核心消息语言以我的语言显示验证消息。

我将此行添加到配置文件中:

'language' => 'fa_IR',

并添加了这一行:

'i18n'=>[
            ...
                'yii'=>[
                    'class' => 'yii\i18n\PhpMessageSource',
                    'basePath' => "@vendor/yiisoft/yii2/messages",
                    'sourceLanguage' => 'en_US',
                    'fileMap' => [
                        'yii'=>'yii.php',
                    ]
                ]
            ]
        ],

但核心信息以英文显示。我只想使用Yii2提供的框架消息。例如,在此路径 vendor / yiisoft / yii2 / messages / fa_IR / yii.php

这项工作的最佳解决方案是什么。

3 个答案:

答案 0 :(得分:4)

哦,这是我的错。语言代码为 fa-IR ,但我将其设置为 fa_IR 。 我认为所有语言代码都与_分开,如'sourceLanguage'=> 'en_US',,但它有所不同。 对不起。

答案 1 :(得分:0)

此代码适用于我。

确保在视图文件中使用translate方法,例如:

Yii::t('yii','Update')

答案 2 :(得分:-2)

'i18n' => [
    'translations' => [
        'common' => [
            'class' => 'yii\i18n\PhpMessageSource',
            'basePath' => '@common/messages',
        ],
        'static' => [
            'class' => 'yii\mongodb\i18n\MongoDbMessageSource',
            'collection' => 'translation_static'
        ],
        'data' => [
            'class' => 'yii\mongodb\i18n\MongoDbMessageSource',
            'collection' => 'translation_data'
        ],
        'product' => [
            'class' => 'yii\mongodb\i18n\MongoDbMessageSource',
            'collection' => 'translation_product'
        ],
        'user' => [
            'class' => 'yii\mongodb\i18n\MongoDbMessageSource',
            'collection' => 'translation_user'
        ],
    ],
],