На сайте может быть максимум 3 языка, на начальном этапе их будет всего 2, 3 язык не факт вообще что будет нужен. Для себя я выделил 2 решения этой задачи.
- В каждой таблице, где нужен перевод на несколько языков, добавить <наименование поля>_<язык>
Данный вариант мне не особо нравится, так как все-таки есть жесткая привязка в самих таблицах и она будет затруднять добавление нового языка, но с другой стороны больше языков и не будет. Это локальный сервис.
- Для каждой таблицы, где есть поля с переводами, делать дополнительную таблицу, например post_language, news_language и т.д.
Этот вариант мне нравится больше, но он заставляет делить практически все таблицы на 2. Допустим, у меня есть регионы и города, которые также должны быть переведенными. В итоге таблицы превращаются вот в такое
Каждый запрос по сути нужно будет писать такой, который делает выборку из языка по-умолчанию, если на выбранный язык этот текст не переведен.
Насколько целесообразно использовать 2-ой вариант, при статичном количестве языков?