{% trans "string" %} 不适用于模板,但 {% trans variable %} 可以

2024-04-05

我对 Django 很陌生,我正在使用 i18n 开发一个项目,问题是我已经使用翻译了一些变量 .manage.py makemessages / compilemessages 在我的模板文件上,但是当我使用 {% trans "my string" %} 我也得到了同样的"my string"对于所有语言。

我究竟做错了什么?这是 views.pyidioma.html 的代码


views.py:

#这里有一些代码...

def idioma(request):
    output = _("Mensaje en espanol")
    return render_to_response( 'idioma/idioma.html', { 'idioma' : output }, context_instance = RequestContext(request) )

idioma.html
{% load i18n %}

< form action="/i18n/setlang/" method="post">

        {% csrf_token %}

        < input name="next" type="hidden" value="{{ redirect_to }}" />

        < select name="language" >

        {% get_language_info_list for LANGUAGES as languages %}

        {% for language in languages %}

            < option value="{{ language.code }}">
                {{ language.name_local }} ({{ language.code }})
            < /option>
        {% endfor %}

        </select>

        < input type="submit" value="Go" />

    < /form>

    La cadena es: {% trans idioma  %}

    {% trans "carro" %}

The application translates the idioma variable from the .po and .mo files in locale/path/to/language/

但它不会翻译 {% trans "carro" %} 字符串。

这是怎么回事?

感谢您的帮助!!!!


您是否手动翻译了 .po 中的字符串?

makemessages只需将“carro”添加到 .po 中,在 .po 文件中生成类似的内容

#: idioma.html:45
msgid "carro"
msgstr ""

然后你必须编辑 .pomanually添加该字符串的翻译,如下所示:

#: idioma.html:45
msgid "carro"
msgstr "car"

然后,当您完成所有 .po 字符串的翻译后,您可以运行compilemessages:它将编译您的翻译。

Note:永远记得寻找,fuzzy翻译。 如果你的 .po 中有这样的东西

#: idioma.html:45
#, fuzzy
msgid "carro"
msgstr "car"

这意味着 django 由于某种原因尝试自行翻译字符串(当您已经在一段不再使用的代码中使用该字符串时,通常会发生这种情况).

您必须检查翻译并删除#, fuzzy行:任何标记为的翻译#, fuzzy不会在您的页面中进行翻译。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

{% trans "string" %} 不适用于模板,但 {% trans variable %} 可以 的相关文章

  • Django - 从缓存的查询中填充模型实例相关字段

    情况相同Django prefetch children 相关的children https stackoverflow com questions 55201573 django prefetch related children of
  • 巩固 Django 南迁移

    在我的项目的初始阶段 我对模型进行了很多更改 因此我最终为我的应用程序生成了很多向南迁移 在转到我的生产服务器执行迁移之前 是否可以以任何方式整合它们 这样我就不会为每个应用程序进行一百万次迁移 如果是这样 我该怎么做呢 您始终可以删除现有
  • Redis+Docker+Django - 错误 111 连接被拒绝

    我正在尝试使用 Redis 作为使用 Docker Compose 的 Django 项目的 Celery 代理 我无法弄清楚我到底做错了什么 但尽管控制台日志消息告诉我 Redis 正在运行并接受连接 事实上 当我这样做时 docker
  • Django 多对多关系(类别)

    我的目标是向我的 Post 模型添加类别 我希望以后能够按不同类别 有时是多个类别 查询所有帖子 模型 py class Category models Model categories 1 red 2 blue 3 black title
  • 如何在Django终端后台启动celery

    我开始芹菜作为 python manage py celeryd 它正在工作 但在前台 然后为了测试命令 我需要启动另一个终端并在那里执行操作 有什么办法可以在后台启动它吗 我试过这个 python manage py celeryd 但话
  • Django 2、python 3.4 无法解码 urlsafe_base64_decode(uidb64)

    我正在尝试通过电子邮件激活用户 电子邮件有效 编码有效 我使用了 django1 11 中的方法 该方法运行成功 在 Django 1 11 中 以下内容成功解码为 28 其中 uidb64 b Mjg force text urlsafe
  • Django 独特的不工作

    我在从查询中过滤掉重复项时遇到问题 我正在使用 Django 1 4 和 Postgres 8 4 13 我在我的模型对象上使用这个查询 它是一个 jquery 自动完成 term request GET get term field re
  • 如何使用 Python/Django 在 Facebook 中获取(和使用)扩展权限

    我正在尝试编写一个简单的应用程序 让用户授予我的代码写入其页面的 Facebook 流的权限 据我了解 它应该很简单 让用户单击一个按钮 启动一个弹出窗口 其中包含我的 Facebook 应用程序中的页面 在该页面中 他们单击授予的内容流发
  • django post_save 信号和 ManyToManyField (和 Django Admin)

    我的 post save 函数有问题 该函数已正确触发 但实例不包含插入的值 我用ipdb检查了该功能 没有任何问题 只是 ManyToManyField 是空的 代码 receiver post save sender Supplier
  • Django 站点框架初始设置

    我对相当一维的 Django 实现很满意 但现在尝试了解具有共享内容的多站点过程 我已经阅读了 Django 站点框架和有关该主题的许多帖子 但我没有了解如何启动使用相同数据库但以单独域名呈现的第二个站点的基础知识 我有一个非常愉快且按规矩
  • 未找到 MessageSource 的 ResourceBundle [消息]:找不到基本名称消息的包

    在 applicationContext xml 中 我定义了 MessageSource 如下所示
  • 条件触发器的Django迁移sql

    我想创建一个触发器 仅在满足条件时插入表 我尝试过使用 IF BEGIN END 和 WHERE 的各种组合 但 Django 每次都会返回 SQL 语法错误 这里 type user id指的是触发该事件的人 user id指的是接收到通
  • Django Rest Framework:字段名称“likes”对于模型“userPost”配置不正确无效

    在我的 Django Rest Framework api 中 我尝试向我的模型 UserPosts 添加一个属性 该属性返回所述帖子的所有喜欢 尽管我尽了最大努力 但我仍然遇到这个错误 下面是我的帖子模型 class UserPosts
  • djangorest框架更改主键以使用唯一字段

    我有一个模型叫做GameProfile 这是一对一的关系User模型 我用了HyperlinkedModelSerializer贯穿我所有的设计 For the GameProfile 用户字段应该是查询的主键 它是唯一的但我没有将其设置为
  • 使用 datetime 与 Django 中的日期进行比较

    我在 Django 中有一个关于如何比较日期来解决一些解决方案的问题 例如 我的 models py 中有一个日期字段 如下所示 class Invoice models Model payment date models DateTime
  • 具有可变数量过滤器参数的 Django 查询

    我有一个 Django 查询 从MyModel基于某些条件 if beta MyModel object filter x alpha y beta else MyModel object filter x alpha 是否可以消除if b
  • 在没有模型的情况下将自定义页面添加到 django admin

    我正在尝试在没有模型关联的情况下向管理员添加自定义页面 这就是我迄今为止所取得的成就 class MyCustomAdmin AdminSite def get urls self from django conf urls import
  • django 翻译:msgfmt:找不到命令

    我已经使用 wiki 脚本 webfaction 安装了 OSQA 现在我想编译一个消息文件 但出现以下错误 django msgfmt command not found 命令 输出 ls apache2 bin lib osqa osq
  • Django 基于类的视图上的 success_url 的反向抱怨循环导入

    当使用基于方法的视图时 重定向为reverse没有抱怨这一点 并且仍然可以找到 root url conf 但是 在基于阶级的观点中 它抱怨 ImproperlyConfigured at blog new post The include
  • Mac OSX 10.6 上的 Python mysqldb 不工作

    我正在使用 Python 2 7 并尝试让 Django 项目在 MySQL 后端运行 我已经下载了 mysqldb 并按照此处的指南进行操作 http cd34 com blog programming python mysql pyth

随机推荐