/ / Django - tłumaczenie danych z cyrylicy na łacinę - python, django, konwersja łańcuchów, transliteracja

Django - tłumaczenie danych z cyrylicy na łacinę - python, django, konwersja łańcuchów, transliteracja

Próbuję stworzyć aplikację, która może przechowywać niektóredane w języku serbskim (napisane zarówno cyrylicą, jak i alfabetem łacińskim), a w zależności od wyboru użytkownika mogą być wyświetlane w wybranym skrypcie. Konwersja z cyrylicy na łacinę jest dość prosta, ponieważ każda cyrylica ma swój odpowiednik (lub dwa) po łacinie ("Á" -> "B", "Ш" -> "" "," Љ "->" LJ "...), ale na odwrót może się nieco skomplikować (" LJ "->" Љ "lub" LJ "->" ЛЈ ", nie ma sposobu, aby powiedzieć programowi, jak zdecydować, nawet chociaż przez większość czasu "LJ" -> "Љ" byłby prawidłowym wyborem). W każdym razie, zamierzam wprowadzić cyrylicę, ale potrzebuję zarówno wyjścia łacińskiego, jak i cyrylicy. Moje pytanie brzmi: Jaki byłby najskuteczniejszy sposób, aby to osiągnąć? Czy powinienem wykonać konwersję ciągów w forms.py i przechowuj dane w różnych tabelach (to nie znaczy "t"brzmi efektywnie) lub czy lepiej jest dokonać konwersji w widokach? Niektóre JavaScript w szablonach to chyba inna opcja, ale uważam, że to nie jest bardzo dobry pomysł. Jestem całkiem nowy dla Django, więc proszę wybacz, jeśli pytam o bzdury.

Odpowiedzi:

1 dla odpowiedzi № 1

Myślę, że najłatwiej jest posługiwać się serbską cyrylicą (oficjalną) i serbską łaciną jako dwoma różnymi "językami", niż uzyskać wszystkie zalety frameworka Django i jego internacjonalizacja i lokalizacja maszyneria.

nazwa locale: sr i sr_Latn.

AKTUALIZACJA

Powyższe zajmuje się ciągami w modelach, widokach, formularzach i szablonach. Ale musisz przetłumaczyć wartości bazy danych.

Jeśli możesz zautomatyzować tłumaczenie (bez wyjątków lub małych wyjątków), możesz użyć a niestandardowy filtr szablonów. Ale jeśli chcesz, żeby twoi redaktorzy byli w staniepoprawić nieprzewidziane wyjątki, niż trzeba utworzyć pola bazy danych, aby zapisać tłumaczenie. Tak jak w każdym projekcie wielojęzykowym. Istnieje wiele modeli i aplikacji, które mogą to zrobić. Wszystko zależy od Twoich potrzeb projektu.