Должен ли я использовать коды стран ISO 3166 (США) или культурные коды (en-US)? - PullRequest
3 голосов
/ 24 октября 2009

ISO 3166 имеет список из 2 символов коды стран , такие как US , UK , FR .

В корзине покупок, которую я использовал, есть и эти коды, и коды культур, такие как en-US или en-UK .

Для отдельного проекта я подумал, что более длинный код более полезен, потому что он по крайней мере говорит мне о языке, используемом в этой стране. Но я не могу найти точный список из них.

Должен ли я использовать эти «коды культуры» для отслеживания стран или просто придерживаться двухсимвольных имен ISO 3166? Какие могут быть уловки использования любого из них?

Я не уверен, почему тележка для покупок, которая привязана к английскому языку, даже будет заботиться об ан-сша против только сша. Любое понимание?

Edit: Также, где я могу получить список кодов культуры? Это стандарт ISO? Правильно ли предположить, что страновая часть кода культуры является кодом страны ISO 3166?

Ответы [ 6 ]

7 голосов
/ 24 октября 2009

Коды стран используются для идентификации стран. Просто страны.

Коды культур служат для идентификации культур, чтобы ссылаться на их специфику, например, десятичные знаки, разделитель даты, валюты и т. Д. Здесь вас непосредственно не интересует страна, а конкретная культура.

Если вам нужно просто отслеживать страны, используйте коды ISO 3166. Это хороший и простой стандарт. Если вы делаете что-то вроде определения IP-адреса в стране, то большинство услуг будут предоставлять вам только страны, но не конкретные культуры пользователей.

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

3 голосов
/ 25 марта 2014

Как уже отмечали другие, ответ на этот вопрос действительно зависит от приложения.

Страна

Страны являются политическими образованиями, которые издают законы и управляют юридической юрисдикцией. Страны определяют такие вещи, как валюты и их символы, торговые тарифы, префиксы телефонных номеров, системы весов и мер (метрические, британские и т. Д.) И так далее. Страны определяются стандартом ISO 3166, который определяет набор двухбуквенных (альфа-2), трехбуквенных (альфа-3) и числовых кодов стран.

Коды ISO 3166-1 Alpha-2 не связаны с нДВУ в Интернете, хотя часто они совпадают.

Культура

Культуры - это группы языковых и социальных норм, определяющих такие вещи, как способ написания чисел и даты. Культуры обычно обозначаются с использованием их языковых кодов ISO 639. На самом деле существует четыре различных кода для каждого языка: альфа-2, альфа-3, альфа-3 на основе названия английского языка и альфа-3 с расширениями диалекта.

И страны, и культуры несовершенно связаны с географическими регионами.

В вычислительных приложениях

Для многих компьютерных приложений полезно знать и то и другое. Например, вы хотите знать, на каком языке представлять свой веб-сайт, и хотите знать, в какой валюте пользователь ожидает делать покупки, какой налог с продаж применять, таможенные и почтовые тарифы и т. Д.

Это - то, где вводятся знакомые коды страны культуры, такие как en-US. Это говорит о том, что язык английский (США), а страна - США.

Американский английский имеет различные варианты написания и даже другие слова, чем стандартный английский, что может иметь отношение к вашей заявке, и следует использовать британскую цифровую запись. Это также говорит вам, что валюта для отображения продуктов в долларах США, что символ «$» и валюта имеет 100 подразделений, что вы должны использовать имперские веса и меры (футы и фунты), автомобильные компоненты должны быть для левой руки диск и т. д.

Примечание о языке

Вы не можете автоматически выбирать язык по стране. Во многих странах существует более одного официального языка. Например, в Канаде это английский и квебекский (канадский французский). В Индии 18 официальных языков, и ни на одном языке не говорит более 20% населения.

0 голосов
/ 24 октября 2009

Как уже говорили другие, если вы хотите записать географическое местоположение пользователей, используйте коды стран ISO.

Если вы также хотите отслеживать культуру пользователей в целях презентации (например, переводы, форматирование даты и чисел), вам следует сохранить оба этих параметра. Ничто не должно мешать пользователю, проживающему за границей, использовать настройки своего родного языка и культуры. Например, франкоязычный канадец, проживающий в США, может иметь код страны США, но хочет код культуры fr-CA.

0 голосов
/ 24 октября 2009

Как указали немногие, один указывает только страну (США), а другой указывает и язык, и страну (en-US). Я просто хотел добавить, что весь смысл наличия языка / страны заключается в том, что эти отношения не один к одному. Вы можете говорить на одном и том же языке в разных странах (pt-BR против pt-PT), и вы можете говорить на нескольких языках в одной и той же стране (fr-CA и en-CA).

Если все, что вам нужно отслеживать, это страна пользователя, во что бы то ни стало, используйте коды ISO. Если вам нужно отслеживать культурные и региональные настройки, я бы использовал полный код культуры.

0 голосов
/ 24 октября 2009

Я не отвечаю на ваш главный вопрос, но код страны по стандарту ISO 3166 для Великобритании - Великобритания, а не Великобритания (хотя это «исключительно зарезервировано»), хотя последний является кодом TLD DNS для Великобритании. (из-за личной ошибки Джона Постеля это есть в городской легенде). По этой причине языковым тегом для «британского английского» является en-GB, а не en-UK.

При этом не совсем понятно, для чего вам нужны эти коды.

0 голосов
/ 24 октября 2009

Если вы просто отслеживаете страны своих пользователей, я бы придерживался кодов стран. Культура больше подходит для отслеживания таких вещей, как десятичные разделители (. против ,).

...