From 400e097fa723f74d585fd5ef79ac195e63eb7846 Mon Sep 17 00:00:00 2001
From: DismissedLight <1686188646@qq.com>
Date: Mon, 20 Feb 2023 16:04:23 +0800
Subject: [PATCH] support language switch
---
src/Snap.Hutao/Snap.Hutao/App.xaml | 4 +-
.../Snap.Hutao/Control/BindingProxy.cs | 2 +-
.../Control/Image/CompositionImage.cs | 2 +-
.../Snap.Hutao/Control/Theme/ThemeHelper.cs | 2 +-
.../Snap.Hutao/Core/Caching/ImageCache.cs | 2 +-
.../Core/Database/DbSetExtension.cs | 2 +-
.../Core/Database/EnumerableExtension.cs | 2 +-
.../Snap.Hutao/Core/Database/ISelectable.cs | 2 +-
.../Core/Database/QueryableExtension.cs | 1 -
.../Annotation/InjectAs.cs | 3 +-
.../Annotation/InjectionAttribute.cs | 3 +-
.../DependencyInjection/IocConfiguration.cs | 7 ++
.../Core/ExpressionService/CastTo.cs | 2 +-
.../Core/IO/Bits/ProgressUpdateStatus.cs | 2 +-
.../Core/IO/DataTransfer/Clipboard.cs | 12 ++-
.../Snap.Hutao/Core/IO/StreamCopyState.cs | 31 +++++++
.../Snap.Hutao/Core/IO/StreamCopyWorker.cs | 57 +++++++++++++
.../Core/Json/Annotation/JsonSerializeType.cs | 3 +-
.../Snap.Hutao/Core/LifeCycle/Activation.cs | 20 ++---
.../Snap.Hutao/Core/Setting/Localization.cs | 23 ++++++
src/Snap.Hutao/Snap.Hutao/MainWindow.xaml | 18 +++--
.../Binding/AvatarProperty/AvatarProperty.cs | 35 +++++++-
.../AvatarProperty/ReliquarySubProperty.cs | 4 +-
.../Model/Binding/Gacha/TypedWishSummary.cs | 16 ----
.../Snap.Hutao/Model/Entity/SettingEntry.cs | 5 ++
.../Metadata/Converter/PropertyDescriptor.cs | 10 ++-
.../Resource/Localization/SH.Designer.cs | 54 +++++++++++++
.../Snap.Hutao/Resource/Localization/SH.resx | 18 +++++
.../Factory/SummaryFightPropertyMapHelper.cs | 63 ++++++++-------
.../Factory/SummaryReliquaryFactory.cs | 4 +-
.../Service/Game/Package/ItemOperationType.cs | 14 ++--
.../Service/Game/Package/PackageConverter.cs | 68 +++++++---------
.../Service/Game/RegistryInterop.cs | 6 +-
.../Service/User/UserOptionResult.cs | 3 +-
src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj | 8 +-
.../View/Control/SkillPivot.xaml.cs | 10 +--
.../View/Control/StatisticsCard.xaml | 14 +++-
.../Dialog/CommunityGameRecordDialog.xaml.cs | 1 -
.../View/Page/AvatarPropertyPage.xaml | 81 ++++++++++++-------
.../Snap.Hutao/View/Page/SettingPage.xaml | 60 ++++++++++----
.../View/Page/SpiralAbyssRecordPage.xaml | 2 +-
.../Snap.Hutao/View/Page/TestPage.xaml | 10 +++
src/Snap.Hutao/Snap.Hutao/View/UserView.xaml | 17 ++++
.../Snap.Hutao/View/WelcomeView.xaml | 26 +++---
.../ExperimentalFeaturesViewModel.cs | 5 +-
.../Snap.Hutao/ViewModel/SettingViewModel.cs | 39 ++++++++-
.../Snap.Hutao/ViewModel/TestViewModel.cs | 12 +++
.../Snap.Hutao/ViewModel/WelcomeViewModel.cs | 11 ++-
.../Web/Bridge/MiHoYoJSInterface.cs | 1 +
.../Snap.Hutao/Web/Enka/Model/Flat.cs | 2 +-
.../User/{UserClient2.cs => UserClient.cs} | 0
.../Snap.Hutao/Win32/StructMarshal.cs | 4 +-
52 files changed, 581 insertions(+), 222 deletions(-)
create mode 100644 src/Snap.Hutao/Snap.Hutao/Core/IO/StreamCopyState.cs
create mode 100644 src/Snap.Hutao/Snap.Hutao/Core/IO/StreamCopyWorker.cs
create mode 100644 src/Snap.Hutao/Snap.Hutao/Core/Setting/Localization.cs
rename src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Bbs/User/{UserClient2.cs => UserClient.cs} (100%)
diff --git a/src/Snap.Hutao/Snap.Hutao/App.xaml b/src/Snap.Hutao/Snap.Hutao/App.xaml
index 18b7670c..efe6ecc9 100644
--- a/src/Snap.Hutao/Snap.Hutao/App.xaml
+++ b/src/Snap.Hutao/Snap.Hutao/App.xaml
@@ -49,9 +49,11 @@
- https://hut.ao/features/mhy-account-switch.html#%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96-cookie
+ https://hut.ao/features/mhy-account-switch.html
https://hut.ao/statements/bug-report.html
https://github.com/HolographicHat/GetToken/releases/latest
+ https://translate.hut.ao
+ https://afdian.net/a/DismissedLight
https://static.snapgenshin.com/Bg/UI_ItemIcon_None.png
https://static.snapgenshin.com/Bg/UI_ImgSign_ItemIcon.png
diff --git a/src/Snap.Hutao/Snap.Hutao/Control/BindingProxy.cs b/src/Snap.Hutao/Snap.Hutao/Control/BindingProxy.cs
index 348ef545..2065e1eb 100644
--- a/src/Snap.Hutao/Snap.Hutao/Control/BindingProxy.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Control/BindingProxy.cs
@@ -12,7 +12,7 @@ namespace Snap.Hutao.Control;
/// when object is not used anymore.
///
[HighQuality]
-public class BindingProxy : DependencyObject
+internal sealed class BindingProxy : DependencyObject
{
private static readonly DependencyProperty DataContextProperty = Property.Depend