Страница 3 из 3
Re: Yii2-i18n-module (Перевод интерфейса)
Добавлено: 2017.04.17, 18:35
zelenin
Sergalas писал(а): ↑2017.04.17, 18:33
эти "Zelenin\yii\modules\I18n\models\Message" эти использовать ?
для чего? crud уже есть в модуле - подключите по инструкции в readme и используйте из админки.
Re: Yii2-i18n-module (Перевод интерфейса)
Добавлено: 2017.04.26, 11:47
Sergalas
Я тут заметил портак нет думайте сам. Если language', 'sourceLanguage' совпадают то перевод не работает.
Re: Yii2-i18n-module (Перевод интерфейса)
Добавлено: 2017.04.26, 11:52
zelenin
Sergalas писал(а): ↑2017.04.26, 11:47
Я тут заметил портак нет думайте сам. Если language', 'sourceLanguage' совпадают то перевод не работает.
так зачем переводит с английского на английский?
Переводит стандартный функционал yii - данный модуль только делает возможность удобнее добавлять переводы.
Re: Yii2-i18n-module (Перевод интерфейса)
Добавлено: 2017.04.26, 18:21
ElisDN
Sergalas писал(а): ↑2017.04.26, 11:47
Если language', 'sourceLanguage' совпадают то перевод не работает.
Для этого есть переключеталь forceTranslation у MessageSource.
Re: Yii2-i18n-module (Перевод интерфейса)
Добавлено: 2017.04.28, 16:55
Sergalas
ElisDN писал(а): ↑2017.04.26, 18:21
Sergalas писал(а): ↑2017.04.26, 11:47
Если language', 'sourceLanguage' совпадают то перевод не работает.
Для этого есть переключеталь forceTranslation у MessageSource.
У этого расширения ?
Re: Yii2-i18n-module (Перевод интерфейса)
Добавлено: 2017.04.28, 17:07
zelenin
Sergalas писал(а): ↑2017.04.28, 16:55
ElisDN писал(а): ↑2017.04.26, 18:21
Sergalas писал(а): ↑2017.04.26, 11:47
Если language', 'sourceLanguage' совпадают то перевод не работает.
Для этого есть переключеталь forceTranslation у MessageSource.
У этого расширения ?
у MessageSource
Re: Yii2-i18n-module (Перевод интерфейса)
Добавлено: 2017.08.10, 14:26
misha boo
шаблон advansed , стоит модуль от zelenin, при установке forceTranslation в true.
Код: Выделить всё
'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']
],
]
],
но при переводах - английський всьоравно - не переводиться, добавил в ./vendor/yiisoft/yii2/i18n/MessageSource.php в сабу "translate"
Код: Выделить всё
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 (Перевод интерфейса)
Добавлено: 2017.08.10, 16:21
misha boo
а если так
Код: Выделить всё
'i18n' => [
'translations' => [
'app*' => [
'class' => 'yii\i18n\DbMessageSource',
'forceTranslation' => true,
'sourceLanguage' => 'en-US',
],
],
],
то виводит 1
Re: Yii2-i18n-module (Перевод интерфейса)
Добавлено: 2017.08.10, 16:33
misha boo
разобрался, спасиба @zelenin проблема била в том что '*' != 'app*' - теперь работает
Re: Yii2-i18n-module (Перевод интерфейса)
Добавлено: 2018.09.28, 11:48
Sergalas
Заметил ошибку с миграцией у вас не удалятся внешний ключ т.е. с 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);