私はちょっと今、何が起こっているのですか? 多言語機能を持つサイトを設定したいと考えています。そのために、私はガイドの国際化に関するトピックを読んでいます。私はtext-/file-versionを使いたくないので、代わりにDBを使いたいと思っています。Yii2での国際化(データベース)
私は、DbMessageSourceのようなものがあることを知りました。私は、マイグレーションを適用し、私のDBに以下のテーブルを持っている:
message
message_source
私の設定ファイルでは、私はこれらの行addes:私の見解では
'components' => [
'cache' => [
'class' => 'yii\caching\FileCache',
],
'i18n' => [
'translations' => [
'*' => [
'class' => 'yii\i18n\DbMessageSource',
'forceTranslation' => true,
'sourceMessageTable' => '{{%source_message}}',
'messageTable' => '{{%message}}',
'enableCaching' => false,
'cachingDuration' => 3600,
'sourceLanguage' => 'en_US'
],
],
],
],
を、私は翻訳を呼び出します
echo yii::t('header_menu', 'news');
実際には「ニュース」が表示されますが、に関係なくDBに何も格納されていません。何か不足していますか?翻訳機能に含まれるすべての文字列はDBに格納されると思いましたか?
ありがとうございます。