Closed skylee03 closed 1 month ago
上报前请检查
操作系统信息
描述遇到的问题
Windows 顯示語言爲「中文(繁體,台灣)」且排序方式爲「部首/筆劃」,小狼毫輸入法界面語言爲英文。
复现步骤
將 Windows 顯示語言設爲「中文(繁體,台灣)」,並在「地區格式」中將「排序方法」設爲「部首/筆劃」。
预期行为
小狼毫顯示繁體中文界面。
截图
其他补充说明
根據 MS-LCID,一個 LCID 的結構如下:
由於 LCID 包含 Sort ID,而我所設置的排序方式並非中文(台灣)的默認排序方式, GetUserDefaultLCID() 所獲取到的 LCID 爲 263172 (0x00040404) 而非 1028 (0x00000404)。
GetUserDefaultLCID()
該問題曾於 #1288 評論區提及。由於該問題與原 issue 並非同一問題,故單獨提出 issue。
建議修改
獲取系統語言的代碼可考慮改爲 GetUserDefaultLCID() & 0xFFFF 或使用其他 API。
GetUserDefaultLCID() & 0xFFFF
相關 API 在我電腦上得到的結果如下:
GetUserDefaultUILanguage: 1028 GetSystemDefaultUILanguage: 1028 GetUserDefaultLangID: 1028 GetSystemDefaultLangID: 1028 GetUserDefaultLCID: 263172 GetSystemDefaultLCID: 1028
很细致,刚也看到MS-LCID那份资料
@ccyybn 可以看看这个
裝上了最新的 artifact,問題已被修復。感謝 @fxliang 和 @ccyybn!
上报前请检查
操作系统信息
描述遇到的问题
Windows 顯示語言爲「中文(繁體,台灣)」且排序方式爲「部首/筆劃」,小狼毫輸入法界面語言爲英文。
复现步骤
將 Windows 顯示語言設爲「中文(繁體,台灣)」,並在「地區格式」中將「排序方法」設爲「部首/筆劃」。
预期行为
小狼毫顯示繁體中文界面。
截图
其他补充说明
根據 MS-LCID,一個 LCID 的結構如下:
由於 LCID 包含 Sort ID,而我所設置的排序方式並非中文(台灣)的默認排序方式,
GetUserDefaultLCID()
所獲取到的 LCID 爲 263172 (0x00040404) 而非 1028 (0x00000404)。該問題曾於 #1288 評論區提及。由於該問題與原 issue 並非同一問題,故單獨提出 issue。
建議修改
獲取系統語言的代碼可考慮改爲
GetUserDefaultLCID() & 0xFFFF
或使用其他 API。相關 API 在我電腦上得到的結果如下: