@Mister8891

Как сделать мультиязычность для базы данных?

Недавно начал использовать Yii2, появилось задача сделать сайт мультиязчным. Уже третий день бьюсь над этой проблемой и не могу ее решить. Как выводить из базы данных контент на нужном языке?
  • Вопрос задан
  • 1403 просмотра
Решения вопроса 1
@Mister8891 Автор вопроса
Я просто не понимаю самого принципа. Вот создал я базу данных с полями id title_ru title_en text_ru text_en. Так? И как сделать между ними переключение?
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@LAV45
Комментировать
nazarpc
@nazarpc
Open Source enthusiast
Добавьте колонку с языком в таблице, при выборке фильтруйте по колонке.
Либо хранить запись в одной таблице, а тексты в другой с колонкой, в которой указан язык. То есть будет одна сущность, но несколько языковых версий.
Если вдруг будет интересно - в CleverStyle CMS это из коробки и очень легко использовать.
Ответ написан
Комментировать
я использую json + внутренние функции beforeSave / afterFind
а для маппинга https://github.com/codemix/yii2-localeurls
Ответ написан
Комментировать
wladyspb
@wladyspb
Программист
У нас реализована двойная система. везде где нужно вставить текст, вызывается функция, которая определяет текущий язык, и по переданному ключу ищет текст. Все короткие фразы подтягиваются из отдельного файлика(по файлу на каждый язык) где хранятся пары ключ\значение. Все длинные фразы(тексты) берутся уже из бд, где так же хранятся пары ключ\значение + параметр lang.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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