/// <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); }
/// <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; }