2026-04-18 01:39:25 +02:00
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
2026-04-20 22:51:08 +02:00
|
|
|
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";
|
|
|
|
|
|
2026-04-20 22:51:08 +02:00
|
|
|
public static void Apply(DependencyObject? element)
|
2026-04-18 01:39:25 +02:00
|
|
|
{
|
2026-04-20 22:51:08 +02:00
|
|
|
if (element == null)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-18 01:39:25 +02:00
|
|
|
if (WinoApplication.Current.Services.GetRequiredService<IPreferencesService>().CurrentLanguage == AppLanguage.Chinese)
|
|
|
|
|
{
|
2026-04-20 22:51:08 +02:00
|
|
|
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
|
|
|
|
|
{
|
2026-04-20 22:51:08 +02:00
|
|
|
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
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|