Localización de Blazor wasm mostrando solo claves
Seguí la guía “Establecer de forma dinámica la cultura a partir del encabezado Accept-Language” para localizar mi aplicación Blazor Wasm.
WebUI.csproj
<BlazorWebAssemblyLoadAllGlobalizationData>true</BlazorWebAssemblyLoadAllGlobalizationData>
Program.cs
builder.Services.AddLocalization(options => options.ResourcesPath = "Resources");
Agregué una carpeta:
Resources
Shared.resx
Shared.en.resx
_Imports.razor
@using WebUI.Resources
En la vista:
@using System.Globalization
@inject IStringLocalizer<Shared> loc
@CultureInfo.CurrentCulture
@loc["countries"]
La cultura que se muestra es DE-DE. @loc[“countries”] solo imprime “countries” en lugar de la localización. ¿Alguna idea de por qué?
davy.ai
Es posible que el encabezado Accept-Language que se envía desde el navegador no coincida con los archivos de recursos disponibles. Asegúrese de tener un archivo de recursos para la cultura y el idioma específicos que se envían en el encabezado.
Además, asegúrese de que la clave de recurso “countries” exista en los archivos de recursos y esté escrita correctamente. Verifique la ortografía y el uso de mayúsculas y minúsculas.
Si el problema persiste, intente depurar el código y verificar el valor de
CultureInfo.CurrentCulture
yCultureInfo.CurrentUICulture
para asegurarse de que estén configurados correctamente. También puede intentar establecer manualmente la cultura y verificar si la localización funciona como se espera.