Fix LocalizationHelper for AmazTool
This commit is contained in:
@@ -9,4 +9,9 @@
|
|||||||
<FileVersion>1.3.0</FileVersion>
|
<FileVersion>1.3.0</FileVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<EmbeddedResource Include="Assets\en-US.json" />
|
||||||
|
<EmbeddedResource Include="Assets\zh-CN.json" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
@@ -6,7 +6,7 @@ namespace AmazTool
|
|||||||
{
|
{
|
||||||
public class LocalizationHelper
|
public class LocalizationHelper
|
||||||
{
|
{
|
||||||
private static Dictionary<string, string> languageResources = [];
|
private static Dictionary<string, string> _languageResources = [];
|
||||||
|
|
||||||
static LocalizationHelper()
|
static LocalizationHelper()
|
||||||
{
|
{
|
||||||
@@ -18,26 +18,23 @@ namespace AmazTool
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string currentLanguage = CultureInfo.CurrentCulture.Name;
|
var currentLanguage = CultureInfo.CurrentCulture.Name;
|
||||||
if (currentLanguage != "zh-CN" && currentLanguage != "en-US")
|
if (currentLanguage != "zh-CN" && currentLanguage != "en-US")
|
||||||
{
|
{
|
||||||
currentLanguage = "en-US";
|
currentLanguage = "en-US";
|
||||||
}
|
}
|
||||||
|
|
||||||
string resourceName = $"AmazTool.{currentLanguage}.json";
|
var resourceName = $"AmazTool.Assets.{currentLanguage}.json";
|
||||||
var assembly = Assembly.GetExecutingAssembly();
|
var assembly = Assembly.GetExecutingAssembly();
|
||||||
|
|
||||||
using Stream? stream = assembly.GetManifestResourceStream(resourceName);
|
using var stream = assembly.GetManifestResourceStream(resourceName);
|
||||||
if (stream != null)
|
if (stream == null) return;
|
||||||
|
|
||||||
|
using StreamReader reader = new(stream);
|
||||||
|
var json = reader.ReadToEnd();
|
||||||
|
if (!string.IsNullOrEmpty(json))
|
||||||
{
|
{
|
||||||
using StreamReader reader = new(stream);
|
_languageResources = JsonSerializer.Deserialize<Dictionary<string, string>>(json) ?? new Dictionary<string, string>();
|
||||||
|
|
||||||
var json = reader.ReadToEnd();
|
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(json))
|
|
||||||
{
|
|
||||||
languageResources = JsonSerializer.Deserialize<Dictionary<string, string>>(json) ?? new Dictionary<string, string>();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (IOException ex)
|
catch (IOException ex)
|
||||||
@@ -56,12 +53,7 @@ namespace AmazTool
|
|||||||
|
|
||||||
public static string GetLocalizedValue(string key)
|
public static string GetLocalizedValue(string key)
|
||||||
{
|
{
|
||||||
if (languageResources.TryGetValue(key, out var translation))
|
return _languageResources.TryGetValue(key, out var translation) ? translation : key;
|
||||||
{
|
|
||||||
return translation;
|
|
||||||
}
|
|
||||||
|
|
||||||
return key;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user