namespace StellaOps.Notifier.WebService.Contracts;
///
/// Request to create/update a localization bundle.
///
public sealed record LocalizationBundleUpsertRequest
{
public string? Locale { get; init; }
public string? BundleKey { get; init; }
public IReadOnlyDictionary? Strings { get; init; }
public bool? IsDefault { get; init; }
public string? ParentLocale { get; init; }
public string? Description { get; init; }
public IReadOnlyDictionary? Metadata { get; init; }
}
///
/// Request to resolve localized strings.
///
public sealed record LocalizationResolveRequest
{
public string? BundleKey { get; init; }
public IReadOnlyList? StringKeys { get; init; }
public string? Locale { get; init; }
}
///
/// Response containing resolved localized strings.
///
public sealed record LocalizationResolveResponse
{
public required IReadOnlyDictionary Strings { get; init; }
public required string RequestedLocale { get; init; }
public required IReadOnlyList FallbackChain { get; init; }
}
///
/// Result for a single localized string.
///
public sealed record LocalizedStringResult
{
public required string Value { get; init; }
public required string ResolvedLocale { get; init; }
public required bool UsedFallback { get; init; }
}