Какой формат ISO следует использовать для хранения кода языка пользователя?
должен ли я использовать ISO 639-1 (2-буквенная аббревиатура) или ISO 639-2 (3-буквенная аббревиатура) для хранения кода языка пользователя? Оба являются официальными стандартами, но какой из них является стандартом де-факто в сообществе разработчиков? Я думаю, что ISO 639-1 было бы легче запомнить и, вероятно, более популярно по этой причине, но это всего лишь предположение.
сайт, который я строю, будет иметь отдельный сайт для США, Бразилии, России, Китая и ВЕЛИКОБРИТАНИЯ.
5 ответов
вы должны использовать IETF языковые теги, потому что они уже используются для HTTP/HTML/XML и многих других технологий. Они основаны на нескольких стандартах, включая коллекцию ISO-639 (да, выбор языка, региона и культуры не так прост в определении).
я написал более подробную статью о правильный выбор и использование кода языка. Идея состоит в том, чтобы использовать самые простые / короткие коды ISO-639-1 и указать больше только для специальных случаи. Внутри статьи есть коды для ~30 наиболее часто используемых языков с причинами, по которым я считаю одну альтернативу лучше, чем другую.
если вы хотите пропустить чтение всей статьи, Вот краткий список языковые коды (не путать с кодами стран): ar, cs, da, de, el, en, en-gb, es, fr, fi, he, hu, it, ja, ko, nb, nl, pl, pt, pt-pt, ro, ru, sv, tr, uk, zh, zh-hant
следующие моменты могут быть не очевидны, но следует иметь в виду:
-
en
используетсяen-us
- американский английский, и британский Используется английскийen-gb
-
pt
используетсяpt-br
, а неpt-pt
ведьма имеет гораздо меньше колонки -
zh
вместоzh-hans
,zh-CN
,... -
zh-hant
(традиционный китайский) используется вместо более конкретных кодов, какzh-hant-TW
илиzh-TW
вы можете найти больше объяснений внутри статьи.
Я бы пошел с производной от ISO 639. В частности, мне нравится использовать это:http://en.wikipedia.org/wiki/IETF_language_tag
Я не эксперт, но каждый сайт, который я когда-либо видел, использует ISO 639-1, включая текущий сайт над которым я работаю.
Это работает для нас!
Я только когда-либо видел 2 - символьные языковые коды в использовании-поэтому я бы рекомендовал пойти с ними, если ваша работа не включает в себя вникание в лингвистику каким-то образом. Если все, что вы делаете, это настройка просмотра для мира в целом, вам не понадобится дополнительный репертуар, предлагаемый 3-символьными кодами.
ISO 639-1 Alpha-2 используются практически повсеместно.
Они используются, например, при согласовании содержимого HTTP. Если вы когда-нибудь задумывались, как международный веб-сайт может автоматически показать вам свою домашнюю страницу на вашем родном языке, вот как это работает. (Хотя иногда это немного раздражает. Мне, например, часто показывают домашнюю страницу Apache по умолчанию на немецком языке, потому что веб-мастер включил согласование контента,но только поместил контент для английского языка.)
большинство веб-браузеры используют их непосредственно в диалоговом окне "настройки".
большинство операционных систем используют их в их диалоговые окна настроек или файлы конфигурации.
Википедия использует их в своих именах серверов для разных языковых версий.
другими словами: если пользователи не являются носителями английского языка, они, вероятно,уже столкнулись с ними при настройке своего программного обеспечения, потому что в противном случае они не смогли бы используйте их компьютеры.
другие члены семейства ISO 639 в основном представляют интерес для лингвистов. Если вы не ожидаете Самого Иисуса Христа (ISO 639-2 Alpha-3 code arc
), чтобы посетить ваш сайт, или, может быть, клингоны (tlh
), ISO 639-1 имеет больше языков, чем вы когда-либо можете надеяться поддержать.