| // Copyright (C) 2013 Google Inc. |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| // AUTOMATICALLY GENERATED FILE - DO NOT EDIT |
| |
| #include "region_data_constants.h" |
| |
| #include <libaddressinput/address_field.h> |
| |
| #include <algorithm> |
| #include <cassert> |
| #include <cstddef> |
| #include <map> |
| #include <string> |
| #include <vector> |
| |
| #include "address_field_util.h" |
| #include "format_element.h" |
| #include "lookup_key.h" |
| #include "util/size.h" |
| |
| namespace i18n { |
| namespace addressinput { |
| namespace { |
| |
| struct RegionData { |
| const char* const region_code; |
| const char* const data; |
| }; |
| |
| const RegionData kRegionData[] = { |
| {"AC", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%Z",)" |
| R"("zipex":"ASCN 1ZZ",)" |
| R"("languages":"en")" |
| "}"}, |
| {"AD", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"AD100,AD501,AD700",)" |
| R"("posturl":"http://www.correos.es/comun/CodigosPostales/1010_s-CodPostal.asp?Provincia=",)" |
| R"("languages":"ca")" |
| "}"}, |
| {"AE", "{" |
| R"("fmt":"%N%n%O%n%A%n%S",)" |
| R"("lfmt":"%N%n%O%n%A%n%S",)" |
| R"("require":"AS",)" |
| R"("state_name_type":"emirate",)" |
| R"("languages":"ar")" |
| "}"}, |
| {"AF", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%Z",)" |
| R"("zipex":"1001,2601,3801",)" |
| R"("languages":"fa~ps~uz-Arab~tk")" |
| "}"}, |
| {"AG", "{" |
| R"("require":"A",)" |
| R"("languages":"en")" |
| "}"}, |
| {"AI", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%Z",)" |
| R"("zipex":"2640",)" |
| R"("languages":"en")" |
| "}"}, |
| {"AL", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z%n%C",)" |
| R"("zipex":"1001,1017,3501",)" |
| R"("languages":"sq")" |
| "}"}, |
| {"AM", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z%n%C%n%S",)" |
| R"("lfmt":"%N%n%O%n%A%n%Z%n%C%n%S",)" |
| R"("zipex":"375010,0002,0010",)" |
| R"("languages":"hy")" |
| "}"}, |
| {"AO", "{" |
| R"("languages":"pt")" |
| "}"}, |
| {"AQ", "{" |
| "}"}, |
| {"AR", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C%n%S",)" |
| R"("zipex":"C1070AAM,C1000WAM,B1000TBU,X5187XAB",)" |
| R"("posturl":"http://www.correoargentino.com.ar/formularios/cpa",)" |
| R"("languages":"es")" |
| "}"}, |
| {"AS", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %S %Z",)" |
| R"("require":"ACSZ",)" |
| R"("zip_name_type":"zip",)" |
| R"("state_name_type":"state",)" |
| R"("zipex":"96799",)" |
| R"("posturl":"http://zip4.usps.com/zip4/welcome.jsp",)" |
| R"("languages":"sm~en")" |
| "}"}, |
| {"AT", "{" |
| R"("fmt":"%O%n%N%n%A%n%Z %C",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"1010,3741",)" |
| R"("posturl":"http://www.post.at/post_subsite_postleitzahlfinder.php",)" |
| R"("languages":"de~hr~sl~hu")" |
| "}"}, |
| {"AU", "{" |
| R"("fmt":"%O%n%N%n%A%n%C %S %Z",)" |
| R"("require":"ACSZ",)" |
| R"("state_name_type":"state",)" |
| R"("locality_name_type":"suburb",)" |
| R"("zipex":"2060,3171,6430,4000,4006,3001",)" |
| R"("posturl":"http://www1.auspost.com.au/postcodes/",)" |
| R"("languages":"en")" |
| "}"}, |
| {"AW", "{" |
| R"("languages":"nl~pap")" |
| "}"}, |
| {"AX", "{" |
| R"("fmt":"%O%n%N%n%A%nAX-%Z %C%nÅLAND",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"22150,22550,22240,22710,22270,22730,22430",)" |
| R"("posturl":"https://www.alandpost.ax/privat/skicka-brev/postnummer-pa-aland/postnummersokning",)" |
| R"("languages":"sv")" |
| "}"}, |
| {"AZ", "{" |
| R"("fmt":"%N%n%O%n%A%nAZ %Z %C",)" |
| R"("zipex":"1000",)" |
| R"("languages":"az~az-Cyrl")" |
| "}"}, |
| {"BA", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"71000",)" |
| R"("languages":"bs~bs-Cyrl~hr~sr~sr-Latn")" |
| "}"}, |
| {"BB", "{" |
| R"("fmt":"%N%n%O%n%A%n%C, %S %Z",)" |
| R"("state_name_type":"parish",)" |
| R"("zipex":"BB23026,BB22025",)" |
| R"("languages":"en")" |
| "}"}, |
| {"BD", "{" |
| R"("fmt":"%N%n%O%n%A%n%C - %Z",)" |
| R"("zipex":"1340,1000",)" |
| R"("posturl":"https://bdpost.portal.gov.bd/site/page/f41a42bd-2540-4afa-8568-af56443c3df8/-",)" |
| R"("languages":"bn")" |
| "}"}, |
| {"BE", "{" |
| R"("fmt":"%O%n%N%n%A%n%Z %C",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"4000,1000",)" |
| R"("posturl":"https://www.bpost.be/nl/postcodevalidatie-tool",)" |
| R"("languages":"nl~fr~de")" |
| "}"}, |
| {"BF", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %X",)" |
| R"("languages":"fr")" |
| "}"}, |
| {"BG", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"1000,1700",)" |
| R"("posturl":"http://www.bgpost.bg/?cid=5",)" |
| R"("languages":"bg")" |
| "}"}, |
| {"BH", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %Z",)" |
| R"("zipex":"317",)" |
| R"("languages":"ar")" |
| "}"}, |
| {"BI", "{" |
| R"("languages":"rn~fr~en")" |
| "}"}, |
| {"BJ", "{" |
| R"("languages":"fr")" |
| "}"}, |
| {"BL", "{" |
| R"("fmt":"%O%n%N%n%A%n%Z %C %X",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"97100",)" |
| R"("posturl":"https://www.laposte.fr/outils/trouver-un-code-postal",)" |
| R"("languages":"fr")" |
| "}"}, |
| {"BM", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %Z",)" |
| R"("zipex":"FL 07,HM GX,HM 12",)" |
| R"("posturl":"http://www.landvaluation.bm/",)" |
| R"("languages":"en")" |
| "}"}, |
| {"BN", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %Z",)" |
| R"("zipex":"BT2328,KA1131,BA1511",)" |
| R"("posturl":"http://webapps.mtic.gov.bn/SitePages/Post/postcode.aspx",)" |
| R"("languages":"ms~ms-Arab")" |
| "}"}, |
| {"BO", "{" |
| R"("languages":"es~qu~ay")" |
| "}"}, |
| {"BQ", "{" |
| R"("languages":"nl")" |
| "}"}, |
| {"BR", "{" |
| R"("fmt":"%O%n%N%n%A%n%D%n%C-%S%n%Z",)" |
| R"("require":"ASCZ",)" |
| R"("state_name_type":"state",)" |
| R"("sublocality_name_type":"neighborhood",)" |
| R"("zipex":"40301-110,70002-900",)" |
| R"("posturl":"http://www.buscacep.correios.com.br/",)" |
| R"("languages":"pt")" |
| "}"}, |
| {"BS", "{" |
| R"("fmt":"%N%n%O%n%A%n%C, %S",)" |
| R"("state_name_type":"island",)" |
| R"("languages":"en")" |
| "}"}, |
| {"BT", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %Z",)" |
| R"("zipex":"11001,31101,35003",)" |
| R"("posturl":"https://bhutanpost.bt/postcode/",)" |
| R"("languages":"dz")" |
| "}"}, |
| {"BV", "{" |
| R"("languages":"no")" |
| "}"}, |
| {"BW", "{" |
| R"("languages":"en~tn")" |
| "}"}, |
| {"BY", "{" |
| R"("fmt":"%O%n%N%n%A%n%Z, %C%n%S",)" |
| R"("zipex":"223016,225860,220050",)" |
| R"("posturl":"http://ex.belpost.by/addressbook/",)" |
| R"("languages":"be~ru")" |
| "}"}, |
| {"BZ", "{" |
| R"("languages":"en")" |
| "}"}, |
| {"CA", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %S %Z",)" |
| R"("require":"ACSZ",)" |
| R"("zipex":"H3Z 2Y7,V8X 3X4,T0L 1K0,T0H 1A0,K1A 0B1",)" |
| R"("posturl":"https://www.canadapost-postescanada.ca/cpo/mc/personal/postalcode/fpc.jsf",)" |
| R"("languages":"en~fr")" |
| "}"}, |
| {"CC", "{" |
| R"("fmt":"%O%n%N%n%A%n%C %S %Z",)" |
| R"("zipex":"6799",)" |
| R"("languages":"en")" |
| "}"}, |
| {"CD", "{" |
| R"("languages":"fr~sw~lua~ln~kg")" |
| "}"}, |
| {"CF", "{" |
| R"("languages":"sg~fr")" |
| "}"}, |
| {"CG", "{" |
| R"("languages":"fr")" |
| "}"}, |
| {"CH", "{" |
| R"("fmt":"%O%n%N%n%A%nCH-%Z %C",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"2544,1211,1556,3030",)" |
| R"("posturl":"http://www.post.ch/db/owa/pv_plz_pack/pr_main",)" |
| R"("languages":"de~gsw~fr~it~rm")" |
| "}"}, |
| {"CI", "{" |
| R"("fmt":"%N%n%O%n%X %A %C %X",)" |
| R"("languages":"fr")" |
| "}"}, |
| {"CK", "{" |
| R"("languages":"en")" |
| "}"}, |
| {"CL", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C%n%S",)" |
| R"("zipex":"8340457,8720019,1230000,8329100",)" |
| R"("languages":"es")" |
| "}"}, |
| {"CM", "{" |
| R"("languages":"fr~en")" |
| "}"}, |
| {"CN", "{" |
| R"("fmt":"%Z%n%S%C%D%n%A%n%O%n%N",)" |
| R"("lfmt":"%N%n%O%n%A%n%D%n%C%n%S, %Z",)" |
| R"("require":"ACSZ",)" |
| R"("sublocality_name_type":"district",)" |
| R"("zipex":"266033,317204,100096,100808",)" |
| R"("posturl":"http://cpdc.chinapost.com.cn/web/",)" |
| R"("languages":"zh")" |
| "}"}, |
| {"CO", "{" |
| R"("fmt":"%N%n%O%n%A%n%D%n%C, %S, %Z",)" |
| R"("require":"AS",)" |
| R"("state_name_type":"department",)" |
| R"("zipex":"111221,130001,760011",)" |
| R"("posturl":"http://www.codigopostal.gov.co/",)" |
| R"("languages":"es")" |
| "}"}, |
| {"CR", "{" |
| R"("fmt":"%N%n%O%n%A%n%S, %C%n%Z",)" |
| R"("require":"ACS",)" |
| R"("zipex":"1000,2010,1001",)" |
| R"("posturl":"https://correos.go.cr/codigo-postal/",)" |
| R"("languages":"es")" |
| "}"}, |
| {"CU", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %S%n%Z",)" |
| R"("zipex":"10700",)" |
| R"("languages":"es")" |
| "}"}, |
| {"CV", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C%n%S",)" |
| R"("state_name_type":"island",)" |
| R"("zipex":"7600",)" |
| R"("languages":"pt")" |
| "}"}, |
| {"CW", "{" |
| R"("languages":"pap~nl")" |
| "}"}, |
| {"CX", "{" |
| R"("fmt":"%O%n%N%n%A%n%C %S %Z",)" |
| R"("zipex":"6798",)" |
| R"("languages":"en")" |
| "}"}, |
| {"CY", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"2008,3304,1900",)" |
| R"("languages":"el~tr")" |
| "}"}, |
| {"CZ", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"100 00,251 66,530 87,110 00,225 99",)" |
| R"("posturl":"http://psc.ceskaposta.cz/CleanForm.action",)" |
| R"("languages":"cs")" |
| "}"}, |
| {"DE", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"26133,53225",)" |
| R"("posturl":"http://www.postdirekt.de/plzserver/",)" |
| R"("languages":"de~frr")" |
| "}"}, |
| {"DJ", "{" |
| R"("languages":"fr~ar")" |
| "}"}, |
| {"DK", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"8660,1566",)" |
| R"("posturl":"http://www.postdanmark.dk/da/Privat/Kundeservice/postnummerkort/Sider/Find-postnummer.aspx",)" |
| R"("languages":"da~de~kl")" |
| "}"}, |
| {"DM", "{" |
| R"("languages":"en")" |
| "}"}, |
| {"DO", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"11903,10101",)" |
| R"("posturl":"http://inposdom.gob.do/",)" |
| R"("languages":"es")" |
| "}"}, |
| {"DZ", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"40304,16027",)" |
| R"("languages":"ar~fr")" |
| "}"}, |
| {"EC", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z%n%C",)" |
| R"("zipex":"090105,092301",)" |
| R"("posturl":"http://www.codigopostal.gob.ec/",)" |
| R"("languages":"es~qu")" |
| "}"}, |
| {"EE", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C %S",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"69501,11212",)" |
| R"("posturl":"https://www.omniva.ee/era/sihtnumbrite_otsing",)" |
| R"("languages":"et")" |
| "}"}, |
| {"EG", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%S%n%Z",)" |
| R"("lfmt":"%N%n%O%n%A%n%C%n%S%n%Z",)" |
| R"("zipex":"4460232,5734356",)" |
| R"("languages":"ar")" |
| "}"}, |
| {"EH", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"70000,72000",)" |
| R"("languages":"ar")" |
| "}"}, |
| {"ER", "{" |
| R"("languages":"ti~en~ar")" |
| "}"}, |
| {"ES", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C %S",)" |
| R"("require":"ACSZ",)" |
| R"("zipex":"28039,28300,28070",)" |
| R"("posturl":"http://www.correos.es/contenido/13-MenuRec2/04-MenuRec24/1010_s-CodPostal.asp",)" |
| R"("languages":"es~ca~gl~eu")" |
| "}"}, |
| {"ET", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"1000",)" |
| R"("languages":"am")" |
| "}"}, |
| {"FI", "{" |
| R"("fmt":"%O%n%N%n%A%nFI-%Z %C",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"00550,00011",)" |
| R"("posturl":"https://support.posti.fi/fi/tyokalut/postinumerohaku.html",)" |
| R"("languages":"fi~sv~sms")" |
| "}"}, |
| {"FJ", "{" |
| R"("languages":"en~hif~fj")" |
| "}"}, |
| {"FK", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%Z",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"FIQQ 1ZZ",)" |
| R"("languages":"en")" |
| "}"}, |
| {"FM", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %S %Z",)" |
| R"("require":"ACSZ",)" |
| R"("zip_name_type":"zip",)" |
| R"("state_name_type":"state",)" |
| R"("zipex":"96941,96944",)" |
| R"("posturl":"http://zip4.usps.com/zip4/welcome.jsp",)" |
| R"("languages":"en")" |
| "}"}, |
| {"FO", "{" |
| R"("fmt":"%N%n%O%n%A%nFO%Z %C",)" |
| R"("zipex":"100",)" |
| R"("posturl":"https://posta.fo/en/private/send-receive/postcodes",)" |
| R"("languages":"fo")" |
| "}"}, |
| {"FR", "{" |
| R"("fmt":"%O%n%N%n%A%n%Z %C",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"33380,34092,33506",)" |
| R"("posturl":"https://www.laposte.fr/outils/trouver-un-code-postal",)" |
| R"("languages":"fr")" |
| "}"}, |
| {"GA", "{" |
| R"("languages":"fr")" |
| "}"}, |
| {"GB", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%Z",)" |
| R"("require":"ACZ",)" |
| R"("locality_name_type":"post_town",)" |
| R"("zipex":"EC1Y 8SY,GIR 0AA,M2 5BQ,M34 4AB,CR0 2YR,DN16 9AA,W1A 4ZZ,EC1A 1HQ,OX14 4PG,BS18 8HF,NR25 7HG,RH6 0NP,BH23 6AA,B6 5BA,SO23 9AP,PO1 3AX,BFPO 61",)" |
| R"("posturl":"http://www.royalmail.com/postcode-finder",)" |
| R"("languages":"en~cy~ga~gd")" |
| "}"}, |
| {"GD", "{" |
| R"("languages":"en")" |
| "}"}, |
| {"GE", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"0101",)" |
| R"("posturl":"http://www.georgianpost.ge/index.php?page=10",)" |
| R"("languages":"ka~ab~os")" |
| "}"}, |
| {"GF", "{" |
| R"("fmt":"%O%n%N%n%A%n%Z %C %X",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"97300",)" |
| R"("posturl":"https://www.laposte.fr/outils/trouver-un-code-postal",)" |
| R"("languages":"fr")" |
| "}"}, |
| {"GG", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%nGUERNSEY%n%Z",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"GY1 1AA,GY2 2BT",)" |
| R"("posturl":"http://www.guernseypost.com/postcode_finder/",)" |
| R"("languages":"en")" |
| "}"}, |
| {"GH", "{" |
| R"("languages":"ak~en~ee~gaa")" |
| "}"}, |
| {"GI", "{" |
| R"("fmt":"%N%n%O%n%A%nGIBRALTAR%n%Z",)" |
| R"("require":"A",)" |
| R"("zipex":"GX11 1AA",)" |
| R"("languages":"en")" |
| "}"}, |
| {"GL", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"3900,3950,3911",)" |
| R"("languages":"kl")" |
| "}"}, |
| {"GM", "{" |
| R"("languages":"en")" |
| "}"}, |
| {"GN", "{" |
| R"("fmt":"%N%n%O%n%Z %A %C",)" |
| R"("zipex":"001,200,100",)" |
| R"("languages":"fr")" |
| "}"}, |
| {"GP", "{" |
| R"("fmt":"%O%n%N%n%A%n%Z %C %X",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"97100",)" |
| R"("posturl":"https://www.laposte.fr/outils/trouver-un-code-postal",)" |
| R"("languages":"fr")" |
| "}"}, |
| {"GQ", "{" |
| R"("languages":"es~fr~pt")" |
| "}"}, |
| {"GR", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"151 24,151 10,101 88",)" |
| R"("posturl":"https://postalcodes.elta.gr",)" |
| R"("languages":"el")" |
| "}"}, |
| {"GS", "{" |
| R"("fmt":"%N%n%O%n%A%n%n%C%n%Z",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"SIQQ 1ZZ",)" |
| R"("languages":"en")" |
| "}"}, |
| {"GT", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z- %C",)" |
| R"("zipex":"09001,01501",)" |
| R"("languages":"es~quc")" |
| "}"}, |
| {"GU", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %Z",)" |
| R"("require":"ACZ",)" |
| R"("zip_name_type":"zip",)" |
| R"("zipex":"96910,96931",)" |
| R"("posturl":"http://zip4.usps.com/zip4/welcome.jsp",)" |
| R"("languages":"en~ch")" |
| "}"}, |
| {"GW", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"1000,1011",)" |
| R"("languages":"pt")" |
| "}"}, |
| {"GY", "{" |
| R"("languages":"en")" |
| "}"}, |
| {"HK", "{" |
| R"("fmt":"%S%n%C%n%A%n%O%n%N",)" |
| R"("lfmt":"%N%n%O%n%A%n%C%n%S",)" |
| R"("require":"AS",)" |
| R"("state_name_type":"area",)" |
| R"("locality_name_type":"district",)" |
| R"("languages":"zh-Hant~en")" |
| "}"}, |
| {"HM", "{" |
| R"("fmt":"%O%n%N%n%A%n%C %S %Z",)" |
| R"("zipex":"7050")" |
| "}"}, |
| {"HN", "{" |
| R"("fmt":"%N%n%O%n%A%n%C, %S%n%Z",)" |
| R"("require":"ACS",)" |
| R"("state_name_type":"department",)" |
| R"("zipex":"31301",)" |
| R"("languages":"es")" |
| "}"}, |
| {"HR", "{" |
| R"("fmt":"%N%n%O%n%A%nHR-%Z %C",)" |
| R"("zipex":"10000,21001,10002",)" |
| R"("posturl":"http://www.posta.hr/default.aspx?pretpum",)" |
| R"("languages":"hr~it~vec")" |
| "}"}, |
| {"HT", "{" |
| R"("fmt":"%N%n%O%n%A%nHT%Z %C",)" |
| R"("zipex":"6120,5310,6110,8510",)" |
| R"("languages":"ht~fr")" |
| "}"}, |
| {"HU", "{" |
| R"("fmt":"%N%n%O%n%C%n%A%n%Z",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"1037,2380,1540",)" |
| R"("posturl":"http://posta.hu/ugyfelszolgalat/iranyitoszam_kereso",)" |
| R"("languages":"hu")" |
| "}"}, |
| {"ID", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%S %Z",)" |
| R"("require":"AS",)" |
| R"("zipex":"40115",)" |
| R"("languages":"id")" |
| "}"}, |
| {"IE", "{" |
| R"("fmt":"%N%n%O%n%A%n%D%n%C%n%S%n%Z",)" |
| R"("zip_name_type":"eircode",)" |
| R"("state_name_type":"county",)" |
| R"("sublocality_name_type":"townland",)" |
| R"("zipex":"A65 F4E2",)" |
| R"("posturl":"https://finder.eircode.ie",)" |
| R"("languages":"en")" |
| "}"}, |
| {"IL", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %Z",)" |
| R"("zipex":"9614303",)" |
| R"("posturl":"http://www.israelpost.co.il/zipcode.nsf/demozip?openform",)" |
| R"("languages":"iw~ar")" |
| "}"}, |
| {"IM", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%Z",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"IM2 1AA,IM99 1PS",)" |
| R"("posturl":"https://www.iompost.com/tools-forms/postcode-finder/",)" |
| R"("languages":"en~gv")" |
| "}"}, |
| {"IN", "{" |
| R"("fmt":"%N%n%O%n%A%n%T%n%F%n%L%n%C %Z%n%S",)" |
| R"("require":"ACSZ",)" |
| R"("zip_name_type":"pin",)" |
| R"("state_name_type":"state",)" |
| R"("zipex":"110034,110001",)" |
| R"("posturl":"https://www.indiapost.gov.in/vas/pages/FindPinCode.aspx",)" |
| R"("languages":"en~hi")" |
| "}"}, |
| {"IO", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%Z",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"BBND 1ZZ",)" |
| R"("languages":"en")" |
| "}"}, |
| {"IQ", "{" |
| R"("fmt":"%O%n%N%n%A%n%C, %S%n%Z",)" |
| R"("require":"ACS",)" |
| R"("zipex":"31001",)" |
| R"("languages":"ar")" |
| "}"}, |
| {"IR", "{" |
| R"("fmt":"%O%n%N%n%S%n%C, %D%n%A%n%Z",)" |
| R"("sublocality_name_type":"neighborhood",)" |
| R"("zipex":"11936-12345",)" |
| R"("languages":"fa")" |
| "}"}, |
| {"IS", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"320,121,220,110",)" |
| R"("posturl":"https://posturinn.is/",)" |
| R"("languages":"is")" |
| "}"}, |
| {"IT", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C %S",)" |
| R"("require":"ACSZ",)" |
| R"("zipex":"00144,47037,39049",)" |
| R"("posturl":"https://www.poste.it/cerca/index.html#/risultati-cerca-cap/",)" |
| R"("languages":"it")" |
| "}"}, |
| {"JE", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%nJERSEY%n%Z",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"JE1 1AA,JE2 2BT",)" |
| R"("posturl":"http://www.jerseypost.com/tools/postcode-address-finder/",)" |
| R"("languages":"en")" |
| "}"}, |
| {"JM", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%S %X",)" |
| R"("require":"ACS",)" |
| R"("state_name_type":"parish",)" |
| R"("languages":"en")" |
| "}"}, |
| {"JO", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %Z",)" |
| R"("zipex":"11937,11190",)" |
| R"("languages":"ar")" |
| "}"}, |
| {"JP", "{" |
| R"("fmt":"〒%Z%n%S%n%A%n%O%n%N",)" |
| R"("lfmt":"%N%n%O%n%A, %S%n%Z",)" |
| R"("require":"ASZ",)" |
| R"("state_name_type":"prefecture",)" |
| R"("zipex":"154-0023,350-1106,951-8073,112-0001,208-0032,231-0012",)" |
| R"("posturl":"http://www.post.japanpost.jp/zipcode/",)" |
| R"("languages":"ja")" |
| "}"}, |
| {"KE", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%Z",)" |
| R"("zipex":"20100,00100",)" |
| R"("languages":"sw~en")" |
| "}"}, |
| {"KG", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"720001",)" |
| R"("languages":"ky~ru")" |
| "}"}, |
| {"KH", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %Z",)" |
| R"("zipex":"120101,120108",)" |
| R"("posturl":"https://www.cambodiapost.post/page/postal-codes",)" |
| R"("languages":"km")" |
| "}"}, |
| {"KI", "{" |
| R"("fmt":"%N%n%O%n%A%n%S%n%C",)" |
| R"("state_name_type":"island",)" |
| R"("languages":"en~gil")" |
| "}"}, |
| {"KM", "{" |
| R"("languages":"ar~zdj~wni~fr")" |
| "}"}, |
| {"KN", "{" |
| R"("fmt":"%N%n%O%n%A%n%C, %S",)" |
| R"("require":"ACS",)" |
| R"("state_name_type":"island",)" |
| R"("languages":"en")" |
| "}"}, |
| {"KP", "{" |
| R"("fmt":"%Z%n%S%n%C%n%A%n%O%n%N",)" |
| R"("lfmt":"%N%n%O%n%A%n%C%n%S, %Z",)" |
| R"("languages":"ko")" |
| "}"}, |
| {"KR", "{" |
| R"("fmt":"%S %C%D%n%A%n%O%n%N%n%Z",)" |
| R"("lfmt":"%N%n%O%n%A%n%D%n%C%n%S%n%Z",)" |
| R"("require":"ACSZ",)" |
| R"("state_name_type":"do_si",)" |
| R"("sublocality_name_type":"district",)" |
| R"("zipex":"03051",)" |
| R"("posturl":"http://www.epost.go.kr/search/zipcode/search5.jsp",)" |
| R"("languages":"ko")" |
| "}"}, |
| {"KW", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"54541,54551,54404,13009",)" |
| R"("languages":"ar")" |
| "}"}, |
| {"KY", "{" |
| R"("fmt":"%N%n%O%n%A%n%S %Z",)" |
| R"("require":"AS",)" |
| R"("state_name_type":"island",)" |
| R"("zipex":"KY1-1100,KY1-1702,KY2-2101",)" |
| R"("posturl":"http://www.caymanpost.gov.ky/",)" |
| R"("languages":"en")" |
| "}"}, |
| {"KZ", "{" |
| R"("fmt":"%Z%n%S%n%C%n%A%n%O%n%N",)" |
| R"("zipex":"040900,050012",)" |
| R"("languages":"kk~ru")" |
| "}"}, |
| {"LA", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"01160,01000",)" |
| R"("languages":"lo")" |
| "}"}, |
| {"LB", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %Z",)" |
| R"("zipex":"2038 3054,1107 2810,1000",)" |
| R"("languages":"ar")" |
| "}"}, |
| {"LC", "{" |
| R"("languages":"en")" |
| "}"}, |
| {"LI", "{" |
| R"("fmt":"%O%n%N%n%A%nFL-%Z %C",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"9496,9491,9490,9485",)" |
| R"("posturl":"http://www.post.ch/db/owa/pv_plz_pack/pr_main",)" |
| R"("languages":"de~gsw")" |
| "}"}, |
| {"LK", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%Z",)" |
| R"("zipex":"20000,00100",)" |
| R"("posturl":"http://www.slpost.gov.lk/",)" |
| R"("languages":"si~ta")" |
| "}"}, |
| {"LR", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"1000",)" |
| R"("languages":"en")" |
| "}"}, |
| {"LS", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %Z",)" |
| R"("zipex":"100",)" |
| R"("languages":"st~en")" |
| "}"}, |
| {"LT", "{" |
| R"("fmt":"%O%n%N%n%A%nLT-%Z %C %S",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"04340,03500",)" |
| R"("posturl":"http://www.post.lt/lt/?id=316",)" |
| R"("languages":"lt")" |
| "}"}, |
| {"LU", "{" |
| R"("fmt":"%O%n%N%n%A%nL-%Z %C",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"4750,2998",)" |
| R"("posturl":"https://www.post.lu/en/particuliers/colis-courrier/rechercher-un-code-postal",)" |
| R"("languages":"fr~lb~de")" |
| "}"}, |
| {"LV", "{" |
| R"("fmt":"%N%n%O%n%A%n%S%n%C, %Z",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"LV-1073,LV-1000",)" |
| R"("posturl":"https://pasts.lv/lv/kategorija/pasta_nodalas/",)" |
| R"("languages":"lv")" |
| "}"}, |
| {"LY", "{" |
| R"("languages":"ar")" |
| "}"}, |
| {"MA", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"53000,10000,20050,16052",)" |
| R"("languages":"ar~fr~tzm")" |
| "}"}, |
| {"MC", "{" |
| R"("fmt":"%N%n%O%n%A%nMC-%Z %C %X",)" |
| R"("zipex":"98000,98020,98011,98001",)" |
| R"("languages":"fr")" |
| "}"}, |
| {"MD", "{" |
| R"("fmt":"%N%n%O%n%A%nMD-%Z %C",)" |
| R"("zipex":"2012,2019",)" |
| R"("languages":"ro")" |
| "}"}, |
| {"ME", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"81257,81258,81217,84314,85366",)" |
| R"("languages":"sr-Latn")" |
| "}"}, |
| {"MF", "{" |
| R"("fmt":"%O%n%N%n%A%n%Z %C %X",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"97100",)" |
| R"("posturl":"https://www.laposte.fr/particulier/outils/trouver-un-code-postal",)" |
| R"("languages":"fr")" |
| "}"}, |
| {"MG", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"501,101",)" |
| R"("languages":"mg~fr~en")" |
| "}"}, |
| {"MH", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %S %Z",)" |
| R"("require":"ACSZ",)" |
| R"("zip_name_type":"zip",)" |
| R"("state_name_type":"state",)" |
| R"("zipex":"96960,96970",)" |
| R"("posturl":"http://zip4.usps.com/zip4/welcome.jsp",)" |
| R"("languages":"en~mh")" |
| "}"}, |
| {"MK", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"1314,1321,1443,1062",)" |
| R"("languages":"mk~sq")" |
| "}"}, |
| {"ML", "{" |
| R"("languages":"fr")" |
| "}"}, |
| {"MM", "{" |
| R"("fmt":"%N%n%O%n%A%n%C, %Z",)" |
| R"("zipex":"11181",)" |
| R"("languages":"my")" |
| "}"}, |
| {"MN", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%S %Z",)" |
| R"("zipex":"65030,65270",)" |
| R"("posturl":"http://www.zipcode.mn/",)" |
| R"("languages":"mn")" |
| "}"}, |
| {"MO", "{" |
| R"("fmt":"%A%n%O%n%N",)" |
| R"("lfmt":"%N%n%O%n%A",)" |
| R"("require":"A",)" |
| R"("languages":"zh-Hant~yue~pt")" |
| "}"}, |
| {"MP", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %S %Z",)" |
| R"("require":"ACSZ",)" |
| R"("zip_name_type":"zip",)" |
| R"("state_name_type":"state",)" |
| R"("zipex":"96950,96951,96952",)" |
| R"("posturl":"http://zip4.usps.com/zip4/welcome.jsp",)" |
| R"("languages":"en")" |
| "}"}, |
| {"MQ", "{" |
| R"("fmt":"%O%n%N%n%A%n%Z %C %X",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"97220",)" |
| R"("posturl":"https://www.laposte.fr/outils/trouver-un-code-postal",)" |
| R"("languages":"fr")" |
| "}"}, |
| {"MR", "{" |
| R"("languages":"ar")" |
| "}"}, |
| {"MS", "{" |
| R"("languages":"en")" |
| "}"}, |
| {"MT", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %Z",)" |
| R"("zipex":"NXR 01,ZTN 05,GPO 01,BZN 1130,SPB 6031,VCT 1753",)" |
| R"("posturl":"https://www.maltapost.com/PostCode/",)" |
| R"("languages":"mt~en")" |
| "}"}, |
| {"MU", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z%n%C",)" |
| R"("zipex":"42602",)" |
| R"("languages":"fr~en")" |
| "}"}, |
| {"MV", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %Z",)" |
| R"("zipex":"20026",)" |
| R"("posturl":"http://www.maldivespost.com/?lid=10",)" |
| R"("languages":"dv")" |
| "}"}, |
| {"MW", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %X",)" |
| R"("languages":"en~ny")" |
| "}"}, |
| {"MX", "{" |
| R"("fmt":"%N%n%O%n%A%n%D%n%Z %C, %S",)" |
| R"("require":"ACSZ",)" |
| R"("state_name_type":"state",)" |
| R"("sublocality_name_type":"neighborhood",)" |
| R"("zipex":"02860,77520,06082",)" |
| R"("posturl":"https://www.correosdemexico.gob.mx/SSLServicios/ConsultaCP/Descarga.aspx",)" |
| R"("languages":"es")" |
| "}"}, |
| {"MY", "{" |
| R"("fmt":"%N%n%O%n%A%n%D%n%Z %C%n%S",)" |
| R"("require":"ACZ",)" |
| R"("state_name_type":"state",)" |
| R"("sublocality_name_type":"village_township",)" |
| R"("zipex":"43000,50754,88990,50670",)" |
| R"("posturl":"http://www.pos.com.my",)" |
| R"("languages":"ms")" |
| "}"}, |
| {"MZ", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C%S",)" |
| R"("zipex":"1102,1119,3212",)" |
| R"("languages":"pt")" |
| "}"}, |
| {"NA", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%Z",)" |
| R"("zipex":"10001,10017",)" |
| R"("languages":"en")" |
| "}"}, |
| {"NC", "{" |
| R"("fmt":"%O%n%N%n%A%n%Z %C %X",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"98814,98800,98810",)" |
| R"("posturl":"https://www.opt.nc/particuliers/courrier-et-colis/les-codes-postaux-de-nouvelle-caledonie",)" |
| R"("languages":"fr")" |
| "}"}, |
| {"NE", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"8001",)" |
| R"("languages":"fr")" |
| "}"}, |
| {"NF", "{" |
| R"("fmt":"%O%n%N%n%A%n%C %S %Z",)" |
| R"("zipex":"2899",)" |
| R"("languages":"en")" |
| "}"}, |
| {"NG", "{" |
| R"("fmt":"%N%n%O%n%A%n%D%n%C %Z%n%S",)" |
| R"("state_name_type":"state",)" |
| R"("zipex":"930283,300001,931104",)" |
| R"("posturl":"http://www.nigeriapostcodes.com/",)" |
| R"("languages":"en")" |
| "}"}, |
| {"NI", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z%n%C, %S",)" |
| R"("state_name_type":"department",)" |
| R"("zipex":"52000",)" |
| R"("posturl":"http://www.correos.gob.ni/codigo-postal/",)" |
| R"("languages":"es")" |
| "}"}, |
| {"NL", "{" |
| R"("fmt":"%O%n%N%n%A%n%Z %C",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"1234 AB,2490 AA",)" |
| R"("posturl":"https://www.postnl.nl/en/find-a-postcode/",)" |
| R"("languages":"nl~fy")" |
| "}"}, |
| {"NO", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("require":"ACZ",)" |
| R"("locality_name_type":"post_town",)" |
| R"("zipex":"0025,0107,6631",)" |
| R"("posturl":"http://adressesok.posten.no/nb/postal_codes/search",)" |
| R"("languages":"no~nn~se")" |
| "}"}, |
| {"NP", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %Z",)" |
| R"("zipex":"44601",)" |
| R"("posturl":"http://www.gpo.gov.np/Home/Postalcode",)" |
| R"("languages":"ne")" |
| "}"}, |
| {"NR", "{" |
| R"("fmt":"%N%n%O%n%A%n%S",)" |
| R"("require":"AS",)" |
| R"("state_name_type":"district",)" |
| R"("languages":"en")" |
| "}"}, |
| {"NU", "{" |
| R"("languages":"en~niu")" |
| "}"}, |
| {"NZ", "{" |
| R"("fmt":"%N%n%O%n%A%n%D%n%C %Z",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"6001,6015,6332,8252,1030",)" |
| R"("posturl":"https://www.nzpost.co.nz/tools/address-postcode-finder",)" |
| R"("languages":"en~mi")" |
| "}"}, |
| {"OM", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z%n%C",)" |
| R"("zipex":"133,112,111",)" |
| R"("languages":"ar")" |
| "}"}, |
| {"PA", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%S",)" |
| R"("languages":"es")" |
| "}"}, |
| {"PE", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %Z%n%S",)" |
| R"("locality_name_type":"district",)" |
| R"("zipex":"LIMA 23,LIMA 42,CALLAO 2,02001",)" |
| R"("posturl":"http://www.codigopostal.gob.pe/pages/invitado/consulta.jsf",)" |
| R"("languages":"es")" |
| "}"}, |
| {"PF", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C %S",)" |
| R"("require":"ACSZ",)" |
| R"("state_name_type":"island",)" |
| R"("zipex":"98709",)" |
| R"("languages":"fr~ty")" |
| "}"}, |
| {"PG", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %Z %S",)" |
| R"("require":"ACS",)" |
| R"("zipex":"111",)" |
| R"("languages":"tpi~en~ho")" |
| "}"}, |
| {"PH", "{" |
| R"("fmt":"%N%n%O%n%A%n%D, %C%n%Z %S",)" |
| R"("zipex":"1008,1050,1135,1207,2000,1000",)" |
| R"("posturl":"http://www.philpost.gov.ph/",)" |
| R"("languages":"en")" |
| "}"}, |
| {"PK", "{" |
| R"("fmt":"%N%n%O%n%A%n%D%n%C-%Z",)" |
| R"("zipex":"44000",)" |
| R"("posturl":"http://www.pakpost.gov.pk/postcode.php",)" |
| R"("languages":"ur~en")" |
| "}"}, |
| {"PL", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"00-950,05-470,48-300,32-015,00-940",)" |
| R"("posturl":"http://kody.poczta-polska.pl/",)" |
| R"("languages":"pl~de~csb~lt")" |
| "}"}, |
| {"PM", "{" |
| R"("fmt":"%O%n%N%n%A%n%Z %C %X",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"97500",)" |
| R"("languages":"fr")" |
| "}"}, |
| {"PN", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%Z",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"PCRN 1ZZ",)" |
| R"("languages":"en")" |
| "}"}, |
| {"PR", "{" |
| R"("fmt":"%N%n%O%n%A%n%C PR %Z",)" |
| R"("require":"ACZ",)" |
| R"("zip_name_type":"zip",)" |
| R"("zipex":"00930",)" |
| R"("posturl":"http://zip4.usps.com/zip4/welcome.jsp",)" |
| R"("languages":"es~en")" |
| "}"}, |
| {"PS", "{" |
| R"("languages":"ar")" |
| "}"}, |
| {"PT", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"2725-079,1250-096,1201-950,2860-571,1208-148",)" |
| R"("posturl":"http://www.ctt.pt/feapl_2/app/open/tools.jspx?tool=1",)" |
| R"("languages":"pt")" |
| "}"}, |
| {"PW", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %S %Z",)" |
| R"("require":"ACSZ",)" |
| R"("zip_name_type":"zip",)" |
| R"("state_name_type":"state",)" |
| R"("zipex":"96940",)" |
| R"("posturl":"http://zip4.usps.com/zip4/welcome.jsp",)" |
| R"("languages":"pau~en")" |
| "}"}, |
| {"PY", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"1536,1538,1209",)" |
| R"("languages":"gn~es")" |
| "}"}, |
| {"QA", "{" |
| R"("languages":"ar")" |
| "}"}, |
| {"RE", "{" |
| R"("fmt":"%O%n%N%n%A%n%Z %C %X",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"97400",)" |
| R"("posturl":"https://www.laposte.fr/outils/trouver-un-code-postal",)" |
| R"("languages":"fr")" |
| "}"}, |
| {"RO", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %S %C",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"060274,061357,200716",)" |
| R"("posturl":"http://www.posta-romana.ro/zip_codes",)" |
| R"("languages":"ro")" |
| "}"}, |
| {"RS", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"106314",)" |
| R"("posturl":"http://www.posta.rs/struktura/lat/aplikacije/pronadji/nadji-postu.asp",)" |
| R"("languages":"sr~sr-Latn~hu~ro~hr~sk~uk")" |
| "}"}, |
| {"RU", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%S%n%Z",)" |
| R"("lfmt":"%N%n%O%n%A%n%C%n%S%n%Z",)" |
| R"("require":"ACSZ",)" |
| R"("state_name_type":"oblast",)" |
| R"("zipex":"247112,103375,188300",)" |
| R"("posturl":"https://www.pochta.ru/post-index",)" |
| R"("languages":"ru")" |
| "}"}, |
| {"RW", "{" |
| R"("languages":"rw~en~fr")" |
| "}"}, |
| {"SA", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %Z",)" |
| R"("zipex":"11564,11187,11142",)" |
| R"("languages":"ar")" |
| "}"}, |
| {"SB", "{" |
| R"("languages":"en")" |
| "}"}, |
| {"SC", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%S",)" |
| R"("state_name_type":"island",)" |
| R"("languages":"fr~en")" |
| "}"}, |
| {"SD", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%Z",)" |
| R"("locality_name_type":"district",)" |
| R"("zipex":"11042,11113",)" |
| R"("languages":"ar~en")" |
| "}"}, |
| {"SE", "{" |
| R"("fmt":"%O%n%N%n%A%nSE-%Z %C",)" |
| R"("require":"ACZ",)" |
| R"("locality_name_type":"post_town",)" |
| R"("zipex":"11455,12345,10500",)" |
| R"("posturl":"https://www.postnord.se/online-verktyg/verktyg/sok/sok-postnummer-och-adress",)" |
| R"("languages":"sv~fi")" |
| "}"}, |
| {"SG", "{" |
| R"("fmt":"%N%n%O%n%A%nSINGAPORE %Z",)" |
| R"("require":"AZ",)" |
| R"("zipex":"546080,308125,408600",)" |
| R"("posturl":"https://www.singpost.com/find-postal-code",)" |
| R"("languages":"en~zh~ms~ta")" |
| "}"}, |
| {"SH", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%Z",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"STHL 1ZZ",)" |
| R"("languages":"en")" |
| "}"}, |
| {"SI", "{" |
| R"("fmt":"%N%n%O%n%A%nSI-%Z %C",)" |
| R"("zipex":"4000,1001,2500",)" |
| R"("languages":"sl~vec")" |
| "}"}, |
| {"SJ", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("require":"ACZ",)" |
| R"("locality_name_type":"post_town",)" |
| R"("zipex":"9170",)" |
| R"("posturl":"http://epab.posten.no/",)" |
| R"("languages":"no")" |
| "}"}, |
| {"SK", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"010 01,023 14,972 48,921 01,975 99",)" |
| R"("posturl":"http://psc.posta.sk",)" |
| R"("languages":"sk")" |
| "}"}, |
| {"SL", "{" |
| R"("languages":"en")" |
| "}"}, |
| {"SM", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("require":"AZ",)" |
| R"("zipex":"47890,47891,47895,47899",)" |
| R"("posturl":"https://www.poste.it/cerca/index.html#/risultati-cerca-cap/",)" |
| R"("languages":"it")" |
| "}"}, |
| {"SN", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"12500,46024,16556,10000",)" |
| R"("languages":"wo~fr~ff~srr~dyo~sav~mfv~bjt~snf~knf~bsc~mey~tnr")" |
| "}"}, |
| {"SO", "{" |
| R"("fmt":"%N%n%O%n%A%n%C, %S %Z",)" |
| R"("require":"ACS",)" |
| R"("zipex":"JH 09010,AD 11010",)" |
| R"("languages":"so")" |
| "}"}, |
| {"SR", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%S",)" |
| R"("languages":"nl")" |
| "}"}, |
| {"SS", "{" |
| R"("languages":"en")" |
| "}"}, |
| {"ST", "{" |
| R"("languages":"pt")" |
| "}"}, |
| {"SV", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z-%C%n%S",)" |
| R"("require":"ACS",)" |
| R"("zipex":"1101",)" |
| R"("languages":"es")" |
| "}"}, |
| {"SX", "{" |
| R"("languages":"en~nl")" |
| "}"}, |
| {"SY", "{" |
| R"("locality_name_type":"district",)" |
| R"("languages":"ar")" |
| "}"}, |
| {"SZ", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%Z",)" |
| R"("zipex":"H100",)" |
| R"("posturl":"https://www.eswatinipost.co.sz/postcode.php",)" |
| R"("languages":"en~ss")" |
| "}"}, |
| {"TA", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%Z",)" |
| R"("zipex":"TDCU 1ZZ",)" |
| R"("languages":"en")" |
| "}"}, |
| {"TC", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%Z",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"TKCA 1ZZ",)" |
| R"("languages":"en")" |
| "}"}, |
| {"TD", "{" |
| R"("languages":"ar~fr")" |
| "}"}, |
| {"TF", "{" |
| R"("languages":"fr")" |
| "}"}, |
| {"TG", "{" |
| R"("languages":"fr")" |
| "}"}, |
| {"TH", "{" |
| R"("fmt":"%N%n%O%n%A%n%D %C%n%S %Z",)" |
| R"("lfmt":"%N%n%O%n%A%n%D, %C%n%S %Z",)" |
| R"("zipex":"10150,10210",)" |
| R"("languages":"th")" |
| "}"}, |
| {"TJ", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"735450,734025",)" |
| R"("languages":"tg")" |
| "}"}, |
| {"TK", "{" |
| R"("languages":"tkl~en")" |
| "}"}, |
| {"TL", "{" |
| R"("languages":"pt~tet")" |
| "}"}, |
| {"TM", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"744000",)" |
| R"("languages":"tk")" |
| "}"}, |
| {"TN", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"1002,8129,3100,1030",)" |
| R"("posturl":"http://www.poste.tn/codes.php",)" |
| R"("languages":"ar~fr")" |
| "}"}, |
| {"TO", "{" |
| R"("languages":"to~en")" |
| "}"}, |
| {"TR", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C/%S",)" |
| R"("require":"ACZ",)" |
| R"("locality_name_type":"district",)" |
| R"("zipex":"01960,06101",)" |
| R"("posturl":"http://postakodu.ptt.gov.tr/",)" |
| R"("languages":"tr")" |
| "}"}, |
| {"TT", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%Z",)" |
| R"("zipex":"500234",)" |
| R"("languages":"en")" |
| "}"}, |
| {"TV", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%S",)" |
| R"("state_name_type":"island",)" |
| R"("languages":"tyv")" |
| "}"}, |
| {"TW", "{" |
| R"("fmt":"%Z%n%S%C%n%A%n%O%n%N",)" |
| R"("lfmt":"%N%n%O%n%A%n%C, %S %Z",)" |
| R"("require":"ACSZ",)" |
| R"("state_name_type":"county",)" |
| R"("locality_name_type":"district",)" |
| R"("zipex":"104,106,10603,40867",)" |
| R"("posturl":"http://www.post.gov.tw/post/internet/f_searchzone/index.jsp?ID=190102",)" |
| R"("languages":"zh-Hant")" |
| "}"}, |
| {"TZ", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"6090,34413",)" |
| R"("languages":"sw~en")" |
| "}"}, |
| {"UA", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%S%n%Z",)" |
| R"("lfmt":"%N%n%O%n%A%n%C%n%S%n%Z",)" |
| R"("require":"ACZ",)" |
| R"("state_name_type":"oblast",)" |
| R"("zipex":"15432,01055,01001",)" |
| R"("posturl":"http://services.ukrposhta.com/postindex_new/",)" |
| R"("languages":"uk")" |
| "}"}, |
| {"UG", "{" |
| R"("languages":"sw~en")" |
| "}"}, |
| {"UM", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %S %Z",)" |
| R"("require":"ACS",)" |
| R"("zip_name_type":"zip",)" |
| R"("state_name_type":"state",)" |
| R"("zipex":"96898",)" |
| R"("posturl":"http://zip4.usps.com/zip4/welcome.jsp",)" |
| R"("languages":"en")" |
| "}"}, |
| {"US", "{" |
| R"("fmt":"%N%n%O%n%A%n%C, %S %Z",)" |
| R"("require":"ACSZ",)" |
| R"("zip_name_type":"zip",)" |
| R"("state_name_type":"state",)" |
| R"("zipex":"95014,22162-1010",)" |
| R"("posturl":"https://tools.usps.com/go/ZipLookupAction!input.action",)" |
| R"("languages":"en")" |
| "}"}, |
| {"UY", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C %S",)" |
| R"("zipex":"11600",)" |
| R"("posturl":"http://www.correo.com.uy/index.asp?codPag=codPost&switchMapa=codPost",)" |
| R"("languages":"es")" |
| "}"}, |
| {"UZ", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C%n%S",)" |
| R"("zipex":"702100,700000",)" |
| R"("posturl":"https://uz.post/ru/mening-pochta-indeksim",)" |
| R"("languages":"uz~ru")" |
| "}"}, |
| {"VA", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"00120",)" |
| R"("languages":"it")" |
| "}"}, |
| {"VC", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %Z",)" |
| R"("zipex":"VC0100,VC0110,VC0400",)" |
| R"("languages":"en")" |
| "}"}, |
| {"VE", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %Z, %S",)" |
| R"("require":"ACS",)" |
| R"("state_name_type":"state",)" |
| R"("zipex":"1010,3001,8011,1020",)" |
| R"("languages":"es")" |
| "}"}, |
| {"VG", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%Z",)" |
| R"("require":"A",)" |
| R"("zipex":"VG1110,VG1150,VG1160",)" |
| R"("languages":"en")" |
| "}"}, |
| {"VI", "{" |
| R"("fmt":"%N%n%O%n%A%n%C %S %Z",)" |
| R"("require":"ACSZ",)" |
| R"("zip_name_type":"zip",)" |
| R"("state_name_type":"state",)" |
| R"("zipex":"00802-1222,00850-9802",)" |
| R"("posturl":"http://zip4.usps.com/zip4/welcome.jsp",)" |
| R"("languages":"en")" |
| "}"}, |
| {"VN", "{" |
| R"("fmt":"%N%n%O%n%A%n%C%n%S %Z",)" |
| R"("lfmt":"%N%n%O%n%A%n%C%n%S %Z",)" |
| R"("require":"AS",)" |
| R"("zipex":"70010,55999",)" |
| R"("languages":"vi")" |
| "}"}, |
| {"VU", "{" |
| R"("languages":"bi~en~fr")" |
| "}"}, |
| {"WF", "{" |
| R"("fmt":"%O%n%N%n%A%n%Z %C %X",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"98600",)" |
| R"("languages":"fr")" |
| "}"}, |
| {"WS", "{" |
| R"("languages":"sm~en")" |
| "}"}, |
| {"XK", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"10000",)" |
| R"("languages":"sq~sr~sr-Latn")" |
| "}"}, |
| {"YE", "{" |
| R"("languages":"ar")" |
| "}"}, |
| {"YT", "{" |
| R"("fmt":"%O%n%N%n%A%n%Z %C %X",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"97600",)" |
| R"("languages":"fr")" |
| "}"}, |
| {"ZA", "{" |
| R"("fmt":"%N%n%O%n%A%n%D%n%C%n%Z",)" |
| R"("require":"ACZ",)" |
| R"("zipex":"0083,1451,0001",)" |
| R"("posturl":"https://www.postoffice.co.za/Questions/postalcode.html",)" |
| R"("languages":"en~zu~xh~af~nso~tn~st~ts~ss~ve~nr")" |
| "}"}, |
| {"ZM", "{" |
| R"("fmt":"%N%n%O%n%A%n%Z %C",)" |
| R"("zipex":"50100,50101",)" |
| R"("languages":"en")" |
| "}"}, |
| {"ZW", "{" |
| R"("languages":"sn~en~nd")" |
| "}"}, |
| }; |
| |
| } // namespace |
| |
| // static |
| const std::string& RegionDataConstants::GetDefaultRegionData() { |
| static const std::string kDefaultRegionData( |
| "{" |
| R"("fmt":"%N%n%O%n%A%n%C",)" |
| R"("require":"AC",)" |
| R"("zip_name_type":"postal",)" |
| R"("state_name_type":"province",)" |
| R"("locality_name_type":"city",)" |
| R"("sublocality_name_type":"suburb")" |
| "}"); |
| return kDefaultRegionData; |
| } |
| |
| namespace { |
| |
| // Binary search over kRegionData[i].region_code values. If a match is found, |
| // returns true and sets |position_out| to the position of |region_code| in |
| // kRegionData. If a match is not found, returns false. |
| bool FindPositionOfRegionCode(const std::string& region_code, |
| size_t* position_out) { |
| assert(position_out != nullptr); |
| size_t left = 0; // inclusive. |
| size_t right = size(kRegionData); // exclusive. |
| while (left < right) { |
| size_t mid = left + (right - left) / 2; |
| int comparison = region_code.compare(kRegionData[mid].region_code); |
| if (comparison == 0) { |
| *position_out = mid; |
| return true; |
| } else if (comparison > 0) { |
| left = mid + 1; |
| } else { |
| right = mid; |
| } |
| } |
| return false; |
| } |
| |
| std::vector<std::string> InitRegionCodes() { |
| std::vector<std::string> region_codes(size(kRegionData)); |
| std::transform(std::begin(kRegionData), |
| std::end(kRegionData), |
| region_codes.begin(), |
| [](const RegionData& region_data) { |
| return region_data.region_code; |
| }); |
| return region_codes; |
| } |
| |
| std::map<std::string, size_t> InitMaxLookupKeyDepth() { |
| std::map<std::string, size_t> max_depth; |
| for (const auto& region_data : kRegionData) { |
| std::vector<FormatElement> fields; |
| // Here region_data.data actually contains the entire JSON blob for this |
| // region, and not only the format field, but it doesn't really matter when |
| // just checking whether a particular formatting code (eg. "%C") is present, |
| // as there isn't anything else in the JSON that erroneously could match a |
| // formatting code. |
| ParseFormatRule(region_data.data, &fields); |
| size_t depth = 1; |
| for (; depth < size(LookupKey::kHierarchy); ++depth) { |
| AddressField field = LookupKey::kHierarchy[depth]; |
| // Check to see if a particular field in the hierarchy is used by |
| // addresses in this country. If not, the maximum depth has been reached. |
| if (std::find(fields.begin(), fields.end(), FormatElement(field)) == |
| fields.end()) { |
| break; |
| } |
| } |
| max_depth.emplace(region_data.region_code, depth - 1); |
| } |
| return max_depth; |
| } |
| |
| } // namespace |
| |
| // static |
| bool RegionDataConstants::IsSupported(const std::string& region_code) { |
| size_t unused; |
| return FindPositionOfRegionCode(region_code, &unused); |
| } |
| |
| // static |
| const std::vector<std::string>& RegionDataConstants::GetRegionCodes() { |
| static const std::vector<std::string> kRegionCodes(InitRegionCodes()); |
| return kRegionCodes; |
| } |
| |
| // static |
| std::string RegionDataConstants::GetRegionData( |
| const std::string& region_code) { |
| static const std::string kEmptyString; |
| size_t position; |
| bool found = FindPositionOfRegionCode(region_code, &position); |
| return found ? kRegionData[position].data : kEmptyString; |
| } |
| |
| // static |
| size_t RegionDataConstants::GetMaxLookupKeyDepth( |
| const std::string& region_code) { |
| static const std::map<std::string, size_t> kMaxDepth(InitMaxLookupKeyDepth()); |
| auto it = kMaxDepth.find(region_code); |
| return it != kMaxDepth.end() ? it->second : 0; |
| } |
| |
| } // namespace addressinput |
| } // namespace i18n |