public static void ObjLocal(String Localization) { if (null == Msgs) { Msgs = new MessagesHolder(); } if (File.Exists(Path.Combine(AppDefaultPathData, CFolderLocal, Localization.ToLower() + ".json"))) { Msgs.LoadFromFile(Path.Combine(AppDefaultPathData, CFolderLocal, Localization.ToLower() + ".json")); MIFile.Title = Msgs.StrFile; MIFileExit.Title = Msgs.StrFileExit; MIRefs.Title = Msgs.StrReferences; MIRefsCities.Title = Msgs.StrTowns; MIRefsRegions.Title = Msgs.StrRegions; MIRefsCurrencies.Title = Msgs.StrCurrencies; MIRefsOrgTypes.Title = Msgs.StrOrgTypes; MIRefsOrgs.Title = Msgs.StrOrgs; MIView.Title = Msgs.StrView; MIViewLanguages.Title = Msgs.StrViewLanguage; if (null != WndCities) { WndCities.Title = Msgs.StrTowns; } if (null != WndRegions) { WndRegions.Title = Msgs.StrRegions; } if (null != WndCurrencies) { WndCurrencies.Title = Msgs.StrCurrencies; } if (null != WndOrgTypes) { WndOrgTypes.Title = Msgs.StrOrgTypes; } } }
public static void Main(string[] args) { // I.0 Настройки приложения Settings = new AppSettings(); // I.1 проверка каталога настроек String LSettingsPath = CheckFoldersSettings(); // I.2. проверяем, существует ли файл настроек? (первый запуск приложения) if (!File.Exists(Path.Combine(LSettingsPath, CFileSettings))) { // если нет, сохраняем настройки по-умолчанию в файл Settings.SaveToFile(Path.Combine(LSettingsPath, CFileSettings)); } // I.3 загружаем настройки Settings.LoadFromFile(Path.Combine(LSettingsPath, CFileSettings)); // II.1. проверка рабочего каталога приложения AppDefaultPathData = CheckFoldersData(); // II.2. скачать файл из интернета if (!File.Exists(Path.Combine(AppDefaultPathData, CLocalJSON))) { DownloadFileText(CRemoteJSON, Path.Combine(AppDefaultPathData, CLocalJSON)); } // II.3. загрузить данные из файла String LJSON = File.ReadAllText(Path.Combine(AppDefaultPathData, CLocalJSON)); var LCourceObject = JsonConvert.DeserializeObject <dynamic>(LJSON); // II.3.1. загрузка локализации Msgs = new MessagesHolder(); // II.3.1.1 первый запуск приложения if (!File.Exists(Path.Combine(AppDefaultPathData, CFolderLocal, Settings.Localization.ToLower() + ".json"))) { Msgs.SaveToFile(Path.Combine(AppDefaultPathData, CFolderLocal, Settings.Localization.ToLower() + ".json")); } Msgs.LoadFromFile(Path.Combine(AppDefaultPathData, CFolderLocal, Settings.Localization.ToLower() + ".json")); // II.3.2. организовать выбор локализации String[] LLocalFiles = Directory.GetFiles(Path.Combine(AppDefaultPathData, CFolderLocal)); foreach (String LLocalFile in LLocalFiles) { String LLocalName = Path.GetFileNameWithoutExtension(LLocalFile); if (LLocalName.ToUpper().Equals(Settings.Localization)) { Msgs.LoadFromFile(LLocalFile); } } // III.1. создаём справочники Cities = new Reference(LCourceObject.cities); Regions = new Reference(LCourceObject.regions); Currencies = new Reference(LCourceObject.currencies); OrgTypes = new Reference(LCourceObject.orgTypes); Orgs = new Organitations(LCourceObject.organizations, OrgTypes, Regions, Cities, Currencies); ObjInit(); ObjLocal(Settings.Localization); Application.Init(); Application.Top.Add(MainMenu); Application.Run(); // ZZZ.1. при выходе из приложения сохраняем настройки // потому, что возможно они были изменены пользователем в процессе работы приложения Settings.SaveToFile(Path.Combine(LSettingsPath, CFileSettings)); }