Yii2-i18n-module (Перевод интерфейса)

Выкладываем свои наработки
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Yii2-i18n-module (Перевод интерфейса)

Сообщение zelenin »

Sergalas писал(а): 2017.04.17, 18:33 эти "Zelenin\yii\modules\I18n\models\Message" эти использовать ?
для чего? crud уже есть в модуле - подключите по инструкции в readme и используйте из админки.
Аватара пользователя
Sergalas
Сообщения: 626
Зарегистрирован: 2015.10.15, 12:39

Re: Yii2-i18n-module (Перевод интерфейса)

Сообщение Sergalas »

Я тут заметил портак нет думайте сам. Если language', 'sourceLanguage' совпадают то перевод не работает.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Yii2-i18n-module (Перевод интерфейса)

Сообщение zelenin »

Sergalas писал(а): 2017.04.26, 11:47 Я тут заметил портак нет думайте сам. Если language', 'sourceLanguage' совпадают то перевод не работает.
так зачем переводит с английского на английский?
Переводит стандартный функционал yii - данный модуль только делает возможность удобнее добавлять переводы.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Yii2-i18n-module (Перевод интерфейса)

Сообщение ElisDN »

Sergalas писал(а): 2017.04.26, 11:47 Если language', 'sourceLanguage' совпадают то перевод не работает.
Для этого есть переключеталь forceTranslation у MessageSource.
Аватара пользователя
Sergalas
Сообщения: 626
Зарегистрирован: 2015.10.15, 12:39

Re: Yii2-i18n-module (Перевод интерфейса)

Сообщение Sergalas »

ElisDN писал(а): 2017.04.26, 18:21
Sergalas писал(а): 2017.04.26, 11:47 Если language', 'sourceLanguage' совпадают то перевод не работает.
Для этого есть переключеталь forceTranslation у MessageSource.
У этого расширения ?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Yii2-i18n-module (Перевод интерфейса)

Сообщение zelenin »

Sergalas писал(а): 2017.04.28, 16:55
ElisDN писал(а): 2017.04.26, 18:21
Sergalas писал(а): 2017.04.26, 11:47 Если language', 'sourceLanguage' совпадают то перевод не работает.
Для этого есть переключеталь forceTranslation у MessageSource.
У этого расширения ?
у MessageSource
misha boo
Сообщения: 4
Зарегистрирован: 2017.08.08, 16:27

Re: Yii2-i18n-module (Перевод интерфейса)

Сообщение 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;
        }
    }
при виборе на сайте англиського язика - виводит нули (((
misha boo
Сообщения: 4
Зарегистрирован: 2017.08.08, 16:27

Re: Yii2-i18n-module (Перевод интерфейса)

Сообщение misha boo »

а если так

Код: Выделить всё

'i18n' => [
            'translations' => [
                'app*' => [
                    'class' => 'yii\i18n\DbMessageSource',
                    'forceTranslation' => true,
                    'sourceLanguage' => 'en-US',
                ],
            ],
        ],
то виводит 1
misha boo
Сообщения: 4
Зарегистрирован: 2017.08.08, 16:27

Re: Yii2-i18n-module (Перевод интерфейса)

Сообщение misha boo »

разобрался, спасиба @zelenin проблема била в том что '*' != 'app*' - теперь работает
Аватара пользователя
Sergalas
Сообщения: 626
Зарегистрирован: 2015.10.15, 12:39

Re: Yii2-i18n-module (Перевод интерфейса)

Сообщение 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);
Ответить