做多语言自适应的软件,在简体中文系统下显示简体中文的界面,在繁体中文系统下显示繁体中文的界面,在非中文系统下显示英文界面。
用 GetUserDefaultLangID 基本上可以。
如果使用中文WindowsXP中, 在"区域和语言选项"中,将区域设置为非中文的区域,会显示出英文界面。这样还算可以接受。
但是如果在英文WindowsXP中,将区域设置为"Chinese(PRC)", 则会显示出中文乱码的界面。这是不能接受的。请问,如何检测当前系统的语言,不要受区域设置的影响 ?

解决方案 »

  1.   

    字符内容统一用UNICODE来保存,这样可以显示中文的。
      

  2.   

    我知道Unicode可以显示中文。
    可是老外看不懂中文,显示出来有什么用呢。我只想知道,如果检测当前操作系统是什么语言的。
      

  3.   

    在英文windows中区域设置为中文当然应该显示中文界面, 这才是正常逻辑
      

  4.   

    请教楼上   字符内容统一用UNICODE来保存,这样可以显示中文的
    在delphi里怎么设置用 UNICODE ? 在哪个地方设置呀?
      

  5.   

    用记事本,可以把GB2312文档转为Unicode编码.
    然后需要的时候,用API显示Unicode串。
    也可使用 TNT 控件包
      

  6.   

    找到了。
    用GetOEMCP( )或GetACP( ), 返回 936=简体中文, 950=繁体中文