示例#1
0
        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;
                }
            }
        }
示例#2
0
 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);
     }
 }
示例#3
0
 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();
 }
示例#4
0
 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));
             }
         }
     }
 }
示例#5
0
 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)));
     }
 }
示例#6
0
        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();
            }
        }
示例#7
0
 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();
 }
示例#8
0
        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));
            }
        }
示例#9
0
 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);
 }
示例#10
0
        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);
        }
示例#11
0
        private static string MakePath(string sourceName, string langId)
        {
            var ci = langId == null ? Thread.CurrentThread.CurrentUICulture : new CultureInfo(CustomCultureHelper.GetCustomCultureName(langId));

            return(MakePath(sourceName, ci));
        }