Лучший / рекомендуемый способ перевода значений из базы данных Django - PullRequest
23 голосов
/ 07 января 2010

Я пытаюсь найти лучший способ перевести фактические значения базы данных (текстовые строки, а не форматы даты или что-нибудь сложное) при интернационализации моего приложения Django. Наиболее логичные способы, которыми я мог придумать, были:

  • содержит базу данных столбец для каждого языка (например, description_en, description_de, description_fr, ...) или
  • имеет различную базу данных для каждого языка (например, schema_en, schema_fr, schema_de, ...).

Это лучшие варианты или я что-то упускаю? Спасибо.

Ответы [ 3 ]

19 голосов
/ 08 января 2010

Я читал о моих расширениях django и нашел плагин django-modeltranslation . Кажется, он делает именно то, что вы хотите. Если нет, оставьте комментарий, и я удалю этот ответ:)

4 голосов
/ 29 марта 2013

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

Пример:

import vinaigrette
vinaigrette.register(YourModel, ['name', 'description'])

стандартная команда

$ manage.py makemessages

будет поддерживать сообщения для каждого отдельного значения, найденного в зарегистрированных полях.

У меня еще не было возможности попробовать это.
Но мне кажется, что этоСамый простой способ перевода данных из БД.

2 голосов
/ 07 января 2010

Вы можете взглянуть на следующую ветку , которая, кажется, является тем же вопросом, который вы задаете здесь.

Я не против услышать решение, которое вы в конечном итоге будете использовать, потому что когда-нибудь в будущем у меня может возникнуть тот же вопрос:)

...