Я не могу загрузить свои файлы ресурсов, или что-то еще мешает моему приложению загружать правильные значения.
Это из моего Startup.cs:
services.AddLocalization(opts => { opts.ResourcesPath = "Resources"; });
services.AddMvc()
.AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix,
opts => { opts.ResourcesPath = "Resources"; })
.AddDataAnnotationsLocalization();
services.Configure<RequestLocalizationOptions>(options =>
{
var supportedCultures = new[]
{
new CultureInfo("da-DK")
};
options.DefaultRequestCulture = new RequestCulture(culture: "da-DK",
uiCulture: "da-DK");
options.SupportedCultures = supportedCultures;
options.SupportedUICultures = supportedCultures;
});
И это от моего контроллера:
public class CustomerController : Controller
{
private readonly IHtmlLocalizer<CustomerController> _localizer;
public CustomerController(IHtmlLocalizer<CustomerController> localizer)
{
_localizer = localizer;
}
public IActionResult MyAccount()
{
string test = Language.MyAccount;
ViewData["Message"] = _localizer["MyAccount"];
return View();
}
Мои файлы ресурсов находятся в папке Resources в корне моего приложения и называются:
- Language.da-DK.resx
- Язык.resx
_localizer["MyAccount"]; Вернет строку "MyAccount", как будто ничего не нашел в локализации.
Language.MyAccount; вернет «Моя учетная запись», которая является значением по умолчанию. Никто не найдет мой датский перевод этого ключа.
Может ли кто-нибудь увидеть, что я делаю неправильно?
app.UseRequestLocalization(new RequestLocalizationOptions(...))
в началоStartup.Configure
? Мне кажется, это то, чего вам не хватает, поскольку с этим добавлением вам действительно не нужноservices.Configure<RequestLocalizationOptions>(...)
. - person Daniel J.G.   schedule 19.03.2017