/ / Django - Переклад даних з кирилиці на латинську - python, django, перетворення рядків, транслітерація

Джанго - Переклад даних з кирилиці на латиницю - python, django, string-conversion, transliteration

Я намагаюся створити додаток, який би зберігав деякідані сербською мовою (написані кирилицею та латинським письмом), і залежно від вибору користувачів, вони зможуть відображати їх у вибраному сценарії. Перетворення з кирилиці на латинську досить прямо, тому що кожен символ кирилиці має свій аналог (або два з них) латиницею ("Б" -> "В", "Ш" -> "Š", "Љ" -> " LJ "...), але навпаки може стати трохи складніше (" LJ "->" Љ "або" LJ "->" ЛЈ ", немає способу сказати програмі, як прийняти рішення, навіть хоча більшість часу "LJ" -> "Љ" був би правильним вибором). У будь-якому випадку, я збираюся вводити кирилицю, але мені потрібні як латинський, так і кириличний вихід. Отже, моє запитання: Який був би найефективніший спосіб досягти цього? Чи слід робити перетворення рядків в forms.py і зберігати дані в різних таблицях (це не означає "t"звучить ефективно) чи краще зробити перетворення у видах? Якийсь варіант шаблонів JavaScript у шаблонах був би іншим, але я вважаю, що це не дуже гарна ідея. Я досить новачка в Django, тому, будь ласка, пробач, якщо я прошу дурниць.

Відповіді:

1 для відповіді № 1

Я вважаю, що найпростіше обробляти сербською кирилицею (офіційною) та сербською латиною як двома різними "мовами". інтернаціоналізація та локалізація машини.

назва мови: sr і sr_Latn.

UPDATE

Вище піклується про рядки в моделях, видах, формах і шаблонах. Але вам потрібно перекласти значення бази даних.

Якщо ви можете автоматизувати переклад (без винятку чи невеликих винятків), ви можете використовувати користувальницький фільтр шаблонів. Але якщо ви хочете, щоб ваші редактори мали змогувиправте не передбачені винятки, ніж вам потрібно створити поля бази даних для зберігання перекладу. Як і в будь-якому мовному проекті. Для цього існує багато модельних структур і додатків. Все залежить від потреб вашого проекту.