2014-09-10 5 views
0

Je suis installé Yii2 modèle avancé et configurer Yii :: t() avec PhpMessageSource, mais j'ai besoin de le configurer avec GettextMessageSource. Je suis ajouté au commun/config/main-local.php ce code:Comment configurer gettext avec Yii :: t() dans Yii2 avancé?

'i18n' => [ 
      'translations' => [ 
       'app*' => [ 
        'class' => 'yii\i18n\GettextMessageSource', 
        'basePath' => '@app/messages', 
        'sourceLanguage' => 'en-US', 
       ], 
      ], 
     ], 

Put à frontend/messages/ru-RU exemple de texte de fichier app.po:

msgid "TEST" 
msgstr "Текст" 

Ajouter en vue file:

Yii::t('app', 'TEST'); 

Mais cela ne fonctionne pas, où je dois stocker les fichiers .po ou ce que je fais mal?

Répondre

1
'basePath' => '@app/messages', 

changement 'basePath' => '@common/messages', ou 'basePath' => '@root/common/messages

et remplacez vos messages aux messages communs /.

1

J'ai également eu un problème avec GettextMessageSource. Vérifiez votre fichier po si elle a une ligne msgctxt Il devrait ressembler à ceci:

msgctxt "app" 
msgid "Settings" 
msgstr "Ustawienia" 
0

vous pouvez également passer un paramètre, il Yii de t()

Yii::t("app", "some text: {someVariable}",["someVariable"=>$whatEverYouWant])) 
Questions connexes