【发布时间】:2018-03-04 01:37:41
【问题描述】:
如何进行本地化以从正确的 resx 文件中提取值?
我有两个文件,一个是英文的,另一个是捷克语的:
快速预览其内容:
我正在尝试切换文化/本地化。我确实相信文化正在被设定。但是,它仍然没有使用cs-CZ 文件:
Dim value = InnerNode.InnerText
Dim cultures() As String = {"cs-CZ"}
Dim rnd As New Random()
Dim cultureNdx As Integer = rnd.Next(0, cultures.Length)
Dim originalCulture As CultureInfo = Thread.CurrentThread.CurrentCulture
Dim newCulture As New CultureInfo(cultures(cultureNdx))
Thread.CurrentThread.CurrentCulture = newCulture
Thread.CurrentThread.CurrentUICulture = newCulture
Dim currentLanguageValue = My.Resources.GlobalStrings.ResourceManager.GetString(value)
我们知道现在的文化确实是cs-CZ:
我们看到currentLanguageValue的值应该是Mandl:
但它是Almond - 这意味着它根本无法识别 GlobalStrings.cs-CZ.resx 文件。
我做错了什么,如何让它识别捷克资源文件?
【问题讨论】:
-
如果您使用采用 CultureInfo 的
GetString的重载,您能否检索到预期值? -
也试过这个
Dim culture = ConfigurationManager.AppSettings.GetValues("culture").ToString
标签: .net vb.net localization visual-studio-2017 globalization