Я работаю над проектом локализации и застрял в середине при попытке прочитать значения из файла ресурсов.
Я выполнил все конфигурации, как показано ниже.
Настройка локализации:
var supportedCultures = new List<CultureInfo>
{
new CultureInfo("en-US"),
new CultureInfo("de-DE"),
new CultureInfo("fr-FR")
};
services.Configure<RequestLocalizationOptions>(options =>
{
options.DefaultRequestCulture = new RequestCulture(supportedCultures[0]);
options.SupportedCultures = supportedCultures;
options.RequestCultureProviders.Insert(0, new CustomerCultureProvider());
})
Настройка промежуточного программного обеспечения ASP.NET Core
app.UseRequestLocalization();
Поставщик пользовательского языка для обработки запросов
public class CustomerCultureProvider : RequestCultureProvider
{
public override async Task<ProviderCultureResult> DetermineProviderCultureResult(HttpContext httpContext)
{
await Task.Yield();
return new ProviderCultureResult("de-DE");
}
}
Ниже приведена структура моего проекта:
Я пытаюсь прочитать ключ ресурса "Имя" в конечной точке API, как показано ниже:
[HttpGet]
public ActionResult<IEnumerable<string>> Get()
{
var name = Employees.Name;
return new string[] { name };
}
Если я установлю de-DF культуры, я должен получить переведенный на немецкий язык текст, но он не дает ожидаемого результата.
Мой вопрос, как мы можем получить ключи на основе культуры, которую мы установили взапускать?и Как я могу установить путь к ресурсам в качестве файлов ресурсов в другом проекте?