gunaaa Ответов: 0

Blazor server app - локализация не работает


Я создал простую страницу razor и реализовал функциональность локализации. Но это не работает для меня.

Что я уже пробовал:

Автозагрузки.в CS:
public void ConfigureServices(IServiceCollection services)
{
    services.AddRazorPages();
    services.AddServerSideBlazor();
    
    services.AddLocalization(options => { options.ResourcesPath = "Resources"; });
    var supportedCultures = new List<CultureInfo> { new CultureInfo("en"), new CultureInfo("de") };
    services.Configure<RequestLocalizationOptions>(options =>
    {
        options.DefaultRequestCulture = new Microsoft.AspNetCore.Localization.RequestCulture("en");
        options.SupportedUICultures = supportedCultures;
    });
}

// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Error");
        // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
        app.UseHsts();
    }

    app.UseHttpsRedirection();
    app.UseStaticFiles();
    app.UseRequestLocalization();
    app.UseRouting();

    app.ApplicationServices
        .UseBootstrapProviders()
        .UseFontAwesomeIcons();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapRazorPages();
        endpoints.MapBlazorHub();
        endpoints.MapFallbackToPage("/_Host");
    });
}

Локализации.бритва:
@page "/" @using Microsoft.Extensions.Localization

@localizer["Title"]
@localizer["Content"]

@code { [Inject] public Microsoft.Extensions.Localization.IStringLocalizer localizer { get; set; } }

Локализации.resx файл:
Name    Value
Title   Localization
Content Welcome to localization page

Результат:
Я не получаю значение файла ресурсов, вместо этого я получаю только заголовок и контент на странице локализации razor.

Пожалуйста, сделайте необходимое.

0 Ответов