Yii::t() и autocomplete — как сделать?

Что-то я не соображу логику.
Есть таблица тегов, скажем, на английском "id, name,frequency"
И есть форма с автокомплитом, в которой я хочу, чтобы теги подставлялись на current language, скажем, ru
Мне как то Yii::t() использовать?
public static function suggest($keyword, $limit = 20)
    {
        $tags = self::find()
            ->where(['like', 'name', $keyword])
            ->orderBy('frequency DESC, name')
            ->limit($limit)
            ->all();

        $names = array();

        foreach ($tags as $tag) {
            $names[] = $tag->name;
        }

        return $names;
    }


Но где?
  • Вопрос задан
  • 2259 просмотров
Пригласить эксперта
Ответы на вопрос 2
AloneCoder
@AloneCoder
[object Object]
Вам проще поменять структуру на name_ru и name_en и уже искать в нужном столбце в зависимости от локали
Ответ написан
Yii::t в основном для перевода интерфейса. То есть нужны заранее переведенные фразы в php или db.
Можно в принципе и ваш кейс использовать. Проблема в том, что тэги заранее неизвестны. соответственно перевод тоже. Нужно вешать обработчик на событие непереведенной фразы.
Вам идеально бы подошел мой модуль https://github.com/zelenin/yii2-i18n-module
без допилки, он бы складировал любые фразы, в том числе и тэги в базу, вы бы их по мере поступления переводили.
Есть вопросы?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы