Название культуры 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"
так что вы можете отправить его в хранимые процедуры.