для чего? crud уже есть в модуле - подключите по инструкции в readme и используйте из админки.
Yii2-i18n-module (Перевод интерфейса)
Re: Yii2-i18n-module (Перевод интерфейса)
Я тут заметил портак нет думайте сам. Если language', 'sourceLanguage' совпадают то перевод не работает.
Re: Yii2-i18n-module (Перевод интерфейса)
шаблон advansed , стоит модуль от zelenin, при установке forceTranslation в true.
но при переводах - английський всьоравно - не переводиться, добавил в ./vendor/yiisoft/yii2/i18n/MessageSource.php в сабу "translate"
при виборе на сайте англиського язика - виводит нули (((
Код: Выделить всё
'i18n' => [
'class' => Zelenin\yii\modules\I18n\components\I18N::className(),
'languages' => ['en','ru','fr','de'],
'translations' => [
'forceTranslation' => 'true',
'*' => [
'class' => yii\i18n\DbMessageSource::className(),
'forceTranslation' => 'true',
'on missingTranslation' => [Zelenin\yii\modules\I18n\Module::className(), 'missingTranslation']
],
]
],
Код: Выделить всё
public function translate($category, $message, $language)
{
echo $this->forceTranslation ? 1 : 0 ;
if ($this->forceTranslation || $language !== $this->sourceLanguage) {
return $this->translateMessage($category, $message, $language);
} else {
return false;
}
}
Re: Yii2-i18n-module (Перевод интерфейса)
а если так
то виводит 1
Код: Выделить всё
'i18n' => [
'translations' => [
'app*' => [
'class' => 'yii\i18n\DbMessageSource',
'forceTranslation' => true,
'sourceLanguage' => 'en-US',
],
],
],
Re: Yii2-i18n-module (Перевод интерфейса)
разобрался, спасиба @zelenin проблема била в том что '*' != 'app*' - теперь работает
Re: Yii2-i18n-module (Перевод интерфейса)
Заметил ошибку с миграцией у вас не удалятся внешний ключ т.е. с 37 строки стоит заменить код на
добавив
Код: Выделить всё
public function safeDown()
{
$i18n = Yii::$app->getI18n();
if (!isset($i18n->sourceMessageTable) || !isset($i18n->messageTable)) {
throw new InvalidConfigException('You should configure i18n component');
}
$this->dropForeignKey('fk_source_message_message', $i18n->messageTable);
$this->dropTable($i18n->sourceMessageTable);
$this->dropTable($i18n->messageTable);
return true;
}
Код: Выделить всё
$this->dropForeignKey('fk_source_message_message', $i18n->messageTable);