测试本地化

This commit is contained in:
辉鸭蛋
2025-07-25 01:17:54 +08:00
parent 89235457b1
commit 98fdd00b56
9 changed files with 231 additions and 1 deletions

View File

@@ -39,6 +39,7 @@
<ItemGroup>
<PackageReference Include="AvalonEdit" Version="6.3.1.120" />
<PackageReference Include="Antelcat.I18N.WPF" Version="1.1.0" />
<PackageReference Include="BehaviourTree" Version="1.0.73" />
<PackageReference Include="BetterGI.VCRuntime" Version="14.44.35208" />
<PackageReference Include="BetterGI.Assets" Version="1.0.5" />
@@ -203,10 +204,22 @@
<SubType>Code</SubType>
<DependentUpon>WelcomeDialog.xaml</DependentUpon>
</Compile>
<Compile Update="Properties\Lang.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Lang.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<_DeploymentManifestIconFile Remove="Resources\Images\logo.ico" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Properties\Lang.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Lang.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,10 @@
using Antelcat.I18N.Attributes;
using BetterGenshinImpact.Properties;
namespace BetterGenshinImpact.Helpers.Localization;
[ResourceKeysOf(typeof(Lang))]
public partial class LangKeys
{
}

View File

@@ -0,0 +1,98 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace BetterGenshinImpact.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Lang {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Lang() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("BetterGenshinImpact.Properties.Lang", typeof(Lang).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to better genshin impact.
/// </summary>
internal static string bgi1 {
get {
return ResourceManager.GetString("bgi1", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to .
/// </summary>
internal static string This_is_a_message {
get {
return ResourceManager.GetString("This is a message", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to .
/// </summary>
internal static string {
get {
return ResourceManager.GetString("中文", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to .
/// </summary>
internal static string {
get {
return ResourceManager.GetString("嘿嘿嘿", resourceCulture);
}
}
}
}

View File

@@ -0,0 +1,23 @@
<root>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="bgi1" xml:space="preserve">
<value>better genshin impact</value>
</data>
<data name="This is a message" xml:space="preserve">
<value>This is a message</value>
</data>
<data name="嘿嘿嘿" xml:space="preserve">
<value>hahaha</value>
</data>
</root>

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="bgi1" xml:space="preserve">
<value>better genshin impact</value>
</data>
<data name="This is a message" xml:space="preserve">
<value />
</data>
<data name="中文" xml:space="preserve">
<value />
</data>
<data name="你好,世界" xml:space="preserve">
<value />
</data>
<data name="嘿嘿嘿" xml:space="preserve">
<value />
</data>
</root>

View File

@@ -0,0 +1,23 @@
<root>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="bgi1" xml:space="preserve">
<value>更好的原神,免费且开源</value>
</data>
<data name="This is a message" xml:space="preserve">
<value>测试文本</value>
</data>
<data name="嘿嘿嘿" xml:space="preserve">
<value>哈哈哈哈哈</value>
</data>
</root>

View File

@@ -0,0 +1,23 @@
<root>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="bgi1" xml:space="preserve">
<value>更好的原神,免費且開源</value>
</data>
<data name="This is a message" xml:space="preserve">
<value>测试文本</value>
</data>
<data name="嘿嘿嘿" xml:space="preserve">
<value>嘎嘎嘎嘎</value>
</data>
</root>

View File

@@ -7,6 +7,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pages="clr-namespace:BetterGenshinImpact.ViewModel.Pages"
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
xmlns:localization="clr-namespace:BetterGenshinImpact.Helpers.Localization"
Title="HomePage"
d:DataContext="{d:DesignInstance Type=pages:HomePageViewModel}"
d:DesignHeight="850"
@@ -48,7 +49,7 @@
<ui:TextBlock FontTypography="Title" Text="BetterGI" />
<ui:TextBlock FontTypography="Subtitle"
Opacity="0.8"
Text="更好的原神,免费且开源" />
Text="{I18N {x:Static localization:LangKeys.嘿嘿嘿}}" />
<ui:TextBlock FontTypography="BodyStrong" Opacity="0.6">
<Hyperlink Command="{Binding GoToWikiUrlCommand}"
Foreground="#B7FFFFFF"

View File

@@ -16,6 +16,7 @@ using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Net.Http;
@@ -136,6 +137,8 @@ public partial class MainWindowViewModel : ObservableObject, IViewModel
[RelayCommand]
private async Task OnLoaded()
{
I18NExtension.Culture = new CultureInfo("en");
// 预热OCR
await OcrPreheating();