軟體多語言

2021-05-22 14:28:09 字數 988 閱讀 6368

locale是指特定於某個國家或地區的一組設定,包括字符集,數字、貨幣、時間和日期的格式等。在windows中,每個locale可以用乙個32位數字表示,記作lcid。在winnt.h中可以看到lcid的組成。它的高16位表示字元的排序方法,一般為0。在它的低16位中,低10位是primary language的id,高4位指定sublanguage。sublanguage被用來區分同一種語言的不同編碼。下面是部分primary language和sublanguage的常數定義:

#define lang_chinese 0x04

#define lang_english 0x09

#define lang_french 0x0c

#define lang_german 0x07

#define sublang_chinese_traditional 0x01 // chinese (taiwan region)

#define sublang_chinese_simplified 0x02 // chinese (pr china)

#define sublang_english_us 0x01 // english (usa)

#define sublang_english_uk 0x02 // english (uk)

好,現在我們可以計算簡體中文的lcid了,將sublanguage的常數左移10位,即乘上1024,再加上primary language的常數:2*1024+4=2052,16進製制是0804。美國英語是:1*1024+9=1033,16進製制是0409。。正體中文是1*1024+4=1028,16進製制是0404。

在c#中應用多語言:

thread.currentthread.currentuiculture = new cultureinfo(2052);//1033 英文, 2057,1028 繁體, 2052中文

**如下:

static class program

else

}}

多語言切換

專案中應用到了多語言切換,鞏固一下。貼上 大家一起學習。廢話不多說直接上 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檔案,此...

ResourceProvider 多語言實現

1.在在web.config定義特定的culture和uiculture,如果應用自定義resource prodiver的話,加上resourceprovide ctorytype的設定 如 culture和uiculture也可以設定成auto,這樣就會取瀏覽器首選區域設定,dbresource...