예제 #1
0
        TranslationSource()
        {
            foreach (var culture in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
            {
                try
                {
                    if (Properties.Resources.ResourceManager.GetResourceSet(culture, true, false) != null)
                    {
                        AvailableCultures.Add(culture);
                    }
                }
                catch
                {
                    // Ignore Culture Not Found and other Exceptions.
                }
            }

            if (!AvailableCultures.Any(culture => culture.Name == "en-US"))
            {
                AvailableCultures.Insert(0, new CultureInfo("en-US"));
            }

            var savedCulture = Settings.Instance.Language;

            CurrentCulture = new CultureInfo(AvailableCultures.Any(culture => culture.Name == savedCulture) ? savedCulture : "en-US");
        }
예제 #2
0
        TranslationSource()
        {
            foreach (var culture in CultureInfo.GetCultures(CultureTypes.AllCultures))
            {
                if (culture.Equals(CultureInfo.InvariantCulture) || culture.Name == "en-US")
                {
                    continue;
                }

                if (culture.Name == "en")
                {
                    AvailableCultures.Add(culture);

                    continue;
                }

                try
                {
                    if (Properties.Resources.ResourceManager.GetResourceSet(culture, true, false) != null)
                    {
                        AvailableCultures.Add(culture);
                    }
                }
                catch
                {
                    // Ignore Culture Not Found and other Exceptions.
                }
            }

            var savedCulture = Settings.Instance.Language;

            CurrentCulture = AvailableCultures.FirstOrDefault(Culture => Culture.Name == savedCulture) ?? new CultureInfo("en");
        }
예제 #3
0
 /// <summary>
 /// Thread-safe access to the AvailableCultures list.
 /// </summary>
 /// <param name="c">The CultureInfo.</param>
 protected void AddCulture(CultureInfo c)
 {
     lock (AvailableCultureListLock)
     {
         if (!AvailableCultures.Contains(c))
         {
             AvailableCultures.Add(c);
         }
     }
 }
예제 #4
0
 public CultureComboBoxViewModel(CultureInfo culture)
 {
     if (AvailableCultures.IndexOf(culture) != -1)
     {
         selectedCulture = culture;
     }
     else
     {
         selectedCulture = new CultureInfo("en");
     }
 }
예제 #5
0
        private void OnSelectedCultureChanged()
        {
            if (_changingSelectedIndex)
            {
                return;
            }

            var index = AvailableCultures.IndexOf(SelectedCulture);

            SetSelectedIndex(index);
        }
예제 #6
0
 public static void ChangeCulture(CultureInfo culture)
 {
     if (AvailableCultures.Contains(culture))
     {
         Resources.Culture = culture;
         ResourceProvider.Refresh();
     }
     else
     {
         System.Diagnostics.Debug.WriteLine(string.Format("Culture [{0}] not available", culture));
     }
 }
예제 #7
0
 // add culture to list of available ones
 private void AddCultureToAvailables(string culture)
 {
     if (!AvailableCultures.ContainsKey(culture))
     {
         if (culture.ToLower() == "default")
         {
             AvailableCultures.Add(culture, string.Empty);
         }
         else
         {
             AvailableCultures.Add(culture, new CultureInfo(culture).EnglishName);
         }
     }
 }
예제 #8
0
        public LanguageDialog()
        {
            InitializeComponent();

            foreach (string flagImage in imageSmallFlags.Images.Keys)
            {
                comboFlag.Items.Add(
                    new KryptonListItem()
                {
                    ShortText = flagImage.Substring(0, flagImage.Length - 4),
                    Image     = imageSmallFlags.Images[flagImage]
                });
            }

            cultures = Cultures.CreateListCultures();
            comboLang.Items.AddRange(AvailableCultures.ToArray());
        }
예제 #9
0
 internal static void SetAppCulture()
 {
     if (TCPlayer.Properties.Settings.Default.CultureOverride != null)
     {
         try
         {
             CultureInfo @override = TCPlayer.Properties.Settings.Default.CultureOverride;
             if (AvailableCultures.Contains(@override))
             {
                 TCPlayer.Properties.Resources.Culture = @override;
             }
             else
             {
                 TCPlayer.Properties.Settings.Default.CultureOverride = CultureInfo.InvariantCulture;
             }
         }
         catch (Exception)
         {
             TCPlayer.Properties.Settings.Default.CultureOverride = CultureInfo.InvariantCulture;
         }
     }
 }
        private TranslationSource()
        {
            CultureInfo invariantEnglish = CultureInfo.GetCultureInfo("en");

            CultureInfo[]      cultures          = CultureInfo.GetCultures(CultureTypes.AllCultures);
            List <CultureInfo> availableCultures = new List <CultureInfo>();

            for (int i = 0; i < cultures.Length; i++)
            {
                CultureInfo culture = cultures[i];
                try
                {
                    ResourceSet resourceSet = ResourceManager.GetResourceSet(culture, true, false);

                    if (resourceSet != null)
                    {
                        if (culture.Name == string.Empty)
                        {
                            culture = invariantEnglish;
                        }

                        availableCultures.Add(culture);
                    }
                }
                catch
                {
                }
            }

            AvailableCultures = availableCultures.ToArray();

            CultureInfo uiCulture = CultureInfo.InstalledUICulture;

            CultureInfo availableCulture = AvailableCultures.FirstOrDefault(x => x.TwoLetterISOLanguageName == uiCulture.TwoLetterISOLanguageName) ?? invariantEnglish;

            currentCulture = availableCulture;
        }
예제 #11
0
        private void LoadCultures()
        {
            var supportedCultures = new string[] { "en", "nl", "da", "ru" };

            foreach (var culture in supportedCultures)
            {
                var cultureInfo = CultureInfo.GetCultureInfo(culture);

                AvailableCultures.Add(new CultureItem
                {
                    DisplayName = cultureInfo.DisplayName.ToUpper(),
                    CultureKey  = cultureInfo.Name
                });
            }

            var settings = settingsRepository.GetSettings();

            SelectedCulture = AvailableCultures.FirstOrDefault
                              (
                x => x.CultureKey == settings.PreferredLocale
                              );

            Toggled = settings.EnableInAllProjects ? DisableText : EnableText;
        }
예제 #12
0
        public WinSetup(SpeakerCollection speakerDB)
        {
            _speakersDatabase = speakerDB;
            InitializeComponent();

            //audio
            cbOutputAudioDevices.Items.Clear();
            string[] devices = DXWavePlayer.DeviceNamesOUT;
            if (devices != null)
            {
                foreach (string s in devices)
                {
                    cbOutputAudioDevices.Items.Add(s);
                }
            }
            if (Settings.OutputDeviceIndex < cbOutputAudioDevices.Items.Count)
            {
                cbOutputAudioDevices.SelectedIndex = Settings.OutputDeviceIndex;
            }


            string path = Settings.SpeakersDatabasePath;

            try
            {
                if (!path.Contains(":")) //absolute
                {
                    path = Settings.SpeakersDatabasePath;
                }
                path = new FileInfo(path).FullName;
            }
            finally
            {
                tbSpeakerDBPath.Text = path;
            }


            tbTextSize.Text = Settings.SetupTextFontSize.ToString();
            chbShowSpeakerImage.IsChecked = Settings.ShowSpeakerImage;
            slSpeakerImageSize.Value      = Settings.MaxSpeakerImageWidth;



            //playback

            decimal val = (decimal)Settings.SlowedPlaybackSpeed;

            if (val >= UpDownSpeed.Minimum.Value && val <= UpDownSpeed.Maximum.Value)
            {
                UpDownSpeed.Value = val;
            }

            val = (decimal)(Settings.WaveformSmallJump.TotalMilliseconds);
            if (val >= UpDownJump.Minimum.Value && val <= UpDownJump.Maximum.Value)
            {
                UpDownJump.Value = val;
            }

            if (AvailableCultures != null && AvailableCultures.Length <= 1)
            {
                int index = AvailableCultures.Select((c, i) => new { c, i }).FirstOrDefault(p => p.c.DisplayName == LocalizeDictionary.Instance.Culture.DisplayName).i;
                LocalizationSelection.SelectedItem = preselectionCulture = AvailableCultures[index];
            }
            else
            {
                LocalizationBox.Visibility = System.Windows.Visibility.Collapsed;
            }
        }