yii2框架消息语言

p1tboqfb  于 2022-11-09  发布在  其他
关注(0)|答案(3)|浏览(161)

如你所知,Yii 2的核心消息有26种语言。我想改变Yii的核心消息语言,以我的语言显示验证消息。
我在配置文件中添加了以下行:

'language' => 'fa_IR',

并且还添加了以下行:

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

但核心消息显示为英语。我只想使用Yii 2提供的框架消息。例如在以下路径中vendor/yiisoft/yii 2/messages/fa_IR/yii.php
什么是这项工作的最佳解决方案。

mkshixfv

mkshixfv1#

哦,这是我的错误。语言代码是fa-IR,但我把它设置为fa_IR。我认为所有的语言代码都是用_ like**'sourceLanguage' =〉'en_US',**分隔的,但它是不同的。对不起。

62lalag4

62lalag42#

这个代码对我有用。
确保在视图文件中使用translate方法,例如:

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

kadbb4593#

'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'
        ],
    ],
],

相关问题