speaklater是一個Python模塊,提供懶字符串翻譯 基本上,你得到的似乎是一個字符串,但每個值是基於調用您提供的評估時間變化值的對象。
例如,你可以有一個全球性的lazy_gettext函數返回一個字符串懶惰與當前設置的語言的價值。
例如:
>>>從speaklater進口make_lazy_string
>>> SVAL = u'Hello世界“
>>>字符串= make_lazy_string(拉姆達:SVAL)
這個懶惰的字符串將評估在SVAL變量的值。
>>>字符串
lu'Hello世界“
>>> unicode的(字符串)
u'Hello世界“
>>> string.upper()
u'HELLO WORLD“
如果您更改值,懶惰字符串將隨之改變:
>>> SVAL = u'Hallo世界報“
>>> string.upper()
u'HALLO WELT“
這是特別方便,當一個線程本地和gettext的翻譯或翻譯的字符串類型的字典組合:
>>>從speaklater進口make_lazy_gettext
>>>從線程本地進口
>>> L =本地()
>>> l.translations = {u'Yes':'賈'}
>>> lazy_gettext = make_lazy_gettext(拉姆達:l.translations.get)
>>>是= lazy_gettext(u'Yes“)
>>>打印是
JA
>>> l.translations [u'Yes'] = u'Si'
>>>打印是
思
懶惰的字符串是沒有真正的字符串,所以如果你通過這種字符串的函數的執行實例的檢查,它就會失敗。在這種情況下,你必須把它明確地轉換使用Unicode和/或字符串取決於什麼字符串類型的懶人字符串封裝。
檢查一個字符串是懶惰的,你可以使用is_lazy_string功能:
>>>從speaklater進口is_lazy_string
>>> is_lazy_string(u'yes“)
假
>>> is_lazy_string(是)
真正的
要求:
- 在Python中
評論沒有發現