locale
為計算機上提供了國際化和本地化轉化的環境。
locale 的相關命令
在liunx中,可以通過命令locale檢視當前系統的語言環境。
locale -a 可以檢視系統支援的locale值
阿里雲訊息佇列使用中遇到的坑
不同語言環境,執行出的結果也是不同,在工作中呼叫阿里雲的訊息佇列,因為語言環境的問題頻頻報錯,除錯不通,甚是苦惱
發現這個地方報錯,才明白是時間格式問題。
因為我本地是zh_cn.utf-8,而伺服器上獲取的是thu, 24 nov 2016 07:01:59 gmt 格式
應該做出的措施是:
time_locale = locale.setlocale(locale.lc_time) #獲取當前系統語言格式
locale.setlocale(locale.lc_time, 'en_us') #將語言格式轉換為en_us
報錯**(將上面報錯行包裹)
locale.setlocale(locale.lc_time, time_locale) #將語言格式改變為原來格式,避免後面流程出現問題
import locale
def to_untime(self, time_string):
time_locale = locale.setlocale(locale.lc_time)
if time_locale.find('en') != 0 and time_locale != 'c':
locale.setlocale(locale.lc_time, 'en_us')
unixtime = time.strftime("%a, %d %b %y %h:%m:%s gmt", time.gmtime())
locale.setlocale(locale.lc_time, time_locale)
else:
unixtime = time.strftime("%a, %d %b %y %h:%m:%s gmt", time.gmtime())
return unixtime
我呢,就慘了點,找到了問題所在,偏偏伺服器種種原因,locale下不下來,只能另尋它路了。
想必下面這種low方法,你用不到,因為你沒有我慘,哈哈哈哈
weeks =
months =
week = time.strftime('%a', time.gmtime())
month = time.strftime('%m', time.gmtime())
if week in weeks:
w = weeks[week.strip()]
else:
w = week
mont = month.strip()
if mont in months:
m = months[mont]
else:
m = month
unixtime = time.strftime(w +', '+ "%d" + ' '+ m +' '+ "%y %h:%m:%s gmt", time.gmtime())
軟體多語言
locale是指特定於某個國家或地區的一組設定,包括字符集,數字 貨幣 時間和日期的格式等。在windows中,每個locale可以用乙個32位數字表示,記作lcid。在winnt.h中可以看到lcid的組成。它的高16位表示字元的排序方法,一般為0。在它的低16位中,低10位是primary la...
多語言切換
專案中應用到了多語言切換,鞏固一下。貼上 大家一起學習。廢話不多說直接上 1 新增多語言 在res values 下預設有個strings,需要多種語言就來建立幾個strings,values右鍵 new 乙個 values res file file name 就是strings director...
Qt 筆記 多語言
1 使用命令 lupdate no obsolete main.pro 作用 將main.pro檔案內的所有源程式檔案中的被tr 包裝的字串打包成.ts檔案,此檔案可以使用qt的qt linguist開啟並翻譯 2 使用命令 lrelease main.pro 作用 通過.ts檔案生成.qm檔案,此...