using System.ComponentModel; namespace CursorLang.Services; /// Язык интерфейса для выбора в настройках. /// Код культуры: «ru», «en». /// Название на самом этом языке. public sealed record LanguageOption(string Code, string DisplayName) { // Средства доступности берут имя элемента списка отсюда public override string ToString() => DisplayName; } /// /// Даёт строки интерфейса и умеет менять язык без перезапуска. /// public interface ILocalizationService : INotifyPropertyChanged { /// Строка по ключу ресурса. Привязки обновляются при смене языка. string this[string key] { get; } IReadOnlyList AvailableLanguages { get; } string CurrentLanguage { get; set; } }