亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 'different_locale' 錯誤的語言環境轉換

Python 'different_locale' 錯誤的語言環境轉換

三國紛爭 2022-12-20 15:33:24
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


查看完整回答
反對 回復 2022-12-20
  • 1 回答
  • 0 關注
  • 106 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號