人们。好的?
有人能帮我吗?带有.Net Framework的ASP.NET Core
主题:本地化
我根据文档进行了所有设置。
当我使用时:
IStringLocalizer<HomeController>
可以完美地翻译。
IStringLocalizer<Resources.Views.Shared.Test>
可以完美地翻译。
在视野中
@inject IViewLocalizer localizer
作品翻译正确。
但是,在所有以前的情况下,资源都是在ASP.NET CORE项目中创建的。
如果我创建一个单独的项目并使用:
IStringLocalizer<ClassLibrary1.Test>
不起作用,它不翻译。
它仅返回默认语言。
如果我在Controller的ASP.NET Core中强制执行代码:
ResourceManager rm = new ResourceManager(typeof(ClassLibrary1.Test));
string test = rm.GetString("Hello", new System.Globalization.CultureInfo("en-US"));
它翻译得不好。它仅返回默认语言。
也就是说,我怀疑这与在一个单独的项目中有关。
现在奇怪的是,我创建了另一个ClassLibrary并放置了代码:
string test = Test.ResourceManager.GetString("Hello", new System.Globalization.CultureInfo("en-US"));
如果我在ASP.NET CORE中引用此ClassLibrary,则返回的是标准语言,这是错误的。
如果我在Asp.Net中引用,它可以正常工作并翻译完美。
这将是一个已知的错误吗?
在asp.net核心中使用的类库中的某些特定配置?
我想象相同的代码应该在asp.net中作为.NET框架的核心asp.net都可以工作。
有人遇到过类似的问题吗?
问题解决了。
确定资源DLL未复制到ASP.NET Core项目。
只需手动复制即可解决所有问题。这是目前唯一的解决方案。
此处的详细信息:https : //github.com/aspnet/Mvc/issues/5219
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句