Глобальные пользовательские ресурсы для нескольких языковых страниц .NET 8C#

Место общения программистов C#
Ответить
Anonymous
 Глобальные пользовательские ресурсы для нескольких языковых страниц .NET 8

Сообщение Anonymous »

Я создаю многоязычное приложение с использованием страниц Razor в .NET 8.0.
Я хочу использовать пользовательские файлы ресурсов для отображения на нескольких языках (например, WebUI.en-us. resx, WebUI.fr-fr.resx для отображения текста в формате .cshtml и WebMessage.en-us.resx, WebMessage.fr-fr.resx > для ответа на сообщение на сервере).
Но в настоящее время .NET 8 автоматически сопоставляет базу ресурсов с представлениями, как показано ниже, чтобы получить ресурс для страницы:
Изображение

Есть ли у кого-нибудь эффективный метод или решение использовать именно те файлы ресурсов, которые мне нужны на страницах Razor?
Спасибо всем!
Моя программа.cs:builder.Services.AddRazorPages(options =>
{
options.Conventions.AllowAnonymousToPage("/Login");
})
.AddMvcOptions(options =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
options.Filters.Add(new AuthorizeFilter(policy));
})
.AddMicrosoftIdentityUI()
.AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
.AddDataAnnotationsLocalization();

builder.Services.AddLocalization(options => options.ResourcesPath = "Resources");

var app = builder.Build();

var supportedCultures = new[] { new CultureInfo("en"), new CultureInfo("fr") };

app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture("en"),
SupportedCultures = supportedCultures,
SupportedUICultures = supportedCultures
});

Я попробовал использовать ChatGPT для решения, показанного здесь, но оно все равно не работает.
namespace YourNamespace
{
public class GlobalResources { }
public class Global2Resources { }
public class Global3Resources { }
}

@using Microsoft.Extensions.Localization
@inject IStringLocalizer Localizer1
@inject IStringLocalizer Localizer2

@Localizer1["Test"]
@Localizer2["AnotherTest"]


Подробнее здесь: https://stackoverflow.com/questions/791 ... ages-net-8
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»