init project

This commit is contained in:
Maxime Adler
2025-02-15 20:18:07 +01:00
parent f04d3eacd4
commit 2ed5f80fb1
77 changed files with 60563 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
using System.Globalization;
using System.Text.Json;
namespace ArgosV2.Resources;
public class TranslationService
{
private readonly Dictionary<string, Dictionary<string, string>?> _translations = new();
public void Initialize(Dictionary<string, string> translations)
{
foreach (var translation in translations)
{
var json = JsonSerializer.Deserialize<Dictionary<string, string>>(translation.Value);
_translations[translation.Key] = json;
}
}
public string Translate(string key, string? culture = "fr")
{
culture ??= CultureInfo.CurrentCulture.TwoLetterISOLanguageName;
if (_translations.TryGetValue(culture, out var value) && value?.TryGetValue(key, out var translate) == true)
return translate;
return key; // Fallback to key if translation is missing
}
}