WMix
Сегодня, когда есть AJAX всегда можно выкрутится и вывести, что угодно.
Если нам нужно добавить к сайту другой язык (локализацию), то превода требуют две категории
1. "инетрефейс": наши кнопки, заголовки, меню, бредкрумб, и т.д
2. "конетент" - контент нашего сайта.
В админке например, удобней интерфейс на твоем родном языке, а контент уже делаешь тот что нужно.
Ну и в фронтэнде, сайт может быть на одном языке и выводить контент на другом.
Т.е. язык контента и интерфеqса не обязаны совпадать.
Отсюда и реализация, напримере vamshop, что я приводил это
1. Интерфейсная чаcть наших "view" это констстанты (define в ооп php можно применять const, можно массивы в стиле gettext или класс Translator- который по сути стратегия того как устроен первод(массивы, csv, mysql, gettext, ...).
2. А локализация контента который находится в бд, сделана так
products(product_id, [общие поля не требующие перевода])
products_description(product_id, lang_id, [общие поля требующие перевода]);
Если зафиксировать язык, то можно считать что products и products_description связаны 1:1.