如何在 Django 中加入惰性翻译?
How can I join lazy translation in Django?
我需要使用惰性翻译,但我也需要进行翻译 - 如何处理?
这段代码正在做我需要的事情:
print ugettext_lazy('Hello world!')
现在我想将两个懒惰的翻译结合在一起并分别翻译(我现在不行,为什么但想要有两个翻译字符串)。
print ugettext_lazy('Hello world!') + ' ' + ugettext_lazy('Have a fun!')
我可以编写这样的代码,但它生成的翻译超出了需要。
print ugettext_lazy('Hello world! Have a fun!')
是否可以有两个翻译字符串和惰性翻译?
我认为你不能,否则会导致另一个字符串被翻译...
这是从文档中获取的示例。没有提到将2个翻译文件合二为一,所以我认为这是不可能的,但我可能是错的。
这是正确的做法
https://docs.djangoproject.com/en/1.7/topics/i18n/translation/#joining-strings-string-concat
from django.utils.translation import string_concat
from django.utils.translation import ugettext_lazy
...
name = ugettext_lazy('John Lennon')
instrument = ugettext_lazy('guitar')
result = string_concat(name, ': ', instrument)
因为 django 1.11 string-concat
is deprecated, and format_lazy
应该改用
from django.utils.text import format_lazy
from django.utils.translation import ugettext_lazy
name = ugettext_lazy('John Lennon')
instrument = ugettext_lazy('guitar')
result = format_lazy('{} : {}', name, instrument)
我需要使用惰性翻译,但我也需要进行翻译 - 如何处理?
这段代码正在做我需要的事情:
print ugettext_lazy('Hello world!')
现在我想将两个懒惰的翻译结合在一起并分别翻译(我现在不行,为什么但想要有两个翻译字符串)。
print ugettext_lazy('Hello world!') + ' ' + ugettext_lazy('Have a fun!')
我可以编写这样的代码,但它生成的翻译超出了需要。
print ugettext_lazy('Hello world! Have a fun!')
是否可以有两个翻译字符串和惰性翻译?
我认为你不能,否则会导致另一个字符串被翻译...
这是从文档中获取的示例。没有提到将2个翻译文件合二为一,所以我认为这是不可能的,但我可能是错的。
这是正确的做法
https://docs.djangoproject.com/en/1.7/topics/i18n/translation/#joining-strings-string-concat
from django.utils.translation import string_concat
from django.utils.translation import ugettext_lazy
...
name = ugettext_lazy('John Lennon')
instrument = ugettext_lazy('guitar')
result = string_concat(name, ': ', instrument)
因为 django 1.11 string-concat
is deprecated, and format_lazy
应该改用
from django.utils.text import format_lazy
from django.utils.translation import ugettext_lazy
name = ugettext_lazy('John Lennon')
instrument = ugettext_lazy('guitar')
result = format_lazy('{} : {}', name, instrument)