Хранить перевод в базе данных? - PullRequest
0 голосов
/ 15 декабря 2011

У меня есть несколько категорий для продукта.

Поскольку эти категории могут изменяться или расти, я думаю, что я буду хранить их в базе данных, чтобы управлять ими через интерфейс администратора.

Однако эти категории должны быть переведены на другой язык. (ru / fr / может быть другой ...)

Таким образом, я хотел бы узнать вашу мысль об этом:

  • Лучше ли устанавливать эти категории в модели категорий (в массиве) и переводить их через файл yml
  • Нужно ли было настраивать базу данных по категориям со столбцами локалей, например, так:

    id (id категории) | en (английский перевод) | fr (французский перевод) | и т.д ...

  • Или есть ли лучший способ сделать это?

1 Ответ

0 голосов
/ 15 декабря 2011

См. http://guides.rubyonrails.org/i18n.html

Я предлагаю, если вы переводите контент, который принадлежит модели (например, имена атрибутов), и вы будете контролировать, если / когда они изменятся, используйте файл YAML для каждой локали.

Для динамического контента используйте базу данных.

Как показано в разделе 6.1 «Различные бэкэнды» на http://guides.rubyonrails.org/i18n.html#using-different-backends, вы можете смешивать обе стратегии: ищите перевод в базе данных и, если он не найден, возвращайтесь к файлам YAML.

...