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;
}
}