问题标签 [django-i18n]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1238 浏览

django - Django: Only a single element gets translated

Porting a Django site from 1.2 to 1.5 on Python 2.6 i ran into problems with internationalization.

The wierd thing is that only one string gets translated in the entire site (Well, almost, the date filter could translate long month names when I tested). Other strings located in the same template doesn't get translated, and all translations are located in a single po/mo file. All translations are there, verified with Poedit and compiled with manage.py compilemessages.

Edit: The reason for the single translated string was that it matched a string in the admin site.

While trying things to get it to work I cleared the LOCALE_PATH, restarted the dev server (manage.py runserver), cleared any browser cache (even though meta-data for the site disables cashing), lo and behold the element is still translated. I verified this by adding the same text again after, and it still gets translated, so no client side caching is involved.

Language switching works as expected and the only translated element is changed to the default language, {{ LANGUAGE_CODE }} confirms this. I've tried clearing the session data and django cache (which doesn't seem to be used by the dev server).

Can someone guess what's going on here? Isn't there any debug flags to get more extensive logging or something?

A minimal view:

And corresponding template (locale_test.html):

Relevant settings:

For reference, these questions didn't help me:

0 投票
1 回答
100 浏览

python - 管理 .po 文件和平面页面之间区域的 i18n 内容

我有一个 django 项目,将平面页面用于主要是静态内容的页面,将 .po 文件用于较短的字符串、标题、按钮等。但我在探索客户希望通过自己编辑的内容块的替代方案时遇到了麻烦admin 还是可以包含在模板中的自定义表单?

我曾考虑采用基于现有框架的 CMS 方法,但因为该项目在没有 cms 功能的情况下运行良好,可能 90% 的内容我暂时不想这样做。

我的第一个想法是创建一个自己的模型“text_blocks”并使用django-modeltranslation之类的东西,并用正确的对象填充视图上下文。

我的问题首先是上述方法是否合理,但主要是我缺少管理此类内容的哪些替代方法。

0 投票
8 回答
21855 浏览

python - 尝试从 Django 模板更改语言的问题

我需要包含两个按钮或链接,以允许用户在英语和西班牙语之间切换语言。我已经阅读了文档并尝试了这个:

但是,每次单击按钮时,页面都会重新加载,但语言根本没有改变。我错过了什么吗?

注意:我没有设置next,因为我只想以所需的语言重新加载当前页面。

如果我使用文档提供的默认表单,结果是相同的:页面重新加载但语言没有改变:

更新

i18n_patterns经过进一步测试,我注意到patternsurls.py. 目前我有一个看起来像这样的文件:

这似乎不起作用。但是,如果我删除并将其i18n_patterns更改为,patterns那么它似乎可以工作:

文档说您不必将其包含在其中i18n_patterns,所以我认为这应该可以,但事实并非如此!django.conf.urls.i18n如果你在之前或之后包含它并不重要,i18n_patterns它总是一样的。

0 投票
1 回答
923 浏览

python - 空字符串的翻译显示 po 标头

当我尝试在 django 模板中翻译空字符串时,我最终会显示 po 标头而不是空字符串http://codex.wordpress.org/Translating_WordPress#The_PO_File_Header。我必须翻译空字符串,因为它们在 db 中,我无法填充所有模型并翻译它们,因为它们是动态的。现在我使用类似的东西

我试图将标题标记为模糊,但它没有用。

有什么方法可以避免检查每个可翻译字符串并避免 po 标头出现?我正在使用 django 1.5。

0 投票
1 回答
204 浏览

django - 在 Django 翻译中使用用户代理语言

结合用户代理语言和 django i18n 的最佳方式是什么?示例:我在 settings.py 中设置了 LANGUAGES:

如果客户端用户代理默认配置为葡萄牙语,Django i18n 机器将使用巴西葡萄牙语作为我网站的默认语言,否则它将保持为英语

使用基于用户代理默认值的语言还是基于客户端 IP 位置的语言更好?

0 投票
1 回答
154 浏览

django - django模型翻译404

我正在尝试以两种语言设置我的应用程序,但是我在所有应用程序的 url 上都收到 404 错误,即使我前一段时间以完全相同的方式设置了另一个应用程序。

模型.py:

翻译.py:

网址.py:

在这里您还可以看到我的其他应用程序产品的网址,它工作得很好。如果您还需要什么,请告诉我。

0 投票
1 回答
1098 浏览

django - Django i18n + 模板包含标签

我需要呈现一个翻译的推荐,我使用一个包含块的推荐代码,如下所示:

我将如何blocktrans与标签一起使用include来呈现翻译后的包含标签?

谢谢!!

0 投票
6 回答
22765 浏览

windows - 如何在 Windows 7 上安装 GNU gettext?

我需要安装 GNU 的 gettext 0.15 或更高版本,以便我可以在 django 中使用一些 i18n 功能。

我已经下载:

http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.3.1.tar.gz

来自https://www.gnu.org/software/gettext/

但是我不知道如何安装它,他们的网站上也没有安装指南。我该如何安装它?

0 投票
3 回答
1422 浏览

django - 如何在 {% blocktrans %} 和 {%复数 %} 标签之间保留空格而不导致 msgfmt 错误?

我正在使用 blocktrans 标签呈现一些复数形式;这是模板文件中的相关片段:

运行后python manage.py makemessages --all,这是我的相关片段,例如django.po文件en

但是当我运行时python manage.py compilemessages,这是我得到的错误消息:

我知道这是因为模板文件中的换行符/空格,并且我知道如何“绕过”它——当我将模板片段更改为例如:

然后重新运行makemessages,从消息中删除fuzzy标记,然后重新运行compilemessages,它编译得很好。

但是,我的问题是如何保留第一个模板语法并且仍然能够编译消息,因为它极大地提高了模板文件中代码的可读性。

0 投票
1 回答
2796 浏览

python - django-admin.py makemessages 不会创建 .po 文件

在这里,我标记了要翻译的字符串 base.html:

设置.py:

我运行命令:

它运行没有错误或任何东西,但它不会创建任何 .po 文件。我在这里做错了什么?