Я только начал использовать Yii 2 и уже столкнулся с некоторыми проблемами, с которыми не могу разобраться сам.
Я настроил переводчик, чтобы использовать мою БД вместо таких файлов (и две таблицы message
и source_message
):
'i18n' => [
'translations' => [
'app*' => [
'class' => 'yii\i18n\DbMessageSource',
//'basePath' => '@app/messages',
//'sourceLanguage' => 'en',
],
],
],
Я даже установил параметр транслятора на true
:
public $forceTranslation = true;
Теперь я создаю текст для перевода следующим образом:
<?=Yii::t('app', 'Congratulations!');?>
Когда я проверяю отладочную информацию, я вижу, что был только один запрос:
SELECT
"t1"."message" AS "message",
"t2"."translation" AS "translation"
FROM
"source_message" "t1",
"message" "t2"
WHERE
t1.id = t2.id AND
t1.category = 'app' AND
t2.language = 'en'
Это ничего не возвращает, так как нет переводов. Теперь, что я не могу понять, как заставить систему автоматически создавать новый перевод для отсутствующих переводов.
Эта функция уже встроена или мне нужно создать ее самостоятельно? Потому что я ничего не нашел в Интернете.
А если нет, как правильно это сделать?