问题标签 [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.
python - Django LocaleMiddleware 在启用 APPEND_SLASH 的情况下不添加斜线
我在 django 1.6 中使用 LocaleMiddleware 时遇到了问题。如果settings.APPEND_SLASH设置为True,它不会添加额外的斜线事件。文本错误文本是:
在获取,第 307 行
据我了解,django 引擎没有事件到达将斜杠附加到 url 的 LocaleMiddleware。我的 urlconf 看起来像这样
那么我怎样才能让 django 引擎到达 LocaleMiddleware 并通过在我的 url 上附加额外的斜杠来重写 url
python - 用于 i18n 国际化的 Django javascript 目录视图
我正在尝试让 i18n 工作的 javascript_catalog,没有骰子。
遵循官方指南here
我在运行时得到以下信息:
./manage.py makemessages -d djangojs -l fr_CA --settings=settings.local
我在我的项目的 urls.py 中有这个
添加这是我的基本模板:
我的 INSTALLED_APPS 中也有 project_name。
我从包级别以及单个应用程序级别进行了尝试,创建了区域设置目录并将应用程序放入“包”等。但是常规的 makemessages 只是不适用于 djangojs 域的 js 目录。
请帮忙。
javascript - Django 国际化不仅仅适用于 javascript 静态文件
背景信息:django 1.6.2,python 2.7.5
我最近开始将国际化应用到我的 django 项目中。我已经设法让它在应用程序的模型、视图和模板(称为指标)中工作。但是,当我尝试对静态 js 文件应用国际化时,gettext()
它似乎不起作用,因为它总是返回我传递给它的字符串,而忽略了浏览器语言。另一方面,{% trans ... %}
html 模板(使用那些 js 静态文件)中的标签被正确翻译。这表明问题在于我的 js 静态文件的国际化。有人可以提供任何指导或建议吗?
这是我的项目配置的总结:
在项目设置中,我包括:
与 js 静态文件有关的djangojs.po和.mo文件位于我的根目录中的 locale 文件夹中,而django.po和.molocale/es/LC_MESSAGES
文件位于我的应用程序中的文件夹中。我从适当的目录和两者都运行django-admin.py makemessages -l es
和运行(即使这可能是多余的......)。请注意,.po 文件没有 FUZZY 标记。django-admin.py makemessages -d djangojs -l es
django-admin.py compilemessages
在项目的 url.py 文件中,我包括:
也许这部分是错误的,因为我的djangojs.po和.mo文件位于根目录中,但我尝试将它们定位在我的 app 目录中,但它也不起作用。
最后,gettext
在我的静态js文件中使用一个例子(使用d3js):
有什么建议么?对大量的报道感到抱歉,但我正在努力提供尽可能多的信息。
python - 将 Django 语言环境放在项目文件夹之外
我有一个小问题需要帮助/关于如何解决的想法。
我有一个关于在 django 中为语言环境翻译生成 *.po 文件的问题。我使用 Fabric 脚本为每个版本的代码部署一个全新的文件夹,但已将语言环境文件夹移到项目之外,因为我希望每个新版本都相同并在本地更新它。
但是,当我尝试运行python manage.py makemessages -l en
django 时抱怨我没有任何运行命令的语言环境文件夹。
我确实在设置中提供了一个指向项目外部位置的语言环境路径,并且在 django 读取文件时工作正常。但是,它似乎在工作路径中也需要一个来生成要翻译的字符串。
我现在通过创建一个ln -s
指向locale
工作文件夹中项目外部文件夹的软链接 ( ) 解决了这个问题,但是我的语言处理程序 Rosetta 认为我有两个不同的应用程序需要翻译。它们是相同的,如果我改变一个,另一个也会改变,但感觉很时髦......关于如何以更好/更pythonic的方式解决它的任何想法?
非常感激!
javascript - Django makemessages javascript 目录因奇怪的错误而退出
我发出以下命令来用 django 翻译我的 javascript 文本:
对于几个文件,我不断收到以下错误:
而且我假设它退出了这个错误,因为我的带有 gettext 的 javascript 文本从未被翻译过。我注意到在没有此警告的文件上它似乎有效。
我无法弄清楚它在什么时候产生了这个错误,所以我一行一行地去,它似乎有问题:
即带有包含的行。
我正在努力解决这个问题,任何帮助将不胜感激。
谢谢
django - 从数据库翻译文本
我正在建模一个服务目录,我在其中将服务分组为不同的类别。每个类别都是一个模型,其中包含与此处不相关的其他字段的描述。
这个想法是随着平台的发展增加额外的服务类别(甚至子类别)。我需要有几种语言的描述。
我已经考虑过不同的方法来做到这一点,我需要决定哪一种更清洁。
第一种方法。模型描述为带有描述和语言的数据库模型,因此我使用语言代码进行过滤并在管理员上编辑它们
第二种方法。删除描述字段并将类别的标题用作上下文标记。就像是
然后在模板中。
但是,我在这里担心的是,是否有一种自动方法来生成要标记为翻译的 id?我该怎么做?
python - Django. i18N reverse url Issue
This issue occurs only on production server. Languages in settings looks like this:
models.participant :
The issue is that unsubscribe_link templatetag return url in format: domain/en-us/xxx/xxx, and obviously that url response is 404. If I change "en-us" to "pl" all works fine. I can't find origin of this problem. Locally urls are generated properly.
django - 国际化无法正常工作 - 似乎没有采取任何行动
我将我的配置setting.py
如下所示:
创建了一个名为的应用程序,该应用程序core
在其文件夹中具有另一个文件夹结构:
里面的代码core.html
是:
里面的代码idiomas.html
是:
我urls.py
的是:
当我加载页面时它看起来不错,但是当我将组合框更改为无效时English
。似乎页面重新加载,但组合选项返回Portugues Brasileiro
并且仍然是葡萄牙语文本。
我在我的项目基本路径上创建文件夹区域设置django-admin.py make messages -l pt_br
并运行en_us
和配置.po
文件,en_us
如下所示:
有人可以帮我弄清楚为什么它不起作用吗?这是我第一次使用国际化服务。
提前致谢!
python - 带有参数的 url 模式中的 Django 国际化
我正在使用 Django 1.6 和 Python 3.4。我想在参数中翻译 url。例如:
/en/temperature/London/
到:
/fr/température/Londres/
但它不起作用。相反,我获得 /fr/temperature/London/ 。在 urls.py 中,“温度”是硬编码的,“伦敦”是参数的值city
。treshold
是可选的。这个不带参数的 url 被正确翻译:/en/terms/ 到 /fr/mentions-légales/在 django.po 中的
每次更改后,我运行 compilemessage 命令,我手动重新启动开发服务器并刷新浏览器缓存。怎么了?
django - 不为 Django 更新 Rosetta 中的翻译
我在 Rosetta 有一些翻译,而且效果很好。现在我需要更新其中一些翻译。我已经在 Rosetta adminstrator 中完成了它并在 .po 文件中检查了它,并且没问题。
现在,我编译 .po 文件,django-admin.py compilemessages -l en
文件编译,稍后我重新启动服务器。问题是没有显示更改。
怎么了?是否缺少某些命令?