- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已在设置中正确设置 LOCALE_PATHS
。
LANGUAGE_CODE
设置为 it
。
作为测试,我将应用程序翻译成的唯一语言是 it
。
在我的一个 View 中,我有 {% trans "MY_MESSAGE_ID"%}
,在 django.po
中我有
msgid "MY_MESSAGE_ID"
msgstr "It is working"
<小时/>
如果使用 it
语言的访问者打开应用程序,他会看到“正在运行”
如果使用 en
语言的访问者打开应用,他会看到“MY_MESSAGE_ID”
Django 不应该永远向最终用户显示msgid
。 Django 应该提供第一个可用的翻译作为后备,尤其如果我在 LANGUAGE_CODE
中定义它。有什么办法可以实现这种行为吗?
我读到,这个问题的解决方案是使用“It isworking”
作为消息ID。我认为这个解决方案是 Not Acceptable ,原因如下:
进行 en
翻译是没有用的,因为消息 ID 是已经是翻译本身了。
某些消息 ID 会非常长。
“消息 ID”指的是必须与语言无关的内容。
如果我想更改默认语言,我必须重新编写整个应用程序文本内容。
最佳答案
Django 与许多其他人一样在内部使用 gettext
;同样,.mo
、.po
格式也属于它们的实用程序并由它们的实用程序生成。如果您不使用完整消息作为 msgid
,则您没有使用 gettext
的全部功能。
请参阅 glibc 的文档示例:
SYNOPSIS
#include <libintl.h>
char * gettext (const char * msgid);
char * dgettext (const char * domainname, const char * msgid);
char * dcgettext (const char * domainname, const char * msgid,
int category);DESCRIPTION
The gettext, dgettext and dcgettext functions attempt to translate a text string into the user's native language, by looking up the translation in a message catalog.
The msgid argument identifies the message to be translated. By convention, it is the English version of the message, with non-ASCII characters replaced by ASCII approximations. This choice allows the translators to work with message catalogs, called PO files, that contain both the English and the translated versions of each message, and can be installed using the msgfmt utility.
此外,GNU gettext 还提供了实用程序 msgen
,
Creates an English translation catalog. The input file is the last created English PO file, or a PO Template file (generally created by xgettext). Untranslated entries are assigned a translation that is identical to the msgid.
此外,gettext
实用程序可以找到新消息的模糊匹配,这将加快翻译工作,并且还会注意到翻译何时过期并将其标记为重新翻译。如果您在模板中使用无意义的消息 ID,这是不可能的。
关于python - Django 显示 msgid 而不是 msgstring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28886652/
我正在运行带有底层 Postfix 服务器的 JBoss 服务器。当我发送电子邮件时,JavaMail 创建一个无效的 messageID,例如消息 ID:。 我使用此代码发送邮件: Properti
我想创建一个消息队列,但在创建 id 时遇到错误。有人可以为我提供更好的 msgget 创建 id 解决方案吗? msgid=msgget((key_t)1234,0666 | IPC_CREAT)
我正在尝试在 javax.mail 中使用 google 为 gmail 创建的 X-GM-EXT-1 IMAP 扩展。文档在这里https://developers.google.com/gmail
在 Android 资源中我看到这样的字符串: "Calculadora" 注意“msgid”,这表明存在一些管理字符串翻译的工具。这是什么工具? 最佳答案 当与 a2po 等工具一起使用创建 po
是否可以使两个或多个 msgid 与一个 msgstr 匹配? 例如,('list.empty')和('list.empty') null') 返回“还没有任何对象。” 如果我在 po 文件中这样写:
我已在设置中正确设置 LOCALE_PATHS。 LANGUAGE_CODE 设置为 it。 作为测试,我将应用程序翻译成的唯一语言是 it。 在我的一个 View 中,我有 {% trans "MY
strings.xml中的“msgid”属性是什么意思? 如何获得它的值(value)? 最佳答案 如果您使用字符串本地化,则 strings.xml 中存在属性“msgid”。例如,如果文件夹 va
使用 gettext,消息的原始(通常是英文)文本用作 翻译的消息键(“msgid”)。这意味着每次 原始文本更改,必须在所有 .po 文件中更新 msgid。 对于文本的真正变化,这显然是不可避免的
背景 有时我会在 Google 样本制作的“strings.xml”文件上看到一些奇怪的属性,例如,在 chips example 上(可用代码 here ),我可以找到“res/values-en-
是否有 gettext 实用程序允许我通过提供 msgid 和新的 msgstring 作为参数从命令行更改 PO 文件? 最佳答案 我还没有看到一个完整的工具可以做到这一点,但使用 polib 将它
在用于 JavaScript“djangojs”的 Django i18n 中,错误假设只有语言是英语 - https://code.djangoproject.com/ticket/20280 .
尝试运行 mki18n.py脚本在我的 Python 代码上,我在这一行收到警告: >>> dlg = wx.MessageDialog(None, str (_("Attached device
我是一名优秀的程序员,十分优秀!