Формат международного адреса — это не один шаблон, а набор местных привычек, которые плохо сводятся к общему правилу. В одних культурах адрес пишут от большого к малому, в других — от малого к большому; в одних странах административная единица попадает в строку, в других её не пишут вовсе. Ниже разберём, почему порядок строк различается, что делать с местными буквами и как не сломать данные, когда адрес приходит из другой страны.
Почему порядок строк различается
Адрес — это описание пути, а путь каждый описывает от той точки, которая кажется ему главной. В культурах Восточной Азии естественно начинать с самого крупного: страна, затем регион, город, район, и только потом улица и дом. Читающий движется от общего контекста к частному и в конце получает точку.
В Европе и Америке привычка обратная: сначала дом и улица, затем город, регион и индекс, а название страны оказывается в самом низу. Здесь логика иная — сначала то, что человек знает точно, потом всё более крупные ориентиры.
Важно понимать, что различие не про правильность, а про привычку. Ни один порядок не является более точным, и попытка привести весь мир к одному шаблону ломает читаемость адресов.
| Культура | Направление | Как выглядит порядок строк |
|---|---|---|
| Восточная Азия | от большого к малому | страна, регион, город, район, улица, дом |
| Европа и Америка | от малого к большому | дом и улица, город, регион, индекс, страна |
Как читать адрес с обратным порядком
Если вы видите аккуратную многострочную запись и не понимаете, где в ней улица, смотрите не на строки, а на структуру. В адресах «от большого к малому» название страны почти всегда идёт первым, а номер дома — последним. В адресах «от малого к большому» страна стоит последней строкой, и в международной переписке её принято писать заглавными буквами, чтобы сортировщик сразу видел пункт назначения.
Второй ориентир — почтовый индекс. Там, где он есть, он обычно стоит рядом с городом и часто на той же строке. Если вы нашли индекс, вы почти наверняка нашли и населённый пункт.
Третий: в записях «от большого к малому» строки не разделяют запятыми, потому что конец строки сам служит разделителем. Добавление запятых при копировании в поле одной строкой делает такой адрес трудночитаемым.
Различаются не только строки, но и сами поля. Там, где в одной стране хватает региона, в другой нужна префектура, в третьей — федеральная единица, а в некоторых местах — эмират. Универсальная подпись для этой сущности давно прижилась, но смысл за ней стоит разный, и подставлять одно и то же название поля во все страны — верный способ получить путаницу в данных. Для тестовых наборов это означает, что примеры должны покрывать разные названия одного и того же по смыслу поля, иначе разница останется незамеченной до первой выгрузки.
Нужно ли переводить названия улиц?
Переводить названия улиц не нужно и вредно. Улица с названием, переведённым на язык отправителя, перестаёт соответствовать табличкам на домах и данным почты. Исключение — слова-описания вроде «улица», «проспект», «площадь»: их иногда передают на языке страны назначения, но и это не обязательно.
Практическое правило: транслитерация вместо перевода. Имя собственное в составе названия переносится буквами, а не переводится по смыслу, иначе ни один курьер не сопоставит запись с местностью.
Что делать с местными буквами и латиницей?
Латиница нужна в первую очередь для международного потока: её читает техника сортировочных центров и, что важнее, человек, который не знает местного алфавита. Локальная запись нужна внутри страны, где так адрес пишут на доме и в базе почты.
Корректный подход — хранить запись в том виде, в каком её вводит пользователь, и отдельно формировать транслитерированный вариант для печати и обмена. Тогда ни один сценарий не требует переписывать оригинал.
Здесь же кроется частая ошибка: попытка «нормализовать» буквы заменой похожих символов. Такая замена необратима и легко превращает правильное местное название в нечитаемую строку.
Как выглядит адрес разных стран на нашем сайте
Генератор фальшивых адресов показывает адрес в местной раскладке: для Японии строки идут от крупного к мелкому, для Германии — от улицы к стране, и порядок в каждом случае взят из практики этой страны, а не из общего шаблона.
Полезно сравнить две крайности подряд: возьмите адрес для страны Восточной Азии, затем для европейской, и вы увидите, как меняется не набор полей, а их последовательность. Эти данные синтезированы для тестирования: отправлять по таким адресам ничего нельзя, и как подтверждение места жительства они не годятся.
Отдельно стоит помнить о традиции международной пересылки: на конверте страна назначения указывается последней, и именно по последней строке письмо и сортируется. Это не отменяет того, что внутри базы порядок другой: там каждая часть адреса живёт в своём поле, и строки из нескольких частей может не существовать вовсе.
Отсюда практическое правило: место сборки строки — код вывода, а не код хранения. Разные назначения требуют разного вида: для печати на конверте нужен один порядок, для подсказки в форме — другой, для выгрузки во внешнюю систему — третий.
И ещё одна деталь, которую замечают поздно: смена порядка строк не должна менять сами данные. Если от порядка зависит, что оказалось в поле региона, значит, в системе смешаны две разные задачи — хранение и показ.
Что важно разработчику
Первое: не зашивайте порядок строк в шаблон. Порядок — это представление, и он должен зависеть от страны, а не от кода, который собирает строку.
Второе: один смысл — одно поле. Не стоит сваливать город, регион и индекс в одно текстовое поле: после этого их невозможно ни проверить, ни отсортировать, ни показать в другом порядке.
Третье: не называйте универсальное поле «State». В разных странах это может быть область, провинция, префектура, губерния или эмират; нейтральное имя вроде «регион» и понятная подпись работают лучше.
Четвёртое: предусмотрите пустое значение для регионов, которых в адресе нет. Страна без административной единицы в строке — норма, а не дефект данных.
Пятое: разделите хранение и отображение. Храните поля по отдельности, а собирайте строку при выводе, с учётом страны и назначения — печать на конверте, показ в форме и обмен с внешней системой требуют разных вариантов. Дополнительный разбор поля индекса есть в статье про почтовые индексы.
Что делать дальше
Если вы проверяете международную форму, соберите небольшой набор из двух-трёх стран с противоположным порядком строк и прогоните через него свои сценарии. Готовые адреса в местной раскладке можно взять в генераторе, а как устроена запись конкретно для США, разобрано в статье про американский адрес.