mirror of
https://jihulab.com/DGP-Studio/Snap.Hutao.git
synced 2025-11-19 21:02:53 +08:00
fix L10n issues
This commit is contained in:
@@ -49,6 +49,6 @@ public abstract class WishBase
|
||||
/// </summary>
|
||||
public string TotalCountFormatted
|
||||
{
|
||||
get => $"{TotalCount} 抽";
|
||||
get => string.Format(SH.ModelBingGachaWishBaseTotalCountFormat, TotalCount);
|
||||
}
|
||||
}
|
||||
@@ -20,7 +20,7 @@ public class TypedWishSummary : WishBase
|
||||
/// </summary>
|
||||
public string MaxOrangePullFormatted
|
||||
{
|
||||
get => $"最非 {MaxOrangePull} 抽";
|
||||
get => string.Format(SH.ModelBingGachaTypedWishSummaryMaxOrangePullFormat, MaxOrangePull);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -33,7 +33,7 @@ public class TypedWishSummary : WishBase
|
||||
/// </summary>
|
||||
public string MinOrangePullFormatted
|
||||
{
|
||||
get => $"最欧 {MinOrangePull} 抽";
|
||||
get => string.Format(SH.ModelBingGachaTypedWishSummaryMinOrangePullFormat, MinOrangePull);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -46,7 +46,7 @@ public class TypedWishSummary : WishBase
|
||||
/// </summary>
|
||||
public string LastOrangePullFormatted
|
||||
{
|
||||
get => $"已垫 {LastOrangePull} 抽";
|
||||
get => string.Format(SH.ModelBingGachaTypedWishSummaryLastPullFormat, LastOrangePull);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -64,7 +64,7 @@ public class TypedWishSummary : WishBase
|
||||
/// </summary>
|
||||
public string LastPurplePullFormatted
|
||||
{
|
||||
get => $"已垫 {LastPurplePull} 抽";
|
||||
get => string.Format(SH.ModelBingGachaTypedWishSummaryLastPullFormat, LastPurplePull);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -136,7 +136,7 @@ public class TypedWishSummary : WishBase
|
||||
/// </summary>
|
||||
public string AverageOrangePullFormatted
|
||||
{
|
||||
get => $"{AverageOrangePull:f2} 抽";
|
||||
get => string.Format(SH.ModelBingGachaTypedWishSummaryAveragePullFormat, AverageOrangePull);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -149,7 +149,7 @@ public class TypedWishSummary : WishBase
|
||||
/// </summary>
|
||||
public string AverageUpOrangePullFormatted
|
||||
{
|
||||
get => $"{AverageUpOrangePull:f2} 抽";
|
||||
get => string.Format(SH.ModelBingGachaTypedWishSummaryAveragePullFormat, AverageUpOrangePull);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -258,6 +258,60 @@ namespace Snap.Hutao.Resource.Localization {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 第 {0} 层 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string ModelBindingHutaoComplexAvatarRankFloor {
|
||||
get {
|
||||
return ResourceManager.GetString("ModelBindingHutaoComplexAvatarRankFloor", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 {0:f2} 抽 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string ModelBingGachaTypedWishSummaryAveragePullFormat {
|
||||
get {
|
||||
return ResourceManager.GetString("ModelBingGachaTypedWishSummaryAveragePullFormat", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 已垫 {0} 抽 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string ModelBingGachaTypedWishSummaryLastPullFormat {
|
||||
get {
|
||||
return ResourceManager.GetString("ModelBingGachaTypedWishSummaryLastPullFormat", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 最非 {0} 抽 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string ModelBingGachaTypedWishSummaryMaxOrangePullFormat {
|
||||
get {
|
||||
return ResourceManager.GetString("ModelBingGachaTypedWishSummaryMaxOrangePullFormat", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 最欧 {0} 抽 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string ModelBingGachaTypedWishSummaryMinOrangePullFormat {
|
||||
get {
|
||||
return ResourceManager.GetString("ModelBingGachaTypedWishSummaryMinOrangePullFormat", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 {0} 抽 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string ModelBingGachaWishBaseTotalCountFormat {
|
||||
get {
|
||||
return ResourceManager.GetString("ModelBingGachaWishBaseTotalCountFormat", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 必须先选择一个用户与角色 的本地化字符串。
|
||||
/// </summary>
|
||||
@@ -2013,6 +2067,15 @@ namespace Snap.Hutao.Resource.Localization {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 新建 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string ViewPageCultivationAddProjectAction {
|
||||
get {
|
||||
return ResourceManager.GetString("ViewPageCultivationAddProjectAction", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查找类似 新建养成计划以继续 的本地化字符串。
|
||||
/// </summary>
|
||||
|
||||
@@ -183,6 +183,24 @@
|
||||
<data name="FilePickerImportCommit" xml:space="preserve">
|
||||
<value>导入</value>
|
||||
</data>
|
||||
<data name="ModelBindingHutaoComplexAvatarRankFloor" xml:space="preserve">
|
||||
<value>第 {0} 层</value>
|
||||
</data>
|
||||
<data name="ModelBingGachaTypedWishSummaryAveragePullFormat" xml:space="preserve">
|
||||
<value>{0:f2} 抽</value>
|
||||
</data>
|
||||
<data name="ModelBingGachaTypedWishSummaryLastPullFormat" xml:space="preserve">
|
||||
<value>已垫 {0} 抽</value>
|
||||
</data>
|
||||
<data name="ModelBingGachaTypedWishSummaryMaxOrangePullFormat" xml:space="preserve">
|
||||
<value>最非 {0} 抽</value>
|
||||
</data>
|
||||
<data name="ModelBingGachaTypedWishSummaryMinOrangePullFormat" xml:space="preserve">
|
||||
<value>最欧 {0} 抽</value>
|
||||
</data>
|
||||
<data name="ModelBingGachaWishBaseTotalCountFormat" xml:space="preserve">
|
||||
<value>{0} 抽</value>
|
||||
</data>
|
||||
<data name="MustSelectUserAndUid" xml:space="preserve">
|
||||
<value>必须先选择一个用户与角色</value>
|
||||
</data>
|
||||
@@ -768,6 +786,9 @@
|
||||
<data name="ViewPageCultivationAddProject" xml:space="preserve">
|
||||
<value>新建计划</value>
|
||||
</data>
|
||||
<data name="ViewPageCultivationAddProjectAction" xml:space="preserve">
|
||||
<value>新建</value>
|
||||
</data>
|
||||
<data name="ViewPageCultivationAddProjectContinue" xml:space="preserve">
|
||||
<value>新建养成计划以继续</value>
|
||||
</data>
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -9,10 +9,10 @@ namespace Snap.Hutao.Service.GachaLog.QueryProvider;
|
||||
/// 手动输入方法
|
||||
/// </summary>
|
||||
[Injection(InjectAs.Transient, typeof(IGachaLogQueryProvider))]
|
||||
internal class GachaLogUrlManualInputProvider : IGachaLogQueryProvider
|
||||
internal class GachaLogQueryManualInputProvider : IGachaLogQueryProvider
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public string Name { get => nameof(GachaLogUrlManualInputProvider); }
|
||||
public string Name { get => nameof(GachaLogQueryManualInputProvider); }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public async Task<ValueResult<bool, GachaLogQuery>> GetQueryAsync()
|
||||
@@ -13,7 +13,7 @@ namespace Snap.Hutao.Service.GachaLog.QueryProvider;
|
||||
/// 使用Stokn提供祈愿Url
|
||||
/// </summary>
|
||||
[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
|
||||
/// </summary>
|
||||
/// <param name="userService">用户服务</param>
|
||||
/// <param name="bindingClient2">绑定客户端</param>
|
||||
public GachaLogUrlStokenProvider(IUserService userService, BindingClient2 bindingClient2)
|
||||
public GachaLogQueryStokenProvider(IUserService userService, BindingClient2 bindingClient2)
|
||||
{
|
||||
this.userService = userService;
|
||||
this.bindingClient2 = bindingClient2;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string Name { get => nameof(GachaLogUrlStokenProvider); }
|
||||
public string Name { get => nameof(GachaLogQueryStokenProvider); }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public async Task<ValueResult<bool, GachaLogQuery>> GetQueryAsync()
|
||||
@@ -12,7 +12,7 @@ namespace Snap.Hutao.Service.GachaLog.QueryProvider;
|
||||
/// 浏览器缓存方法
|
||||
/// </summary>
|
||||
[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
|
||||
/// 构造一个新的浏览器缓存方法提供器
|
||||
/// </summary>
|
||||
/// <param name="gameService">游戏服务</param>
|
||||
public GachaLogUrlWebCacheProvider(IGameService gameService)
|
||||
public GachaLogQueryWebCacheProvider(IGameService gameService)
|
||||
{
|
||||
this.gameService = gameService;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public string Name { get => nameof(GachaLogUrlWebCacheProvider); }
|
||||
public string Name { get => nameof(GachaLogQueryWebCacheProvider); }
|
||||
|
||||
/// <summary>
|
||||
/// 获取缓存文件路径
|
||||
@@ -18,6 +18,8 @@ internal static class RegistryInterop
|
||||
|
||||
/// <summary>
|
||||
/// 设置键值
|
||||
/// 需要支持
|
||||
/// https://learn.microsoft.com/zh-cn/windows/win32/fileio/maximum-file-path-limitation
|
||||
/// </summary>
|
||||
/// <param name="account">账户</param>
|
||||
/// <returns>账号是否设置</returns>
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -370,7 +370,7 @@
|
||||
Description="{shcm:ResourceString Name=ViewPageCultivationAddProjectDescription}"
|
||||
Header="{shcm:ResourceString Name=ViewPageCultivationAddProject}"
|
||||
Icon="{shcm:FontIcon Glyph=}">
|
||||
<Button Command="{Binding AddProjectCommand}" Content="新建"/>
|
||||
<Button Command="{Binding AddProjectCommand}" Content="{shcm:ResourceString Name=ViewPageCultivationAddProjectAction}"/>
|
||||
</wsc:Setting>
|
||||
</wsc:SettingsGroup>
|
||||
</StackPanel>
|
||||
|
||||
@@ -238,9 +238,9 @@ internal class GachaLogViewModel : Abstraction.ViewModel
|
||||
}
|
||||
else
|
||||
{
|
||||
if (query is string message)
|
||||
if (!string.IsNullOrEmpty(query.Message))
|
||||
{
|
||||
infoBarService.Warning(message);
|
||||
infoBarService.Warning(query.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ using Snap.Hutao.Model.Entity;
|
||||
using Snap.Hutao.Model.Entity.Database;
|
||||
using Snap.Hutao.Service.Abstraction;
|
||||
using Snap.Hutao.Service.GachaLog;
|
||||
using Snap.Hutao.Service.GachaLog.QueryProvider;
|
||||
using Snap.Hutao.Service.Game;
|
||||
using Snap.Hutao.Service.Game.Locator;
|
||||
using Snap.Hutao.View.Dialog;
|
||||
@@ -198,7 +199,7 @@ internal class SettingViewModel : Abstraction.ViewModel
|
||||
|
||||
if (!string.IsNullOrEmpty(gamePath))
|
||||
{
|
||||
string cacheFilePath = GachaLogUrlWebCacheProvider.GetCacheFile(gamePath);
|
||||
string cacheFilePath = GachaLogQueryWebCacheProvider.GetCacheFile(gamePath);
|
||||
string cacheFolder = Path.GetDirectoryName(cacheFilePath)!;
|
||||
|
||||
IInfoBarService infoBarService = Ioc.Default.GetRequiredService<IInfoBarService>();
|
||||
|
||||
Reference in New Issue
Block a user