Подтвердить что ты не робот

Лучший/рекомендуемый способ перевода значений базы данных Django

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

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

Это лучшие варианты, или есть что-то еще, что мне не хватает? Спасибо.

4b9b3361

Ответ 1

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

Ответ 2

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

Пример:

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

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

$ manage.py makemessages

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

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

Ответ 3

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

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