软件国际化的问题 C#得到当前windows系统的语言版本

本以为跟国际化无缘,不在软件的考虑范围内,没想到偶尔一个项目还是绕不开,小记一下
System.Globalization.CultureInfo.InstalledUICulture.Name       这是获得英文的区域码,也就是zh-cn的这种,需要找区域码字典对照。

System.Globalization.CultureInfo.InstalledUICulture.NativeName     区域码对应的名称,如:中文(中国)

int lcid = System.Globalization.CultureInfo.CurrentCulture.LCID;      得到语言的lcid;

 int lcid = System.Globalization.CultureInfo.CurrentCulture.LCID;
            //string nam = System.Globalization.CultureInfo.InstalledUICulture.Name;
            //string nam2 = System.Globalization.CultureInfo.InstalledUICulture.NativeName;
            if (lcid == 0x804 || lcid == 0xc04 || lcid == 0x1404 || lcid==0x1004 || lcid == 0x404)//中文、中文香港、中文澳门、中文新加坡、中文台湾
            {
                XXX.Chinese;
            }
            ///英语
            ///英语-澳大利亚
            ///英语-伯利兹
            ///英语-加拿大
            ///英语-加比勒
            ///英语-爱尔兰
            ///英语-牙买加
            ///英语-新西兰
            ///英语-菲律宾
            ///英语-南非
            ///英语-特立尼达和多巴哥
            ///英语-英国
            ///英语-美国
            ///英语-津巴布韦
            if(lcid ==0x0009  || lcid ==0x0C09   || lcid ==0x2809 || lcid ==0x1009 || 
               lcid == 0x2409|| lcid ==0x1809 || lcid ==0x2009 ||lcid ==0x1409 ||
               lcid ==0x3409 ||lcid ==0x1c09 ||lcid ==0x2c09 ||lcid ==0x0809 ||
               lcid ==0x0409 ||lcid ==0x3009)
            {
                XXX.English;
            }

微软国家语言代码表 – Language Locale ID LCID 对应表

 

posted @ 2023-10-08 17:54  boenotuch  阅读(243)  评论(0编辑  收藏  举报