Существует хорошая нить здесь: Get CultureInfo from current visitorПолучить выбранный (активный) язык в браузере
Объяснив, что мы можем легко получить броузер с помощью:
var userLanguages = Request.UserLanguages;
Проблема здесь состоит в том, что это только дает мне настроены языки в браузере, но не выбранные. В то же время первый язык в массиве ([0]) может быть неактивным.
Есть ли способ найти активный сервер на стороне сервера? Я знаю, что могу сделать это на стороне клиента, используя javascript, но я хочу избежать двойных звонков.
Что такое «выбранный», точно? Значок флага где-то на вашем сайте не изменяет заголовок запроса Accept-Language браузера. – CodeCaster
Имейте в виду, что 'UserLanguages' происходит от заголовка. Заголовки могут быть изменены брандмауэрами. Таким образом, вы не обязательно получаете * * пользовательскую культуру при просмотре этого заголовка. Это гораздо лучший пользовательский интерфейс, который вы делаете частью культуры в URL-адресе, как в [этом ответе] (http://stackoverflow.com/a/32839796/181087). Это также имеет преимущество, гарантируя, что каждая культура индексируется поисковыми системами, а не только языком по умолчанию. – NightOwl888