namespace Enmarcha.Backend.Data.Models; /// /// A translatable string that can be stored in the database as a single JSON column. /// Keys are ISO language codes (e.g., "es", "gl", "en"). /// public class TranslatedString : Dictionary { public TranslatedString() : base() { } public TranslatedString(IDictionary dictionary) : base(dictionary) { } /// /// Gets the translation for the specified language, or a fallback if not found. /// public string Get(string lang, string fallback = "es") { if (TryGetValue(lang, out var value)) return value; if (TryGetValue(fallback, out var fallbackValue)) return fallbackValue; return Values.FirstOrDefault() ?? string.Empty; } }