我是i18n主題的新手,我嘗試設置國際化的web應用程序。 通讀不同的文檔和例子,它看起來像,都提供了可能性的作品幾乎相同,這意味着:Yii2 i18n翻譯和冗餘源語言文本
在視圖方面我在源語言的文本:
echo Yii:t('contact','This is a log text about contact informations.');
在平移文件(與CPhpMessageSource或GNU的gettext格式)或轉換表,我必須再次重複這個源文本作爲錨,就像在我的-DE立案CPhpMessageSource:
return array(
'This is a log text about contact informations.'
=> 'Des is a langa Text üba Kontakt Infoamadiona.',
);
這意味着,我必須保持源文本冗餘(視圖和非常單一的翻譯文件),這不是維護內容的最佳選擇。
引起我可以設置一個ID /錨代替源文本的,如:
echo Yii:t('contact','ContactInfo');
返回陣列( '的ContactInfo' =>「DES是一種蘭加文本UBA KONTAKT Infoamadiona。 ' );
但在這種情況下,我不能注入動態元素/變量到文本中。
我的問題:
- 請問這樣的ID /錨的概念(情況2)與Yii2 sourceLanguage機制是否有效?
- 那麼,我是否瞭解i18n Yii-Application設計的概念?
- 是否可以做這樣的事情
(sourceLanguage和TARGETLANGUAGE只有一次)
return array(
'ContactInfo' => array(
'en-US' => 'This is a log text about contact informations.',
'by-DE' => 'Des is a langa Text üba Kontakt Infoamadiona.'
)
);
請參閱我的答案http://stackoverflow.com/questions/32831288/yii2-translation-does-not-work/32835641#32835641 – vishuB