Python Django-从西里尔语到拉丁语的数据翻译

Python Django-从西里尔语到拉丁语的数据翻译,python,django,string-conversion,transliteration,Python,Django,String Conversion,Transliteration,我正在尝试创建一个应用程序,该应用程序将以塞尔维亚语(用西里尔语和拉丁语书写)存储一些数据,并且根据用户的选择,它将能够以所选的脚本显示数据。从西里尔文到拉丁语的转换非常简单,因为每个西里尔文字符都有其类似的拉丁语字符(或两个类似的拉丁语字符)(“Б”->“B”,“Љ”->“Š”,“Љ”->“LJ”…),但另一种方式可能会有点复杂(‘LJ’->‘Љ’或‘LJ’->‘Л俎’,无法告诉程序如何决定,即使大多数情况下‘LJ’->‘Љ’是正确的选择).无论如何,我要用西里尔字母输入,但我需要拉丁语和西里

我正在尝试创建一个应用程序,该应用程序将以塞尔维亚语(用西里尔语和拉丁语书写)存储一些数据,并且根据用户的选择,它将能够以所选的脚本显示数据。从西里尔文到拉丁语的转换非常简单,因为每个西里尔文字符都有其类似的拉丁语字符(或两个类似的拉丁语字符)(“Б”->“B”,“Љ”->“Š”,“Љ”->“LJ”…),但另一种方式可能会有点复杂(‘LJ’->‘Љ’或‘LJ’->‘Л俎’,无法告诉程序如何决定,即使大多数情况下‘LJ’->‘Љ’是正确的选择).无论如何,我要用西里尔字母输入,但我需要拉丁语和西里尔字母输出。所以,我的问题是:实现这一点最有效的方法是什么?我应该在forms.py中进行字符串转换,并将数据存储在不同的表中(听起来效率不高)还是在视图中进行转换更好?我想模板中的一些JavaScript可能是另一种选择,但我认为这不是一个好主意。我对Django很陌生,所以如果我问的是废话,请原谅。

我认为处理塞尔维亚西里尔语(官方)最容易塞尔维亚语和拉丁语是两种不同的“语言”。这样你就可以享受Django框架及其机制的所有好处

地区名称:
sr
sr\u Latn

更新

上面介绍了模型、视图、表单和模板中的字符串。但是您需要转换数据库值


如果你能自动翻译(没有或很少例外)您可以使用。但是,如果您希望编辑器能够纠正未预见的异常,则必须创建数据库字段来存储翻译。就像在任何多语言项目中一样。有许多模型结构和应用程序可以执行此操作。这一切都取决于您的项目需要。

可能不容易,因为它涉及维护支持两种不同的“翻译”,但肯定比即时音译更易于管理。一个是翻译,另一个是原文。但工作不在翻译中,因为这在所有情况下都可以自动化。工作是指定需要翻译的字符串。对于来自db的文本,如果没有翻译异常,模板过滤器将是一个选项。自定义模板过滤器和添加单独的URL和视图就成功了。正如我所说的,因为从西里尔语转换为拉丁语时没有例外(尽管不是相反),这就是我所要做的。当然,电子邮件、链接和外国短语将在db中保留拉丁语,并且所有内容都在两种脚本中完美呈现。没想到这会如此简单,感谢您的大力帮助!