feat(i18n): add CultureResolver for OS-culture mapping

This commit is contained in:
mika kuns
2026-06-03 11:39:20 +02:00
parent d22b50e171
commit d95d55e6b8
2 changed files with 35 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
namespace ClaudeDo.Localization;
public static class CultureResolver
{
public static string Resolve(string cultureName, IReadOnlyCollection<string> available, string fallback = "en")
{
if (string.IsNullOrWhiteSpace(cultureName)) return fallback;
var exact = available.FirstOrDefault(c => string.Equals(c, cultureName, StringComparison.OrdinalIgnoreCase));
if (exact is not null) return exact;
var primary = cultureName.Split('-')[0];
var byPrimary = available.FirstOrDefault(c => string.Equals(c, primary, StringComparison.OrdinalIgnoreCase));
return byPrimary ?? fallback;
}
}