Как организовать перевод контента в YII2?

Имеем два варианта:
1) Хранить `content_ru`,`content_en`, в моделе получать Yii::$app->language и как-то получать
get->'content_'.Yii::$app->language (Кстати, это возможно сделать?)
2) Хранить `id`, и хранить отдельно таблицу `id`,`ru`,`en`, ну это как-то как в Yii:t только с базой

Что все-таки выбрать. SEO не важно
  • Вопрос задан
  • 3698 просмотров
Решения вопроса 2
HelsinG
@HelsinG
Web dev
habrahabr.ru/post/226931 Сегодняшняя статья
Ответ написан
sanchezzzhak
@sanchezzzhak
Ля ля ля...
Мулти язычные записи делаются 2мя таблицами.

Пример
1 таблица posts содержит только дату и URL и прочии данные которые не влияют на первод
2 таблица post_i18n содержит переводы ID, post_id, title, content, locale

Для перевода фраз есть нативные словари в файлах.
Можно и в БД сделать но это бред.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
miraage
@miraage
dev 10+ years experience
Встречный вопрос. Почему бы не использовать нативный gettext?
Ответ написан
@Alexz29
В модель добавить
/**
* format return fields
*
* return array
*/
public function fields()
{
return [
'news_id',
'news_title'=>function () {
return Yii::t('app', $this->news_tilte'),
},
...
];
}

Это в теории
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы