Я пытаюсь предоставить перевод для оперы либретто (тексты). Прямо сейчас у меня есть следующая модель:
libretto_original - это исходный язык, на котором написана опера (немецкий). libretto_trans - это язык, на который он переведен с исходного языка (Engli sh).
Libretto(models.Model):
libretto_original = models.TextField(max_length=8000, null=True, blank=True)
libretto_orig_lang = models.CharField(max_length=100, null=True, blank=True)
libretto_trans_1 = models.TextField(max_length=8000, null=True, blank=True)
libretto_trans_1_lang = models.CharField(max_length=5, null=True, blank=True)
Я проверяю original_language на соответствие стандартному языку пользователя (например, Engli sh). Если это то же самое, я не буду показывать перевод либретто. Если он отличается от другого, я покажу оригинал и переведенное либретто рядом.
Я знаю, что Django имеет модули локализации. Но, читая документацию, кажется, что это для коротких фрагментов текста, а не для длинного отформатированного текста со специальными символами (например, ß, ü).
Мне было интересно, как лучше всего это реализовать? Несколько вещей для рассмотрения. 1) Может быть много других переводов оригинального либретто, которое я хочу сохранить. 2) Очень сложно пометить фрагменты текста (например, {% trans%}). У меня неправильные страницы текста, который я хочу перевести.