如何从C#中的lcid获取当前线程语言的语言名称

假设我有3个LCID:

> 2057 – 英语(英国)
> 1034 – 西班牙语(西班牙)
> 1045 – 波兰语(波兰)

如何检索当前UI线程语言的语言名称,例如波兰语我预期:

> 2057年 – Angielski(Wielka Brytania)
> 1034 – Hiszpański(Hiszpania)
> 1045 – Polski(Polska)

属性NativeName不是我的问题的解决方案.

最佳答案 我已经发布了这个
duplicate question的链接.简而言之,语言名称是.NET资源.如果需要本地化版本,则需要安装相应的语言包.

不同的框架有不同的语言包,例如4.5,4.5.2.您需要在下载之前选择适当的语言版本.

返回资源的语言由调用线程的Thread.CurrentUICulture属性确定.这设置为与当前OS用户的UI语言设置相匹配,因此您可能不需要更改代码中的任何内容.

请注意,这会影响所有可本地化的框架资源,包括未找到文件等异常消息

点赞