Files
mixtape/zero/Validation/German/ServiceCollectionExtensions.cs
T

45 lines
1.2 KiB
C#
Raw Normal View History

2024-10-29 14:07:23 +01:00
using FluentValidation;
using FluentValidation.Resources;
using Microsoft.AspNetCore.Identity;
using Microsoft.Extensions.DependencyInjection;
namespace zero.Validation;
public static class ServiceCollectionExtensions
{
2026-03-09 13:21:21 +01:00
public static void AddValidationLanguageExtensions(this IServiceCollection services)
2024-10-29 14:07:23 +01:00
{
2026-03-09 13:21:21 +01:00
ValidatorOptions.Global.LanguageManager.AddEnglishOverrides();
2024-10-29 14:07:23 +01:00
ValidatorOptions.Global.LanguageManager.AddGermanOverrides();
services.Replace<IdentityErrorDescriber, GermanIdentityErrorDescriber>(ServiceLifetime.Scoped);
}
static ILanguageManager AddGermanOverrides(this ILanguageManager manager)
{
if (manager is LanguageManager)
{
var lmanager = manager as LanguageManager;
foreach (var kvp in FluentValidationGermanLanguage.Translations)
{
lmanager.AddTranslation("de", kvp.Key, kvp.Value);
}
}
return manager;
}
2026-03-09 13:21:21 +01:00
static ILanguageManager AddEnglishOverrides(this ILanguageManager manager)
{
if (manager is LanguageManager)
{
var lmanager = manager as LanguageManager;
foreach (var kvp in FluentValidationEnglishLanguage.Translations)
{
lmanager.AddTranslation("en", kvp.Key, kvp.Value);
}
}
return manager;
}
2024-10-29 14:07:23 +01:00
}