Мне нужен список культур, которые поддерживаются.NET 3.5, независимо от используемой ОС. Это, кажется, настоящая борьба для получения, хотя я не уверен почему!
Править: Arghh, я не знал, что это зависит от ОС, которая объяснила бы отсутствие документации. Какие-либо идеи о том, что поддерживается Mac/Linux ОС также?
Спасибо :)
Да, следует удалить космос между и xml.
<?xml version="1.0" encoding="utf-8" ?>
<form>
<e order="0" type="custom" name="test">
<fi type="text" />
<o />
</e>
<e order="1" type="zip" />
<e order="2" type="state" />
</form>
Здесь соответствует XML-спецификации.
-121--1357293-Удаление первого космоса в документе:
<?xml version="1.0" encoding="utf-8"?>
-121--1357296- К сожалению, он зависит от ОС. Проверьте здесь на наличие языковой поддержки по умолчанию для каждой ОС.
Примечание. В документации CultureInfo содержится предупреждение о том, что
версии Windows или пакеты обновления могут изменять доступные культуры.
В ASP.NET, это браузер, который важен по сравнению с OS. Он может указать, какой язык предпочитает пользователь, с помощью заголовка Accept-Language (раздел 14,4) просить. Если для конфигурации глобализации приложения задано значение enureClureBasedCulture = «true», ASP.NET попытается автоматически установить для UICulture и Culture значение, указанное браузером. Кроме того, можно настроить Culture вручную, проверив свойство Request.UserLanguages :
К сожалению, нет пути создавать исчерпывающий список возможных языков из ОС или браузера. Ближе всего Реестр подтэгов языка IANA . Это языковой реестр, описанный в RFC 4646 - документе, определяющем тэги CultureInfo в .NET.
Помните, что тэги языка в Request.UserLanguages не гарантированно действительны. Ты захочешь проверить их. HTTP 1.1 использует более раннюю рекомендацию для тегов языка , и ничто не мешает кому-либо отправить гиббериш в заголовке языка.
Можно создавать собственные культуры, но класс по умолчанию поддерживает те культуры, которые предоставляются операционной системой, в которой вы работаете. Существует ссылка на культуры , поддерживаемые по умолчанию в MSDN
Я только что проверил с помощью Culture Explorer 2.0, есть разница между культурами только для Windows и установленными культурами, а также между культурами .NET Framework (которые, по крайней мере, в моей системе, содержат только языковые культуры). Все это поддерживается классом CultureInfo (а также RegionInfo, NumberFormatInfo и т. Д.).
Я также запускал его на Mono (в Linux), он примерно такой же, с отсутствием культуры .NET Framework и культуры только для Windows, но есть специфическая и нейтральная культура. RegionInfo.CurrencyNativeName
, похоже, не реализован в моей версии Mono, поэтому он дает сбой при выборе любой культуры.
К сожалению, Culture Explorer 2.0 в настоящее время недоступен (был на сайте gotdotnet.com), я скачал его некоторое время назад. Это удобный инструмент для таких вещей. Возможно, вам повезет найти его в некоторых архивах.
Справочник по API поддержки национальных языков (NLS) содержит информацию о языковом стандарте и позволяет выбрать ОС.
Microsoft Locale Builder - это инструмент для создания пользовательских локалей для Windows Vista и более поздних версий.
Получите список поддерживаемых культур, включая пользовательские, для ОС.
Пример C #,
System.Globalization.CultureInfo[] cultures = System.Globalization.CultureInfo.GetCultures(System.Globalization.CultureTypes.AllCultures);