internal LanguageDescriptor[] MakeLanguageUploadData(string[] isoCodes)
{
var result = new LanguageDescriptor[isoCodes.Length];
for (int i = 0; i < isoCodes.Length; i++)
{
var code = isoCodes[i];
string name = Language1Name;
if (code != Language1Iso639Code)
_lookupIsoCode.GetBestLanguageName(code, out name);
string ethCode;
LanguageSubtag data;
if (!StandardSubtags.RegisteredLanguages.TryGet(code.ToLowerInvariant(), out data))
ethCode = code;
else
{
ethCode = data.Iso3Code;
if (string.IsNullOrEmpty(ethCode))
ethCode = code;
}
result[i] = new LanguageDescriptor() { IsoCode = code, Name = name, EthnologueCode = ethCode };
}
return result;
}