using System.ComponentModel; namespace CursorLang.Core.Services; /// An interface language to choose from in the settings. /// The culture code: "ru", "en". /// The name in that very language. public sealed record LanguageOption(string Code, string DisplayName) { // Accessibility tools take the name of the list item from here public override string ToString() => DisplayName; } /// /// Provides the interface strings and can change the language without a restart. /// public interface ILocalizationService : INotifyPropertyChanged { /// The string for a resource key. Bindings update when the language changes. string this[string key] { get; } IReadOnlyList AvailableLanguages { get; } string CurrentLanguage { get; set; } }