2017-02-13 78 views
0

我試圖翻譯位於common/php/的常量文件,我用它來顯示錯誤消息。Yii2是否可以在通用目錄中使用翻譯?

的常量的定義是這樣的:

define("CONSTANT_NAME", Yii::t('common/error', 'Error message')); 

普通/配置/ main.php我有以下幾點:

'i18n' => [ 
     'translations' => [ 
      'backend*' => [ 
       'class' => 'yii\i18n\PhpMessageSource', 
       'basePath' => '@backend/messages', 
       'sourceLanguage' => 'it-IT', 
       'fileMap' => [ 
        'backend' => 'app.php', 
       ], 
      ], 
      'common*' => [ 
       'class' => 'yii\i18n\PhpMessageSource', 
       'basePath' => '@common/messages', 
       'sourceLanguage' => 'it-IT', 
       'fileMap' => [ 
        'common' => 'app.php', 
        'common/error' => 'error.php', 
       ], 
      ], 
      'frontend*' => [ 
       'class' => 'yii\i18n\PhpMessageSource', 
       'basePath' => '@frontend/messages', 
       'sourceLanguage' => 'it-IT', 
       'fileMap' => [ 
        'frontend' => 'app.php', 
       ], 
      ], 
     ], 
    ], 

它的工作對後端和前端,但它不工作對於常見的常量文件。我想做一些不可能的事情嗎?

+0

https://thecodeninja.net/2014/12/i18n-with-yii-2-advanced-template/ – bxN5

+0

謝謝@Roman,但我已經讀過了。無論如何,我的配置是相同的。問題是我不確定是否可以在普通目錄中轉換字符串。 當然,我有一個通用的消息文件夾,我可以從前端和後端訪問這兩個文件夾,但是當我嘗試使用** Yii :: t('common/error','Error message')**目錄中,消息總是以源語言顯示。 – Jonny

+0

我不確定,但也許這是不可能的,我的意思是這個想法是從常見到後端或前端的進口翻譯,並在那裏使用它 – bxN5

回答

0

如果你想翻譯從它-IT爲en-US然後添加到您的普通/配置/ main.php

'sourceLanguage'=>'it-IT', 
'language'=>'en-US', 
相關問題