Я пишу в Rails сайт, который будет многоязычным, для части перевода приложений я буду использовать простой гем I18n, для сообщений и всего, что с этим связано.
Тем не менее, весь контент должен быть переведен, и мы говорим о большом количестве страниц, которые будут сохранены в базе данных (например, статьи, новости и т. Д.)
Пока я думаю о двух подходах:
1. Допустим, у меня есть таблица страниц, содержимое в diff. языки, я буду хранить его в другой таблице с именем PagesContent, которая будет принадлежать Pages, а также в таблицу языков.
Проблема здесь в том, что я по сути дублирую «нет». столы нужны.
Плюсы: гибкость, в коробке проверки
2. Чтобы пропустить это дублирование, я могу сериализовать хэш в столбец содержимого страниц, содержащий перевод.
Проблема здесь в проверке, возможно большем количестве кода для написания и меньшей гибкости при добавлении нового языка.
Плюсы: меньше таблиц.
Есть еще идеи?