Ich bin ein bisschen kämpfen, was gerade los ist. Ich möchte eine Website mit mehrsprachiger Funktionalität einrichten. Dazu habe ich in den Guides das Thema Internationalisierung gelesen. Ich möchte nicht die Text-/Dateiversion verwenden, sondern stattdessen die DB.Internationalisierung in Yii2 (Database)
Ich fand heraus, dass es so etwas wie die DbMessageSource gibt. Ich bewarb mich um die Migration und die folgenden Tabellen in meiner DB:
message
message_source
In meiner config-Datei, ich addes diese Zeilen:
'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'
],
],
],
],
Meiner Ansicht nach, nenne ich die Übersetzung -function wie folgt aus:
echo yii::t('header_menu', 'news');
Es ist eigentlich „Nachrichten“ angezeigt wird, aber unabhängig von der language
Ich habe gesetzt, nichts ist in der DB gespeichert. Fehle ich etwas? Ich dachte, jeder String, der in einer Übersetzungsfunktion ist, würde in der DB gespeichert werden?
Vielen Dank im Voraus