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