4
我正在開發跨平臺的C++應用程序。它是多語言的,必須以usera語言顯示所有消息。爲了檢測我使用setlocale(LC_ALL,「」)調用的語言環境。它返回當前的語言和國家,例如我的情況下爲「ru_RU.UTF-8」。Mac OS X中的setlocale不起作用
當我從終端啓動我的應用程序時,在MacOS 10.9.1中一切正常運行。當我從Finder運行我的應用程序時,setlocale總是返回默認語言環境(「C」)。我懷疑這是因爲LANG環境變量不是由Finder設置的。
在C++應用程序的MacOS X下檢測用戶區域設置的正確方法是什麼?
您可以使用CoreFoundation等價物CFLocale。 – rdb