Там нет класса в стандартной .NET API, который содержит информацию о гражданских присвоении имен прилагательных.
Вы можете, однако, использовать CultureInfo
класс для преобразования из кода страны в список разговорных языков - принимает произвольный элемент из этого списка часто дают правильный ответ (но не всегда, как в «китайском (Упрощенный) ")
например:
var cultureInfos = CultureInfo.GetCultures(CultureTypes.AllCultures).Where(c => c.Name.EndsWith("CH"));
var cultureInfo = cultureInfos.SingleOrDefault();
string language = cultureInfo.EnglishName;
Но я боюсь, что единственный вариант, который будет работать правильно для всех культур, чтобы создать свое собственное отображение.
Dictionary<string, string> adjectiveMap = new Dictionary<string, string>();
adjectiveMap.Add("en", "English");
adjectiveMap.Add("cn", "Chinese");
// etc. etc...
Если вы готовы выполнить эту задачу, ознакомьтесь с этой вики-страницей! http://en.wikipedia.org/wiki/List_of_adjectival_and_demonymic_forms_for_countries_and_nations
Просто наденьте 'ish' на конец всего. ;) –
@EdPitt Но это будет «англичанин»? ':)' –
@ SonerGönül Англичанин, Американец, Турция. Люди понимают. –