#python #django #django-modeltranslation
Вопрос:
Я пишу многоязычное приложение для сдачи в аренду недвижимости. Я успешно перевел все статическое содержимое внутри своего приложения, но ввод, который дает пользователь, является динамическим и должен быть переведен им.
Пример:
Пользователю необходимо создать все различные типы аренды, доступные для клиента на выбор. Однако для каждого языка этот тип имеет другое название, поскольку его необходимо перевести. В идеале при создании типа аренды пользователь должен видеть несколько полей ввода для имени: по одному для каждого языка. Затем Django должен определить по языку клиента, какое имя показывать.
Я пробовал использовать django-modeltranslation, и это создало несколько дополнительных столбцов в моей базе данных, но я не могу найти способ для пользователя редактировать все эти столбцы из одного представления.
Это мое translation.py
# translation.py from modeltranslation.translator import register, TranslationOptions from .models import RentalType, Costs @register(RentalType) class RentalTypeTranslationOptions(TranslationOptions): fields = ('type', 'slug') @register(Costs) class CostTranslationOptions(TranslationOptions): fields = ('name',)
Которые были успешно перенесены в мою базу данных:
Migrations for 'main': mainmigrations014_auto_20211202_1559.py - Add field name_en to costs - Add field name_fr to costs - Add field name_nl to costs - Add field slug_en to rentaltype - Add field slug_fr to rentaltype - Add field slug_nl to rentaltype - Add field type_en to rentaltype - Add field type_fr to rentaltype - Add field type_nl to rentaltype
Есть ли способ предоставить пользователю одно представление, содержащее несколько полей ввода для разных языков? (например, поле: имя, три языка — есть три поля ввода)
Документация мне больше не помогла. Заранее спасибо.