Какие культуры поддерживаются классом CultureInfo в.NET 3.5?

Мне нужен список культур, которые поддерживаются.NET 3.5, независимо от используемой ОС. Это, кажется, настоящая борьба для получения, хотя я не уверен почему!

Править: Arghh, я не знал, что это зависит от ОС, которая объяснила бы отсутствие документации. Какие-либо идеи о том, что поддерживается Mac/Linux ОС также?

Спасибо :)

12
задан Yacoby 18 February 2010 в 11:42
поделиться

4 ответа

Да, следует удалить космос между

<?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 использует более раннюю рекомендацию для тегов языка , и ничто не мешает кому-либо отправить гиббериш в заголовке языка.

8
ответ дан 2 December 2019 в 21:23
поделиться

Можно создавать собственные культуры, но класс по умолчанию поддерживает те культуры, которые предоставляются операционной системой, в которой вы работаете. Существует ссылка на культуры , поддерживаемые по умолчанию в MSDN

1
ответ дан 2 December 2019 в 21:23
поделиться

Я только что проверил с помощью Culture Explorer 2.0, есть разница между культурами только для Windows и установленными культурами, а также между культурами .NET Framework (которые, по крайней мере, в моей системе, содержат только языковые культуры). Все это поддерживается классом CultureInfo (а также RegionInfo, NumberFormatInfo и т. Д.).

Я также запускал его на Mono (в Linux), он примерно такой же, с отсутствием культуры .NET Framework и культуры только для Windows, но есть специфическая и нейтральная культура. RegionInfo.CurrencyNativeName , похоже, не реализован в моей версии Mono, поэтому он дает сбой при выборе любой культуры.

К сожалению, Culture Explorer 2.0 в настоящее время недоступен (был на сайте gotdotnet.com), я скачал его некоторое время назад. Это удобный инструмент для таких вещей. Возможно, вам повезет найти его в некоторых архивах.

0
ответ дан 2 December 2019 в 21:23
поделиться

Справочник по API поддержки национальных языков (NLS) содержит информацию о языковом стандарте и позволяет выбрать ОС.

Microsoft Locale Builder - это инструмент для создания пользовательских локалей для Windows Vista и более поздних версий.

Получите список поддерживаемых культур, включая пользовательские, для ОС.

Пример C #,

System.Globalization.CultureInfo[] cultures = System.Globalization.CultureInfo.GetCultures(System.Globalization.CultureTypes.AllCultures);
4
ответ дан 2 December 2019 в 21:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: