Files
Wino-Mail/Wino.Mail.WinUI/Controls/MenuFlyoutLanguageHelper.cs
T

46 lines
1.4 KiB
C#
Raw Normal View History

2026-04-18 01:39:25 +02:00
using Microsoft.Extensions.DependencyInjection;
using Microsoft.UI.Xaml;
2026-04-18 01:39:25 +02:00
using Microsoft.UI.Xaml.Controls;
using Wino.Core.Domain.Enums;
using Wino.Core.Domain.Interfaces;
namespace Wino.Mail.WinUI.Controls;
internal static class MenuFlyoutLanguageHelper
{
private const string ChineseLanguageTag = "zh-CN";
public static void Apply(DependencyObject? element)
2026-04-18 01:39:25 +02:00
{
if (element == null)
{
return;
}
2026-04-18 01:39:25 +02:00
if (WinoApplication.Current.Services.GetRequiredService<IPreferencesService>().CurrentLanguage == AppLanguage.Chinese)
{
switch (element)
{
case MenuFlyoutItemBase menuFlyoutItem:
menuFlyoutItem.Language = ChineseLanguageTag;
break;
case FrameworkElement frameworkElement:
frameworkElement.Language = ChineseLanguageTag;
break;
}
2026-04-18 01:39:25 +02:00
}
else
{
switch (element)
{
case MenuFlyoutItemBase menuFlyoutItem:
menuFlyoutItem.ClearValue(MenuFlyoutItemBase.LanguageProperty);
break;
case FrameworkElement frameworkElement:
frameworkElement.ClearValue(FrameworkElement.LanguageProperty);
break;
}
2026-04-18 01:39:25 +02:00
}
}
}