gpt4 book ai didi

Django:在编写翻译字符串时保持延迟翻译

转载 作者:行者123 更新时间:2023-12-04 15:03:07 25 4
gpt4 key购买 nike

在 Django 中,我很高兴使用 ugettext_lazy仅在需要表示时才推迟字符串的翻译。

问题是,当我将一个惰性字符串连接到一个普通字符串或者当我使用它的方法(例如 capitalize() )时,该字符串被评估并且我失去了惰性翻译。

例如。

label = ugettext_lazy('my label')   #This is lazy
label_concat = label + ' some other string' #'label_concat' contains transalted 'label'
label_cap = label.capitalize() #'label_cap' contains transalted 'label'

#Set language
...

print label #Translated
print label_cap #Not translated

我知道这是 Django 的正常行为,但我想知道是否有人解决了这个问题。

最佳答案

对于连接,您可以使用 string_concat (最高 1.10)/ format_lazy (从 1.11 开始)它创建了一个惰性对象

如果你想实现懒惰 capitalize , 使用 django.utils.functional.lazy装饰器。见 string_concat implementation .

关于Django:在编写翻译字符串时保持延迟翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8068352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com