Название культуры Asp.Net без названия региона / страны и настроек по умолчанию

Я работаю на многоязычном сайте. Я хочу получить и установить culture а также uiculture с culturename без названия страны. Если браузер английский или lang выбран на английском языке, он вернется en не en-US или же en-GB, Потому что я использую один файл localresources для каждого языка, и мне нужно отправить языковой код в процедуру sql в качестве параметра.

Thread.CurrentThread.CurrentCulture
 Thread.CurrentThread.CurrentCulture.Name
 Thread.CurrentThread.CurrentUICulture

Все они возвращают en-GB,de-DE,de-AT и т. Д. Я просто хочу первую часть и использую эту. http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo%28VS.71%29.aspx В ссылке есть имя, но браузер не возвращает его, я просто хочу использовать простое часть. Как я могу это сделать?

Решено (:

редактировать: Теперь, как я могу прочитать культуру браузера и, если у меня ее нет, как я могу установить культуру, которая у меня есть. например: у меня есть en,de,ru и браузер посетителя отправил мне frХочу, чтобы он показывался en?

1 ответ

Решение

Обратите внимание на свойство TwoLetterISOLanguageName. Он должен вернуть идентификатор, который вы ищете. Например:

var cult = new System.Globalization.CultureInfo("en-US").TwoLetterISOLanguageName;

Возвращает "en" так что вы можете отправить его в хранимые процедуры.

Другие вопросы по тегам