Django翻译:评估字符串是否为任何可用语言的翻译

时间:2019-05-02 11:46:04

标签: django internationalization

我找不到一种方法来识别给定字符串(例如“ xxxxxxxxxx”)是否是任何可用语言(将我的应用程序翻译成的语言)的定义字符串(例如“ hello world”)的译文。 。我输入了一个字符串,并想确定它是否是我可用​​的任何语言(然后是PO文件)中“ hello world”的翻译。有什么想法吗?

上下文编辑:该应用程序以前以固定XLS格式导出数据库,以供将来导入。导入期间,将进行格式检查,如果格式错误,则会引发错误消息。格式化检查首先读取选项卡名称。如果很好->则读取XLS,否则,将引发错误。在第一次检查中,我想区分(i)格式化中的实际错误和(ii)导入先前以其他语言导出的XLS用户(但我不知道是哪一个)。因此,我具有选项卡名称,并且只想检查该选项卡名称是否只是默认选项卡名称的翻译:这将使我抛出另一条错误消息,建议更改为导入的正确语言。

1 个答案:

答案 0 :(得分:1)

我认为使用django无法实现您想做的事情。 (为什么要这样做呢?)

那里有一个名为polib的库。它可以很好地处理.po.mo文件。您可以阅读其文档here

您可以使用

来创建一个pofile对象
import polib

po = polib.pofile('<FILE_PATH>')

然后像这样迭代它

for entry in po:
    msgid, msgstr = po.msgid, po.msgstr
    # you can do your comparison here