12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- using PackingPress.Common;
- using System;
- using System.Collections.Generic;
- using System.Configuration;
- using System.Data;
- using System.IO;
- using System.Linq;
- using System.Threading.Tasks;
- using System.Windows;
- namespace PackingPress
- {
- /// <summary>
- /// App.xaml 的交互逻辑
- /// </summary>
- public partial class App : Application
- {
- System.Threading.Mutex mutex;
- public App()
- {
- this.Startup += new StartupEventHandler(App_Startup);
- }
- void App_Startup(object sender, StartupEventArgs e)
- {
- bool ret;
- mutex = new System.Threading.Mutex(true, "PackingPress", out ret);
- if (!ret)
- {
- MessageBox.Show("PackingPress can only start one!");
- Environment.Exit(0);
- }
- }
- protected override void OnStartup(StartupEventArgs e)
- {
- base.OnStartup(e);
- SettingJsonGet _jObjectSystemConfig = new SettingJsonGet(AppDomain.CurrentDomain.BaseDirectory + "\\SystemConfig.json");
- var language = _jObjectSystemConfig.GetJsonRoot().GetJPropertyValueByPath<string>("$.Language");
- if (string.IsNullOrWhiteSpace(language))
- {
- InitializeLanguage("English");
- }
- else
- {
- InitializeLanguage(language);
- }
- }
- protected override void OnExit(ExitEventArgs e)
- {
- base.OnExit(e);
- }
- public void InitializeLanguage(string currentLanguage)
- {
- var assemblyName = GetType().Assembly.GetName().Name;
- foreach (var supportedLanguage in TranslateHelper.SupportedLanguages)
- {
- var resourceName = $"{assemblyName}.Common.Languages.{supportedLanguage}.json";
- using (var languageStream = GetType().Assembly.GetManifestResourceStream(resourceName))
- {
- if (languageStream != null)
- {
- var reader = new StreamReader(languageStream);
- var content = reader.ReadToEnd();
- TranslateHelper.AddLanguageResource(supportedLanguage, content);
- }
- }
- }
- if (TranslateHelper.SupportedLanguages.FirstOrDefault(v => v == currentLanguage) != null)
- {
- TranslateHelper.CurrentLanguage = currentLanguage;
- }
- else
- {
- TranslateHelper.CurrentLanguage = TranslateHelper.SupportedLanguages.FirstOrDefault();
- }
- }
- }
- }
|