http://bugs.winehq.org/show_bug.cgi?id=33447
--- Comment #13 from Qian Hong fracting@gmail.com 2013-04-24 13:54:59 CDT --- Hello,
In dlls/kernel32/locale.c:LOCALE_Init() line 3240:
between #ifdef __APPLE__ and #endif: parse_locale_name( buffer, &locale_name );
On Simplified Chinese MacOS, buffer is "zh_Hans", here 'zh' means ‘中’,Han means ‘汉’, ‘s’ means ‘Simplified’. For Traditional Chinese MacOS, the similar string should be "zh_Hant". Currently parse_locale_name() doesn't have knowledge about "zh_Hans" or "zh_Hant", it only know "zh-CN"/"zh-TW"/etc.
As result, parse_locale_name incorrectly set locale_name.lcid to 0x404, that's Traditional Chinese's LCID. That is why GetSystemDefaultLangID() returns 0x804 (Simplified Chinese) while GetUserDefaultLangID() returns 0x404. Currently we choose default GUI language depends on GetUserDefaultLangID(), so Wine GUI on Mac display Traditional Chinese even on Simplified Chinese host system.
I'll try to write a fix for it.
Cheers.