1
我正在使用Yii2來處理需要翻譯成各種語言的項目。我公司採用先進的模板,並建立了我的普通/ main.php像這樣獲取需要使用Yii2翻譯的所有文本的列表DbMessageSource
return [
'vendorPath' => dirname(dirname(__DIR__)) . '/vendor',
'language' => 'en',
'sourceLanguage' => 'en',
'components' => [
'i18n' => [
'translations' => [
'app' => [
'class' => 'yii\i18n\DbMessageSource',
'sourceLanguage' => 'en',
],
],
],
'cache' => [
'class' => 'yii\caching\FileCache',
],
],
'as beforeRequest' => [
'class' => 'common\components\CheckLanguage',
],
];
我已經加入所需的數據庫表source_message和消息。現在我需要翻譯的網站中的每個文本都使用Yii :: t($ category,$ message)函數。
我的問題是;我如何獲得需要翻譯成數據庫的網站中的所有文本列表?我是否必須手動掃描我的網站以獲取所有Yii :: t($ category,$ message)函數調用?
在此先感謝您的時間和輸入
我試過,但這樣做的問題是,由於我的翻譯是在數據庫中,它會掃描和輸出具有的Yii :: T的實例(一個文件... )函數,但不區分那些我已經編譯過的或我還沒有編譯過的編譯器......並且在文檔中沒有提及如何確認我使用DBMessageSource的場景的消息命令....有沒有其他辦法可以完成這項工作? – natral
如果使用'message/config-template'生成配置,則在底部有'db'的部分註釋(以'//'開頭'db'輸出格式用於將消息保存到數據庫.')。在配置中使用這個。 – Bizley