Files
SpineViewer/SpineViewer/Utils/Localize/LocalizeConfiguration.cs
2025-04-28 00:08:25 +07:00

53 lines
1.3 KiB
C#

using NLog;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace SpineViewer.Utils.Localize
{
public static class LocalizeConfiguration
{
public static void UpdateLocalizeSetting(string newCulture)
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (config.AppSettings.Settings["localize"] != null)
config.AppSettings.Settings["localize"].Value = newCulture;
else
config.AppSettings.Settings.Add("localize", newCulture);
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
}
public static void SetCulture()
{
string cultureName = ConfigurationManager.AppSettings["localize"];
if (string.IsNullOrWhiteSpace(cultureName))
{
cultureName = "zh-CN";
}
try
{
var culture = new CultureInfo(cultureName);
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
}
catch (CultureNotFoundException)
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo("zh-CN");
Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-CN");
}
}
}
}