< Summary

Information
Class: Intentum.Runtime.Localization.DefaultLocalizer
Assembly: Intentum.Runtime
File(s): /home/runner/work/Intentum/Intentum/src/Intentum.Runtime/Localization/DefaultLocalizer.cs
Line coverage
100%
Covered lines: 29
Uncovered lines: 0
Coverable lines: 29
Total lines: 42
Line coverage: 100%
Branch coverage
100%
Covered branches: 4
Total branches: 4
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
.ctor(...)100%22100%
Get(...)100%22100%
English()100%11100%
Turkish()100%11100%

File(s)

/home/runner/work/Intentum/Intentum/src/Intentum.Runtime/Localization/DefaultLocalizer.cs

#LineLine coverage
 1namespace Intentum.Runtime.Localization;
 2
 3public sealed class DefaultLocalizer : IIntentumLocalizer
 4{
 5    private readonly Dictionary<string, string> _map;
 6
 107    public DefaultLocalizer(string languageCode = "en")
 108    {
 109        _map = languageCode.ToLowerInvariant() switch
 1010        {
 211            "tr" => Turkish(),
 812            _ => English()
 1013        };
 1014    }
 15
 16    public string Get(string key)
 2817        => _map.TryGetValue(key, out var value) ? value : key;
 18
 19    private static Dictionary<string, string> English()
 820        => new Dictionary<string, string>
 821        {
 822            { LocalizationKeys.DecisionAllow, "Allow" },
 823            { LocalizationKeys.DecisionObserve, "Observe" },
 824            { LocalizationKeys.DecisionWarn, "Warn" },
 825            { LocalizationKeys.DecisionBlock, "Block" },
 826            { LocalizationKeys.DecisionEscalate, "Escalate" },
 827            { LocalizationKeys.DecisionRequireAuth, "Require Authentication" },
 828            { LocalizationKeys.DecisionRateLimit, "Rate Limit" }
 829        };
 30
 31    private static Dictionary<string, string> Turkish()
 232        => new Dictionary<string, string>
 233        {
 234            { LocalizationKeys.DecisionAllow, "İzin Ver" },
 235            { LocalizationKeys.DecisionObserve, "İzle" },
 236            { LocalizationKeys.DecisionWarn, "Uyar" },
 237            { LocalizationKeys.DecisionBlock, "Engelle" },
 238            { LocalizationKeys.DecisionEscalate, "Yükselt" },
 239            { LocalizationKeys.DecisionRequireAuth, "Kimlik Doğrulama Gerekli" },
 240            { LocalizationKeys.DecisionRateLimit, "Hız Sınırı" }
 241        };
 42}