public void ResetLanguage(string langID) { if (Localizer.SupportedLanguages.ContainsKey(langID) == false) { return; } if (ModelUserContext.CurrentLanguage == langID) { return; } ModelUserContext.CurrentLanguage = langID; Thread.CurrentThread.CurrentUICulture = new CultureInfo(CustomCultureHelper.GetCustomCultureName(langID)); string organization = txtOrganization.Text; string activeControlName = ""; if (ActiveControl != null) { activeControlName = ActiveControl.Name; if (activeControlName == "" && ActiveControl.Parent != null) { activeControlName = ActiveControl.Parent.Name; } } SuspendLayout(); Visible = false; while (Controls.Count > 0) { Controls[0].Dispose(); } InitializeComponent(); Visible = true; WinClientContext.InitFont(); LayoutCorrector.ApplySystemFont(this); ResumeLayout(); txtOrganization.Text = organization; btnOk.Text = BvMessages.Get("strOK_Id"); btnCancel.Text = BvMessages.Get("strCancel_Id"); TabPageMain.Text = EidssMessages.Get("EIDSS_Short_Caption"); TabControlMain.Height = btnOk.Top - TabControlMain.Top - 4; ControlsLastLanguage = new Dictionary <Control, string> { { txtUserName, "en" }, { txtPassword, "en" } }; if (m_LoginType == LoginType.Simple) { TabControlMain.TabPages.Remove(TabPageSQL); TabControlMain.TabPages.Remove(TabPageArchive); } foreach (Control ctl in Controls) { if (ctl.Name == activeControlName) { ctl.Select(); break; } } }
public static void TryRegisterCustomCultures(Session session) { try { CustomCultureHelper.UnRegisterAll(); CustomCultureHelper.RegisterAll(); } catch (Exception ex) { session.Log(string.IsNullOrEmpty(ex.InnerException.Message) ? ex.Message : ex.InnerException.Message); } }
static void Main(string[] args) { try { CustomCultureHelper.UnRegisterAll(); CustomCultureHelper.RegisterAll(); } catch (Exception ex) { Console.WriteLine("error during custom cultures registration: {0}", ex); } Console.WriteLine("The next EIDSS custom cultures are registered:"); Console.WriteLine(CustomCultureHelper.ListRegisteredCultures()); Console.WriteLine("press any key to continue..."); Console.ReadKey(); }
private void FillSupportedLanguages() { if (NeedToFillSupportedLanguages) { //CustomCultureHelper.SupportedLanguages foreach (KeyValuePair <string, string> pair in Localizer.AllSupportedLanguages) { if (!Localizer.SupportedLanguages.ContainsKey(pair.Key)) { Localizer.SupportedLanguages.Add(pair.Key, pair.Value); } if (!CustomCultureHelper.SupportedLanguages.ContainsKey(pair.Key)) { CustomCultureHelper.SupportedLanguages.Add(pair.Key, CustomCultureHelper.GetCustomCultureName(pair.Key)); } } } }
public void RegistrationTest() { CustomCultureHelper.UnRegisterAll(); foreach (var culture in CustomCultureHelper.SupportedCustomCultures) { var cultureName = CustomCultureHelper.GetCustomCultureName(culture.Item1, culture.Item2); Assert.IsFalse(CustomCultureHelper.IsCultureRegistered(cultureName)); Assert.IsFalse( File.Exists(string.Format("{0}\\Globalization\\{1}.nlp", Environment.GetFolderPath(Environment.SpecialFolder.Windows), cultureName))); } CustomCultureHelper.RegisterAll(); foreach (var culture in CustomCultureHelper.SupportedCustomCultures) { var cultureName = CustomCultureHelper.GetCustomCultureName(culture.Item1, culture.Item2); Assert.IsTrue(CustomCultureHelper.IsCultureRegistered(cultureName)); Assert.IsTrue( File.Exists(string.Format("{0}\\Globalization\\{1}.nlp", Environment.GetFolderPath(Environment.SpecialFolder.Windows), cultureName))); } }
public void ResetLanguage(string langID) { if (Localizer.SupportedLanguages.ContainsKey(langID) == false) { langID = Localizer.lngEn; } if (m_LangageInitialized && ModelUserContext.CurrentLanguage == langID) { return; } if (!BaseFormManager.CloseNonListForms(true)) { return; } //if (BaseForm.SaveAllOpenedForms == false) //{ // return; //} Cursor = Cursors.WaitCursor; try { Enabled = false; //BaseForm.SetEnabled(false); SuspendLayout(); ModelUserContext.CurrentLanguage = langID; //Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName if (LookupCache.Language != langID) { LookupCache.Reload(); } langID = CustomCultureHelper.GetCustomCultureName(langID); var cultureInfo = new CultureInfo(langID); EidssSiteContext.Instance.UpdateDateTimeFormat(cultureInfo); //EidssSiteContext.Instance.Clear(); if (m_LangageInitialized) { EidssEventLog.Instance.CreateEvent(EventType.ClientUILanguageChanged, null, null); } m_LangageInitialized = true; Thread.CurrentThread.CurrentUICulture = cultureInfo; Thread.CurrentThread.CurrentCulture = cultureInfo; WinClientContext.InitFont(); CommonResourcesCache.Reset(); ToolTipController.InitTooltipController(); DefaultBarAndDockingController1.InitBarAppearance(); tbToolbar.Appearance.InitAppearance(); tbMenu.Appearance.InitAppearance(); tbStatusbar.Appearance.InitAppearance(); Appearance.InitAppearance(); WinClientContext.ApplicationCaption = EidssMessages.Get("EIDSS_Caption", "Electronic Integrated Disease Surveillance System"); Text = GetCaption(WinClientContext.ApplicationCaption); barManager1.RightToLeft = (Localizer.IsRtl) ? DefaultBoolean.True : DefaultBoolean.False; RightToLeft = (Localizer.IsRtl) ? RightToLeft.Yes : RightToLeft.No; RightToLeftLayout = Localizer.IsRtl; sbiUser.Caption = EidssUserContext.User.FullName; sbiOrganization.Caption = EidssSiteContext.Instance.OrganizationName; sbiSite.Caption = (EidssSiteContext.Instance.SiteType + @"-" + EidssSiteContext.Instance.SiteCode); sbiCountry.Caption = EidssSiteContext.Instance.CountryName; var resources = new ResourceManager(typeof(MainForm)); sbiCountryLabel.Caption = resources.GetString("sbiCountryLabel.Caption"); sbiCountryLabel.Description = resources.GetString("sbiCountryLabel.Description"); sbiCountryLabel.Hint = resources.GetString("sbiCountryLabel.Hint"); sbiSiteLable.Caption = resources.GetString("sbiSiteLable.Caption"); sbiSiteLable.Description = resources.GetString("sbiSiteLable.Description"); sbiSiteLable.Hint = resources.GetString("sbiSiteLable.Hint"); sbiOrganizationLable.Caption = resources.GetString("sbiOrganizationLable.Caption"); sbiOrganizationLable.Description = resources.GetString("sbiOrganizationLable.Description"); sbiOrganizationLable.Hint = resources.GetString("sbiOrganizationLable.Hint"); sbiUserLabel.Caption = resources.GetString("sbiUserLabel.Caption"); sbiUserLabel.Description = resources.GetString("sbiUserLabel.Description"); sbiUserLabel.Hint = resources.GetString("sbiUserLabel.Hint"); DesignControlManager.Create(this); RegisterActions(); BaseFormManager.ResetLanguage(); EidssSiteContext.ReportFactory.ResetLanguage(); WinUtils.SwitchInputLanguage(); BasicSyndromicSurveillanceListItem.Init(); } catch (Exception ex) { Dbg.Debug(ex.ToString()); } finally { if (m_LanguageMenu.ToolbarItem != null && m_LanguageMenu.MenuItem != null) { if (IsLangMenuWithoutFlags) { m_LanguageMenu.ToolbarItem.Caption = Localizer.GetMenuLanguageName(ModelUserContext.CurrentLanguage); } else { if (ModelUserContext.CurrentLanguage == Localizer.lngEn) { m_LanguageMenu.ToolbarItem.LargeImageIndex = (int)MenuIcons.English; m_LanguageMenu.MenuItem.ImageIndex = (int)MenuIconsSmall.English; } else if (ModelUserContext.CurrentLanguage == Localizer.lngRu) { m_LanguageMenu.ToolbarItem.LargeImageIndex = (int)MenuIcons.Russian; m_LanguageMenu.MenuItem.ImageIndex = (int)MenuIconsSmall.Russian; } else if (ModelUserContext.CurrentLanguage == Localizer.lngAzLat) { m_LanguageMenu.ToolbarItem.LargeImageIndex = (int)MenuIcons.Azery; m_LanguageMenu.MenuItem.ImageIndex = (int)MenuIconsSmall.Azery; } else if (ModelUserContext.CurrentLanguage == Localizer.lngGe) { m_LanguageMenu.ToolbarItem.LargeImageIndex = (int)MenuIcons.Georgian; m_LanguageMenu.MenuItem.ImageIndex = (int)MenuIconsSmall.Georgian; } else if (ModelUserContext.CurrentLanguage == Localizer.lngKz) { m_LanguageMenu.ToolbarItem.LargeImageIndex = (int)MenuIcons.Kazakhstan; m_LanguageMenu.MenuItem.ImageIndex = (int)MenuIconsSmall.Kazakhstan; } else if (ModelUserContext.CurrentLanguage == Localizer.lngAr) { m_LanguageMenu.ToolbarItem.LargeImageIndex = (int)MenuIcons.Armenian; m_LanguageMenu.MenuItem.ImageIndex = (int)MenuIconsSmall.Armenian; } else if (ModelUserContext.CurrentLanguage == Localizer.lngUk) { m_LanguageMenu.ToolbarItem.LargeImageIndex = (int)MenuIcons.Ukrainian; m_LanguageMenu.MenuItem.ImageIndex = (int)MenuIconsSmall.Ukrainian; } else if (ModelUserContext.CurrentLanguage == Localizer.lngIraq) { m_LanguageMenu.ToolbarItem.LargeImageIndex = (int)MenuIcons.Iraq; m_LanguageMenu.MenuItem.ImageIndex = (int)MenuIconsSmall.Iraq; } else if (ModelUserContext.CurrentLanguage == Localizer.lngLaos) { m_LanguageMenu.ToolbarItem.LargeImageIndex = -1; m_LanguageMenu.MenuItem.ImageIndex = -1; } else if (ModelUserContext.CurrentLanguage == Localizer.lngVietnam) { m_LanguageMenu.ToolbarItem.LargeImageIndex = -1; m_LanguageMenu.MenuItem.ImageIndex = -1; } else if (ModelUserContext.CurrentLanguage == Localizer.lngThai) { m_LanguageMenu.ToolbarItem.LargeImageIndex = (int)MenuIcons.Thailand; m_LanguageMenu.MenuItem.ImageIndex = (int)MenuIconsSmall.Thailand; } else { m_LanguageMenu.ToolbarItem.LargeImageIndex = (int)MenuIcons.English; m_LanguageMenu.MenuItem.ImageIndex = (int)MenuIconsSmall.English; } } m_LanguageMenu.ToolbarItem.Hint = Localizer.GetLanguageName(ModelUserContext.CurrentLanguage); } Enabled = true; //BaseForm.SetEnabled(true); Cursor = Cursors.Default; ResumeLayout(); BringToFront(); Activate(); } }
public static void Init() { if (!string.IsNullOrEmpty(BaseSettings.DefaultLanguage)) { if (Localizer.SupportedLanguages.ContainsKey(BaseSettings.DefaultLanguage)) { Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(CustomCultureHelper.GetCustomCultureName(BaseSettings.DefaultLanguage)); } } ModelUserContext.CurrentLanguage = BaseSettings.DefaultLanguage; InitFont(); }
internal static void AddTranslated(BaseStringsStorage source, string key, string val, bool bSplit, string langId) { if (BaseSettings.TranslationMode) { var ci = langId == null ? Thread.CurrentThread.CurrentUICulture : new CultureInfo(CustomCultureHelper.GetCustomCultureName(langId)); string page = getPageForWeb(); var n = source.ResourceName.Split('.'); string sourceName = n[n.Length - 1]; if (page != null) { lock (g_translatedContainer) { if (!g_translatedContainer.ContainsKey(ci)) { g_translatedContainer.Add(ci, new Dictionary <string, TranslatorContainer>()); } if (!g_translatedContainer[ci].ContainsKey(page)) { g_translatedContainer[ci].Add(page, new TranslatorContainer()); } string k = page + "*" + ci.Name + "*" + sourceName + "*" + key; if (g_translatedContainer[ci][page].Find(c => c.Key == k) == null) { string[] langs = Config.GetSetting("TranslationModeLanguages", "en").Split(','); string l1 = langs.Length > 0 ? source.GetStringInternal(key, key, langs[0]) : ""; var bIsValueExists = source.IsValueExists; string l2 = langs.Length > 1 ? source.GetStringInternal(key, key, langs[1]) : ""; bIsValueExists = bIsValueExists || source.IsValueExists; g_translatedContainer[ci][page].Add(new TranslatorItem() { Key = k, Lang1 = l1, Lang2 = l2, Val = val, Split = bSplit ? "true" : "", IsValueExists = bIsValueExists }); } else { var item = g_translatedContainer[ci][page].Find(c => c.Key == k); item.Val = val; item.Split = bSplit ? "true" : ""; } } } if (!bSplit) { CommonResourcesCache.SetText(sourceName, ci.Name, key, val); } } // in the scanning resources usage mode - gather in g_resourcesFormView forms and views where current function was invoked from if (BaseSettings.ScanFormsMode) { var formView = GetFormViewFromStack(); // remember found form and view string file = source.ResourceName.Substring(source.ResourceName.LastIndexOf('.') + 1); g_resourcesFormView.Add(new Tuple <string, string, string, string>(key, file, formView.Item1, formView.Item2)); } }
public static TranslatorContainer GetTranslated(string page, string langId = null) { if (BaseSettings.TranslationMode) { var ci = langId == null ? Thread.CurrentThread.CurrentUICulture : new CultureInfo(CustomCultureHelper.GetCustomCultureName(langId)); lock (g_translatedContainer) { if (g_translatedContainer.ContainsKey(ci) && g_translatedContainer[ci].ContainsKey(page)) { return(g_translatedContainer[ci][page]); } } } return(null); }
internal static Tuple <string, bool> GetTranslated(BaseStringsStorage source, string key, string stringValue, string langId, string parentViewName, out bool found) { if (BaseSettings.TranslationMode) { // During resource reading in Translation mode we first check SplittedResources xml file - if it contains given resource for currently translated view. string view = null; if (parentViewName == null) { var formView = GetFormViewFromStack(); view = String.IsNullOrEmpty(formView.Item2) ? formView.Item1 : formView.Item2; } else { view = parentViewName; } string splitted; if ((splitted = ResourceSplitter.Read(view, key, langId, null)) != null) { found = true; return(new Tuple <string, bool>(splitted, true)); } ////////////////////////////// var ci = langId == null ? Thread.CurrentThread.CurrentUICulture : new CultureInfo(CustomCultureHelper.GetCustomCultureName(langId)); var n = source.ResourceName.Split('.'); string sourceName = n[n.Length - 1]; if (CommonResourcesCache.ContainsKey(sourceName, ci.Name, key)) { found = true; source.IsValueExists = true; return(new Tuple <string, bool>(CommonResourcesCache.GetText(sourceName, ci.Name, key), false)); } if (HttpContext.Current != null) { return(new Tuple <string, bool>(ReadFormResx(sourceName, langId, key, stringValue, out found), false)); } } var res = new Tuple <string, bool>(source.GetStringInternal(key, stringValue, langId), false); found = source.IsValueExists; return(res); }
private static string MakePath(string sourceName, string langId) { var ci = langId == null ? Thread.CurrentThread.CurrentUICulture : new CultureInfo(CustomCultureHelper.GetCustomCultureName(langId)); return(MakePath(sourceName, ci)); }