Как нейтральная культура отображается в конкретной культуре в методе CultureInfo.CreateSpecificCulture?
Я не знаю, как нейтральная культура отображается в определенной культуре. Это статично, как показано ниже?
en = en-US
fr = fr-FR
pt = pt-BR
& nativeInitCultureData от https://github.com/dotnet/coreclr/blob/master/src/classlibnative/nls/nlsinfo.cpp
но я не мог понять Кто-нибудь может помочь?
2 ответа
Я не думаю, что здесь есть точное отображение.
en
а также en-US
культуры различаются в зависимости от их LCID
свойство, которое имеет 0x0009
а также 0x0409
с целью. en
это нейронная культура, которая связана с языком, но не со страной или регионом.
Но en-US
это особая культура, которая связана как с языком, так и со страной или регионом.
Вот почему вы можете создать RegionInfo
с en-US
var region = new RegionInfo("en-US");
но вы не можете создать с en
var region = new RegionInfo("en");
который говорит;
Название региона
en
не должен соответствовать нейтральной культуре; требуется конкретное название культуры.
Существует иерархия между CultureInfo
объекты, которые Parent
определенной культуры является нейтральной культурой, а родитель нейтральной культуры является InvariantCulture
,
Позвольте мне представить вам, как эта иерархия работает для en
нейтральная культура:
Почти есть родительские отношения между культурами. Вы можете увидеть это через:
var specificCultures = System.Globalization.CultureInfo.GetCultures(System.Globalization.CultureTypes.SpecificCultures);
foreach (var culture in specificCultures)
{
var text = "Specific: " + culture.Name + " Parent: " + culture.Parent.Name;
Console.WriteLine(text);
}
Дача (извлечение продукции):
Конкретный: ar-SA Родитель: ar
Конкретный: BG-BG Родитель: BG
Конкретный: ca-ES Родитель: ca
Конкретный: Ж-ТВ Родитель: Ж-ЧТ
Конкретный: cs-CZ Родитель: cs
Конкретный: да-ДК Родитель: да
Конкретный: де-де Родитель: де
Конкретный: el-GR Родитель: el
Конкретный: en-US Родитель: en
Конкретный: fi-FI Родитель: fi
Конкретный: FR-FR Родитель: FR
Конкретный: он-Ил Родитель: он
Из этого фрагмента видно, что родитель zh-TW
является zh-CHT
, Но это сводится к zh
в конце концов (через zh-Hant
). Следование родителю определенной культуры в конечном итоге приведет вас к нейтральному.