用Djang翻译json文件

2024-04-26 20:20:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用我的json_文件在html中构建一些导航栏:

我的json_文件示例:

{
"_comment":"example auto build navbar",
    "TOP" :[
            {
                "name"      : "name1",
                "id"        : "MLO",
                "title"     : "Title than i want translate"         
            }]
}

在我的视图.py公司名称:

^{pr2}$

在我的模板中:

{% for menu in data.TOP %}
    <a href="#" id={{menu.id}} title="{{menu.title}}" class="navbar-brand"> {{menu.name}}</a>
{% endfor %}

如何使用gettext翻译“title”并将翻译发送到模板.html?有可能吗?在


Tags: 文件namebuild模板idjson示例auto
1条回答
网友
1楼 · 发布于 2024-04-26 20:20:11

从Python文件加载翻译字符串并使用正则的ugettext()进行翻译可能是一个更好的主意。在

但是,回答您的问题:Django模板系统非常通用,基本上可以用于任何类型的文本字符串。因此您也可以使用它来翻译JSON文件内容。然而,它相当“老套”,并不是真正推荐的。在

t = Template(open('/path/to/menu.json').read())
c = Context({})
translated_json = t.render(c)
py_obj = json.loads(translated_json)

它应该从模板呈现的JSON字符串中生成一个python对象。你的menu.json看起来像这样

^{pr2}$

将该文件加载到模板呈现器中,然后加载i18n模块并转换任何{% trans %}字符串。在

运行makemessages时,请记住包括要搜索事务字符串的.json文件。在

相关问题 更多 >