Приложение Rails и многоязычный контент, модель дилеммы - PullRequest
2 голосов
/ 22 апреля 2010

Я пишу в Rails сайт, который будет многоязычным, для части перевода приложений я буду использовать простой гем I18n, для сообщений и всего, что с этим связано.

Тем не менее, весь контент должен быть переведен, и мы говорим о большом количестве страниц, которые будут сохранены в базе данных (например, статьи, новости и т. Д.)

Пока я думаю о двух подходах:

1. Допустим, у меня есть таблица страниц, содержимое в diff. языки, я буду хранить его в другой таблице с именем PagesContent, которая будет принадлежать Pages, а также в таблицу языков.

Проблема здесь в том, что я по сути дублирую «нет». столы нужны. Плюсы: гибкость, в коробке проверки

2. Чтобы пропустить это дублирование, я могу сериализовать хэш в столбец содержимого страниц, содержащий перевод.

Проблема здесь в проверке, возможно большем количестве кода для написания и меньшей гибкости при добавлении нового языка. Плюсы: меньше таблиц.

Есть еще идеи?

1 Ответ

3 голосов
/ 22 апреля 2010

Как насчет использования globalize ?Это драгоценный камень, созданный, чтобы сделать все это проще.

...