Module::t + message/extract

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
Faenir
Сообщения: 292
Зарегистрирован: 2010.01.06, 01:46
Откуда: Симферополь

Module::t + message/extract

Сообщение Faenir »

В модуле использую метод

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

public static function t($message, $params = [], $language = null)
{
    return \Yii::t('test_category', $message, $params, $language);
}
что бы не писать постоянно категорию в модуле, а писать просто

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

Module::t('message');
Все замечательно, но как я понял консольная команда `message/extract` жестко привязана к формату `($category, $message)`.

Есть ли готовое решение для такого случая, или нужно расширять/переписывать`message/extract`?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Module::t + message/extract

Сообщение samdark »

Сам вызов настраивается через "$translator" контроллера. А вот параметры — нет.
Аватара пользователя
Faenir
Сообщения: 292
Зарегистрирован: 2010.01.06, 01:46
Откуда: Симферополь

Re: Module::t + message/extract

Сообщение Faenir »

Метод `extractMessagesFromTokens` оказался еще и приватным.
Решение нашел для себя. Не самое изящное, но вполне рабочее :) Может кому пригодится.
Просто перед экстрактом заменить все `Module::t('` на `Module::t('CATEGORY_NAME`, '` (автозаменой в ide). Затем выполнить команду `yii message @PATH_TO_CONFIG_FILE` и опять же автозаменой(или просто через `undo replace`) вернуть обратно.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Module::t + message/extract

Сообщение samdark »

Метод extractMessagesFromTokens() можно и protected сделать...
Аватара пользователя
Faenir
Сообщения: 292
Зарегистрирован: 2010.01.06, 01:46
Откуда: Симферополь

Re: Module::t + message/extract

Сообщение Faenir »

Было бы замечательно. Создал пулл реквест.
Ответить