- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
from django.utils.translation import ugettext_lazy as _
_(u"I am off to school at '%s' o'clock" % time)
这有点奇怪,因为我会像这样翻译一整行
"I am off to school at \'%s\' o'clock"
现在,如果翻译者错误地删除了“%s”,就会破坏代码。
我应该更好地将句子分成两部分吗?但这可能会给译者带来理解句子上下文的麻烦。
_(u"I am off to school at ") + '%s' + _(u"o'clock") % time
有更好的方法吗?
最佳答案
如果您使用命名字符串插值而不是位置字符串插值,那么当翻译者忘记翻译字符串中的某个参数时,这应该可以保护您免受异常的影响。
来自 django 文档的示例:
def my_view(request, m, d):
output = _('Today is %(month)s %(day)s.') % {'month': m, 'day': d}
return HttpResponse(output)
注意字符串替换中使用的 {'name': 'value'} 对的字典。
For this reason, you should use named-string interpolation (e.g., %(day)s) instead of positional interpolation (e.g., %s or %d) whenever you have more than a single parameter. If you used positional interpolation, translations wouldn't be able to reorder placeholder text.
关于django - ugettext : How to deal with variables within a sentence?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12351455/
在大量 Django tuts 以及网上的任何地方,人们都会在模型类中创建如下所示的字段: from django.db import models from django.utils.transla
您能解释一下 ugettext 和 ugettext_lazy 之间的主要区别吗? 当我尝试时 return HttpResponse(ugettext_lazy("Hello")) 我什么也没看到,
在我的 models.py 文件中,我在模型上定义了一个字段,如下所示: description = models.CharField( max_length=40, default=
from django.utils.translation import ugettext_lazy as _ _(u"I am off to school at '%s' o'clock" % ti
我正在开发一个本地化的 Django 项目,并且可以在多种语言中正常工作。现在出于某种原因,我需要调用 ugettext从它的外壳。 这是我所做的: >>> from django.conf impo
我使用 ugettext_lazy 来翻译默认的 AbstractBaseUser 字段,我发现了一个问题。我想将名为 password 的字段翻译为我的母语,但我收到的唯一结果是 django.co
我有一个相当简单的信息网站,由 Django 运行。 其页面( View )由 render_to_response 快捷方式呈现,使用方式如下: def index(request): r
我正在使用 GeoDjango 示例和 class WorldBorder .我的问题是无法打印出所选国家的名称。当我尝试执行时 from django.utils.translation impor
我正在翻译一个 Django 项目。几乎一切正常。我只是无法让 Django 收集标有 _(下划线)以外的字符串。 让我再解释一下:按照文档的规定,我正在使用 ugettext 和 ugettext_
这是一个非常基本的问题。我试图用谷歌搜索我能用简单的语言理解的答案。但这并没有帮助。我在 Django's UserCreationForm 中遇到了以下代码片段然后我才知道ugettext_lazy
看了好久的stackoverflow,第一次在这里问。 该应用程序是双语的。我在 urlpatterns 中定义了要使用 ugettext_lazy 进行翻译的 url。用户选择第一种语言和网址工作,
我正在使用 Django 1.5.1,我在翻译时遇到了一些“奇怪的行为”。我在同一个 Python 文件中使用 ugettext 和 ugettext_lazy。如果我将导入组织为: from dja
我是一名优秀的程序员,十分优秀!