Мой мозг, размягченный NoSQL, совсем отказывается проектировать нормальную реляционную БД.
Задача такова:
Есть сущности: карточки, теги, категории. Возможно, позже появится что-то еще;
У каждой сущности есть связи, которые не зависят от языка;
У каждой сущности есть текстовые поля, которые надо переводить (количество языков не велико, в начале проекта будет 2, позже добавится еще 2-3).
Нужно спроектировать базу так, что бы минимизировать время работы запросов на получение отдельной карточки и списка карточек с переводом текстовых полей на нужный язык.
Стек технологий проекта: PostgreSQL, SQLAlchemy, Flask
UPDATE
gettext не подойдет, так как требуется перевод для описаний и т.п. с возможностью редактирования в админке.
Ответ
Набор языков фиксированный? Если да, добавляйте локализованные поля к полям, которым нужен перевод, постфиксы *_ru, *_en и т.д.
Если нет - создайте что нибудь типа translation: id, key, value - и используйте ссылки на них, вместо прямых значений полей.
Комментариев нет:
Отправить комментарий