在Blazor WASM应用程序中,如果资源键被显示出来而不是本地化的值,则可能是因为缺少本地化翻译文件或未正确设置定位服务。
解决此问题的解决方案如下:
首先,请确保已将适当的本地化翻译文件添加到您的应用程序中。例如,如果您希望支持英语和西班牙语,则需要为每种语言添加一个本地化文件。
确保在您的Startup.cs文件中正确注册了本地化服务。例如,以下代码将注册一个名为LocalizedStrings的本地化服务:
services.AddLocalization(opts => opts.ResourcesPath = "Resources");
services.Configure(options =>
{
var supportedCultures = new List
{
new CultureInfo("en-US"),
new CultureInfo("es-MX")
};
options.DefaultRequestCulture = new RequestCulture("en-US");
options.SupportedCultures = supportedCultures;
options.SupportedUICultures = supportedCultures;
});
确保您在使用资源字符串时使用正确的语言代码。例如,以下代码将从本地化文件中检索名为“Hello”、语言为“en-US”的字符串:
@Localizer["Hello"]
最后,请确保在浏览器的语言设置中选择了正确的语言。您可以在浏览器设置中更改默认语言或使用浏览器插件来模拟其他语言。
通过执行上述步骤,您的Blazor WASM应用程序应该能够正确本地化显示资源字符串。