Files
cursor-lang/CursorLang/Services/ILocalizationService.cs
T

26 lines
1.0 KiB
C#

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