我有一个单独的项目,其中.resx文件被编译成一个独立的DLL程序集,SomeNamespace.Localization。
在另一个也被有问题的ASP.NET网站使用的程序集中,我引用了一些资源:
htmlControl.InnerText = SomeNamespace.Localization.ErrorMessages.PleaseFillDate
在相关页面上,有一个InitilizeCulture()方法:
Protected Overrides Sub InitializeCulture()
Thread.CurrentThread.CurrentUICulture = New CultureInfo("fr-FR", False)
Thread.CurrentThread.CurrentCulture = New CultureInfo("fr-FR", False)
Page.Culture = "fr-FR"
Page.UICulture = "fr-FR"
End Sub
当我将文化改变为其他文化时,一切都在当地工作得很好。但是在服务器上,字符串始终采用后备语言。我也尝试在web.config文件中设置应用程序文化,但没有成功。
当我在引用外部资源的行之前输出UICulture时,它会显示正确的语言:
HttpContext.Current.Trace.Write(Thread.CurrentThread.CurrentUICulture.Name) ' fr-FR
请帮助我,如何在使用外部程序集中的资源时设置文化?
非常感谢!
答案 0 :(得分:0)
您是否已将位于“fr-FR”文件夹中的本地化资源DLL复制到服务器? (他们的名字以.resources.dll结尾)?