正如您在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
这项工作的最佳解决方案是什么。
答案 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'
],
],
],