| Index: third_party/libaddressinput/chromium/cpp/src/region_data_constants.cc
|
| diff --git a/third_party/libaddressinput/chromium/cpp/src/region_data_constants.cc b/third_party/libaddressinput/chromium/cpp/src/region_data_constants.cc
|
| index 32b9adcdb3ddc386b85dafa7c0e97ae3ae663ea0..c2d2e18058e1faeef593b56ce639ca3b452debd3 100644
|
| --- a/third_party/libaddressinput/chromium/cpp/src/region_data_constants.cc
|
| +++ b/third_party/libaddressinput/chromium/cpp/src/region_data_constants.cc
|
| @@ -12,10 +12,14 @@
|
| // See the License for the specific language governing permissions and
|
| // limitations under the License.
|
| //
|
| -// The data in this file will be automatically generated. For now, the data
|
| -// comes from:
|
| +// The data in this file will be automatically generated. For now, the address
|
| +// data comes from:
|
| //
|
| // https://code.google.com/p/libaddressinput/source/browse/trunk/java/src/com/android/i18n/addressinput/RegionDataConstants.java?r=137
|
| +//
|
| +// The language-to-script and country-to-script mapping is loosely based on:
|
| +//
|
| +// http://unicode.org/cldr/trac/browser/tags/release-24/common/supplemental/supplementalData.xml
|
|
|
| #include "region_data_constants.h"
|
|
|
| @@ -30,10 +34,116 @@ namespace addressinput {
|
|
|
| namespace {
|
|
|
| +enum Script {
|
| + ARAB,
|
| + HANG,
|
| + HANS,
|
| + HANT,
|
| + JPAN,
|
| + THAI,
|
| + OTHER
|
| +};
|
| +
|
| +Script GetCountryScript(const std::string& country_code) {
|
| + if (country_code == "JP") {
|
| + return JPAN;
|
| + } else if (country_code == "HK" ||
|
| + country_code == "MO" ||
|
| + country_code == "TW") {
|
| + return HANT;
|
| + } else if (country_code == "CN") {
|
| + return HANS;
|
| + } else if (country_code == "AE" ||
|
| + country_code == "AF" ||
|
| + country_code == "BH" ||
|
| + country_code == "DZ" ||
|
| + country_code == "EG" ||
|
| + country_code == "EH" ||
|
| + country_code == "IQ" ||
|
| + country_code == "IR" ||
|
| + country_code == "JO" ||
|
| + country_code == "KM" ||
|
| + country_code == "KW" ||
|
| + country_code == "LB" ||
|
| + country_code == "LY" ||
|
| + country_code == "MA" ||
|
| + country_code == "MR" ||
|
| + country_code == "OM" ||
|
| + country_code == "PK" ||
|
| + country_code == "PS" ||
|
| + country_code == "QA" ||
|
| + country_code == "SA" ||
|
| + country_code == "SD" ||
|
| + country_code == "SY" ||
|
| + country_code == "TN" ||
|
| + country_code == "YE") {
|
| + return ARAB;
|
| + } else if (country_code == "KP" ||
|
| + country_code == "KR") {
|
| + return HANG;
|
| + } else if (country_code == "TH") {
|
| + return THAI;
|
| + }
|
| + return OTHER;
|
| +}
|
| +
|
| +Script GetLanguageScript(const std::string& language_code) {
|
| + if (language_code == "ja") {
|
| + return JPAN;
|
| + } else if (language_code == "zh" ||
|
| + language_code == "zh-hant") {
|
| + return HANT;
|
| + } else if (language_code == "zh-hans") {
|
| + return HANS;
|
| + } else if (language_code == "ar" ||
|
| + language_code == "cjm" ||
|
| + language_code == "doi" ||
|
| + language_code == "fa" ||
|
| + language_code == "lah" ||
|
| + language_code == "prd" ||
|
| + language_code == "ps" ||
|
| + language_code == "swb" ||
|
| + language_code == "ug" ||
|
| + language_code == "ur") {
|
| + return ARAB;
|
| + } else if (language_code == "ko") {
|
| + return HANG;
|
| + } else if (language_code == "kdt" ||
|
| + language_code == "lcp" ||
|
| + language_code == "lwl" ||
|
| + language_code == "th" ||
|
| + language_code == "tts") {
|
| + return THAI;
|
| + }
|
| + return OTHER;
|
| +}
|
| +
|
| +const std::string& GetCompactLineSeparator(Script script) {
|
| + static const std::string kEmptyString;
|
| + static const std::string kArabicSeparator = "، ";
|
| + static const std::string kSpace = " ";
|
| + static const std::string kCommaAndSpace = ", ";
|
| + switch (script) {
|
| + case JPAN:
|
| + case HANT:
|
| + case HANS:
|
| + return kEmptyString;
|
| + case ARAB:
|
| + return kArabicSeparator;
|
| + case HANG:
|
| + case THAI:
|
| + return kSpace;
|
| + default:
|
| + return kCommaAndSpace;
|
| + }
|
| +}
|
| +
|
| std::map<std::string, std::string> InitRegionData() {
|
| std::map<std::string, std::string> region_data;
|
| region_data.insert(std::make_pair("AD", "{"
|
| "\"name\":\"ANDORRA\","
|
| + "\"lang\":\"ca\","
|
| + "\"languages\":\"ca\","
|
| "\"fmt\":\"%N%n%O%n%A%n%Z %S\","
|
| "\"state_name_type\":\"parish\""
|
| "}"));
|
| @@ -55,6 +165,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("AM", "{"
|
| "\"name\":\"ARMENIA\","
|
| + "\"lang\":\"hy\","
|
| + "\"languages\":\"hy\","
|
| "\"fmt\":\"%N%n%O%n%A%n%Z%n%C%n%S\""
|
| "}"));
|
| region_data.insert(std::make_pair("AN", "{"
|
| @@ -68,6 +180,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("AR", "{"
|
| "\"name\":\"ARGENTINA\","
|
| + "\"lang\":\"es\","
|
| + "\"languages\":\"es\","
|
| "\"fmt\":\"%N%n%O%n%A%n%Z %C%n%S\","
|
| "\"state_name_type\":\"state\""
|
| "}"));
|
| @@ -83,6 +197,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("AU", "{"
|
| "\"name\":\"AUSTRALIA\","
|
| + "\"lang\":\"en\","
|
| + "\"languages\":\"en\","
|
| "\"fmt\":\"%O%n%N%n%A%n%C %S %Z\","
|
| "\"state_name_type\":\"state\""
|
| "}"));
|
| @@ -148,11 +264,15 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("BR", "{"
|
| "\"name\":\"BRAZIL\","
|
| + "\"lang\":\"pt\","
|
| + "\"languages\":\"pt\","
|
| "\"fmt\":\"%O%n%N%n%A%n%C-%S%n%Z\","
|
| "\"state_name_type\":\"state\""
|
| "}"));
|
| region_data.insert(std::make_pair("BS", "{"
|
| "\"name\":\"BAHAMAS\","
|
| + "\"lang\":\"en\","
|
| + "\"languages\":\"en\","
|
| "\"fmt\":\"%N%n%O%n%A%n%C, %S\","
|
| "\"state_name_type\":\"island\""
|
| "}"));
|
| @@ -174,6 +294,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("CA", "{"
|
| "\"name\":\"CANADA\","
|
| + "\"lang\":\"en\","
|
| + "\"languages\":\"en~fr\","
|
| "\"fmt\":\"%N%n%O%n%A%n%C %S %Z\""
|
| "}"));
|
| region_data.insert(std::make_pair("CC", "{"
|
| @@ -192,6 +314,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("CH", "{"
|
| "\"name\":\"SWITZERLAND\","
|
| + "\"lang\":\"de\","
|
| + "\"languages\":\"de~fr~it\","
|
| "\"fmt\":\"%O%n%N%n%A%nCH-%Z %C\""
|
| "}"));
|
| region_data.insert(std::make_pair("CI", "{"
|
| @@ -204,6 +328,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("CL", "{"
|
| "\"name\":\"CHILE\","
|
| + "\"lang\":\"es\","
|
| + "\"languages\":\"es\","
|
| "\"fmt\":\"%N%n%O%n%A%n%Z %C%n%S\","
|
| "\"state_name_type\":\"state\""
|
| "}"));
|
| @@ -212,6 +338,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("CN", "{"
|
| "\"name\":\"P.R. CHINA\","
|
| + "\"lang\":\"zh-hans\","
|
| + "\"languages\":\"zh-hans\","
|
| "\"fmt\":\"%Z%n%S%C%D%n%A%n%O%n%N\""
|
| "}"));
|
| region_data.insert(std::make_pair("CO", "{"
|
| @@ -228,6 +356,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("CV", "{"
|
| "\"name\":\"CAPE VERDE\","
|
| + "\"lang\":\"pt\","
|
| + "\"languages\":\"pt\","
|
| "\"fmt\":\"%N%n%O%n%A%n%Z %C%n%S\","
|
| "\"state_name_type\":\"island\""
|
| "}"));
|
| @@ -285,6 +415,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("ES", "{"
|
| "\"name\":\"SPAIN\","
|
| + "\"lang\":\"es\","
|
| + "\"languages\":\"es\","
|
| "\"fmt\":\"%N%n%O%n%A%n%Z %C %S\""
|
| "}"));
|
| region_data.insert(std::make_pair("ET", "{"
|
| @@ -391,6 +523,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("HK", "{"
|
| "\"name\":\"HONG KONG\","
|
| + "\"lang\":\"zh\","
|
| + "\"languages\":\"zh\","
|
| "\"fmt\":\"%S%n%A%n%O%n%N\","
|
| "\"state_name_type\":\"area\""
|
| "}"));
|
| @@ -420,6 +554,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("IE", "{"
|
| "\"name\":\"IRELAND\","
|
| + "\"lang\":\"en\","
|
| + "\"languages\":\"en\","
|
| "\"fmt\":\"%N%n%O%n%A%n%C%n%S\","
|
| "\"state_name_type\":\"county\""
|
| "}"));
|
| @@ -433,6 +569,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("IN", "{"
|
| "\"name\":\"INDIA\","
|
| + "\"lang\":\"en\","
|
| + "\"languages\":\"en\","
|
| "\"fmt\":\"%N%n%O%n%A%n%C %Z%n%S\","
|
| "\"state_name_type\":\"state\""
|
| "}"));
|
| @@ -450,6 +588,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("IT", "{"
|
| "\"name\":\"ITALY\","
|
| + "\"lang\":\"it\","
|
| + "\"languages\":\"it\","
|
| "\"fmt\":\"%N%n%O%n%A%n%Z %C %S\""
|
| "}"));
|
| region_data.insert(std::make_pair("JE", "{"
|
| @@ -458,6 +598,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("JM", "{"
|
| "\"name\":\"JAMAICA\","
|
| + "\"lang\":\"en\","
|
| + "\"languages\":\"en\","
|
| "\"fmt\":\"%N%n%O%n%A%n%C%n%S %X\","
|
| "\"state_name_type\":\"parish\""
|
| "}"));
|
| @@ -467,6 +609,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("JP", "{"
|
| "\"name\":\"JAPAN\","
|
| + "\"lang\":\"ja\","
|
| + "\"languages\":\"ja\","
|
| "\"fmt\":\"\xE3\x80\x92%Z%n%S%C%n%A%n%O%n%N\"," // \xE3\x80\x92 is 〒.
|
| "\"state_name_type\":\"prefecture\""
|
| "}"));
|
| @@ -492,11 +636,15 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("KN", "{"
|
| "\"name\":\"SAINT KITTS AND NEVIS\","
|
| + "\"lang\":\"en\","
|
| + "\"languages\":\"en\","
|
| "\"fmt\":\"%N%n%O%n%A%n%C, %S\","
|
| "\"state_name_type\":\"island\""
|
| "}"));
|
| region_data.insert(std::make_pair("KR", "{"
|
| "\"name\":\"KOREA (REP.)\","
|
| + "\"lang\":\"ko\","
|
| + "\"languages\":\"ko\","
|
| "\"fmt\":\"%S %C%D%n%A%n%O%n%N%nSEOUL %Z\","
|
| "\"state_name_type\":\"do_si\""
|
| "}"));
|
| @@ -506,6 +654,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("KY", "{"
|
| "\"name\":\"CAYMAN ISLANDS\","
|
| + "\"lang\":\"en\","
|
| + "\"languages\":\"en\","
|
| "\"fmt\":\"%N%n%O%n%A%n%S\","
|
| "\"state_name_type\":\"island\""
|
| "}"));
|
| @@ -598,6 +748,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("MO", "{"
|
| "\"name\":\"MACAO\","
|
| + "\"lang\":\"zh-hant\","
|
| + "\"languages\":\"zh-hant\","
|
| "\"fmt\":\"%A%n%O%n%N\""
|
| "}"));
|
| region_data.insert(std::make_pair("MP", "{"
|
| @@ -634,11 +786,15 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("MX", "{"
|
| "\"name\":\"MEXICO\","
|
| + "\"lang\":\"es\","
|
| + "\"languages\":\"es\","
|
| "\"fmt\":\"%N%n%O%n%A%n%Z %C, %S\","
|
| "\"state_name_type\":\"state\""
|
| "}"));
|
| region_data.insert(std::make_pair("MY", "{"
|
| "\"name\":\"MALAYSIA\","
|
| + "\"lang\":\"ms\","
|
| + "\"languages\":\"ms\","
|
| "\"fmt\":\"%N%n%O%n%A%n%Z %C, %S\","
|
| "\"state_name_type\":\"state\""
|
| "}"));
|
| @@ -663,11 +819,15 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("NG", "{"
|
| "\"name\":\"NIGERIA\","
|
| + "\"lang\":\"fr\","
|
| + "\"languages\":\"fr\","
|
| "\"fmt\":\"%N%n%O%n%A%n%C %Z%n%S\","
|
| "\"state_name_type\":\"state\""
|
| "}"));
|
| region_data.insert(std::make_pair("NI", "{"
|
| "\"name\":\"NICARAGUA\","
|
| + "\"lang\":\"es\","
|
| + "\"languages\":\"es\","
|
| "\"fmt\":\"%N%n%O%n%A%n%Z%n%C, %S\","
|
| "\"state_name_type\":\"department\""
|
| "}"));
|
| @@ -685,6 +845,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("NR", "{"
|
| "\"name\":\"NAURU CENTRAL PACIFIC\","
|
| + "\"lang\":\"en\","
|
| + "\"languages\":\"en\","
|
| "\"fmt\":\"%N%n%O%n%A%n%S\","
|
| "\"state_name_type\":\"district\""
|
| "}"));
|
| @@ -828,10 +990,14 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("SO", "{"
|
| "\"name\":\"SOMALIA\","
|
| + "\"lang\":\"so\","
|
| + "\"languages\":\"so\","
|
| "\"fmt\":\"%N%n%O%n%A%n%C, %S %Z\""
|
| "}"));
|
| region_data.insert(std::make_pair("SR", "{"
|
| "\"name\":\"SURINAME\","
|
| + "\"lang\":\"nl\","
|
| + "\"languages\":\"nl\","
|
| "\"fmt\":\"%N%n%O%n%A%n%C %X%n%S\""
|
| "}"));
|
| region_data.insert(std::make_pair("ST", "{"
|
| @@ -840,6 +1006,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("SV", "{"
|
| "\"name\":\"EL SALVADOR\","
|
| + "\"lang\":\"es\","
|
| + "\"languages\":\"es\","
|
| "\"fmt\":\"%N%n%O%n%A%n%Z-%C%n%S\""
|
| "}"));
|
| region_data.insert(std::make_pair("SZ", "{"
|
| @@ -861,6 +1029,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("TH", "{"
|
| "\"name\":\"THAILAND\","
|
| + "\"lang\":\"th\","
|
| + "\"languages\":\"th\","
|
| "\"fmt\":\"%N%n%O%n%A%n%C%n%S %Z\""
|
| "}"));
|
| region_data.insert(std::make_pair("TJ", "{"
|
| @@ -893,11 +1063,15 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("TV", "{"
|
| "\"name\":\"TUVALU\","
|
| + "\"lang\":\"tyv\","
|
| + "\"languages\":\"tyv\","
|
| "\"fmt\":\"%N%n%O%n%A%n%X%n%C%n%S\","
|
| "\"state_name_type\":\"island\""
|
| "}"));
|
| region_data.insert(std::make_pair("TW", "{"
|
| "\"name\":\"TAIWAN\","
|
| + "\"lang\":\"zh-hant\","
|
| + "\"languages\":\"zh-hant\","
|
| "\"fmt\":\"%Z%n%S%C%n%A%n%O%n%N\","
|
| "\"state_name_type\":\"county\""
|
| "}"));
|
| @@ -919,12 +1093,16 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("US", "{"
|
| "\"name\":\"UNITED STATES\","
|
| + "\"lang\":\"en\","
|
| + "\"languages\":\"en\","
|
| "\"fmt\":\"%N%n%O%n%A%n%C %S %Z\","
|
| "\"zip_name_type\":\"zip\","
|
| "\"state_name_type\":\"state\""
|
| "}"));
|
| region_data.insert(std::make_pair("UY", "{"
|
| "\"name\":\"URUGUAY\","
|
| + "\"lang\":\"es\","
|
| + "\"languages\":\"es\","
|
| "\"fmt\":\"%N%n%O%n%A%n%Z %C %S\""
|
| "}"));
|
| region_data.insert(std::make_pair("UZ", "{"
|
| @@ -940,6 +1118,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("VE", "{"
|
| "\"name\":\"VENEZUELA\","
|
| + "\"lang\":\"es\","
|
| + "\"languages\":\"es\","
|
| "\"fmt\":\"%N%n%O%n%A%n%C %Z, %S\""
|
| "}"));
|
| region_data.insert(std::make_pair("VG", "{"
|
| @@ -953,6 +1133,8 @@ std::map<std::string, std::string> InitRegionData() {
|
| "}"));
|
| region_data.insert(std::make_pair("VN", "{"
|
| "\"name\":\"VIET NAM\","
|
| + "\"lang\":\"vi\","
|
| + "\"languages\":\"vi\","
|
| "\"fmt\":\"%N%n%O%n%A%n%C%n%S\""
|
| "}"));
|
| region_data.insert(std::make_pair("VU", "{"
|
| @@ -1037,5 +1219,17 @@ const std::string& RegionDataConstants::GetDefaultRegionData() {
|
| return kDefaultRegionData;
|
| }
|
|
|
| +// static
|
| +const std::string& RegionDataConstants::GetLanguageCompactLineSeparator(
|
| + const std::string& language_code) {
|
| + return GetCompactLineSeparator(GetLanguageScript(language_code));
|
| +}
|
| +
|
| +// static
|
| +const std::string& RegionDataConstants::GetCountryCompactLineSeparator(
|
| + const std::string& country_code) {
|
| + return GetCompactLineSeparator(GetCountryScript(country_code));
|
| +}
|
| +
|
| } // namespace addressinput
|
| } // namespace i18n
|
|
|