我设法在运行时转换了WPF应用程序,但是.resx中的字符串无法转换。
我有一个Login.resx和Login-pt.resx,它们都有一个具有不同值的“ prueba”条目,但它们始终加载默认的resx(Login.resx)。
Private Sub btnAr_Click (sender As System.Object, e As System.EventArgs) Handles btnAr.Click
Thread.CurrentThread.CurrentCulture =
CultureInfo.CreateSpecificCulture("es-AR")
Thread.CurrentThread.CurrentUICulture = New CultureInfo("es-AR")
ChangeLanguage("es-AR")
MessageBox.Show(Login.Prueba)
End Sub
Private Sub btnPt_Click(sender As System.Object, e As System.EventArgs) Handles btnPt.Click
Thread.CurrentThread.CurrentCulture =
CultureInfo.CreateSpecificCulture("pt-BR")
Thread.CurrentThread.CurrentUICulture = New CultureInfo("pt-BR")
ChangeLanguage("pt-BR")
MessageBox.Show(Login.Prueba)
End Sub
Private Sub ChangeLanguage(ByVal lang As String)
For Each c As Control In Me.Controls
Dim resources As ComponentResourceManager = New ComponentResourceManager(GetType(LoginUsuario))
resources.ApplyResources(c, c.Name, New CultureInfo(lang))
Next c
End Sub
谢谢!
我认为您的资源名称Login-pt.resx是错误的。它应该是Login.pt.resx或Login.pt-BR.resx。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句