我正在嘗試在 MS Windows 上運行的 C 程式中使用 GNU gettext。我設法設定語言環境,例如
char *locale = setlocale(LC_ALL, "French_France.1252");
我檢查了回傳的字串,所以我知道它花了。
然后我將環境設定為
textdomain("Test");
bindtextdomain("Test", "C:\\develop\\test\\executablesdebug\\Language\\");
然后我做一個實驗性的翻譯,比如
char *test = gettext("Hello world");
翻譯后的字串得到瑞典語翻譯(作業系統設定),而不是我想要的法語字串。
uj5u.com熱心網友回復:
據我所知,在 Windows 中,您還必須使用設定執行緒區域設定SetThreadLocale(您必須映射到區域設定 ID,看看這個網頁)。
最后,考慮到在 Windows 中每個執行緒都有自己的語言環境;使用翻譯為所有執行緒設定它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/434587.html
