Я столкнулся с той же проблемой, потому что я получил код страны из сторонней библиотеки локализации IP. Итак, вот мое решение.
Сначала я пытаюсь получить информацию о культуре по коду страны. Если это не удается, я извлекаю всю информацию о культуре, а затем ищу ту, которая содержит название страны (также возможно, если код страны (США) содержится в поле CultureInfo.Name
(en-US))
ci = CultureInfo.GetCultures(CultureTypes.AllCultures).Where(c => c.EnglishName.Contains(loc.countryName)).FirstOrDefault();
Если в стране более одной культуры, я следовал подходу, предложенному Дугом Домени