Django方式,用于一种语言的多种翻译或参数化翻译

时间:2015-04-24 11:41:28

标签: python django internationalization translation

我有django应用程序,它是用于多个电视设备的javascript应用程序的后端。每个设备都有不同的前端,但我不认为创建多个.po文件对于这个目标是个好主意,因为大多数翻译对于这些设备都是重复的。

是否可以为翻译添加其他参数,例如在我的情况下,某些函数带参数" device"会非常有用吗?如果没有,怎么做Django方式?

3 个答案:

答案 0 :(得分:1)

您可能会使用上下文标记:https://docs.djangoproject.com/en/1.8/topics/i18n/translation/#contextual-markers和pgettext(),但您可能必须手动将它们添加到生成的.pot文件中,因为如果参数化,标准数据提取将不会选择可用选项

答案 1 :(得分:0)

我假设您正在使用Django创建API,并使用javascript来使用API​​。您可以从标头中检查用户代理字符串,并根据请求进行适当的重定向。

答案 2 :(得分:0)

所以你需要翻译所有版本。至少所有的钥匙。如果你想将不同的键映射到相同的值,你可以做某事。像这样。

#: core/models.py:160
msgid "previous"
msgstr "Previous"

#: core/models.py:161 core/models.py:169
msgid "Back"
msgstr "Previous"