private string GetDisplayName(CultureInfo cultureInfo, LanguageNameDisplay languageNameToDisplay)
        {
            switch (languageNameToDisplay)
            {
            case LanguageNameDisplay.DisplayName:
                return(cultureInfo.DisplayName);

            case LanguageNameDisplay.EnglishName:
                return(cultureInfo.EnglishName);

            case LanguageNameDisplay.NativeName:
                return(cultureInfo.NativeName);
            }
            Debug.Assert(false, string.Format("Not supported LanguageNameDisplay value {0}", languageNameToDisplay));
            return("");
        }
        /// <summary>
        ///   Returns an array of <c>CultureInfoDisplayItem</c> objects for
        ///   all available localized resources.
        /// </summary>
        /// <param name="languageNameToDisplay">
        ///   <c>LanguageNameDisplay</c> value defining how language will be displayed.
        /// </param>
        /// <param name="currentLanguage">
        ///   Index of currently active UI culture.
        /// </param>
        /// <returns>
        ///   An array of <c>CultureInfoDisplayItem</c> objects, sorted by their
        ///   names (not <c>DisplayName</c>s).
        /// </returns>
        public CultureInfoDisplayItem[] GetLanguages(LanguageNameDisplay languageNameToDisplay, out int currentLanguage)
        {
            CultureInfoDisplayItem[] cidi = new CultureInfoDisplayItem[m_avalableCutureInfos.Count];
            currentLanguage = -1;
            string currentCulture = System.Threading.Thread.CurrentThread.CurrentUICulture.Name;
            string parentCulture  = System.Threading.Thread.CurrentThread.CurrentUICulture.Parent.Name;

            for (int i = 0; i < m_avalableCutureInfos.Count; i++)
            {
                CultureInfo ci          = (CultureInfo)m_avalableCutureInfos[i];
                string      displayName = GetDisplayName(ci, languageNameToDisplay);
                cidi[i] = new CultureInfoDisplayItem(displayName, ci);
                if (currentCulture == ci.Name || (currentLanguage == -1 && parentCulture == ci.Name))
                {
                    currentLanguage = i;
                }
            }
            Debug.Assert(currentLanguage > -1 && currentLanguage < m_avalableCutureInfos.Count);
            return(cidi);
        }
Exemplo n.º 3
0
		/// <summary>
		///   Returns an array of <c>CultureInfoDisplayItem</c> objects for
		///   all available localized resources.
		/// </summary>
		/// <param name="languageNameToDisplay">
		///   <c>LanguageNameDisplay</c> value defining how language will be displayed.
		/// </param>
		/// <param name="currentLanguage">
		///   Index of currently active UI culture.
		/// </param>
		/// <returns>
		///   An array of <c>CultureInfoDisplayItem</c> objects, sorted by their
		///   names (not <c>DisplayName</c>s).
		/// </returns>
		public CultureInfoDisplayItem[] GetLanguages(LanguageNameDisplay languageNameToDisplay, out int currentLanguage) {
			CultureInfoDisplayItem[] cidi = new CultureInfoDisplayItem[m_avalableCutureInfos.Count];
			currentLanguage = -1;
			string currentCulture = System.Threading.Thread.CurrentThread.CurrentUICulture.Name;
			string parentCulture = System.Threading.Thread.CurrentThread.CurrentUICulture.Parent.Name;
			for (int i = 0; i < m_avalableCutureInfos.Count; i++) {
				CultureInfo ci = (CultureInfo)m_avalableCutureInfos[i];
				string displayName = GetDisplayName(ci, languageNameToDisplay);
				cidi[i] = new CultureInfoDisplayItem(displayName, ci);
				if (currentCulture == ci.Name || (currentLanguage == -1 && parentCulture == ci.Name))
					currentLanguage = i;
			}
			Debug.Assert(currentLanguage > -1 && currentLanguage < m_avalableCutureInfos.Count);
			return cidi;
		}
Exemplo n.º 4
0
		private string GetDisplayName(CultureInfo cultureInfo, LanguageNameDisplay languageNameToDisplay) {
			switch (languageNameToDisplay) {
			case LanguageNameDisplay.DisplayName:
				return cultureInfo.DisplayName;
			case LanguageNameDisplay.EnglishName:
				return cultureInfo.EnglishName;
			case LanguageNameDisplay.NativeName:
				return cultureInfo.NativeName;
			}
			Debug.Assert(false, string.Format("Not supported LanguageNameDisplay value {0}", languageNameToDisplay));
			return "";
		}