From 1df22e5b7589199fc9e6c36160b39eda9ea9e15c Mon Sep 17 00:00:00 2001 From: DismissedLight <1686188646@qq.com> Date: Tue, 7 Feb 2023 14:44:36 +0800 Subject: [PATCH] fix L10n issues --- .../Binding/Gacha/Abstraction/WishBase.cs | 2 +- .../Model/Binding/Gacha/TypedWishSummary.cs | 12 ++-- .../Resource/Localization/SH.Designer.cs | 63 +++++++++++++++++++ .../Snap.Hutao/Resource/Localization/SH.resx | 21 +++++++ .../Service/GachaLog/GachaLogService.cs | 6 +- ...cs => GachaLogQueryManualInputProvider.cs} | 4 +- ...ider.cs => GachaLogQueryStokenProvider.cs} | 6 +- ...er.cs => GachaLogQueryWebCacheProvider.cs} | 6 +- .../Service/Game/RegistryInterop.cs | 2 + .../Snap.Hutao/Service/Hutao/HutaoCache.cs | 4 +- .../Snap.Hutao/View/Page/CultivationPage.xaml | 2 +- .../Snap.Hutao/ViewModel/GachaLogViewModel.cs | 4 +- .../Snap.Hutao/ViewModel/SettingViewModel.cs | 3 +- 13 files changed, 111 insertions(+), 24 deletions(-) rename src/Snap.Hutao/Snap.Hutao/Service/GachaLog/QueryProvider/{GachaLogUrlManualInputProvider.cs => GachaLogQueryManualInputProvider.cs} (87%) rename src/Snap.Hutao/Snap.Hutao/Service/GachaLog/QueryProvider/{GachaLogUrlStokenProvider.cs => GachaLogQueryStokenProvider.cs} (87%) rename src/Snap.Hutao/Snap.Hutao/Service/GachaLog/QueryProvider/{GachaLogUrlWebCacheProvider.cs => GachaLogQueryWebCacheProvider.cs} (94%) diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Binding/Gacha/Abstraction/WishBase.cs b/src/Snap.Hutao/Snap.Hutao/Model/Binding/Gacha/Abstraction/WishBase.cs index 1e8e97d8..10c34490 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/Binding/Gacha/Abstraction/WishBase.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/Binding/Gacha/Abstraction/WishBase.cs @@ -49,6 +49,6 @@ public abstract class WishBase /// public string TotalCountFormatted { - get => $"{TotalCount} 抽"; + get => string.Format(SH.ModelBingGachaWishBaseTotalCountFormat, TotalCount); } } \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Binding/Gacha/TypedWishSummary.cs b/src/Snap.Hutao/Snap.Hutao/Model/Binding/Gacha/TypedWishSummary.cs index 0c686c9d..d52ca0c1 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/Binding/Gacha/TypedWishSummary.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/Binding/Gacha/TypedWishSummary.cs @@ -20,7 +20,7 @@ public class TypedWishSummary : WishBase /// public string MaxOrangePullFormatted { - get => $"最非 {MaxOrangePull} 抽"; + get => string.Format(SH.ModelBingGachaTypedWishSummaryMaxOrangePullFormat, MaxOrangePull); } /// @@ -33,7 +33,7 @@ public class TypedWishSummary : WishBase /// public string MinOrangePullFormatted { - get => $"最欧 {MinOrangePull} 抽"; + get => string.Format(SH.ModelBingGachaTypedWishSummaryMinOrangePullFormat, MinOrangePull); } /// @@ -46,7 +46,7 @@ public class TypedWishSummary : WishBase /// public string LastOrangePullFormatted { - get => $"已垫 {LastOrangePull} 抽"; + get => string.Format(SH.ModelBingGachaTypedWishSummaryLastPullFormat, LastOrangePull); } /// @@ -64,7 +64,7 @@ public class TypedWishSummary : WishBase /// public string LastPurplePullFormatted { - get => $"已垫 {LastPurplePull} 抽"; + get => string.Format(SH.ModelBingGachaTypedWishSummaryLastPullFormat, LastPurplePull); } /// @@ -136,7 +136,7 @@ public class TypedWishSummary : WishBase /// public string AverageOrangePullFormatted { - get => $"{AverageOrangePull:f2} 抽"; + get => string.Format(SH.ModelBingGachaTypedWishSummaryAveragePullFormat, AverageOrangePull); } /// @@ -149,7 +149,7 @@ public class TypedWishSummary : WishBase /// public string AverageUpOrangePullFormatted { - get => $"{AverageUpOrangePull:f2} 抽"; + get => string.Format(SH.ModelBingGachaTypedWishSummaryAveragePullFormat, AverageUpOrangePull); } /// diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs index 8298040f..955bd0c2 100644 --- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs +++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs @@ -258,6 +258,60 @@ namespace Snap.Hutao.Resource.Localization { } } + /// + /// 查找类似 第 {0} 层 的本地化字符串。 + /// + internal static string ModelBindingHutaoComplexAvatarRankFloor { + get { + return ResourceManager.GetString("ModelBindingHutaoComplexAvatarRankFloor", resourceCulture); + } + } + + /// + /// 查找类似 {0:f2} 抽 的本地化字符串。 + /// + internal static string ModelBingGachaTypedWishSummaryAveragePullFormat { + get { + return ResourceManager.GetString("ModelBingGachaTypedWishSummaryAveragePullFormat", resourceCulture); + } + } + + /// + /// 查找类似 已垫 {0} 抽 的本地化字符串。 + /// + internal static string ModelBingGachaTypedWishSummaryLastPullFormat { + get { + return ResourceManager.GetString("ModelBingGachaTypedWishSummaryLastPullFormat", resourceCulture); + } + } + + /// + /// 查找类似 最非 {0} 抽 的本地化字符串。 + /// + internal static string ModelBingGachaTypedWishSummaryMaxOrangePullFormat { + get { + return ResourceManager.GetString("ModelBingGachaTypedWishSummaryMaxOrangePullFormat", resourceCulture); + } + } + + /// + /// 查找类似 最欧 {0} 抽 的本地化字符串。 + /// + internal static string ModelBingGachaTypedWishSummaryMinOrangePullFormat { + get { + return ResourceManager.GetString("ModelBingGachaTypedWishSummaryMinOrangePullFormat", resourceCulture); + } + } + + /// + /// 查找类似 {0} 抽 的本地化字符串。 + /// + internal static string ModelBingGachaWishBaseTotalCountFormat { + get { + return ResourceManager.GetString("ModelBingGachaWishBaseTotalCountFormat", resourceCulture); + } + } + /// /// 查找类似 必须先选择一个用户与角色 的本地化字符串。 /// @@ -2013,6 +2067,15 @@ namespace Snap.Hutao.Resource.Localization { } } + /// + /// 查找类似 新建 的本地化字符串。 + /// + internal static string ViewPageCultivationAddProjectAction { + get { + return ResourceManager.GetString("ViewPageCultivationAddProjectAction", resourceCulture); + } + } + /// /// 查找类似 新建养成计划以继续 的本地化字符串。 /// diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx index 86446d06..6a733c73 100644 --- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx +++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx @@ -183,6 +183,24 @@ 导入 + + 第 {0} 层 + + + {0:f2} 抽 + + + 已垫 {0} 抽 + + + 最非 {0} 抽 + + + 最欧 {0} 抽 + + + {0} 抽 + 必须先选择一个用户与角色 @@ -768,6 +786,9 @@ 新建计划 + + 新建 + 新建养成计划以继续 diff --git a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLogService.cs b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLogService.cs index 8f5c2507..6d566111 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLogService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLogService.cs @@ -177,9 +177,9 @@ internal class GachaLogService : IGachaLogService { return option switch { - RefreshOption.WebCache => urlProviders.Single(p => p.Name == nameof(GachaLogUrlWebCacheProvider)), - RefreshOption.Stoken => urlProviders.Single(p => p.Name == nameof(GachaLogUrlStokenProvider)), - RefreshOption.ManualInput => urlProviders.Single(p => p.Name == nameof(GachaLogUrlManualInputProvider)), + RefreshOption.WebCache => urlProviders.Single(p => p.Name == nameof(GachaLogQueryWebCacheProvider)), + RefreshOption.Stoken => urlProviders.Single(p => p.Name == nameof(GachaLogQueryStokenProvider)), + RefreshOption.ManualInput => urlProviders.Single(p => p.Name == nameof(GachaLogQueryManualInputProvider)), _ => null, }; } diff --git a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/QueryProvider/GachaLogUrlManualInputProvider.cs b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/QueryProvider/GachaLogQueryManualInputProvider.cs similarity index 87% rename from src/Snap.Hutao/Snap.Hutao/Service/GachaLog/QueryProvider/GachaLogUrlManualInputProvider.cs rename to src/Snap.Hutao/Snap.Hutao/Service/GachaLog/QueryProvider/GachaLogQueryManualInputProvider.cs index 67f4ee5e..16f1ca5c 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/QueryProvider/GachaLogUrlManualInputProvider.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/QueryProvider/GachaLogQueryManualInputProvider.cs @@ -9,10 +9,10 @@ namespace Snap.Hutao.Service.GachaLog.QueryProvider; /// 手动输入方法 /// [Injection(InjectAs.Transient, typeof(IGachaLogQueryProvider))] -internal class GachaLogUrlManualInputProvider : IGachaLogQueryProvider +internal class GachaLogQueryManualInputProvider : IGachaLogQueryProvider { /// - public string Name { get => nameof(GachaLogUrlManualInputProvider); } + public string Name { get => nameof(GachaLogQueryManualInputProvider); } /// public async Task> GetQueryAsync() diff --git a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/QueryProvider/GachaLogUrlStokenProvider.cs b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/QueryProvider/GachaLogQueryStokenProvider.cs similarity index 87% rename from src/Snap.Hutao/Snap.Hutao/Service/GachaLog/QueryProvider/GachaLogUrlStokenProvider.cs rename to src/Snap.Hutao/Snap.Hutao/Service/GachaLog/QueryProvider/GachaLogQueryStokenProvider.cs index 256534e2..41b6c6ee 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/QueryProvider/GachaLogUrlStokenProvider.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/QueryProvider/GachaLogQueryStokenProvider.cs @@ -13,7 +13,7 @@ namespace Snap.Hutao.Service.GachaLog.QueryProvider; /// 使用Stokn提供祈愿Url /// [Injection(InjectAs.Transient, typeof(IGachaLogQueryProvider))] -internal class GachaLogUrlStokenProvider : IGachaLogQueryProvider +internal class GachaLogQueryStokenProvider : IGachaLogQueryProvider { private readonly IUserService userService; private readonly BindingClient2 bindingClient2; @@ -23,14 +23,14 @@ internal class GachaLogUrlStokenProvider : IGachaLogQueryProvider /// /// 用户服务 /// 绑定客户端 - public GachaLogUrlStokenProvider(IUserService userService, BindingClient2 bindingClient2) + public GachaLogQueryStokenProvider(IUserService userService, BindingClient2 bindingClient2) { this.userService = userService; this.bindingClient2 = bindingClient2; } /// - public string Name { get => nameof(GachaLogUrlStokenProvider); } + public string Name { get => nameof(GachaLogQueryStokenProvider); } /// public async Task> GetQueryAsync() diff --git a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/QueryProvider/GachaLogUrlWebCacheProvider.cs b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/QueryProvider/GachaLogQueryWebCacheProvider.cs similarity index 94% rename from src/Snap.Hutao/Snap.Hutao/Service/GachaLog/QueryProvider/GachaLogUrlWebCacheProvider.cs rename to src/Snap.Hutao/Snap.Hutao/Service/GachaLog/QueryProvider/GachaLogQueryWebCacheProvider.cs index f337427d..b167691f 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/QueryProvider/GachaLogUrlWebCacheProvider.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/QueryProvider/GachaLogQueryWebCacheProvider.cs @@ -12,7 +12,7 @@ namespace Snap.Hutao.Service.GachaLog.QueryProvider; /// 浏览器缓存方法 /// [Injection(InjectAs.Transient, typeof(IGachaLogQueryProvider))] -internal class GachaLogUrlWebCacheProvider : IGachaLogQueryProvider +internal class GachaLogQueryWebCacheProvider : IGachaLogQueryProvider { private readonly IGameService gameService; @@ -20,13 +20,13 @@ internal class GachaLogUrlWebCacheProvider : IGachaLogQueryProvider /// 构造一个新的浏览器缓存方法提供器 /// /// 游戏服务 - public GachaLogUrlWebCacheProvider(IGameService gameService) + public GachaLogQueryWebCacheProvider(IGameService gameService) { this.gameService = gameService; } /// - public string Name { get => nameof(GachaLogUrlWebCacheProvider); } + public string Name { get => nameof(GachaLogQueryWebCacheProvider); } /// /// 获取缓存文件路径 diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Game/RegistryInterop.cs b/src/Snap.Hutao/Snap.Hutao/Service/Game/RegistryInterop.cs index dbc7a96c..37805bc9 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Game/RegistryInterop.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Game/RegistryInterop.cs @@ -18,6 +18,8 @@ internal static class RegistryInterop /// /// 设置键值 + /// 需要支持 + /// https://learn.microsoft.com/zh-cn/windows/win32/fileio/maximum-file-path-limitation /// /// 账户 /// 账号是否设置 diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Hutao/HutaoCache.cs b/src/Snap.Hutao/Snap.Hutao/Service/Hutao/HutaoCache.cs index b851c3fc..49cee3db 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Hutao/HutaoCache.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Hutao/HutaoCache.cs @@ -184,7 +184,7 @@ internal class HutaoCache : IHutaoCache AvatarAppearanceRanks = avatarAppearanceRanksRaw.OrderByDescending(r => r.Floor).Select(rank => new ComplexAvatarRank { - Floor = $"第 {rank.Floor} 层", + Floor = string.Format(SH.ModelBindingHutaoComplexAvatarRankFloor, rank.Floor), Avatars = rank.Ranks.OrderByDescending(r => r.Rate).Select(rank => new ComplexAvatar(idAvatarMap[rank.Item], rank.Rate)).ToList(), }).ToList(); } @@ -200,7 +200,7 @@ internal class HutaoCache : IHutaoCache AvatarUsageRanks = avatarUsageRanksRaw.OrderByDescending(r => r.Floor).Select(rank => new ComplexAvatarRank { - Floor = $"第 {rank.Floor} 层", + Floor = string.Format(SH.ModelBindingHutaoComplexAvatarRankFloor, rank.Floor), Avatars = rank.Ranks.OrderByDescending(r => r.Rate).Select(rank => new ComplexAvatar(idAvatarMap[rank.Item], rank.Rate)).ToList(), }).ToList(); } diff --git a/src/Snap.Hutao/Snap.Hutao/View/Page/CultivationPage.xaml b/src/Snap.Hutao/Snap.Hutao/View/Page/CultivationPage.xaml index 0ba95c65..9f2cd33f 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Page/CultivationPage.xaml +++ b/src/Snap.Hutao/Snap.Hutao/View/Page/CultivationPage.xaml @@ -370,7 +370,7 @@ Description="{shcm:ResourceString Name=ViewPageCultivationAddProjectDescription}" Header="{shcm:ResourceString Name=ViewPageCultivationAddProject}" Icon="{shcm:FontIcon Glyph=}"> -