I would like to change the language used in the labels of the filters of the DataGrid. By default the labels are in English and I would like to have them in German.
I have tried to change the general language of the application in the programme.cs
with this line:
app.UseRequestLocalization("de");
i got solver!!!
1 - 1 Update your version of Mudblazor
2 - put the following line in program.cs
builder.Services.AddTransient<MudLocalizer, CustomMudLocalizerImpl>();
3 - Create a class named CustomMudLocalizerImpl and paste the following code:
using Microsoft.Extensions.Localization;
using MudBlazor;
internal class CustomMudLocalizerImpl : MudLocalizer
{
private Dictionary<string, string> _localization;
public CustomMudLocalizerImpl()
{
_localization = new()
{
{ "MudDataGrid.AddFilter", "Adicionar filtro" },
{ "MudDataGrid.Apply", "Aplicar" },
{ "MudDataGrid.Cancel", "Cancelar" },
{ "MudDataGrid.Clear", "Limpar" },
{ "MudDataGrid.CollapseAllGroups", "Recolher todos os grupos" },
{ "MudDataGrid.Column", "Coluna" },
{ "MudDataGrid.Columns", "Colunas" },
{ "MudDataGrid.contains", "Contem" },
{ "MudDataGrid.ends with", "Termina com" },
{ "MudDataGrid.equals", "Igual" },
{ "MudDataGrid.ExpandAllGroups", "Expandir todos os grupos" },
{ "MudDataGrid.Filter", "Filtro" },
{ "MudDataGrid.False", "Falso" },
{ "MudDataGrid.FilterValue", "Valor filtro" },
{ "MudDataGrid.Group", "Grupo" },
{ "MudDataGrid.Hide", "Esconder" },
{ "MudDataGrid.HideAll", "Esconder todos" },
{ "MudDataGrid.is", "é" },
{ "MudDataGrid.is after", "é após" },
{ "MudDataGrid.is before", "é antes" },
{ "MudDataGrid.is empty", "é vazio" },
{ "MudDataGrid.is not", "Não é" },
{ "MudDataGrid.is not empty", "Não é vazio" },
{ "MudDataGrid.is on or after", "está ligado ou após" },
{ "MudDataGrid.is on or before", "está ligado ou antes" },
{ "MudDataGrid.not contains", "não contém" },
{ "MudDataGrid.not equals", "não é igual" },
{ "MudDataGrid.Operator", "Operador" },
{ "MudDataGrid.RefreshData", "Atualizar dados" },
{ "MudDataGrid.Save", "Salvar" },
{ "MudDataGrid.ShowAll", "Mostrar tudo" },
{ "MudDataGrid.starts with", "Começa com" },
{ "MudDataGrid.True", "Verdadeiro" },
{ "MudDataGrid.Ungroup", "Desagrupar" },
{ "MudDataGrid.Unsort", "Ordenar" },
{ "MudDataGrid.Value", "Valor" }
};
}
public override LocalizedString this[string key]
{
get
{
var currentCulture = Thread.CurrentThread.CurrentUICulture.Parent.TwoLetterISOLanguageName;
if (currentCulture.Equals("pt", StringComparison.InvariantCultureIgnoreCase)
&& _localization.TryGetValue(key, out var res))
{
return new(key, res);
}
else
{
return new(key, key, true);
}
}
}
}
4 - Translate and place your "culture",You can put a breakpoint and see the translation, the moment you click on the filter