conditions = []for i in range(1, 13): with different_locale('lt_LT'): conditions.append(calendar.month_name[i])試圖用我的母語“立陶宛語”獲得所有月份。代碼結果:['sausis', 'vasaris', 'kovas', 'balandis', 'gegut?', 'birtelis', 'liepa', 'rugpj?tis', 'rugs?jis', 'spalis', 'lapkritis', 'gruodis']預期結果:['sausis', 'vasaris', 'kovas', 'balandis', 'gegu??', 'bir?elis', 'liepa', 'rugpjūtis', 'rugs?jis', 'spalis', 'lapkritis', 'gruodis']還嘗試了“lt_LT.UTF-8”但得到了這些結果:'gegu???\x97', 'bir??elis'任何想法為什么?
1 回答

慕標琳琳
TA貢獻1830條經驗 獲得超9個贊
我建議使用 django 的translation.override
上下文管理器。這是一個文檔示例。
我在本地嘗試了以下腳本并返回了所需的結果。
import calendar
from django.utils import translation
from django.utils.translation import gettext as _
conditions = []
for i in range(1, 13):
with translation.override('lt_LT'):
conditions.append(_(calendar.month_name[i]))
輸出:
['sausis', 'vasaris', 'kovas', 'balandis', 'gegu\xc5\xbe\xc4\x97', 'bir\xc5\xbeelis', 'liepa', 'rugpj\xc5\xabtis', 'rugs\xc4\x97jis', 'spalis', 'lapkritis', 'gruodis']
如果你打印它們,它會產生:
sausis
vasaris
kovas
balandis
gegu??
bir?elis
liepa
rugpjūtis
rugs?jis
spalis
lapkritis
gruodis
添加回答
舉報
0/150
提交
取消