Ami*_*mir 6 datagrid localization resx mudblazor
我正在尝试使用资源文件本地化 MudBlazor 数据网格。但数据网格过滤项仍以英文显示。
据此我添加了以下课程:
using Microsoft.Extensions.Localization;
using MudBlazor;
internal class ResXMudLocalizer : MudLocalizer
{
private IStringLocalizer _localization;
public ResXMudLocalizer(IStringLocalizer<MudResources> localizer)
{
_localization = localizer;
}
public override LocalizedString this[string key] => _localization[key];
}
Run Code Online (Sandbox Code Playgroud)
并将以下内容添加到 Program.cs
builder.Services.AddTransient<MudLocalizer, ResXMudLocalizer>();
Run Code Online (Sandbox Code Playgroud)
我已确保 CurrentUICulture 是“fa-IR”。我制作了两个名为“MudResources.resx”和“MudResources.fa-IR.resx”的 Resx 文件,并将本地化字符串放入其中。
但数据网格仍然显示英文单词。
我做错了什么或者错过了什么吗?
小智 0
这对我有用:
\n第一步:创建一个类:
\nusing Microsoft.Extensions.Localization;\nusing MudBlazor;\n\nnamespace PortalApp\n{\n public class MudBlazorLocalization : MudLocalizer\n {\n private Dictionary<string, string> _localization;\n\n public MudBlazorLocalization()\n {\n _localization = new()\n {\n { "MudDataGrid.is empty", "est\xc3\xa1 vac\xc3\xado" },\n { "MudDataGrid.is not empty", "no esta vac\xc3\xado" },\n { "MudDataGrid.contains", "contiene" },\n { "MudDataGrid.not contains", "no contiene" },\n { "MudDataGrid.Unsort","Sin ordenar" }\n };\n }\n\n public override LocalizedString this[string key]\n {\n get\n {\n if (_localization.TryGetValue(key, out var res))\n {\n return new(key, res);\n }\n else\n {\n return new(key, key, true);\n }\n }\n }\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n步骤2:将以下内容添加到Program.cs中
\nbuilder.Services.AddMudServices();\nbuilder.Services.AddTransient<MudLocalizer, MudBlazorLocalization>();\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
186 次 |
| 最近记录: |