2012-02-23 3 views
2

Мой вопросКакой код культуры следует использовать для пиньинь?

Если вы хотите отобразить пиньинь для китайских говорящих пользователей, в каком файле «ресурс» будет хранить перевод пиньинь?

Поскольку пиньинь - это не «язык» как таковой, а латинское представление китайских иероглифов, в нем нет кода культуры в .NET.

Я предполагаю, что мы, вероятно, должны использовать применимые культуры «zh-» (китайцы) и просто поместить латинский символ Pinyin в эти файлы ресурсов.

Я извиняюсь заранее, если это глупый вопрос, но все разные предметы культуры скремблируют мой мозг !!

фон

Мы наконец-то вокруг интернационализации наших веб-сайтов. Сейчас мы обрабатываем большинство «западных» культур (латинский алфавит: «es», «fr», «de») и разные форматы даты/числа. Тем не менее, системы записи на основе идеограммы, такие как китайцы, являются проблемой из-за использования различных устаревших систем, не обрабатывающих Unicode. В качестве краткосрочного решения, наша область бизнеса решила использовать Pinyin для пользователей, говорящих на китайском языке.

Итак ... бизнес-зона попросила меня «просто добавить файл ресурсов пиньинь» на сайт.

+0

Вы считаете, что создали свою собственную культуру? http://msdn.microsoft.com/en-us/library/ms172469.aspx –

+0

Я думал о том, чтобы делать обычную культуру, но это как-то чувствовалось ... «грязно» ;-) Плюс, не помешало бы мне из когда-либо использующего настройку браузера для языка? Может быть, это не очень хорошая идея, и мы всегда должны позволить пользователю «выбрать» язык на сайте каким-то образом? – SnookerC

+1

Вы всегда должны позволять пользователю переопределять все настройки, которые вы выбрали для них, на основе их браузера. Его хорошая практика - направить пользователей на язык, поддерживаемый браузером, но подумайте, что вы сидите с ноутбуком друзей, не имея возможности вернуться к такому. Английский, не внося изменения в настройки браузера. –

ответ

1

Код культуры Microsoft в формате:

"language-country" 

Итак, возьмите китайский, например. Код для китайцев - «ж». Однако есть много стран и регионов, которые используют китайский язык, поэтому мы добавляем код страны в код языка. «zh-cn» означает Китайско-материковый Китай. Аналогичным образом, «zh-tw» представляет китайский язык для Тайваня.

.Net использует концепцию резервного ресурса, где поиск ресурсов начинается с указанного уровня и до тех пор, пока ресурс не найден, будет рассмотрен менее конкретный ресурс, пока мы не перейдем к ресурсу по умолчанию. Поэтому в идеале файл ресурсов «zh-cn» должен содержать только ресурсы, характерные для материкового Китая. Все ресурсы, общие для всех китайскоязычных стран, должны находиться в ресурсе «zh».

Так что, отвечая на ваш вопрос, я считаю, что пиньинь в основном используется в материковом Китае, и поскольку вы используете его в качестве замены китайского перевода, я бы разместил переводы пиньинь внутри файла ресурсов «zh-cn».

+0

На самом деле нет ресурса «zh», поскольку есть «en», «es», «fr» и т. Д. ОДНАКО, вызванный вашим ответом, я обнаружил, что там * ARE * резервный поиск ресурсов для китайцев. «zh-CHS» - это «китайский (упрощенный)» родительский или резервный, а «zh-CHT» - «китайский (традиционный)» родительский/резервный. См. Здесь: http://www.agiledeveloper.com/articles/LocalizingDOTNet.pdf Так что спасибо, это спасает меня от каких-то потенциальных усилий! – SnookerC

+1

Хорошо, мне нужно извиниться. Я узнал после написания моего предыдущего комментария, что некоторые из онлайн-ресурсов, которые я использовал, устарели. Я написал некоторый быстрый код C# для отображения всех культур в NET 4.0, а «zh» * - действительная «нейтральная» культура. Я также узнал, что «zh-CHS» и «zh-CHT» являются «наследием» и заменены соответственно «zh-Hans» и «zh-hant». – SnookerC

+0

И ваш комментарий относительно пиньинь, «zh-CN», кажется, хороший совет. Хотя я до сих пор не понимаю, почему .NET имеет тот, который указывает на «zh-CHS» в качестве своего родителя, который является устаревшим. Может быть, они пытаются сделать все «zh-» наследие, кроме zh-Hant и zh-Hans в конце концов? Во всяком случае, я даю вам ответ. **Спасибо**! – SnookerC

Смежные вопросы