我對本地化編程相當陌生,我試圖找出如何爲新啓動的非託管C++應用程序(從應用程序內)設置適當的初始語言環境。據我所知,新的應用程序從C語言環境開始,而不是適當的區域語言環境(英語,德語等)。所以我需要做的是打電話setlocale(LC_ALL, "???")
,但我不知道如何獲得第二個參數的正確值。它會像「英語」或「德語:德國」 - 基本上是用戶通過區域和語言選項控制面板設置的任何區域設置。只是要清楚,我是而不是尋找如何格式化區域設置字符串,我正在尋找運行該應用程序的計算機正確的區域設置字符串。如何在Windows上爲C++程序設置正確的初始語言環境?
我猜測,有一些Win32 API會給我這個,或者可能是一個包含正確值的註冊表項。有人知道我應該做什麼嗎?
大,這正是我需要的。看起來您也可以將給定C++語言環境的name()傳遞給setlocale(),以便設置C語言環境。 – Charlie 2009-02-21 01:53:58