ASP.NET Core MVC默认老挝语本地化设置无效问题求助
解决ASP.NET Core MVC默认老挝语本地化不生效的问题
核心问题:未启用请求本地化中间件
你的代码已完成本地化选项配置,但未将请求本地化中间件加入应用管道,导致默认语言设置无法生效。
修复步骤
1. 添加请求本地化中间件
在Program.cs的管道配置部分,于app.UseRouting()之后、app.UseAuthorization()之前插入以下代码:
var localizationOptions = app.Services.GetRequiredService<IOptions<RequestLocalizationOptions>>().Value; app.UseRequestLocalization(localizationOptions);
完整管道示例:
app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); // 启用请求本地化中间件 var localizationOptions = app.Services.GetRequiredService<IOptions<RequestLocalizationOptions>>().Value; app.UseRequestLocalization(localizationOptions); app.UseAuthorization(); app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}");
2. 验证资源文件配置
- 确保
Resources文件夹下存在SharedResource.lo-LA.resx文件,右键文件→属性,将生成操作设置为嵌入的资源。 - 资源文件命名需遵循规则:
[资源名称].[区域代码].resx,比如对应英语的SharedResource.en-US.resx、老挝语的SharedResource.lo-LA.resx。
3. 检查区域代码有效性
确认lo-LA为老挝语的正确区域代码,若.NET版本不支持该完整代码,可尝试简化为lo。
4. 测试默认本地化
启动应用后,未通过?culture=en-US这类查询参数指定语言时,应用应自动加载老挝语本地化内容,可通过页面上的DataAnnotations提示、视图文本验证生效情况。
内容的提问来源于stack exchange,提问作者Ratchanon Volty
相关产品推荐
相关产品推荐

