gpt4 book ai didi

模板中的 django blocktrans 和 i18n

转载 作者:行者123 更新时间:2023-12-04 02:38:21 24 4
gpt4 key购买 nike

我在 django 中有一个 i18n 问题:

这很好用:

{% trans cat.name %}  
cat.name将被翻译

但这不起作用:
{% blocktrans with cat.name|slugify as cat_slug %}{{ cat_slug }}{% endblocktrans %}  
cat.name未翻译

如果我更改过滤器:
{% blocktrans with cat.name|capfirst as cat_slug %}{{ cat_slug }}{% endblocktrans %}  

我可以看到过滤器正在工作,但没有翻译...

最佳答案

我才刚刚开始使用 Django 国际化,但我认为您误解了 {% blocktrans %}标签处理占位符。
blocktrans的点是允许翻译占位符周围的文本。它不会翻译 {{...}} 内的任何内容.

如果查看生成的 .po文件,您将看到以下模板代码:

{% blocktrans %}This is my variable: {{variable}}{% endblocktrans %}

将转换为如下内容:
msgid:"This is my variable: %s"

我认为您不能在 blocktrans 标记中翻译变量。你可以用 {% blocktrans with _("string") as x %}{{x}}{% endblocktrans %} 做常量字符串。但我想不出你为什么要这么做。

我认为你必须在你的 View 或模型代码中做你想做的事。

关于模板中的 django blocktrans 和 i18n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1813516/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com