You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Blazor Server中MudBlazor数据网格资源文件本地化失败排查

MudBlazor数据网格筛选项本地化失效的排查与解决

以下是针对你遇到的问题的排查点和解决步骤:

  • 检查资源文件的生成操作配置
    右键点击MudResources.resx和MudResources.fa-IR.resx,选择「属性」:

    • 确保「生成操作」设置为Embedded Resource
    • 「自定义工具」留空(.NET Core/5+ 无需旧版ResXFileCodeGenerator,IStringLocalizer会直接读取嵌入式资源)
  • 补充本地化服务的基础注册
    在Program.cs中,除了注册MudLocalizer,还需要添加本地化服务的核心配置:

    // 添加本地化服务
    builder.Services.AddLocalization(options => options.ResourcesPath = "Resources"); // 若资源文件放在Resources文件夹下,否则可省略此参数
    
    // 配置支持的文化
    var supportedCultures = new[] { "en-US", "fa-IR" };
    var localizationOptions = new RequestLocalizationOptions()
        .SetDefaultCulture("fa-IR")
        .AddSupportedCultures(supportedCultures)
        .AddSupportedUICultures(supportedCultures);
    
    app.UseRequestLocalization(localizationOptions);
    
  • 确认资源键与MudBlazor的要求匹配
    MudBlazor的数据网格筛选项使用特定的本地化键,你需要确保MudResources.fa-IR.resx中包含以下关键键值(示例为波斯语翻译,可按需调整):

    键名波斯语示例
    datagrid_filter_applyاعمال
    datagrid_filter_clearپاک کردن
    datagrid_filter_containsشامل می‌شود
    datagrid_filter_equalمساوی
    datagrid_filter_greaterthanبزرگتر از
    datagrid_filter_lessthanکوچکتر از
    datagrid_filter_isnullخالی است
    datagrid_filter_isnotnullخالی نیست
  • 验证本地化服务的注入与覆盖顺序
    确保服务注册顺序正确(先添加本地化服务,再注册自定义MudLocalizer):

    // 先添加本地化服务
    builder.Services.AddLocalization();
    // 再注册自定义MudLocalizer
    builder.Services.AddTransient<MudLocalizer, ResXMudLocalizer>();
    // 最后注册MudBlazor服务
    builder.Services.AddMudServices();
    
  • 清理缓存并重建项目
    手动删除项目根目录下的bin和obj文件夹,重启IDE后重新构建并运行项目,避免旧资源文件的缓存影响。

内容的提问来源于stack exchange,提问作者Amir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 23:06:20