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

rgb*_*rgb 5 .net c# globalization

假设我有 3 个 LCID:

\n\n
    \n
  • 2057 - 英语(英国)
  • \n
  • 1034 - 西班牙语(西班牙)
  • \n
  • 1045 - 波兰语(波兰)
  • \n
\n\n

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

\n\n
    \n
  • 第2057章——安吉尔斯基(Wielka Brytania)
  • \n
  • 1034 - Hiszpa\xc5\x84ski(西班牙)
  • \n
  • 1045 - Polski(波兰)
  • \n
\n\n

财产NativeName并不能解决我的问题。

\n

Pan*_*vos 1

我已经发布了这个重复问题的链接。简而言之,语言名称是 .NET 资源。如果您需要本地化版本,则需要安装适当的语言包。

不同的框架有不同的语言包,例如4.54.5.2。下载前您需要选择合适的语言版本。

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

请注意,这会影响所有可本地化的框架资源,包括异常消息,例如File not found