|
|
@ -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);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
using StreamReader reader = new(stream);
|
|
|
|
var json = reader.ReadToEnd();
|
|
|
|
var json = reader.ReadToEnd();
|
|
|
|
|
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(json))
|
|
|
|
if (!string.IsNullOrEmpty(json))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
languageResources = JsonSerializer.Deserialize<Dictionary<string, string>>(json) ?? new Dictionary<string, string>();
|
|
|
|
_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;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|