2017-02-13 79 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', 
相关问题