Коды языков для упрощенного китайского и традиционного китайского?
мы создаем многоязычные дочерние сайты на нашем сайте.
Я хотел бы использовать 2-буквенный код языка. Испанский и французский легко. Они получат URL-адреса, такие как:
mydomain.com/es
mydomain.com/fr
но я столкнулся с проблемой с традиционным и упрощенным китайским языком. Существуют ли стандарты, для которых 2 буквенных кода используются для этих языков?
mydomain.com/zh
mydomain.com/?
3 ответов:
@dkarp дает отличный общий ответ. Я добавлю некоторые дополнительные особенности, касающиеся китайского языка:
есть несколько стран, где китайский является основным письменным языком. Основное различие между ними заключается в том, используют ли они упрощенные или традиционные символы, но есть и незначительные региональные различия (в лексике и т. д.). Стандартный способ отличить их будет с кодом страны, например
zh_CNматерикового Китая,zh_SGдля Сингапура,zh_TWдля Тайвань, илиzh_HKдля Гонконга.материковый Китай и Сингапур оба используют упрощенные символы, а другие используют традиционные символы. Поскольку Китай и Тайвань являются двумя с самым большим населением, просто
zh_CNиzh_TWчасто используются для различения упрощенных и традиционных символьных версий веб-сайта.правильно, однако, было бы использовать
zh_HANSдля (общих) упрощенных китайских иероглифов, иzh_HANTдля традиционной Китайские иероглифы, за исключением редких случаев, когда имеет смысл различать разные страны.
для этого действительно существует стандартное представление. Поскольку люди столкнулись с точно такой же проблемой, которую вы видите-тот же язык, но разные диалекты или символы-они расширили двухбуквенный код языка с помощью двухбуквенного кода региона. Таким образом, у вас может быть универсальная французская страница в
mydomain.com/fr, но интернационализация для французских канадских читателей может оставить вас сmydomain.com/fr_CA(Канада) иmydomain.com/fr_FR(Франция). Некоторые платформы используют тире вместо подчеркивания для разделения код языка и региона (отсюдаfr-CAиfr-FR).стандартный язык для упрощенного китайского языка
zh_CN. Стандартный язык для традиционного китайского языка -zh_TW.Я не решаюсь указать вам на фактическое BCP 47 стандартные документы, так как они немного тяжеловаты в деталях и немного облегчают читаемость. Просто идите со стандартными идентификаторами локали, например те, которые используются Java, и ты будешь в порядке.
язык зависит от того, где он говорит (doh!), поэтому коды языка и локали отражают эту реальность.
zhЭто основной код языка, но поскольку есть две основные его формы, естьzh_Hansиzh_Hant, но они по-прежнему только языковые коды, а не локали.в определенном месте
чтобы полностью указать, какой язык используется в особенности расположение, код страны все еще должен быть суффиксом, так что делает
zh_Hans_HKиzh_Hant_HKдля упрощенного и традиционного китайского, соответственно, как говорят в Гонконге.на самом деле, реальность такова, что во многих странах часто требуется что-то более конкретное, чем код страны, но это, вероятно, экспоненциально увеличит сложность и обслуживание баз данных, таких как CLDR, плюс инфраструктура поддержки для подачи в нее, например, IP для извлечения деталей местоположения, не является общедоступной или достаточно точной.
исправлено текст
теперь, если код просто указывает, какой набор фиксированных строк использовать в пользовательском интерфейсе или даже целые наборы страниц на сайте, суффикс страны на самом деле не нужен, если нет более чем нескольких мест, где язык изменяется достаточно значительно (информация о местоположении), чтобы беспокоиться о создании целого отдельного набора ресурсов.
чем больше набор ресурсов, тем больше вероятность того, что код языка основан на локали [в этом контексте просто язык атрибут, а не истинный язык, так что вы можете называть его, что вам нравится!] потребуется, но, по крайней мере, вы должны делать это только в случае необходимости.
"на лету" значения
однако, если вы хотите отформатировать определенные значения переменных, такие как даты, времена, валюты и числа, на лету, локали становятся важными, потому что все инструменты, поддерживающие такую функциональность (например, основанные на данных CLDR Unicode), ожидают их. Язык для них должен быть отдельный параметр к коду, для которого внутренний язык пользовательского интерфейса установлен для использования, если вы не хотите создать набор ресурсов для известный язык, и поддерживать их до тошноты!
инструменты языка браузера
обратите внимание, что при указании локали для веб-страницы, которую можно редактировать, как в полях ввода, и проверка орфографии в атрибутах или css была включена для поля, языковые инструменты браузера будут проверять орфографию поля в соответствии с этим местом.
критерии
вы должны четко понимать, что предоставляет набор ресурсов, поэтому подумайте:
- фиксированных строк? Только язык.
- форматирование "на лету"? Место действия.
- проверка орфографии в среде просмотра? Место действия.
- целые страницы / дочерний сайт? Только язык, иначе локаль (как вариант языка), если значительно отличается содержание требуемый.
электронная таблица для минимизации затрат на обслуживание
я использую электронную таблицу для хранения строк пользовательского интерфейса, где каждый код языка имеет Родительский код, так что ячейка для своей версии строки имеет формулу, которая получает свою строку от родителя. Чтобы создать пользовательскую строку для этого языка и строки, я просто перезаписываю формулу ячейки точным текстом. Это минимизирует объем обслуживания ресурсов. Я запускаю макрос в конце, который генерирует полный файл ресурсов для каждого языка.
Comments