问题标签 [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 - 内化集语言重定向视图。如何重定向到同一页面?
我有一个当前重定向到索引页面的表单:
我怎样才能让它重定向到同一页面?
python - 我的 django 翻译文件的正确位置是什么?
我正在使用 python/django/mezzanine 迈出第一步,所以请多多包涵。
我修改了一个翻译文件并编译好了。
翻译后的文件属于 mezzanine 的博客应用程序,我发现我可以将它测试的唯一地方是博客应用程序的语言环境文件夹(~/MY_VIRTUAL_ENV/lib/python2.7/site-packages/mezzanine/blog/locale/es /LC_MESSAGES)。
它工作得很好,但我的直觉告诉我必须有一种方法可以在我自己的夹层应用程序中的其他位置保存这个文件,所以:
我在正确的轨道上吗?如果是这样,我应该在哪里放置我自己的新翻译文件?
非常感谢先进
django - 使用 Django 编写可翻译的静态网页
我对处理这个问题的最佳方法有点困惑:
我的网站需要具有 2 个简单约束的只读静态网页(通常是网站的 About 部分):
- 他们需要翻译
- 他们需要有灵活的布局:合并基本页眉/页脚、浮动图像和/或表格,以及非交互式元素(如引导轮播)。
我想过的几个解决方案:
- 我当然可以直接写 HTML 文件,但是翻译部分会很尴尬(很多 <
h1>, <ul>, <li> and <p>
翻译者不感兴趣)。 - 我可以将 Django 平面页面与一些标记语言一起使用,但我失去了很多灵活性(例如模板标签无法识别)
- 使用像 Hyde 这样的生成器,但对于我的需求来说这似乎有点矫枉过正,而且国际化似乎有点困难
有人有其他我可以研究的提议吗?
谢谢 !
python - django Internationalization:翻译字符串未完全翻译
我正在使用 django 制作一个中文博客。我用中文写所有我能控制的东西,比如帖子文本、博客标题、博客导航,以及评论和联系我表单的标签。我唯一无法控制的是表单提交错误,例如“此字段为必填项。”、“输入有效的电子邮件地址。”。因为我使用django评论框架和表单库来制作我的评论表单和联系我表单,我不知道如何将那个英文版替换为中文版。
所以我求助于django国际化。在 django 文档之后,我将一些翻译字符串添加到 django 提供给我的表单的原始 html 文件中,例如
然后我在我的项目根目录中创建消息文件并将“django.middleware.locale.LocaleMiddleware”添加到 MIDDLEWARE_CLASSES 设置中。
在 .po 文件中,常量字符串有记录,例如 {% trans 'Welcome to my site' %} 有记录:
但是像 {% trans error %} 这样的变量内容没有记录。
我仍然继续,并重新加载我的博客。我看到“此字段为必填项”。在评论表单和联系我表单中都翻译成中文,但“输入有效的电子邮件地址”仍然是英文。我尝试手动添加新记录,例如
到 .po 文件,但没有效果。
为什么 django 会翻译一些错误信息而忽略其他错误信息?
如果 django 无法自动翻译某些字符串,或者我只是不喜欢 django 自动提供给我的翻译,我可以提供我自己的翻译吗?如果是这样,我应该把翻译后的字符串放在哪里,因为 .po 文件没有相应的记录?
python - 了解 trans 模板标签和 makemessages
我一直在努力让 i18n 工作并拥有我的网站的多语言版本。
我有几个人好心地为我做翻译,但是由于我遇到了一些问题,在网上搜索似乎有些人很难从 django 的国际化和本地化模块开始。
到目前为止,我遇到的主要问题是:
- 运行 django-admin.py makemessages -a 时 django.po 文件不更新
- 当语言文件在那里时,当语言发生变化时,除了使用 django 包预先构建的内容之外,网站上没有任何变化。†</li>
- i18n/setlang 视图不起作用。††</li>
现在,只有第 1 点我没有解决。首先是什么导致makemessages不更新?我正在使用 -a 来更新我之前制作的所有文件(de、da、fi),fi 是唯一实际添加了翻译的语言文件(其余的目前只是空的翻译字符串)
†我现在已经解决了第 2 个问题。似乎当 makemessages 创建 .po 文件时,它使用了一个模糊标签。
根据我所做的一些研究,这会将文件视为需要更新,就像 trans 标签附带的 no-op 选项一样。
删除#,模糊线后,它已经解决了这个问题。
††我已经添加了数字 3,仅供参考,因为我自己解决了这个问题。您需要确保 MIDDLEWARE_CLASSES 中存在 LocaleMiddleware
python - Django i18n:{% blocktrans %} 块的推荐大小和格式?
我刚刚开始使用 Django 国际化并试图了解使用{% blocktrans %}
. 是否最好{% blocktrans %}
为每个段落使用一个,或者我应该有一个{% blocktrans %}
包含许多段落的大文件?
有一个大{% blocktrans %}
的更快,让我的模板看起来更干净,但我担心的是:
- 它会导致 HTML 标签(如
<p>...</p>
)成为翻译字符串的一部分 - 如果我在我的大块的一部分中改变一件事,
msgid
就会改变,这似乎会影响其他段落。如果我有更小的块,更改会更加孤立(我想)。 - 如果我进行格式更改,例如在段落之间添加/删除换行符,那将更改
msgid
.
我也想知道格式化。在 a 内换行是否有任何并发症{% blocktrans %}
?或者有领先的空间?例如:
欢迎任何建议。
python - django flatpages 和 i18n
我正在尝试选择一种我想在即将推出的网站的某些部分中使用的方法。这部分是静态内容,我通常会使用django flatpages
框架进行管理,它是内置的并且工作得很好。但问题是:网站将在许多方面成为i18n ,静态内容就是其中之一。
对于一些静态内容,我将使用标准的 djangoi18n
包和.po
文件。有没有办法以flatpages
i18n 方式工作?如果没有,有没有办法用一些方法来实现所需的方法django-model-i18n-tool
,比如django-modeltranslation
?
如果所有答案是否定的,解决 i18n 静态内容的最佳做法是什么?这些静态内容应该可以从网站的某些部分进行编辑,最好是管理部分?
python - 使用 i18n 进行 xml 解析内容的 django 语言翻译
这是我的 settings.py
这是我的 xml 文件。我想将标题标签内容,即“hello”翻译为“مرحبا”
下面是views.py中的函数
下面是 index.html 的模板
我已将 mozilla 中的首选语言设置更改为“阿拉伯语/阿联酋”(在 Firefox 中的工具->选项->内容->语言下)。但它仍然显示为你好,你好,你好吗。以下是我在 locale\ar\LC_MESSAGES\django.po 中的“ar”的 django.po
python - Django Admin:StackedInline / TabularInline 中的默认值
我正在创建一个网站,它需要对国际化的支持。默认语言为葡萄牙语、英语和西班牙语。我正在使用 django-i18nmodel,到目前为止效果很好。
当管理员想要创建产品时,使用 django-admin,默认情况下我会创建模型 ProductI18N 的 3 个内联项。
我想用我上面提到的3种默认语言(pt-PT、en-US、es-ES)创建这 3 行。我知道在模型中我只能设置一个默认值。
Django 是否提供了一种简单的方法来做到这一点?
python - 在没有数据库的情况下使用 gettext 运行 Django
我用 Django 1.6 创建了一个简单的 web 表单,没有使用数据库后端,因为我不需要它们。现在我想为一些 i18n 使用 gettext,但我得到了一个
他们有什么办法不使用任何东西,还是我应该至少配置 sqlite?