在ASP.NET Core 2.0视图中,我有以下内容:
@inject IViewLocalizer localizer;
<div>
@localizer["my message"]
</div>
这有效,字符串是翻译。
然后在我试过的一个应用程序类中:
public class MyClass {
public String Get(IStringLocalizer<MyClass> localizer) {
var l = localizer["my message"];
}
}
在这种情况下,字符串不会翻译,我会收到以下信息:
Name [string]: "my message"
ResourceNotFound [bool]: true
SearchedLocation [string]: null
Value [string]:"my message"
我错过了什么?
答案 0 :(得分:0)
应该通过构造函数注入将本地化程序作为显式依赖项注入到类中。
public class MyClass {
IStringLocalizer<MyClass> localizer;
public MyClass(IStringLocalizer<MyClass> localizer) {
this.localizer = localizer;
}
public string Get() {
return localizer["my message"];
}
}