Add 32 more locales for Android
Copy the old filters/android.json to filters/android_small.json
Copy the old android/icudtl.dat to android_small/icudtl.dat
Add 32 locales to filters/android.json and rebuild.
Change the BUILD.gn to use android_small for now.
af az eu fr-CA gl hy is ka kk km ky lo mk mn my ne
pa si sq ur uz zh-HK zu
bn et gu kn ml mr ms ta te
Compare to android/icudtl.dat. It increase 1.28M.
7746368 android/icudtl.dat
6406288 android_small/icudtl.dat
Bug: 951636
Change-Id: I4c4f43add3c76adf5da215342ec4460bbaf2de87
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/deps/icu/+/1562954
Reviewed-by: Jungshik Shin <jshin@chromium.org>
diff --git a/BUILD.gn b/BUILD.gn
index ca73e86..261d43a 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -1085,7 +1085,8 @@
# TODO(GYP): Gyp has considerations here for QNX and for the host toolchain
# that have not been ported over.
if (is_android) {
- data_dir = "android"
+# Use android_small for now to keep the size till we decide to switch to the new one.
+ data_dir = "android_small"
} else if (is_ios) {
data_dir = "ios"
} else if (is_chromeos) {
diff --git a/android/icudtl.dat b/android/icudtl.dat
index 7340d84..e925f45 100644
--- a/android/icudtl.dat
+++ b/android/icudtl.dat
Binary files differ
diff --git a/android_small/icudtl.dat b/android_small/icudtl.dat
new file mode 100644
index 0000000..7340d84
--- /dev/null
+++ b/android_small/icudtl.dat
Binary files differ
diff --git a/filters/android.json b/filters/android.json
index a1d4589..9b1d44f 100644
--- a/filters/android.json
+++ b/filters/android.json
@@ -291,7 +291,7 @@
"ar", "ar_AE", "ar_DJ", "ar_ER", "ar_KM",
"ar_LB", "ar_SO", "ar_SS",
"bg",
-// cast/patch_locale.sh remove "bn",
+ "bn",
"ca",
"cs",
"da",
@@ -313,7 +313,7 @@
"es_CO", "es_CR", "es_CU", "es_DO", "es_EC", "es_GQ", "es_GT",
"es_HN", "es_MX", "es_NI", "es_PA", "es_PE", "es_PH", "es_PR",
"es_PY", "es_SV", "es_US", "es_UY", "es_VE",
-// cast/patch_locale.sh remove "et",
+ "et",
"fa",
"fi",
"fil",
@@ -321,7 +321,7 @@
"fr_BI", "fr_CD", "fr_DJ", "fr_DZ", "fr_GN", "fr_HT",
"fr_KM", "fr_LU", "fr_MG", "fr_MR", "fr_MU", "fr_RW",
"fr_SC", "fr_SY", "fr_TN", "fr_VU",
-// cast/patch_locale.sh remove "gu",
+ "gu",
"he",
"hi",
"hr",
@@ -329,13 +329,13 @@
"id",
"it",
"ja",
-// cast/patch_locale.sh remove "kn",
+ "kn",
"ko",
"lt",
"lv",
-// cast/patch_locale.sh remove "ml",
-// cast/patch_locale.sh remove "mr",
-// cast/patch_locale.sh remove "ms",
+ "ml",
+ "mr",
+ "ms",
"nb",
"nl",
"pl",
@@ -350,15 +350,20 @@
"sr_Latn", "sr_Latn_BA", "sr_Latn_CS", "sr_Latn_ME", "sr_Latn_RS",
"sv",
"sw", "sw_CD", "sw_UG",
-// cast/patch_locale.sh remove "ta",
-// cast/patch_locale.sh remove "te",
+ "ta",
+ "te",
"th",
"tr",
"uk",
"vi",
"zh",
"zh_Hans", "zh_Hans_CN", "zh_Hans_SG", "zh_Hans_HK", "zh_Hans_MO",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK", "zh_Hant_MO"
+ "zh_Hant", "zh_Hant_TW", "zh_Hant_HK", "zh_Hant_MO",
+// For AndroidBig
+ "af", "az", "eu", "gl", "hy", "is", "ka", "kk", "km",
+ "ky", "lo", "mk", "mn", "my", "ne", "pa", "si", "sq",
+ "ur", "uz", "zu"
+
]
},
// Based on the ICU63 version of
@@ -383,31 +388,35 @@
// COLLATION_SOURCE = ...
"am", "ar",
"bg",
-// cast/patch_locale.sh remove "bn",
+ "bn",
"ca",
"cs",
"da", "de", "de_AT",
"el", "en", "en_US", "es",
-// cast/patch_locale.sh remove "et",
+ "et",
"fa", "fi", "fil",
"fr", "fr_CA",
-// cast/patch_locale.sh remove "gu",
+ "gu",
"he", "hi", "hr", "hu",
"id", "it",
"ja",
-// cast/patch_locale.sh remove "kn",
+ "kn",
"ko",
"lt", "lv",
-// cast/patch_locale.sh remove "ml", "mr", "ms",
+ "ml", "mr", "ms",
"nb", "nn",
"pl", "pt",
"ro", "ru",
"sk", "sl", "sr", "sr_Latn", "sv", "sw",
-// cast/patch_locale.sh remove "ta", "te",
+ "ta", "te",
"th", "tr",
"uk",
"vi",
- "zh", "zh_Hant"
+ "zh", "zh_Hant",
+// For AndroidBig
+ "af", "az", "eu", "gl", "hy", "is", "ka", "kk", "km",
+ "ky", "lo", "mk", "mn", "my", "ne", "pa", "si", "sq",
+ "ur", "uz", "zu"
]
},
// Based on the ICU63 version of
@@ -591,7 +600,7 @@
"am",
"ar",
"bg",
-// cast/patch_locale.sh remove "bn",
+ "bn",
"ca",
"cs",
"da",
@@ -618,12 +627,12 @@
"es_BO", "es_BR", "es_BZ", "es_CL", "es_CO", "es_CR",
"es_CU", "es_DO", "es_EC", "es_GT", "es_HN", "es_NI",
"es_PA", "es_PE", "es_PR", "es_PY", "es_SV", "es_UY", "es_VE",
-// cast/patch_locale.sh remove "et",
+ "et",
"fa",
"fi",
"fil",
"fr", "fr_CA", "fr_HT",
-// cast/patch_locale.sh remove "gu",
+ "gu",
"he",
"hi",
"hr",
@@ -631,13 +640,13 @@
"id",
"it",
"ja",
-// cast/patch_locale.sh remove "kn",
+ "kn",
"ko",
"lt",
"lv",
-// cast/patch_locale.sh remove "ml",
-// cast/patch_locale.sh remove "mr",
-// cast/patch_locale.sh remove "ms",
+ "ml",
+ "mr",
+ "ms",
"nb",
"nl",
"pl",
@@ -653,14 +662,18 @@
"sr_Latn", "sr_Latn_BA", "sr_Latn_CS", "sr_Latn_ME", "sr_Latn_RS",
"sv",
"sw",
-// cast/patch_locale.sh remove "ta",
-// cast/patch_locale.sh remove "te",
+ "ta",
+ "te",
"th",
"tr",
"uk",
"vi",
"zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK", "zh_Hant_MO"
+ "zh_Hant", "zh_Hant_TW", "zh_Hant_HK", "zh_Hant_MO",
+// For AndroidBig
+ "af", "az", "eu", "gl", "hy", "is", "ka", "kk", "km",
+ "ky", "lo", "mk", "mn", "my", "ne", "pa", "si", "sq",
+ "ur", "uz", "zu"
]
},
// Based on the ICU63 version of
@@ -683,7 +696,7 @@
"am",
"ar",
"bg",
-// cast/patch_locale.sh remove "bn",
+ "bn",
"ca",
"cs",
"da",
@@ -692,12 +705,12 @@
"en", "en_001", "en_150",
"en_AU", "en_CA", "en_GB", "en_IN", "en_NZ", "en_ZA",
"es", "es_419", "es_MX", "es_AR", "es_US",
-// cast/patch_locale.sh remove "et",
+ "et",
"fa",
"fi",
"fil",
"fr", "fr_CA",
-// cast/patch_locale.sh remove "gu",
+ "gu",
"he",
"hi",
"hr",
@@ -705,13 +718,13 @@
"id",
"it",
"ja",
-// cast/patch_locale.sh remove "kn",
+ "kn",
"ko",
"lt",
"lv",
-// cast/patch_locale.sh remove "ml",
-// cast/patch_locale.sh remove "mr",
-// cast/patch_locale.sh remove "ms",
+ "ml",
+ "mr",
+ "ms",
"nb",
"nl",
"pl",
@@ -723,14 +736,18 @@
"sr",
"sv",
"sw",
-// cast/patch_locale.sh remove "ta",
-// cast/patch_locale.sh remove "te",
+ "ta",
+ "te",
"th",
"tr",
"uk",
"vi",
"zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK"
+ "zh_Hant", "zh_Hant_TW", "zh_Hant_HK",
+// For AndroidBig
+ "af", "az", "eu", "gl", "hy", "is", "ka", "kk", "km",
+ "ky", "lo", "mk", "mn", "my", "ne", "pa", "si", "sq",
+ "ur", "uz", "zu"
]
},
// Based on
@@ -986,6 +1003,7 @@
"+/*/ro_MD",
"+/*/sr_ME",
"+/*/sw_CD",
+ "+/*/zh_HK",
"+/*/zh_Hans",
"+/*/zh_Hant",
"-/Keys",
@@ -997,11 +1015,9 @@
},
// Created by diff scripts/chrome_ui_languages.list scripts/accept_lang.list|egrep "^>"|egrep -v "#"|cut -c3-10
{"categories":["lang_tree"],"files":{"whitelist":["ach"]},"rules":["-/*","+/%%ALIAS","+/Languages/ach"] },
- {"categories":["lang_tree"],"files":{"whitelist":["af"]},"rules":["-/*","+/%%ALIAS","+/Languages/af"] },
{"categories":["lang_tree"],"files":{"whitelist":["ak"]},"rules":["-/*","+/%%ALIAS","+/Languages/ak"] },
{"categories":["lang_tree"],"files":{"whitelist":["an"]},"rules":["-/*","+/%%ALIAS","+/Languages/an"] },
{"categories":["lang_tree"],"files":{"whitelist":["ast"]},"rules":["-/*","+/%%ALIAS","+/Languages/ast"] },
- {"categories":["lang_tree"],"files":{"whitelist":["az"]},"rules":["-/*","+/%%ALIAS","+/Languages/az"] },
{"categories":["lang_tree"],"files":{"whitelist":["ban"]},"rules":["-/*","+/%%ALIAS","+/Languages/ban"] },
{"categories":["lang_tree"],"files":{"whitelist":["be"]},"rules":["-/*","+/%%ALIAS","+/Languages/be"] },
{"categories":["lang_tree"],"files":{"whitelist":["bem"]},"rules":["-/*","+/%%ALIAS","+/Languages/bem"] },
@@ -1016,47 +1032,34 @@
{"categories":["lang_tree"],"files":{"whitelist":["crs"]},"rules":["-/*","+/%%ALIAS","+/Languages/crs"] },
{"categories":["lang_tree"],"files":{"whitelist":["cy"]},"rules":["-/*","+/%%ALIAS","+/Languages/cy"] },
{"categories":["lang_tree"],"files":{"whitelist":["ee"]},"rules":["-/*","+/%%ALIAS","+/Languages/ee"] },
- {"categories":["lang_tree"],"files":{"whitelist":["eu"]},"rules":["-/*","+/%%ALIAS","+/Languages/eu"] },
{"categories":["lang_tree"],"files":{"whitelist":["fo"]},"rules":["-/*","+/%%ALIAS","+/Languages/fo"] },
{"categories":["lang_tree"],"files":{"whitelist":["fy"]},"rules":["-/*","+/%%ALIAS","+/Languages/fy"] },
{"categories":["lang_tree"],"files":{"whitelist":["ga"]},"rules":["-/*","+/%%ALIAS","+/Languages/ga"] },
{"categories":["lang_tree"],"files":{"whitelist":["gaa"]},"rules":["-/*","+/%%ALIAS","+/Languages/gaa"] },
{"categories":["lang_tree"],"files":{"whitelist":["gd"]},"rules":["-/*","+/%%ALIAS","+/Languages/gd"] },
- {"categories":["lang_tree"],"files":{"whitelist":["gl"]},"rules":["-/*","+/%%ALIAS","+/Languages/gl"] },
{"categories":["lang_tree"],"files":{"whitelist":["gn"]},"rules":["-/*","+/%%ALIAS","+/Languages/gn"] },
{"categories":["lang_tree"],"files":{"whitelist":["ha"]},"rules":["-/*","+/%%ALIAS","+/Languages/ha"] },
{"categories":["lang_tree"],"files":{"whitelist":["haw"]},"rules":["-/*","+/%%ALIAS","+/Languages/haw"] },
{"categories":["lang_tree"],"files":{"whitelist":["hmn"]},"rules":["-/*","+/%%ALIAS","+/Languages/hmn"] },
{"categories":["lang_tree"],"files":{"whitelist":["ht"]},"rules":["-/*","+/%%ALIAS","+/Languages/ht"] },
- {"categories":["lang_tree"],"files":{"whitelist":["hy"]},"rules":["-/*","+/%%ALIAS","+/Languages/hy"] },
{"categories":["lang_tree"],"files":{"whitelist":["ia"]},"rules":["-/*","+/%%ALIAS","+/Languages/ia"] },
{"categories":["lang_tree"],"files":{"whitelist":["ig"]},"rules":["-/*","+/%%ALIAS","+/Languages/ig"] },
- {"categories":["lang_tree"],"files":{"whitelist":["is"]},"rules":["-/*","+/%%ALIAS","+/Languages/is"] },
{"categories":["lang_tree"],"files":{"whitelist":["jv"]},"rules":["-/*","+/%%ALIAS","+/Languages/jv"] },
{"categories":["lang_tree"],"files":{"whitelist":["jw"]},"rules":["-/*","+/%%ALIAS","+/Languages/jw"] },
- {"categories":["lang_tree"],"files":{"whitelist":["ka"]},"rules":["-/*","+/%%ALIAS","+/Languages/ka"] },
{"categories":["lang_tree"],"files":{"whitelist":["kg"]},"rules":["-/*","+/%%ALIAS","+/Languages/kg"] },
- {"categories":["lang_tree"],"files":{"whitelist":["kk"]},"rules":["-/*","+/%%ALIAS","+/Languages/kk"] },
- {"categories":["lang_tree"],"files":{"whitelist":["km"]},"rules":["-/*","+/%%ALIAS","+/Languages/km"] },
{"categories":["lang_tree"],"files":{"whitelist":["kri"]},"rules":["-/*","+/%%ALIAS","+/Languages/kri"] },
{"categories":["lang_tree"],"files":{"whitelist":["ku"]},"rules":["-/*","+/%%ALIAS","+/Languages/ku"] },
- {"categories":["lang_tree"],"files":{"whitelist":["ky"]},"rules":["-/*","+/%%ALIAS","+/Languages/ky"] },
{"categories":["lang_tree"],"files":{"whitelist":["la"]},"rules":["-/*","+/%%ALIAS","+/Languages/la"] },
{"categories":["lang_tree"],"files":{"whitelist":["lb"]},"rules":["-/*","+/%%ALIAS","+/Languages/lb"] },
{"categories":["lang_tree"],"files":{"whitelist":["lg"]},"rules":["-/*","+/%%ALIAS","+/Languages/lg"] },
{"categories":["lang_tree"],"files":{"whitelist":["ln"]},"rules":["-/*","+/%%ALIAS","+/Languages/ln"] },
- {"categories":["lang_tree"],"files":{"whitelist":["lo"]},"rules":["-/*","+/%%ALIAS","+/Languages/lo"] },
{"categories":["lang_tree"],"files":{"whitelist":["loz"]},"rules":["-/*","+/%%ALIAS","+/Languages/loz"] },
{"categories":["lang_tree"],"files":{"whitelist":["lua"]},"rules":["-/*","+/%%ALIAS","+/Languages/lua"] },
{"categories":["lang_tree"],"files":{"whitelist":["mfe"]},"rules":["-/*","+/%%ALIAS","+/Languages/mfe"] },
{"categories":["lang_tree"],"files":{"whitelist":["mg"]},"rules":["-/*","+/%%ALIAS","+/Languages/mg"] },
{"categories":["lang_tree"],"files":{"whitelist":["mi"]},"rules":["-/*","+/%%ALIAS","+/Languages/mi"] },
- {"categories":["lang_tree"],"files":{"whitelist":["mk"]},"rules":["-/*","+/%%ALIAS","+/Languages/mk"] },
- {"categories":["lang_tree"],"files":{"whitelist":["mn"]},"rules":["-/*","+/%%ALIAS","+/Languages/mn"] },
{"categories":["lang_tree"],"files":{"whitelist":["mo"]},"rules":["-/*","+/%%ALIAS","+/Languages/mo"] },
{"categories":["lang_tree"],"files":{"whitelist":["mt"]},"rules":["-/*","+/%%ALIAS","+/Languages/mt"] },
- {"categories":["lang_tree"],"files":{"whitelist":["my"]},"rules":["-/*","+/%%ALIAS","+/Languages/my"] },
- {"categories":["lang_tree"],"files":{"whitelist":["ne"]},"rules":["-/*","+/%%ALIAS","+/Languages/ne"] },
{"categories":["lang_tree"],"files":{"whitelist":["nn"]},"rules":["-/*","+/%%ALIAS","+/Languages/nn"] },
{"categories":["lang_tree"],"files":{"whitelist":["no"]},"rules":["-/*","+/%%ALIAS","+/Languages/no"] },
{"categories":["lang_tree"],"files":{"whitelist":["nso"]},"rules":["-/*","+/%%ALIAS","+/Languages/nso"] },
@@ -1066,7 +1069,6 @@
{"categories":["lang_tree"],"files":{"whitelist":["om"]},"rules":["-/*","+/%%ALIAS","+/Languages/om"] },
{"categories":["lang_tree"],"files":{"whitelist":["or"]},"rules":["-/*","+/%%ALIAS","+/Languages/or"] },
{"categories":["lang_tree"],"files":{"whitelist":["osa"]},"rules":["-/*","+/%%ALIAS","+/Languages/osa"] },
- {"categories":["lang_tree"],"files":{"whitelist":["pa"]},"rules":["-/*","+/%%ALIAS","+/Languages/pa"] },
{"categories":["lang_tree"],"files":{"whitelist":["pcm"]},"rules":["-/*","+/%%ALIAS","+/Languages/pcm"] },
{"categories":["lang_tree"],"files":{"whitelist":["ps"]},"rules":["-/*","+/%%ALIAS","+/Languages/ps"] },
{"categories":["lang_tree"],"files":{"whitelist":["qu"]},"rules":["-/*","+/%%ALIAS","+/Languages/qu"] },
@@ -1075,11 +1077,9 @@
{"categories":["lang_tree"],"files":{"whitelist":["rw"]},"rules":["-/*","+/%%ALIAS","+/Languages/rw"] },
{"categories":["lang_tree"],"files":{"whitelist":["sd"]},"rules":["-/*","+/%%ALIAS","+/Languages/sd"] },
{"categories":["lang_tree"],"files":{"whitelist":["sh"]},"rules":["-/*","+/%%ALIAS","+/Languages/sh"] },
- {"categories":["lang_tree"],"files":{"whitelist":["si"]},"rules":["-/*","+/%%ALIAS","+/Languages/si"] },
{"categories":["lang_tree"],"files":{"whitelist":["sm"]},"rules":["-/*","+/%%ALIAS","+/Languages/sm"] },
{"categories":["lang_tree"],"files":{"whitelist":["sn"]},"rules":["-/*","+/%%ALIAS","+/Languages/sn"] },
{"categories":["lang_tree"],"files":{"whitelist":["so"]},"rules":["-/*","+/%%ALIAS","+/Languages/so"] },
- {"categories":["lang_tree"],"files":{"whitelist":["sq"]},"rules":["-/*","+/%%ALIAS","+/Languages/sq"] },
{"categories":["lang_tree"],"files":{"whitelist":["st"]},"rules":["-/*","+/%%ALIAS","+/Languages/st"] },
{"categories":["lang_tree"],"files":{"whitelist":["su"]},"rules":["-/*","+/%%ALIAS","+/Languages/su"] },
{"categories":["lang_tree"],"files":{"whitelist":["tg"]},"rules":["-/*","+/%%ALIAS","+/Languages/tg"] },
@@ -1092,29 +1092,12 @@
{"categories":["lang_tree"],"files":{"whitelist":["tum"]},"rules":["-/*","+/%%ALIAS","+/Languages/tum"] },
{"categories":["lang_tree"],"files":{"whitelist":["tw"]},"rules":["-/*","+/%%ALIAS","+/Languages/tw"] },
{"categories":["lang_tree"],"files":{"whitelist":["ug"]},"rules":["-/*","+/%%ALIAS","+/Languages/ug"] },
- {"categories":["lang_tree"],"files":{"whitelist":["ur"]},"rules":["-/*","+/%%ALIAS","+/Languages/ur"] },
- {"categories":["lang_tree"],"files":{"whitelist":["uz"]},"rules":["-/*","+/%%ALIAS","+/Languages/uz"] },
{"categories":["lang_tree"],"files":{"whitelist":["wa"]},"rules":["-/*","+/%%ALIAS","+/Languages/wa"] },
{"categories":["lang_tree"],"files":{"whitelist":["wo"]},"rules":["-/*","+/%%ALIAS","+/Languages/wo"] },
{"categories":["lang_tree"],"files":{"whitelist":["xh"]},"rules":["-/*","+/%%ALIAS","+/Languages/xh"] },
{"categories":["lang_tree"],"files":{"whitelist":["xx"]},"rules":["-/*","+/%%ALIAS","+/Languages/xx"] },
{"categories":["lang_tree"],"files":{"whitelist":["yi"]},"rules":["-/*","+/%%ALIAS","+/Languages/yi"] },
{"categories":["lang_tree"],"files":{"whitelist":["yo"]},"rules":["-/*","+/%%ALIAS","+/Languages/yo"] },
- {"categories":["lang_tree"],"files":{"whitelist":["zu"]},"rules":["-/*","+/%%ALIAS","+/Languages/zu"] },
-// The following is added based on
-// https://cs.chromium.org/chromium/src/third_party/icu/cast/patch_locale.sh?rcl=797b7c
-// # Chrome on Android is not localized to the following languages and we
-// # have to minimize the locale data for them.
-// EXTRA_LANGUAGES="bn et gu kn ml mr ms ta te"
- {"categories":["lang_tree"],"files":{"whitelist":["bn"]},"rules":["-/*","+/%%ALIAS","+/Languages/bn"] },
- {"categories":["lang_tree"],"files":{"whitelist":["et"]},"rules":["-/*","+/%%ALIAS","+/Languages/et"] },
- {"categories":["lang_tree"],"files":{"whitelist":["gu"]},"rules":["-/*","+/%%ALIAS","+/Languages/gu"] },
- {"categories":["lang_tree"],"files":{"whitelist":["kn"]},"rules":["-/*","+/%%ALIAS","+/Languages/kn"] },
- {"categories":["lang_tree"],"files":{"whitelist":["ml"]},"rules":["-/*","+/%%ALIAS","+/Languages/ml"] },
- {"categories":["lang_tree"],"files":{"whitelist":["mr"]},"rules":["-/*","+/%%ALIAS","+/Languages/mr"] },
- {"categories":["lang_tree"],"files":{"whitelist":["ms"]},"rules":["-/*","+/%%ALIAS","+/Languages/ms"] },
- {"categories":["lang_tree"],"files":{"whitelist":["ta"]},"rules":["-/*","+/%%ALIAS","+/Languages/ta"] },
- {"categories":["lang_tree"],"files":{"whitelist":["te"]},"rules":["-/*","+/%%ALIAS","+/Languages/te"] },
// Based on filter_currency_data
// # Keep only the currencies used by the larget 150 economies in terms of GDP.
// # TODO(jshin): Use ucurr_isAvailable in ICU to drop more currencies.
@@ -2002,11 +1985,9 @@
"whitelist": [
// Created by diff scripts/chrome_ui_languages.list scripts/accept_lang.list|egrep "^>"|egrep -v "#"|cut -c3-10
"ach",
- "af",
"ak",
"an",
"ast",
- "az",
"ban",
"be",
"bem",
@@ -2022,47 +2003,34 @@
"cy",
"ee",
"eo",
- "eu",
"fo",
"fy",
"ga",
"gaa",
"gd",
- "gl",
"gn",
"ha",
"haw",
"hmn",
"ht",
- "hy",
"ia",
"ig",
- "is",
"jv",
"jw",
- "ka",
"kg",
- "kk",
- "km",
"kri",
"ku",
- "ky",
"la",
"lb",
"lg",
"ln",
- "lo",
"loz",
"lua",
"mfe",
"mg",
"mi",
- "mk",
- "mn",
"mo",
"mt",
- "my",
- "ne",
"nn",
"no",
"nso",
@@ -2072,7 +2040,6 @@
"om",
"or",
"osa",
- "pa",
"pcm",
"ps",
"qu",
@@ -2081,11 +2048,9 @@
"rw",
"sd",
"sh",
- "si",
"sm",
"sn",
"so",
- "sq",
"st",
"su",
"tg",
@@ -2098,29 +2063,12 @@
"tum",
"tw",
"ug",
- "ur",
- "uz",
"wa",
"wo",
"xh",
"xx",
"yi",
- "yo",
- "zu",
-// The following is added based on
-// https://cs.chromium.org/chromium/src/third_party/icu/cast/patch_locale.sh?rcl=797b7c
-// # Chrome on Android is not localized to the following languages and we
-// # have to minimize the locale data for them.
-// EXTRA_LANGUAGES="bn et gu kn ml mr ms ta te"
- "bn",
- "et",
- "gu",
- "kn",
- "ml",
- "mr",
- "ms",
- "ta",
- "te"
+ "yo"
]
},
"rules": [
diff --git a/filters/android_small.json b/filters/android_small.json
new file mode 100644
index 0000000..a1d4589
--- /dev/null
+++ b/filters/android_small.json
@@ -0,0 +1,2195 @@
+// Copyright 2019 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+{
+// To use implicithan for Collation UCAData.
+ "collationUCAData": "implicithan",
+// Based on the ICU63 version of
+// https://cs.chromium.org/chromium/src/third_party/icu/source/data/locales/reslocal.mk?rcl=797b7c
+ "localeFilter": {
+ "whitelist": [
+// Need to explicitly add "root"
+ "root",
+// # All aliases (to not be included under 'installed'), but not including root.
+// GENRB_ALIAS_SOURCE = $(GENRB_SYNTHETIC_ALIAS)\
+// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
+// no.txt in.txt iw.txt tl.txt sh.txt
+ "zh_CN","zh_TW","zh_HK","zh_SG",
+ "no","in","iw","tl","sh",
+// # Ordinary resources
+// GENRB_SOURCE =\
+// .......
+ "am",
+ "ar","ar_001","ar_AE","ar_BH","ar_DJ",
+ "ar_DZ","ar_EG","ar_EH","ar_ER","ar_IL",
+ "ar_IQ","ar_JO","ar_KM","ar_KW","ar_LB",
+ "ar_LY","ar_MA","ar_MR","ar_OM","ar_PS",
+ "ar_QA","ar_SA","ar_SD","ar_SO","ar_SS",
+ "ar_SY","ar_TD","ar_TN","ar_YE",
+ "bg",
+ "bn",
+ "ca",
+ "cs",
+ "da",
+ "de","de_AT","de_BE","de_CH","de_IT","de_LI","de_LU",
+ "el",
+ "en","en_001","en_150","en_AG","en_AI","en_AS",
+ "en_AT","en_AU","en_BB","en_BE","en_BI",
+ "en_BM","en_BS","en_BW","en_BZ","en_CA",
+ "en_CC","en_CH","en_CK","en_CM","en_CX",
+ "en_CY","en_DE","en_DG","en_DK","en_DM",
+ "en_ER","en_FI","en_FJ","en_FK","en_FM",
+ "en_GB","en_GD","en_GG","en_GH","en_GI",
+ "en_GM","en_GU","en_GY","en_HK","en_IE",
+ "en_IL","en_IM","en_IN","en_IO","en_JE",
+ "en_JM","en_KE","en_KI","en_KN","en_KY",
+ "en_LC","en_LR","en_LS","en_MG","en_MH",
+ "en_MO","en_MP","en_MS","en_MT","en_MU",
+ "en_MW","en_MY","en_NA","en_NF","en_NG",
+ "en_NL","en_NR","en_NU","en_NZ","en_PG",
+ "en_PH","en_PK","en_PN","en_PR","en_PW",
+ "en_RW","en_SB","en_SC","en_SD","en_SE",
+ "en_SG","en_SH","en_SI","en_SL","en_SS",
+ "en_SX","en_SZ","en_TC","en_TK","en_TO",
+ "en_TT","en_TV","en_TZ","en_UG","en_UM",
+ "en_US","en_US_POSIX","en_VC","en_VG","en_VI",
+ "en_VU","en_WS","en_ZA","en_ZM","en_ZW",
+ "es","es_ES","es_419","es_AR","es_MX","es_US",
+ "es_BO","es_BR","es_BZ","es_CL","es_CO","es_CR","es_CU",
+ "es_DO","es_EA","es_EC","es_GQ","es_GT","es_HN","es_IC",
+ "es_NI","es_PA","es_PE","es_PH","es_PR","es_PY","es_SV",
+ "es_UY","es_VE",
+ "et",
+ "fa",
+ "fi",
+ "fil",
+ "fr","fr_BE","fr_BF","fr_BI",
+ "fr_BJ","fr_BL","fr_CA","fr_CD","fr_CF",
+ "fr_CG","fr_CH","fr_CI","fr_CM","fr_DJ",
+ "fr_DZ","fr_FR","fr_GA","fr_GF","fr_GN",
+ "fr_GP","fr_GQ","fr_HT","fr_KM","fr_LU",
+ "fr_MA","fr_MC","fr_MF","fr_MG","fr_ML",
+ "fr_MQ","fr_MR","fr_MU","fr_NC","fr_NE",
+ "fr_PF","fr_PM","fr_RE","fr_RW","fr_SC",
+ "fr_SN","fr_SY","fr_TD","fr_TG","fr_TN",
+ "fr_VU","fr_WF","fr_YT",
+ "gu",
+ "he",
+ "hi",
+ "hr",
+ "hu",
+ "id",
+ "it","it_CH",
+ "ja",
+ "kn",
+ "ko",
+ "lt",
+ "lv",
+ "ml",
+ "mr",
+ "ms",
+ "nb",
+ "nl","nl_AW","nl_BE","nl_BQ","nl_CW","nl_NL",
+ "nl_SR","nl_SX",
+ "pl",
+ "pt","pt_AO","pt_BR","pt_CH","pt_CV",
+ "pt_GQ","pt_GW","pt_LU","pt_MO","pt_MZ",
+ "pt_PT","pt_ST","pt_TL",
+ "ro",
+ "ru","ru_BY","ru_KG","ru_KZ","ru_MD","ru_RU","ru_UA",
+ "sk",
+ "sl",
+ "sr","sr_BA","sr_CS","sr_ME","sr_RS","sr_XK",
+ "sr_Cyrl","sr_Cyrl_BA","sr_Cyrl_CS","sr_Cyrl_ME",
+ "sr_Cyrl_RS","sr_Cyrl_XK",
+ "sr_Latn","sr_Latn_BA","sr_Latn_CS","sr_Latn_ME",
+ "sr_Latn_RS","sr_Latn_XK",
+ "sv",
+ "sw","sw_CD","sw_KE",
+ "ta",
+ "te",
+ "th",
+ "tr",
+ "uk",
+ "vi",
+ "zh","zh_Hans","zh_Hans_CN","zh_Hans_SG",
+ "zh_Hant","zh_Hant_TW","zh_Hant_HK",
+ "af",
+ "ak",
+ "an",
+ "ast",
+ "az",
+ "be",
+ "bem",
+ "br",
+ "bs",
+ "ckb",
+ "cy",
+ "ee",
+ "eo",
+ "eu",
+ "fo",
+ "ga",
+ "gl",
+ "ha",
+ "haw",
+ "hy",
+ "ig",
+ "is",
+ "ka",
+ "kk",
+ "km",
+ "ku",
+ "ky",
+ "lg",
+ "ln",
+ "lo",
+ "mfe",
+ "mg",
+ "mk",
+ "mn",
+ "mo","ro_MD",
+ "mt",
+ "my",
+ "ne",
+ "nn",
+ "nyn",
+ "om",
+ "or",
+ "pa",
+ "ps",
+ "rm",
+ "rn",
+ "rw",
+ "si",
+ "sn",
+ "so",
+ "sq",
+ "tg",
+ "ti",
+ "to",
+ "ur",
+ "uz",
+ "wa",
+ "yo",
+ "zu"
+ ]
+ },
+ "featureFilters": {
+// Based on the ICU63 version of
+// https://cs.chromium.org/chromium/src/third_party/icu/source/data/brkitr/brklocal.mk?rcl=797b7c
+// # List of dictionary files (dict).
+// BRK_DICT_SOURCE = burmesedict.txt cjdict.txt khmerdict.txt laodict.txt\
+// thaidict.txt
+ "brkitr_dictionaries": {
+ "whitelist": [
+ "burmesedict",
+// Filtered by android/brkitr.patch "cjdict",
+ "khmerdict",
+ "laodict",
+ "thaidict"
+ ]
+ },
+// # List of break iterator files (brk).
+// BRK_SOURCE = char.txt line.txt line_loose.txt line_loose_cj.txt\
+// line_normal.txt line_normal_cj.txt sent.txt sent_el.txt title.txt\
+// word.txt
+ "brkitr_rules": {
+ "whitelist": [
+ "char",
+ "line",
+ "line_loose",
+ "line_loose_cj",
+ "line_normal",
+ "line_normal_cj",
+ "sent",
+ "sent_el",
+ "title",
+ "word",
+// Added by android/brkitr.patch
+ "word_ja"
+ ]
+ },
+// # Ordinary resources
+// BRK_RES_SOURCE = de.txt el.txt en.txt en_US.txt\
+// es.txt fr.txt it.txt ja.txt\
+// pt.txt ru.txt zh.txt zh_Hant.txt
+ "brkitr_tree": {
+ "whitelist": [
+// Need to explicitly add "root"
+ "root",
+ "de",
+ "el",
+ "en",
+ "en_US",
+ "es",
+ "fr",
+ "it",
+ "ja",
+ "pt",
+ "ru",
+ "zh",
+ "zh_Hant"
+ ]
+ },
+// Based on the ICU63 version of
+// https://cs.chromium.org/chromium/src/third_party/icu/source/data/mappings/ucmlocal.mk?rcl=797b7c
+ "conversion_mappings": {
+ "whitelist": [
+// UCM_SOURCE_CORE=...
+ "iso-8859-2-html",
+ "iso-8859-3-html",
+ "iso-8859-4-html",
+ "iso-8859-5-html",
+ "iso-8859-6-html",
+ "iso-8859-7-html",
+ "iso-8859-8-html",
+ "iso-8859-10-html",
+ "iso-8859-13-html",
+ "iso-8859-14-html",
+ "iso-8859-15-html",
+ "iso-8859-16-html",
+ "windows-1250-html",
+ "windows-1251-html",
+ "windows-1252-html",
+ "windows-1253-html",
+ "windows-1254-html",
+ "windows-1255-html",
+ "windows-1256-html",
+ "windows-1257-html",
+ "windows-1258-html",
+ "windows-936-2000",
+ "gb18030",
+ "big5-html",
+ "shift_jis-html",
+ "euc-jp-html",
+ "euc-kr-html",
+ "windows-874-html",
+ "macintosh-html",
+ "x-mac-cyrillic-html",
+ "ibm866-html",
+ "koi8-r-html",
+ "koi8-u-html"
+ ]
+ },
+// Based on the ICU63 version of
+// https://cs.chromium.org/chromium/src/third_party/icu/source/data/curr/reslocal.mk?rcl=797b7c
+ "curr_tree": {
+ "whitelist": [
+// Need to explicitly add "root"
+ "root",
+// # All aliases (to not be included under 'installed'), but not including root.
+// CURR_ALIAS_SOURCE = $(CURR_SYNTHETIC_ALIAS)\
+// zh_CN.txt zh_TW.txt zh_HK.txt zh_MO.txt zh_SG.txt\
+// mo.txt no.txt in.txt iw.txt tl.txt ar_SA.txt
+ "zh_CN", "zh_TW", "zh_HK", "zh_MO", "zh_SG",
+ "mo", "no", "in", "iw", "tl", "ar_SA",
+// # Ordinary resources
+// CURR_SOURCE =\
+// ...
+ "am",
+ "ar", "ar_AE", "ar_DJ", "ar_ER", "ar_KM",
+ "ar_LB", "ar_SO", "ar_SS",
+ "bg",
+// cast/patch_locale.sh remove "bn",
+ "ca",
+ "cs",
+ "da",
+ "de", "de_CH", "de_LI", "de_LU",
+ "el",
+ "en", "en_001", "en_150",
+ "en_AU", "en_CA", "en_GB", "en_HK", "en_IN", "en_NG", "en_NZ", "en_SG", "en_ZA",
+ "en_AG", "en_AI", "en_AT", "en_BB", "en_BE", "en_BI", "en_BM", "en_BS", "en_BW",
+ "en_BZ", "en_CC", "en_CH", "en_CK", "en_CM", "en_CX", "en_CY", "en_DE", "en_DG",
+ "en_DK", "en_DM", "en_ER", "en_FI", "en_FJ", "en_FK", "en_FM", "en_GD", "en_GG",
+ "en_GH", "en_GI", "en_GM", "en_GY", "en_IE", "en_IL", "en_IM", "en_IO", "en_JE",
+ "en_JM", "en_KE", "en_KI", "en_KN", "en_KY", "en_LC", "en_LR", "en_LS", "en_MG",
+ "en_MO", "en_MS", "en_MT", "en_MU", "en_MW", "en_MY", "en_NA", "en_NF", "en_NH",
+ "en_NL", "en_NR", "en_NU", "en_PG", "en_PH", "en_PK", "en_PN", "en_PW", "en_RH",
+ "en_RW", "en_SB", "en_SC", "en_SD", "en_SE", "en_SH", "en_SI", "en_SL", "en_SS",
+ "en_SX", "en_SZ", "en_TC", "en_TK", "en_TO", "en_TT", "en_TV", "en_TZ", "en_UG",
+ "en_VC", "en_VG", "en_VU", "en_WS", "en_ZM", "en_ZW",
+ "es", "es_419", "es_AR", "es_BO", "es_BR", "es_BZ", "es_CL",
+ "es_CO", "es_CR", "es_CU", "es_DO", "es_EC", "es_GQ", "es_GT",
+ "es_HN", "es_MX", "es_NI", "es_PA", "es_PE", "es_PH", "es_PR",
+ "es_PY", "es_SV", "es_US", "es_UY", "es_VE",
+// cast/patch_locale.sh remove "et",
+ "fa",
+ "fi",
+ "fil",
+ "fr", "fr_CA",
+ "fr_BI", "fr_CD", "fr_DJ", "fr_DZ", "fr_GN", "fr_HT",
+ "fr_KM", "fr_LU", "fr_MG", "fr_MR", "fr_MU", "fr_RW",
+ "fr_SC", "fr_SY", "fr_TN", "fr_VU",
+// cast/patch_locale.sh remove "gu",
+ "he",
+ "hi",
+ "hr",
+ "hu",
+ "id",
+ "it",
+ "ja",
+// cast/patch_locale.sh remove "kn",
+ "ko",
+ "lt",
+ "lv",
+// cast/patch_locale.sh remove "ml",
+// cast/patch_locale.sh remove "mr",
+// cast/patch_locale.sh remove "ms",
+ "nb",
+ "nl",
+ "pl",
+ "pt", "pt_PT",
+ "pt_AO", "pt_CV", "pt_LU", "pt_MO", "pt_MZ", "pt_ST",
+ "ro", "ro_MD",
+ "ru",
+ "sk",
+ "sl",
+ "sr", "sr_BA", "sr_CS", "sr_ME", "sr_RS", "sr_XK",
+ "sr_Cyrl", "sr_Cyrl_BA", "sr_Cyrl_CS", "sr_Cyrl_RS", "sr_Cyrl_XK",
+ "sr_Latn", "sr_Latn_BA", "sr_Latn_CS", "sr_Latn_ME", "sr_Latn_RS",
+ "sv",
+ "sw", "sw_CD", "sw_UG",
+// cast/patch_locale.sh remove "ta",
+// cast/patch_locale.sh remove "te",
+ "th",
+ "tr",
+ "uk",
+ "vi",
+ "zh",
+ "zh_Hans", "zh_Hans_CN", "zh_Hans_SG", "zh_Hans_HK", "zh_Hans_MO",
+ "zh_Hant", "zh_Hant_TW", "zh_Hant_HK", "zh_Hant_MO"
+ ]
+ },
+// Based on the ICU63 version of
+// https://cs.chromium.org/chromium/src/third_party/icu/source/data/coll/collocal.mk?rcl=797b7c
+ "coll_tree": {
+ "whitelist": [
+// Need to explicitly add "root"
+ "root",
+// # Aliases which do not have a corresponding xx.xml file (see icu-config.xml & build.xml)
+// COLLATION_SYNTHETIC_ALIAS = ...
+ "de_", "de__PHONEBOOK", "es_", "es__TRADITIONAL",
+ "he_IL", "id_ID", "in", "in_ID", "iw",
+ "iw_IL", "mo", "nb_NO", "no", "no_NO",
+ "ro_MD", "sh",
+ "sh_BA", "sh_CS", "sh_YU", "sr_BA", "sr_Cyrl",
+ "sr_Cyrl_BA", "sr_Cyrl_ME", "sr_Cyrl_RS", "sr_Latn_BA", "sr_Latn_RS",
+ "sr_ME", "sr_RS",
+ "zh_CN", "zh_HK", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
+ "zh_Hant_HK", "zh_Hant_MO", "zh_Hant_TW", "zh_MO", "zh_SG",
+ "zh_TW",
+// # Ordinary resources
+// COLLATION_SOURCE = ...
+ "am", "ar",
+ "bg",
+// cast/patch_locale.sh remove "bn",
+ "ca",
+ "cs",
+ "da", "de", "de_AT",
+ "el", "en", "en_US", "es",
+// cast/patch_locale.sh remove "et",
+ "fa", "fi", "fil",
+ "fr", "fr_CA",
+// cast/patch_locale.sh remove "gu",
+ "he", "hi", "hr", "hu",
+ "id", "it",
+ "ja",
+// cast/patch_locale.sh remove "kn",
+ "ko",
+ "lt", "lv",
+// cast/patch_locale.sh remove "ml", "mr", "ms",
+ "nb", "nn",
+ "pl", "pt",
+ "ro", "ru",
+ "sk", "sl", "sr", "sr_Latn", "sv", "sw",
+// cast/patch_locale.sh remove "ta", "te",
+ "th", "tr",
+ "uk",
+ "vi",
+ "zh", "zh_Hant"
+ ]
+ },
+// Based on the ICU63 version of
+// https://cs.chromium.org/chromium/src/third_party/icu/source/data/lang/reslocal.mk?rcl=797b7c
+ "lang_tree": {
+ "whitelist": [
+// Need to explicitly add "root"
+ "root",
+// # All aliases (to not be included under 'installed'), but not including root.
+// LANG_ALIAS_SOURCE = $(LANG_SYNTHETIC_ALIAS)\
+// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
+// no.txt in.txt iw.txt tl.txt sh.txt
+ "zh_CN", "zh_TW", "zh_HK", "zh_SG",
+ "no", "in", "iw", "tl", "sh",
+// # Ordinary resources
+// LANG_SOURCE =\
+// ...
+ "am",
+ "ar",
+ "ar_SA", "ar_LY", "ar_EG",
+ "bg",
+ "bn",
+ "ca",
+ "cs",
+ "da",
+ "de",
+ "de_AT", "de_CH",
+ "el",
+ "en", "en_GB",
+ "en_CA", "en_AU", "en_IN", "en_001", "en_NZ",
+ "es", "es_419",
+ "et",
+ "fa",
+ "fi",
+ "fil",
+ "fr",
+ "fr_CA", "fr_CH",
+ "gu",
+ "he",
+ "hi",
+ "hr",
+ "hu",
+ "id",
+ "it",
+ "ja",
+ "kn",
+ "ko",
+ "lt",
+ "lv",
+ "ml",
+ "mr",
+ "ms",
+ "nb",
+ "nl",
+ "pl",
+ "pt", "pt_PT",
+ "ro",
+ "ru",
+ "sk",
+ "sl",
+ "sr",
+ "sv",
+ "sw",
+ "ta",
+ "te",
+ "th",
+ "tr",
+ "uk",
+ "vi",
+ "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
+ "zh_Hant", "zh_Hant_TW", "zh_Hant_HK",
+ "af",
+ "ak",
+ "an",
+ "ast",
+ "az",
+ "be",
+ "bem",
+ "br",
+ "bs",
+ "ckb",
+ "cy",
+ "ee",
+ "eo",
+ "eu",
+ "fo",
+ "ga",
+ "gl",
+ "ha",
+ "haw",
+ "hy",
+ "ig",
+ "is",
+ "ka",
+ "kk",
+ "km",
+ "ku",
+ "ky",
+ "lg",
+ "ln",
+ "lo",
+ "mfe",
+ "mg",
+ "mk",
+ "mn",
+ "mo", "ro_MD",
+ "mt",
+ "my",
+ "ne",
+ "nn",
+ "nyn",
+ "om",
+ "or",
+ "pa",
+ "ps",
+ "rm",
+ "rn",
+ "rw",
+ "si",
+ "sn",
+ "so",
+ "sq",
+ "sr_Latn",
+ "tg",
+ "ti",
+ "to",
+ "ur",
+ "uz",
+ "wa",
+ "yo",
+ "zu"
+ ]
+ },
+// Based on the ICU63 version of
+// https://cs.chromium.org/chromium/src/third_party/icu/source/data/rbnf/rbnflocal.mk?rcl=797b7c
+ "rbnf_tree": {
+ "filterType": "exclude"
+ },
+ "rbnf_index": {
+ "filterType": "exclude"
+ },
+// Based on
+// https://cs.chromium.org/chromium/src/third_party/icu/android/patch_locale.sh?rcl=797b7c
+ "region_tree": {
+ "whitelist": [
+// Need to explicitly add "root"
+// "root",
+// # Excludes region data. On Android Java API is used to get the data.
+// # Due to a bug in ICU, an empty region list always uses 70kB pool.res bundle.
+// # As a work around, include the minimal version of en.txt
+ "en"
+ ]
+ },
+// Based on the ICU63 version of
+// https://cs.chromium.org/chromium/src/third_party/icu/source/data/sprep/spreplocal.mk?rcl=797b7c
+ "stringprep": {
+ "filterType": "exclude"
+ },
+// Based on the ICU63 version of
+// https://cs.chromium.org/chromium/src/third_party/icu/source/data/translit/trnslocal.mk?rcl=797b7c
+ "translit": {
+ "whitelist": [
+// Need to explicitly add "root"
+ "root"
+ ]
+ },
+// Based on the ICU63 version of
+// https://cs.chromium.org/chromium/src/third_party/icu/source/data/unit/reslocal.mk?rcl=797b7c
+ "unit_tree": {
+ "whitelist": [
+// Need to explicitly add "root"
+ "root",
+// # All aliases (to not be included under 'installed'), but not including root.
+// UNIT_ALIAS_SOURCE = $(UNIT_SYNTHETIC_ALIAS)\
+// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
+// no.txt in.txt iw.txt tl.txt sh.txt
+ "zh_CN", "zh_TW", "zh_HK", "zh_SG",
+ "no", "in", "iw", "tl", "sh",
+// # Ordinary resources
+// UNIT_SOURCE =\
+ "am",
+ "ar",
+ "bg",
+// cast/patch_locale.sh remove "bn",
+ "ca",
+ "cs",
+ "da",
+ "de", "de_CH",
+ "el",
+ "en", "en_001", "en_150",
+ "en_AU", "en_CA", "en_GB", "en_IN", "en_NZ", "en_ZA",
+ "en_AG", "en_AI", "en_AT", "en_BB", "en_BE", "en_BM",
+ "en_BS", "en_BW", "en_BZ", "en_CC", "en_CH", "en_CK",
+ "en_CM", "en_CX", "en_CY", "en_DE", "en_DG", "en_DK",
+ "en_DM", "en_ER", "en_FI", "en_FJ", "en_FK", "en_FM",
+ "en_GD", "en_GG", "en_GH", "en_GI", "en_GM", "en_GY",
+ "en_HK", "en_IE", "en_IL", "en_IM", "en_IO",
+ "en_JE", "en_JM", "en_KE", "en_KI", "en_KN", "en_KY",
+ "en_LC", "en_LR", "en_LS", "en_MG", "en_MO", "en_MS",
+ "en_MT", "en_MU", "en_MW", "en_MY", "en_NA", "en_NF",
+ "en_NG", "en_NH", "en_NL", "en_NR", "en_NU", "en_PG",
+ "en_PH", "en_PK", "en_PN", "en_PW", "en_RH", "en_RW",
+ "en_SB", "en_SC", "en_SD", "en_SE", "en_SG", "en_SH",
+ "en_SI", "en_SL", "en_SS", "en_SX", "en_SZ", "en_TC",
+ "en_TK", "en_TO", "en_TT", "en_TV", "en_TZ", "en_UG",
+ "en_VC", "en_VG", "en_VU", "en_WS", "en_ZM", "en_ZW",
+ "es", "es_419", "es_AR", "es_MX", "es_US",
+ "es_BO", "es_BR", "es_BZ", "es_CL", "es_CO", "es_CR",
+ "es_CU", "es_DO", "es_EC", "es_GT", "es_HN", "es_NI",
+ "es_PA", "es_PE", "es_PR", "es_PY", "es_SV", "es_UY", "es_VE",
+// cast/patch_locale.sh remove "et",
+ "fa",
+ "fi",
+ "fil",
+ "fr", "fr_CA", "fr_HT",
+// cast/patch_locale.sh remove "gu",
+ "he",
+ "hi",
+ "hr",
+ "hu",
+ "id",
+ "it",
+ "ja",
+// cast/patch_locale.sh remove "kn",
+ "ko",
+ "lt",
+ "lv",
+// cast/patch_locale.sh remove "ml",
+// cast/patch_locale.sh remove "mr",
+// cast/patch_locale.sh remove "ms",
+ "nb",
+ "nl",
+ "pl",
+ "pt", "pt_PT",
+ "pt_AO", "pt_CH", "pt_CV", "pt_GQ", "pt_GW", "pt_LU",
+ "pt_MO", "pt_MZ", "pt_ST", "pt_TL",
+ "ro", "ro_MD",
+ "ru",
+ "sk",
+ "sl",
+ "sr", "sr_BA", "sr_CS", "sr_ME", "sr_RS", "sr_XK",
+ "sr_Cyrl", "sr_Cyrl_BA", "sr_Cyrl_CS", "sr_Cyrl_RS", "sr_Cyrl_XK",
+ "sr_Latn", "sr_Latn_BA", "sr_Latn_CS", "sr_Latn_ME", "sr_Latn_RS",
+ "sv",
+ "sw",
+// cast/patch_locale.sh remove "ta",
+// cast/patch_locale.sh remove "te",
+ "th",
+ "tr",
+ "uk",
+ "vi",
+ "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
+ "zh_Hant", "zh_Hant_TW", "zh_Hant_HK", "zh_Hant_MO"
+ ]
+ },
+// Based on the ICU63 version of
+// https://cs.chromium.org/chromium/src/third_party/icu/source/data/zone/reslocal.mk?rcl=797b7c
+ "zone_tree": {
+ "whitelist": [
+// Need to explicitly add "root"
+ "root",
+// Need to explicitly add "tzdbNames"
+ "tzdbNames",
+// # All aliases (to not be included under 'installed'), but not including root.
+// ZONE_ALIAS_SOURCE = $(ZONE_SYNTHETIC_ALIAS)\
+// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG",
+// no.txt in.txt iw.txt
+ "zh_CN", "zh_TW", "zh_HK", "zh_SG",
+ "no", "in", "iw",
+// # Ordinary resources
+// ZONE_SOURCE =\
+// ...
+ "am",
+ "ar",
+ "bg",
+// cast/patch_locale.sh remove "bn",
+ "ca",
+ "cs",
+ "da",
+ "de",
+ "el",
+ "en", "en_001", "en_150",
+ "en_AU", "en_CA", "en_GB", "en_IN", "en_NZ", "en_ZA",
+ "es", "es_419", "es_MX", "es_AR", "es_US",
+// cast/patch_locale.sh remove "et",
+ "fa",
+ "fi",
+ "fil",
+ "fr", "fr_CA",
+// cast/patch_locale.sh remove "gu",
+ "he",
+ "hi",
+ "hr",
+ "hu",
+ "id",
+ "it",
+ "ja",
+// cast/patch_locale.sh remove "kn",
+ "ko",
+ "lt",
+ "lv",
+// cast/patch_locale.sh remove "ml",
+// cast/patch_locale.sh remove "mr",
+// cast/patch_locale.sh remove "ms",
+ "nb",
+ "nl",
+ "pl",
+ "pt", "pt_PT",
+ "ro",
+ "ru",
+ "sk",
+ "sl",
+ "sr",
+ "sv",
+ "sw",
+// cast/patch_locale.sh remove "ta",
+// cast/patch_locale.sh remove "te",
+ "th",
+ "tr",
+ "uk",
+ "vi",
+ "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
+ "zh_Hant", "zh_Hant_TW", "zh_Hant_HK"
+ ]
+ },
+// Based on
+// https://cs.chromium.org/chromium/src/third_party/icu/patches/data.build.patch?rcl=797b7c
+ "unames": {
+ "filterType": "exclude"
+ },
+// Based on the --disable-layout mentioned in
+// https://cs.chromium.org/chromium/src/third_party/icu/README.chromium?rcl=797b7c
+ "ulayout": {
+ "filterType": "exclude"
+ }
+ },
+// Based on the ICU63 version of
+// https://cs.chromium.org/chromium/src/third_party/icu/scripts/trim_data.sh?rcl=797b7c
+ "resourceFilters": [
+// Based on filter_locale_data
+// # Remove entries currently not used in Chromium/V8.
+ {
+ "categories": [
+ "locales_tree"
+ ],
+ "rules": [
+ "-/*/mon",
+ "-/*/mon-short",
+ "-/*/mon-narrow",
+ "-/*/tue",
+ "-/*/tue-short",
+ "-/*/tue-narrow",
+ "-/*/wed",
+ "-/*/wed-short",
+ "-/*/wed-narrow",
+ "-/*/thu",
+ "-/*/thu-short",
+ "-/*/thu-narrow",
+ "-/*/fri",
+ "-/*/fri-short",
+ "-/*/fri-narrow",
+ "-/*/sat",
+ "-/*/sat-short",
+ "-/*/sat-narrow",
+ "-/*/sun",
+ "-/*/sun-short",
+ "-/*/sun-narrow",
+ "-/*/mon-short:alias",
+ "-/*/mon-narrow:alias",
+ "-/*/tue-short:alias",
+ "-/*/tue-narrow:alias",
+ "-/*/wed-short:alias",
+ "-/*/wed-narrow:alias",
+ "-/*/thu-short:alias",
+ "-/*/thu-narrow:alias",
+ "-/*/fri-short:alias",
+ "-/*/fri-narrow:alias",
+ "-/*/sat-short:alias",
+ "-/*/sat-narrow:alias",
+ "-/*/sun-short:alias",
+ "-/*/sun-narrow:alias",
+ "-/characterLabel",
+ "-/AuxExemplarCharacters",
+ "-/ExemplarCharacters",
+ "-/ExemplarCharactersNumbers",
+ "-/ExemplarCharactersPunctuation",
+ "-/measurementSystemNames",
+ "-/NumberElements/minimalPairs",
+ "-/delimiters"
+ ]
+ },
+// Based on filter_display_language_names
+ {
+ "categories": [
+ "lang_tree"
+ ],
+ "rules": [
+ "-/Languages",
+ "-/Languages%long",
+ "-/Languages%short",
+ "-/Languages%variant",
+// Based on https://cs.chromium.org/chromium/src/third_party/icu/scripts/accept_lang.list?rcl=797b7c
+ "+/*/ach",
+ "+/*/af",
+ "+/*/ak",
+ "+/*/am",
+ "+/*/an",
+ "+/*/ar",
+ "+/*/ast",
+ "+/*/az",
+ "+/*/ban",
+ "+/*/be",
+ "+/*/bem",
+ "+/*/bg",
+ "+/*/bh",
+ "+/*/bn",
+ "+/*/br",
+ "+/*/bs",
+ "+/*/ca",
+ "+/*/ccp",
+ "+/*/ceb",
+ "+/*/chr",
+ "+/*/ckb",
+ "+/*/co",
+ "+/*/crs",
+ "+/*/cs",
+ "+/*/cy",
+ "+/*/da",
+ "+/*/de",
+ "+/*/ee",
+ "+/*/el",
+ "+/*/en",
+ "+/*/eo",
+ "+/*/es",
+ "+/*/et",
+ "+/*/eu",
+ "+/*/fa",
+ "+/*/fi",
+ "+/*/fil",
+ "+/*/fo",
+ "+/*/fr",
+ "+/*/fy",
+ "+/*/ga",
+ "+/*/gaa",
+ "+/*/gd",
+ "+/*/gl",
+ "+/*/gn",
+ "+/*/gu",
+ "+/*/ha",
+ "+/*/haw",
+ "+/*/he",
+ "+/*/hi",
+ "+/*/hmn",
+ "+/*/hr",
+ "+/*/ht",
+ "+/*/hu",
+ "+/*/hy",
+ "+/*/ia",
+ "+/*/id",
+ "+/*/ig",
+ "+/*/is",
+ "+/*/it",
+ "+/*/ja",
+ "+/*/jv",
+ "+/*/jw",
+ "+/*/ka",
+ "+/*/kg",
+ "+/*/kk",
+ "+/*/km",
+ "+/*/kn",
+ "+/*/ko",
+ "+/*/kri",
+ "+/*/ku",
+ "+/*/ky",
+ "+/*/la",
+ "+/*/lb",
+ "+/*/lg",
+ "+/*/ln",
+ "+/*/lo",
+ "+/*/loz",
+ "+/*/lt",
+ "+/*/lua",
+ "+/*/lv",
+ "+/*/mfe",
+ "+/*/mg",
+ "+/*/mi",
+ "+/*/mk",
+ "+/*/ml",
+ "+/*/mn",
+ "+/*/mo",
+ "+/*/mr",
+ "+/*/ms",
+ "+/*/mt",
+ "+/*/my",
+ "+/*/nb",
+ "+/*/ne",
+ "+/*/nl",
+ "+/*/nn",
+ "+/*/no",
+ "+/*/nso",
+ "+/*/ny",
+ "+/*/nyn",
+ "+/*/oc",
+ "+/*/om",
+ "+/*/or",
+ "+/*/osa",
+ "+/*/pa",
+ "+/*/pcm",
+ "+/*/pl",
+ "+/*/ps",
+ "+/*/pt",
+ "+/*/qu",
+ "+/*/rm",
+ "+/*/rn",
+ "+/*/ro",
+ "+/*/ru",
+ "+/*/rw",
+ "+/*/sd",
+ "+/*/sh",
+ "+/*/si",
+ "+/*/sk",
+ "+/*/sl",
+ "+/*/sm",
+ "+/*/sn",
+ "+/*/so",
+ "+/*/sq",
+ "+/*/sr",
+ "+/*/sr_Latn",
+ "+/*/st",
+ "+/*/su",
+ "+/*/sv",
+ "+/*/sw",
+ "+/*/ta",
+ "+/*/te",
+ "+/*/tg",
+ "+/*/th",
+ "+/*/ti",
+ "+/*/tk",
+ "+/*/tl",
+ "+/*/tn",
+ "+/*/to",
+ "+/*/tr",
+ "+/*/tt",
+ "+/*/tum",
+ "+/*/tw",
+ "+/*/ug",
+ "+/*/uk",
+ "+/*/ur",
+ "+/*/uz",
+ "+/*/vi",
+ "+/*/wa",
+ "+/*/wo",
+ "+/*/xh",
+ "+/*/xx",
+ "+/*/yi",
+ "+/*/yo",
+ "+/*/zh",
+ "+/*/zu",
+ "+/*/ar_001",
+ "+/*/az_Arab",
+ "+/*/de_AT",
+ "+/*/de_CH",
+ "+/*/en_AU",
+ "+/*/en_CA",
+ "+/*/en_GB",
+ "+/*/en_US",
+ "+/*/es_419",
+ "+/*/es_ES",
+ "+/*/es_MX",
+ "+/*/fa_AF",
+ "+/*/fr_CA",
+ "+/*/fr_CH",
+ "+/*/nl_BE",
+ "+/*/pt_BR",
+ "+/*/pt_PT",
+ "+/*/ro_MD",
+ "+/*/sr_ME",
+ "+/*/sw_CD",
+ "+/*/zh_Hans",
+ "+/*/zh_Hant",
+ "-/Keys",
+ "-/Types",
+ "-/Types%short",
+ "-/characterLabelPattern",
+ "-/Variants"
+ ]
+ },
+// Created by diff scripts/chrome_ui_languages.list scripts/accept_lang.list|egrep "^>"|egrep -v "#"|cut -c3-10
+ {"categories":["lang_tree"],"files":{"whitelist":["ach"]},"rules":["-/*","+/%%ALIAS","+/Languages/ach"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["af"]},"rules":["-/*","+/%%ALIAS","+/Languages/af"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ak"]},"rules":["-/*","+/%%ALIAS","+/Languages/ak"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["an"]},"rules":["-/*","+/%%ALIAS","+/Languages/an"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ast"]},"rules":["-/*","+/%%ALIAS","+/Languages/ast"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["az"]},"rules":["-/*","+/%%ALIAS","+/Languages/az"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ban"]},"rules":["-/*","+/%%ALIAS","+/Languages/ban"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["be"]},"rules":["-/*","+/%%ALIAS","+/Languages/be"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["bem"]},"rules":["-/*","+/%%ALIAS","+/Languages/bem"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["bh"]},"rules":["-/*","+/%%ALIAS","+/Languages/bh"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["br"]},"rules":["-/*","+/%%ALIAS","+/Languages/br"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["bs"]},"rules":["-/*","+/%%ALIAS","+/Languages/bs"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ccp"]},"rules":["-/*","+/%%ALIAS","+/Languages/ccp"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ceb"]},"rules":["-/*","+/%%ALIAS","+/Languages/ceb"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["chr"]},"rules":["-/*","+/%%ALIAS","+/Languages/chr"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ckb"]},"rules":["-/*","+/%%ALIAS","+/Languages/ckb"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["co"]},"rules":["-/*","+/%%ALIAS","+/Languages/co"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["crs"]},"rules":["-/*","+/%%ALIAS","+/Languages/crs"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["cy"]},"rules":["-/*","+/%%ALIAS","+/Languages/cy"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ee"]},"rules":["-/*","+/%%ALIAS","+/Languages/ee"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["eu"]},"rules":["-/*","+/%%ALIAS","+/Languages/eu"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["fo"]},"rules":["-/*","+/%%ALIAS","+/Languages/fo"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["fy"]},"rules":["-/*","+/%%ALIAS","+/Languages/fy"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ga"]},"rules":["-/*","+/%%ALIAS","+/Languages/ga"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["gaa"]},"rules":["-/*","+/%%ALIAS","+/Languages/gaa"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["gd"]},"rules":["-/*","+/%%ALIAS","+/Languages/gd"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["gl"]},"rules":["-/*","+/%%ALIAS","+/Languages/gl"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["gn"]},"rules":["-/*","+/%%ALIAS","+/Languages/gn"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ha"]},"rules":["-/*","+/%%ALIAS","+/Languages/ha"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["haw"]},"rules":["-/*","+/%%ALIAS","+/Languages/haw"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["hmn"]},"rules":["-/*","+/%%ALIAS","+/Languages/hmn"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ht"]},"rules":["-/*","+/%%ALIAS","+/Languages/ht"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["hy"]},"rules":["-/*","+/%%ALIAS","+/Languages/hy"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ia"]},"rules":["-/*","+/%%ALIAS","+/Languages/ia"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ig"]},"rules":["-/*","+/%%ALIAS","+/Languages/ig"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["is"]},"rules":["-/*","+/%%ALIAS","+/Languages/is"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["jv"]},"rules":["-/*","+/%%ALIAS","+/Languages/jv"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["jw"]},"rules":["-/*","+/%%ALIAS","+/Languages/jw"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ka"]},"rules":["-/*","+/%%ALIAS","+/Languages/ka"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["kg"]},"rules":["-/*","+/%%ALIAS","+/Languages/kg"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["kk"]},"rules":["-/*","+/%%ALIAS","+/Languages/kk"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["km"]},"rules":["-/*","+/%%ALIAS","+/Languages/km"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["kri"]},"rules":["-/*","+/%%ALIAS","+/Languages/kri"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ku"]},"rules":["-/*","+/%%ALIAS","+/Languages/ku"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ky"]},"rules":["-/*","+/%%ALIAS","+/Languages/ky"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["la"]},"rules":["-/*","+/%%ALIAS","+/Languages/la"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["lb"]},"rules":["-/*","+/%%ALIAS","+/Languages/lb"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["lg"]},"rules":["-/*","+/%%ALIAS","+/Languages/lg"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ln"]},"rules":["-/*","+/%%ALIAS","+/Languages/ln"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["lo"]},"rules":["-/*","+/%%ALIAS","+/Languages/lo"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["loz"]},"rules":["-/*","+/%%ALIAS","+/Languages/loz"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["lua"]},"rules":["-/*","+/%%ALIAS","+/Languages/lua"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["mfe"]},"rules":["-/*","+/%%ALIAS","+/Languages/mfe"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["mg"]},"rules":["-/*","+/%%ALIAS","+/Languages/mg"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["mi"]},"rules":["-/*","+/%%ALIAS","+/Languages/mi"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["mk"]},"rules":["-/*","+/%%ALIAS","+/Languages/mk"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["mn"]},"rules":["-/*","+/%%ALIAS","+/Languages/mn"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["mo"]},"rules":["-/*","+/%%ALIAS","+/Languages/mo"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["mt"]},"rules":["-/*","+/%%ALIAS","+/Languages/mt"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["my"]},"rules":["-/*","+/%%ALIAS","+/Languages/my"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ne"]},"rules":["-/*","+/%%ALIAS","+/Languages/ne"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["nn"]},"rules":["-/*","+/%%ALIAS","+/Languages/nn"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["no"]},"rules":["-/*","+/%%ALIAS","+/Languages/no"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["nso"]},"rules":["-/*","+/%%ALIAS","+/Languages/nso"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ny"]},"rules":["-/*","+/%%ALIAS","+/Languages/ny"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["nyn"]},"rules":["-/*","+/%%ALIAS","+/Languages/nyn"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["oc"]},"rules":["-/*","+/%%ALIAS","+/Languages/oc"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["om"]},"rules":["-/*","+/%%ALIAS","+/Languages/om"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["or"]},"rules":["-/*","+/%%ALIAS","+/Languages/or"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["osa"]},"rules":["-/*","+/%%ALIAS","+/Languages/osa"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["pa"]},"rules":["-/*","+/%%ALIAS","+/Languages/pa"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["pcm"]},"rules":["-/*","+/%%ALIAS","+/Languages/pcm"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ps"]},"rules":["-/*","+/%%ALIAS","+/Languages/ps"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["qu"]},"rules":["-/*","+/%%ALIAS","+/Languages/qu"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["rm"]},"rules":["-/*","+/%%ALIAS","+/Languages/rm"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["rn"]},"rules":["-/*","+/%%ALIAS","+/Languages/rn"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["rw"]},"rules":["-/*","+/%%ALIAS","+/Languages/rw"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["sd"]},"rules":["-/*","+/%%ALIAS","+/Languages/sd"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["sh"]},"rules":["-/*","+/%%ALIAS","+/Languages/sh"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["si"]},"rules":["-/*","+/%%ALIAS","+/Languages/si"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["sm"]},"rules":["-/*","+/%%ALIAS","+/Languages/sm"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["sn"]},"rules":["-/*","+/%%ALIAS","+/Languages/sn"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["so"]},"rules":["-/*","+/%%ALIAS","+/Languages/so"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["sq"]},"rules":["-/*","+/%%ALIAS","+/Languages/sq"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["st"]},"rules":["-/*","+/%%ALIAS","+/Languages/st"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["su"]},"rules":["-/*","+/%%ALIAS","+/Languages/su"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["tg"]},"rules":["-/*","+/%%ALIAS","+/Languages/tg"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ti"]},"rules":["-/*","+/%%ALIAS","+/Languages/ti"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["tk"]},"rules":["-/*","+/%%ALIAS","+/Languages/tk"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["tl"]},"rules":["-/*","+/%%ALIAS","+/Languages/tl"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["tn"]},"rules":["-/*","+/%%ALIAS","+/Languages/tn"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["to"]},"rules":["-/*","+/%%ALIAS","+/Languages/to"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["tt"]},"rules":["-/*","+/%%ALIAS","+/Languages/tt"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["tum"]},"rules":["-/*","+/%%ALIAS","+/Languages/tum"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["tw"]},"rules":["-/*","+/%%ALIAS","+/Languages/tw"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ug"]},"rules":["-/*","+/%%ALIAS","+/Languages/ug"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ur"]},"rules":["-/*","+/%%ALIAS","+/Languages/ur"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["uz"]},"rules":["-/*","+/%%ALIAS","+/Languages/uz"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["wa"]},"rules":["-/*","+/%%ALIAS","+/Languages/wa"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["wo"]},"rules":["-/*","+/%%ALIAS","+/Languages/wo"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["xh"]},"rules":["-/*","+/%%ALIAS","+/Languages/xh"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["xx"]},"rules":["-/*","+/%%ALIAS","+/Languages/xx"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["yi"]},"rules":["-/*","+/%%ALIAS","+/Languages/yi"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["yo"]},"rules":["-/*","+/%%ALIAS","+/Languages/yo"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["zu"]},"rules":["-/*","+/%%ALIAS","+/Languages/zu"] },
+// The following is added based on
+// https://cs.chromium.org/chromium/src/third_party/icu/cast/patch_locale.sh?rcl=797b7c
+// # Chrome on Android is not localized to the following languages and we
+// # have to minimize the locale data for them.
+// EXTRA_LANGUAGES="bn et gu kn ml mr ms ta te"
+ {"categories":["lang_tree"],"files":{"whitelist":["bn"]},"rules":["-/*","+/%%ALIAS","+/Languages/bn"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["et"]},"rules":["-/*","+/%%ALIAS","+/Languages/et"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["gu"]},"rules":["-/*","+/%%ALIAS","+/Languages/gu"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["kn"]},"rules":["-/*","+/%%ALIAS","+/Languages/kn"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ml"]},"rules":["-/*","+/%%ALIAS","+/Languages/ml"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["mr"]},"rules":["-/*","+/%%ALIAS","+/Languages/mr"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ms"]},"rules":["-/*","+/%%ALIAS","+/Languages/ms"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["ta"]},"rules":["-/*","+/%%ALIAS","+/Languages/ta"] },
+ {"categories":["lang_tree"],"files":{"whitelist":["te"]},"rules":["-/*","+/%%ALIAS","+/Languages/te"] },
+// Based on filter_currency_data
+// # Keep only the currencies used by the larget 150 economies in terms of GDP.
+// # TODO(jshin): Use ucurr_isAvailable in ICU to drop more currencies.
+// # See also http://en.wikipedia.org/wiki/List_of_circulating_currencies
+ {
+ "categories": [
+ "curr_tree"
+ ],
+ "rules": [
+ "-/Currencies",
+ "-/Currencies%narrow",
+ "-/CurrencyPlurals",
+ "+/*/AED",
+// Baesd on
+// https://cs.chromium.org/chromium/src/third_party/icu/android/currencies.list?rcl=797b7c
+ "+/*/AED",
+ "+/*/AFN",
+ "+/*/ALL",
+ "+/*/AMD",
+ "+/*/ARS",
+ "+/*/AUD",
+ "+/*/AZN",
+ "+/*/BAM",
+ "+/*/BDT",
+ "+/*/BGN",
+ "+/*/BHD",
+ "+/*/BND",
+ "+/*/BRL",
+ "+/*/BYN",
+ "+/*/CAD",
+ "+/*/CHF",
+ "+/*/CLP",
+ "+/*/CNY",
+ "+/*/COP",
+ "+/*/CRC",
+ "+/*/CZK",
+ "+/*/DKK",
+ "+/*/DZD",
+ "+/*/EGP",
+ "+/*/ETB",
+ "+/*/EUR",
+ "+/*/GBP",
+ "+/*/GEL",
+ "+/*/HKD",
+ "+/*/HRK",
+ "+/*/HUF",
+ "+/*/IDR",
+ "+/*/ILS",
+ "+/*/INR",
+ "+/*/IQD",
+ "+/*/IRR",
+ "+/*/JPY",
+ "+/*/KGS",
+ "+/*/KHR",
+ "+/*/KRW",
+ "+/*/KWD",
+ "+/*/KZT",
+ "+/*/LAK",
+ "+/*/LKR",
+ "+/*/MAD",
+ "+/*/MDL",
+ "+/*/MXN",
+ "+/*/MYR",
+ "+/*/NGN",
+ "+/*/NOK",
+ "+/*/NPR",
+ "+/*/NZD",
+ "+/*/PEN",
+ "+/*/PHP",
+ "+/*/PKR",
+ "+/*/PLN",
+ "+/*/QAR",
+ "+/*/RON",
+ "+/*/RSD",
+ "+/*/RUB",
+ "+/*/SAR",
+ "+/*/SEK",
+ "+/*/SGD",
+ "+/*/THB",
+ "+/*/TJS",
+ "+/*/TRY",
+ "+/*/TWD",
+ "+/*/UAH",
+ "+/*/USD",
+ "+/*/VES",
+ "+/*/VND",
+ "+/*/XDR",
+ "+/*/ZAR",
+ "-/Currencies%formal",
+ "-/Currencies%variant"
+ ]
+ },
+// Based on
+// https://cs.chromium.org/chromium/src/third_party/icu/android/patch_locale.sh?rcl=797b7c
+ {
+ "categories": [
+ "region_tree"
+ ],
+ "whitelist": [
+// Need to explicitly add "root"
+// "root",
+// # Excludes region data. On Android Java API is used to get the data.
+// # Due to a bug in ICU, an empty region list always uses 70kB pool.res bundle.
+// # As a work around, include the minimal version of en.txt
+ "en"
+ ],
+ "rules": [
+ "-/*",
+ "+/Countries/US"
+ ]
+ },
+// Based on remove_legacy_chinese_codepoint_collation
+// # big5han and gb2312han collation do not make any sense and nobody uses them.
+ {
+ "categories": [
+ "coll_tree"
+ ],
+ "files": {
+ "whitelist": [
+ "zh"
+ ]
+ },
+ "rules": [
+ "-/*/unihan",
+ "-/*/big5han",
+ "-/*/gb2312han"
+ ]
+ },
+// Based on https://cs.chromium.org/chromium/src/third_party/icu/patches/data.build.patch?rcl=797b7c
+// +# Chromium : To save space, use '-R' option (exclude collation rules. just
+// +# include the compiled binary data.)
+// +GENRBOPTS=-k -R
+ {
+ "categories": [
+ "coll_tree"
+ ],
+ "rules": [
+ "-/UCARules",
+ "-/collations/*/Sequence"
+ ]
+ },
+// Based on filter_unit_data
+// # Keep only duration and compound in units* sections.
+ {
+ "categories": [
+ "unit_tree"
+ ],
+ "rules": [
+ "-/units",
+ "-/unitsNarrow",
+ "-/unitsShort",
+ "+/*/acceleration",
+ "-/*/acceleration/*/dnam",
+// "-/*/angle",
+// "-/*/area",
+ "+/*/compound",
+ "-/*/compound/*/dnam",
+// "+/*/concentr",
+ "+/*/concentr/percent",
+ "-/*/concentr/percent/dnam",
+// "+/*/consumption",
+// "+/*/coordinate",
+ "+/*/digital",
+ "-/*/digital/*/dnam",
+ "+/*/duration",
+ "-/*/duration/*/dnam",
+// "+/*/electric",
+// "+/*/energy",
+// "+/*/force",
+ "+/*/frequency",
+ "-/*/frequency/*/dnam",
+ "+/*/length",
+ "-/*/length/*/dnam",
+// "+/*/mass",
+// "+/*/power",
+// "+/*/pressure",
+// "+/*/speed",
+ "+/*/temperature",
+ "-/*/temperature/*/dnam"
+// "+/*/torque",
+// "+/*/volume",
+ ]
+ },
+// Based on
+// https://cs.chromium.org/chromium/src/third_party/icu/source/data/translit/root_subset.txt?rcl=797b7c
+ {
+ "categories": [
+ "translit"
+ ],
+ "rules": [
+ "-/*",
+// Need to leave an empty RuleBasedTransliteratorIDs
+ "+/RuleBasedTransliteratorIDs",
+ "-/RuleBasedTransliteratorIDs/*"
+ ]
+ },
+// # Remove exemplar cities in timezone data.
+ {
+ "categories": [
+ "zone_tree"
+ ],
+ "rules": [
+ "-/zoneStrings/Africa:Abidjan",
+ "-/zoneStrings/Africa:Accra",
+ "-/zoneStrings/Africa:Addis_Ababa",
+ "-/zoneStrings/Africa:Algiers",
+ "-/zoneStrings/Africa:Asmera",
+ "-/zoneStrings/Africa:Bamako",
+ "-/zoneStrings/Africa:Bangui",
+ "-/zoneStrings/Africa:Banjul",
+ "-/zoneStrings/Africa:Bissau",
+ "-/zoneStrings/Africa:Blantyre",
+ "-/zoneStrings/Africa:Brazzaville",
+ "-/zoneStrings/Africa:Bujumbura",
+ "-/zoneStrings/Africa:Cairo",
+ "-/zoneStrings/Africa:Casablanca",
+ "-/zoneStrings/Africa:Ceuta",
+ "-/zoneStrings/Africa:Conakry",
+ "-/zoneStrings/Africa:Dakar",
+ "-/zoneStrings/Africa:Dar_es_Salaam",
+ "-/zoneStrings/Africa:Djibouti",
+ "-/zoneStrings/Africa:Douala",
+ "-/zoneStrings/Africa:El_Aaiun",
+ "-/zoneStrings/Africa:Freetown",
+ "-/zoneStrings/Africa:Gaborone",
+ "-/zoneStrings/Africa:Harare",
+ "-/zoneStrings/Africa:Johannesburg",
+ "-/zoneStrings/Africa:Juba",
+ "-/zoneStrings/Africa:Kampala",
+ "-/zoneStrings/Africa:Khartoum",
+ "-/zoneStrings/Africa:Kigali",
+ "-/zoneStrings/Africa:Kinshasa",
+ "-/zoneStrings/Africa:Lagos",
+ "-/zoneStrings/Africa:Libreville",
+ "-/zoneStrings/Africa:Lome",
+ "-/zoneStrings/Africa:Luanda",
+ "-/zoneStrings/Africa:Lubumbashi",
+ "-/zoneStrings/Africa:Lusaka",
+ "-/zoneStrings/Africa:Malabo",
+ "-/zoneStrings/Africa:Maputo",
+ "-/zoneStrings/Africa:Maseru",
+ "-/zoneStrings/Africa:Mbabane",
+ "-/zoneStrings/Africa:Mogadishu",
+ "-/zoneStrings/Africa:Monrovia",
+ "-/zoneStrings/Africa:Nairobi",
+ "-/zoneStrings/Africa:Ndjamena",
+ "-/zoneStrings/Africa:Niamey",
+ "-/zoneStrings/Africa:Nouakchott",
+ "-/zoneStrings/Africa:Ouagadougou",
+ "-/zoneStrings/Africa:Porto-Novo",
+ "-/zoneStrings/Africa:Sao_Tome",
+ "-/zoneStrings/Africa:Tripoli",
+ "-/zoneStrings/Africa:Tunis",
+ "-/zoneStrings/Africa:Windhoek",
+ "-/zoneStrings/America:Adak",
+ "-/zoneStrings/America:Anchorage",
+ "-/zoneStrings/America:Anguilla",
+ "-/zoneStrings/America:Antigua",
+ "-/zoneStrings/America:Araguaina",
+ "-/zoneStrings/America:Argentina:La_Rioja",
+ "-/zoneStrings/America:Argentina:Rio_Gallegos",
+ "-/zoneStrings/America:Argentina:Salta",
+ "-/zoneStrings/America:Argentina:San_Juan",
+ "-/zoneStrings/America:Argentina:San_Luis",
+ "-/zoneStrings/America:Argentina:Tucuman",
+ "-/zoneStrings/America:Argentina:Ushuaia",
+ "-/zoneStrings/America:Aruba",
+ "-/zoneStrings/America:Asuncion",
+ "-/zoneStrings/America:Bahia",
+ "-/zoneStrings/America:Bahia_Banderas",
+ "-/zoneStrings/America:Barbados",
+ "-/zoneStrings/America:Belem",
+ "-/zoneStrings/America:Belize",
+ "-/zoneStrings/America:Blanc-Sablon",
+ "-/zoneStrings/America:Boa_Vista",
+ "-/zoneStrings/America:Bogota",
+ "-/zoneStrings/America:Boise",
+ "-/zoneStrings/America:Buenos_Aires",
+ "-/zoneStrings/America:Cambridge_Bay",
+ "-/zoneStrings/America:Campo_Grande",
+ "-/zoneStrings/America:Cancun",
+ "-/zoneStrings/America:Caracas",
+ "-/zoneStrings/America:Catamarca",
+ "-/zoneStrings/America:Cayenne",
+ "-/zoneStrings/America:Cayman",
+ "-/zoneStrings/America:Chicago",
+ "-/zoneStrings/America:Chihuahua",
+ "-/zoneStrings/America:Coral_Harbour",
+ "-/zoneStrings/America:Cordoba",
+ "-/zoneStrings/America:Costa_Rica",
+ "-/zoneStrings/America:Creston",
+ "-/zoneStrings/America:Cuiaba",
+ "-/zoneStrings/America:Curacao",
+ "-/zoneStrings/America:Danmarkshavn",
+ "-/zoneStrings/America:Dawson",
+ "-/zoneStrings/America:Dawson_Creek",
+ "-/zoneStrings/America:Denver",
+ "-/zoneStrings/America:Detroit",
+ "-/zoneStrings/America:Dominica",
+ "-/zoneStrings/America:Edmonton",
+ "-/zoneStrings/America:Eirunepe",
+ "-/zoneStrings/America:El_Salvador",
+ "-/zoneStrings/America:Fortaleza",
+ "-/zoneStrings/America:Fort_Nelson",
+ "-/zoneStrings/America:Glace_Bay",
+ "-/zoneStrings/America:Godthab",
+ "-/zoneStrings/America:Goose_Bay",
+ "-/zoneStrings/America:Grand_Turk",
+ "-/zoneStrings/America:Grenada",
+ "-/zoneStrings/America:Guadeloupe",
+ "-/zoneStrings/America:Guatemala",
+ "-/zoneStrings/America:Guayaquil",
+ "-/zoneStrings/America:Guyana",
+ "-/zoneStrings/America:Halifax",
+ "-/zoneStrings/America:Havana",
+ "-/zoneStrings/America:Hermosillo",
+ "-/zoneStrings/America:Indiana:Knox",
+ "-/zoneStrings/America:Indiana:Marengo",
+ "-/zoneStrings/America:Indiana:Petersburg",
+ "-/zoneStrings/America:Indianapolis",
+ "-/zoneStrings/America:Indiana:Tell_City",
+ "-/zoneStrings/America:Indiana:Vevay",
+ "-/zoneStrings/America:Indiana:Vincennes",
+ "-/zoneStrings/America:Indiana:Winamac",
+ "-/zoneStrings/America:Inuvik",
+ "-/zoneStrings/America:Iqaluit",
+ "-/zoneStrings/America:Jamaica",
+ "-/zoneStrings/America:Jujuy",
+ "-/zoneStrings/America:Juneau",
+ "-/zoneStrings/America:Kentucky:Monticello",
+ "-/zoneStrings/America:Kralendijk",
+ "-/zoneStrings/America:La_Paz",
+ "-/zoneStrings/America:Lima",
+ "-/zoneStrings/America:Los_Angeles",
+ "-/zoneStrings/America:Louisville",
+ "-/zoneStrings/America:Lower_Princes",
+ "-/zoneStrings/America:Maceio",
+ "-/zoneStrings/America:Managua",
+ "-/zoneStrings/America:Manaus",
+ "-/zoneStrings/America:Marigot",
+ "-/zoneStrings/America:Martinique",
+ "-/zoneStrings/America:Matamoros",
+ "-/zoneStrings/America:Mazatlan",
+ "-/zoneStrings/America:Mendoza",
+ "-/zoneStrings/America:Menominee",
+ "-/zoneStrings/America:Merida",
+ "-/zoneStrings/America:Metlakatla",
+ "-/zoneStrings/America:Mexico_City",
+ "-/zoneStrings/America:Miquelon",
+ "-/zoneStrings/America:Moncton",
+ "-/zoneStrings/America:Monterrey",
+ "-/zoneStrings/America:Montevideo",
+ "-/zoneStrings/America:Montserrat",
+ "-/zoneStrings/America:Nassau",
+ "-/zoneStrings/America:New_York",
+ "-/zoneStrings/America:Nipigon",
+ "-/zoneStrings/America:Nome",
+ "-/zoneStrings/America:Noronha",
+ "-/zoneStrings/America:North_Dakota:Beulah",
+ "-/zoneStrings/America:North_Dakota:Center",
+ "-/zoneStrings/America:North_Dakota:New_Salem",
+ "-/zoneStrings/America:Ojinaga",
+ "-/zoneStrings/America:Panama",
+ "-/zoneStrings/America:Pangnirtung",
+ "-/zoneStrings/America:Paramaribo",
+ "-/zoneStrings/America:Phoenix",
+ "-/zoneStrings/America:Port-au-Prince",
+ "-/zoneStrings/America:Port_of_Spain",
+ "-/zoneStrings/America:Porto_Velho",
+ "-/zoneStrings/America:Puerto_Rico",
+ "-/zoneStrings/America:Punta_Arenas",
+ "-/zoneStrings/America:Rainy_River",
+ "-/zoneStrings/America:Rankin_Inlet",
+ "-/zoneStrings/America:Recife",
+ "-/zoneStrings/America:Regina",
+ "-/zoneStrings/America:Resolute",
+ "-/zoneStrings/America:Rio_Branco",
+ "-/zoneStrings/America:Santa_Isabel",
+ "-/zoneStrings/America:Santarem",
+ "-/zoneStrings/America:Santiago",
+ "-/zoneStrings/America:Santo_Domingo",
+ "-/zoneStrings/America:Sao_Paulo",
+ "-/zoneStrings/America:Scoresbysund",
+ "-/zoneStrings/America:Sitka",
+ "-/zoneStrings/America:St_Barthelemy",
+ "-/zoneStrings/America:St_Johns",
+ "-/zoneStrings/America:St_Kitts",
+ "-/zoneStrings/America:St_Lucia",
+ "-/zoneStrings/America:St_Thomas",
+ "-/zoneStrings/America:St_Vincent",
+ "-/zoneStrings/America:Swift_Current",
+ "-/zoneStrings/America:Tegucigalpa",
+ "-/zoneStrings/America:Thule",
+ "-/zoneStrings/America:Thunder_Bay",
+ "-/zoneStrings/America:Tijuana",
+ "-/zoneStrings/America:Toronto",
+ "-/zoneStrings/America:Tortola",
+ "-/zoneStrings/America:Vancouver",
+ "-/zoneStrings/America:Whitehorse",
+ "-/zoneStrings/America:Winnipeg",
+ "-/zoneStrings/America:Yakutat",
+ "-/zoneStrings/America:Yellowknife",
+ "-/zoneStrings/Antarctica:Casey",
+ "-/zoneStrings/Antarctica:Davis",
+ "-/zoneStrings/Antarctica:DumontDUrville",
+ "-/zoneStrings/Antarctica:Macquarie",
+ "-/zoneStrings/Antarctica:Mawson",
+ "-/zoneStrings/Antarctica:McMurdo",
+ "-/zoneStrings/Antarctica:Palmer",
+ "-/zoneStrings/Antarctica:Rothera",
+ "-/zoneStrings/Antarctica:Syowa",
+ "-/zoneStrings/Antarctica:Troll",
+ "-/zoneStrings/Antarctica:Vostok",
+ "-/zoneStrings/Arctic:Longyearbyen",
+ "-/zoneStrings/Asia:Aden",
+ "-/zoneStrings/Asia:Almaty",
+ "-/zoneStrings/Asia:Amman",
+ "-/zoneStrings/Asia:Anadyr",
+ "-/zoneStrings/Asia:Aqtau",
+ "-/zoneStrings/Asia:Aqtobe",
+ "-/zoneStrings/Asia:Ashgabat",
+ "-/zoneStrings/Asia:Atyrau",
+ "-/zoneStrings/Asia:Baghdad",
+ "-/zoneStrings/Asia:Bahrain",
+ "-/zoneStrings/Asia:Baku",
+ "-/zoneStrings/Asia:Bangkok",
+ "-/zoneStrings/Asia:Barnaul",
+ "-/zoneStrings/Asia:Beirut",
+ "-/zoneStrings/Asia:Bishkek",
+ "-/zoneStrings/Asia:Brunei",
+ "-/zoneStrings/Asia:Calcutta",
+ "-/zoneStrings/Asia:Chita",
+ "-/zoneStrings/Asia:Choibalsan",
+ "-/zoneStrings/Asia:Colombo",
+ "-/zoneStrings/Asia:Damascus",
+ "-/zoneStrings/Asia:Dhaka",
+ "-/zoneStrings/Asia:Dili",
+ "-/zoneStrings/Asia:Dubai",
+ "-/zoneStrings/Asia:Dushanbe",
+ "-/zoneStrings/Asia:Famagusta",
+ "-/zoneStrings/Asia:Gaza",
+ "-/zoneStrings/Asia:Hebron",
+ "-/zoneStrings/Asia:Hong_Kong",
+ "-/zoneStrings/Asia:Hovd",
+ "-/zoneStrings/Asia:Irkutsk",
+ "-/zoneStrings/Asia:Jakarta",
+ "-/zoneStrings/Asia:Jayapura",
+ "-/zoneStrings/Asia:Jerusalem",
+ "-/zoneStrings/Asia:Kabul",
+ "-/zoneStrings/Asia:Kamchatka",
+ "-/zoneStrings/Asia:Karachi",
+ "-/zoneStrings/Asia:Katmandu",
+ "-/zoneStrings/Asia:Khandyga",
+ "-/zoneStrings/Asia:Krasnoyarsk",
+ "-/zoneStrings/Asia:Kuala_Lumpur",
+ "-/zoneStrings/Asia:Kuching",
+ "-/zoneStrings/Asia:Kuwait",
+ "-/zoneStrings/Asia:Macau",
+ "-/zoneStrings/Asia:Magadan",
+ "-/zoneStrings/Asia:Makassar",
+ "-/zoneStrings/Asia:Manila",
+ "-/zoneStrings/Asia:Muscat",
+ "-/zoneStrings/Asia:Nicosia",
+ "-/zoneStrings/Asia:Novokuznetsk",
+ "-/zoneStrings/Asia:Novosibirsk",
+ "-/zoneStrings/Asia:Omsk",
+ "-/zoneStrings/Asia:Oral",
+ "-/zoneStrings/Asia:Phnom_Penh",
+ "-/zoneStrings/Asia:Pontianak",
+ "-/zoneStrings/Asia:Pyongyang",
+ "-/zoneStrings/Asia:Qatar",
+ "-/zoneStrings/Asia:Qostanay",
+ "-/zoneStrings/Asia:Qyzylorda",
+ "-/zoneStrings/Asia:Rangoon",
+ "-/zoneStrings/Asia:Riyadh",
+ "-/zoneStrings/Asia:Saigon",
+ "-/zoneStrings/Asia:Sakhalin",
+ "-/zoneStrings/Asia:Samarkand",
+ "-/zoneStrings/Asia:Seoul",
+ "-/zoneStrings/Asia:Shanghai",
+ "-/zoneStrings/Asia:Singapore",
+ "-/zoneStrings/Asia:Srednekolymsk",
+ "-/zoneStrings/Asia:Taipei",
+ "-/zoneStrings/Asia:Tashkent",
+ "-/zoneStrings/Asia:Tbilisi",
+ "-/zoneStrings/Asia:Tehran",
+ "-/zoneStrings/Asia:Thimphu",
+ "-/zoneStrings/Asia:Tokyo",
+ "-/zoneStrings/Asia:Tomsk",
+ "-/zoneStrings/Asia:Ulaanbaatar",
+ "-/zoneStrings/Asia:Urumqi",
+ "-/zoneStrings/Asia:Ust-Nera",
+ "-/zoneStrings/Asia:Vientiane",
+ "-/zoneStrings/Asia:Vladivostok",
+ "-/zoneStrings/Asia:Yakutsk",
+ "-/zoneStrings/Asia:Yekaterinburg",
+ "-/zoneStrings/Asia:Yerevan",
+ "-/zoneStrings/Atlantic:Azores",
+ "-/zoneStrings/Atlantic:Bermuda",
+ "-/zoneStrings/Atlantic:Canary",
+ "-/zoneStrings/Atlantic:Cape_Verde",
+ "-/zoneStrings/Atlantic:Faeroe",
+ "-/zoneStrings/Atlantic:Madeira",
+ "-/zoneStrings/Atlantic:Reykjavik",
+ "-/zoneStrings/Atlantic:South_Georgia",
+ "-/zoneStrings/Atlantic:Stanley",
+ "-/zoneStrings/Atlantic:St_Helena",
+ "-/zoneStrings/Australia:Adelaide",
+ "-/zoneStrings/Australia:Brisbane",
+ "-/zoneStrings/Australia:Broken_Hill",
+ "-/zoneStrings/Australia:Currie",
+ "-/zoneStrings/Australia:Darwin",
+ "-/zoneStrings/Australia:Eucla",
+ "-/zoneStrings/Australia:Hobart",
+ "-/zoneStrings/Australia:Lindeman",
+ "-/zoneStrings/Australia:Lord_Howe",
+ "-/zoneStrings/Australia:Melbourne",
+ "-/zoneStrings/Australia:Perth",
+ "-/zoneStrings/Australia:Sydney",
+ "-/zoneStrings/Etc:Unknown",
+ "-/zoneStrings/Etc:UTC/ec",
+ "-/zoneStrings/Europe:Amsterdam",
+ "-/zoneStrings/Europe:Andorra",
+ "-/zoneStrings/Europe:Astrakhan",
+ "-/zoneStrings/Europe:Athens",
+ "-/zoneStrings/Europe:Belgrade",
+ "-/zoneStrings/Europe:Berlin",
+ "-/zoneStrings/Europe:Bratislava",
+ "-/zoneStrings/Europe:Brussels",
+ "-/zoneStrings/Europe:Bucharest",
+ "-/zoneStrings/Europe:Budapest",
+ "-/zoneStrings/Europe:Busingen",
+ "-/zoneStrings/Europe:Chisinau",
+ "-/zoneStrings/Europe:Copenhagen",
+ "-/zoneStrings/Europe:Dublin/ec",
+ "-/zoneStrings/Europe:Gibraltar",
+ "-/zoneStrings/Europe:Guernsey",
+ "-/zoneStrings/Europe:Helsinki",
+ "-/zoneStrings/Europe:Isle_of_Man",
+ "-/zoneStrings/Europe:Istanbul",
+ "-/zoneStrings/Europe:Jersey",
+ "-/zoneStrings/Europe:Kaliningrad",
+ "-/zoneStrings/Europe:Kiev",
+ "-/zoneStrings/Europe:Kirov",
+ "-/zoneStrings/Europe:Lisbon",
+ "-/zoneStrings/Europe:Ljubljana",
+ "-/zoneStrings/Europe:London/ec",
+ "-/zoneStrings/Europe:Luxembourg",
+ "-/zoneStrings/Europe:Madrid",
+ "-/zoneStrings/Europe:Malta",
+ "-/zoneStrings/Europe:Mariehamn",
+ "-/zoneStrings/Europe:Minsk",
+ "-/zoneStrings/Europe:Monaco",
+ "-/zoneStrings/Europe:Moscow",
+ "-/zoneStrings/Europe:Oslo",
+ "-/zoneStrings/Europe:Paris",
+ "-/zoneStrings/Europe:Podgorica",
+ "-/zoneStrings/Europe:Prague",
+ "-/zoneStrings/Europe:Riga",
+ "-/zoneStrings/Europe:Rome",
+ "-/zoneStrings/Europe:Samara",
+ "-/zoneStrings/Europe:San_Marino",
+ "-/zoneStrings/Europe:Sarajevo",
+ "-/zoneStrings/Europe:Saratov",
+ "-/zoneStrings/Europe:Simferopol",
+ "-/zoneStrings/Europe:Skopje",
+ "-/zoneStrings/Europe:Sofia",
+ "-/zoneStrings/Europe:Stockholm",
+ "-/zoneStrings/Europe:Tallinn",
+ "-/zoneStrings/Europe:Tirane",
+ "-/zoneStrings/Europe:Ulyanovsk",
+ "-/zoneStrings/Europe:Uzhgorod",
+ "-/zoneStrings/Europe:Vaduz",
+ "-/zoneStrings/Europe:Vatican",
+ "-/zoneStrings/Europe:Vienna",
+ "-/zoneStrings/Europe:Vilnius",
+ "-/zoneStrings/Europe:Volgograd",
+ "-/zoneStrings/Europe:Warsaw",
+ "-/zoneStrings/Europe:Zagreb",
+ "-/zoneStrings/Europe:Zaporozhye",
+ "-/zoneStrings/Europe:Zurich",
+ "-/zoneStrings/Indian:Antananarivo",
+ "-/zoneStrings/Indian:Chagos",
+ "-/zoneStrings/Indian:Christmas",
+ "-/zoneStrings/Indian:Cocos",
+ "-/zoneStrings/Indian:Comoro",
+ "-/zoneStrings/Indian:Kerguelen",
+ "-/zoneStrings/Indian:Mahe",
+ "-/zoneStrings/Indian:Maldives",
+ "-/zoneStrings/Indian:Mauritius",
+ "-/zoneStrings/Indian:Mayotte",
+ "-/zoneStrings/Indian:Reunion",
+ "-/zoneStrings/Pacific:Apia",
+ "-/zoneStrings/Pacific:Auckland",
+ "-/zoneStrings/Pacific:Bougainville",
+ "-/zoneStrings/Pacific:Chatham",
+ "-/zoneStrings/Pacific:Easter",
+ "-/zoneStrings/Pacific:Efate",
+ "-/zoneStrings/Pacific:Enderbury",
+ "-/zoneStrings/Pacific:Fakaofo",
+ "-/zoneStrings/Pacific:Fiji",
+ "-/zoneStrings/Pacific:Funafuti",
+ "-/zoneStrings/Pacific:Galapagos",
+ "-/zoneStrings/Pacific:Gambier",
+ "-/zoneStrings/Pacific:Guadalcanal",
+ "-/zoneStrings/Pacific:Guam",
+ "-/zoneStrings/Pacific:Honolulu/ec",
+ "-/zoneStrings/Pacific:Johnston",
+ "-/zoneStrings/Pacific:Kiritimati",
+ "-/zoneStrings/Pacific:Kosrae",
+ "-/zoneStrings/Pacific:Kwajalein",
+ "-/zoneStrings/Pacific:Majuro",
+ "-/zoneStrings/Pacific:Marquesas",
+ "-/zoneStrings/Pacific:Midway",
+ "-/zoneStrings/Pacific:Nauru",
+ "-/zoneStrings/Pacific:Niue",
+ "-/zoneStrings/Pacific:Norfolk",
+ "-/zoneStrings/Pacific:Noumea",
+ "-/zoneStrings/Pacific:Pago_Pago",
+ "-/zoneStrings/Pacific:Palau",
+ "-/zoneStrings/Pacific:Pitcairn",
+ "-/zoneStrings/Pacific:Ponape",
+ "-/zoneStrings/Pacific:Port_Moresby",
+ "-/zoneStrings/Pacific:Rarotonga",
+ "-/zoneStrings/Pacific:Saipan",
+ "-/zoneStrings/Pacific:Tahiti",
+ "-/zoneStrings/Pacific:Tarawa",
+ "-/zoneStrings/Pacific:Tongatapu",
+ "-/zoneStrings/Pacific:Truk",
+ "-/zoneStrings/Pacific:Wake",
+ "-/zoneStrings/Pacific:Wallis"
+ ]
+ },
+// Based on
+// https://cs.chromium.org/chromium/src/third_party/icu/cast/patch_locale.sh?rcl=797b7c
+// # Keep only two common calendars. Add locale-specific calendars only to
+// # locales that are likely to use them most.
+ {
+ "categories": [
+ "locales_tree"
+ ],
+ "files": {
+ "whitelist": [
+ "th"
+ ]
+ },
+ "rules": [
+ "-/calendar/*",
+ "+/calendar/default",
+ "+/calendar/gregorian",
+ "+/calendar/generic",
+ "+/calendar/buddhist"
+ ]
+ },
+ {
+ "categories": [
+ "locales_tree"
+ ],
+ "files": {
+ "whitelist": [
+ "zh"
+ ]
+ },
+ "rules": [
+ "-/calendar/*",
+ "+/calendar/default",
+ "+/calendar/gregorian",
+ "+/calendar/generic",
+ "+/calendar/chinese"
+ ]
+ },
+ {
+ "categories": [
+ "locales_tree"
+ ],
+ "files": {
+ "whitelist": [
+ "ko"
+ ]
+ },
+ "rules": [
+ "-/calendar/*",
+ "+/calendar/default",
+ "+/calendar/gregorian",
+ "+/calendar/generic",
+ "+/calendar/dangi"
+ ]
+ },
+ {
+ "categories": [
+ "locales_tree"
+ ],
+ "files": {
+ "whitelist": [
+ "am"
+ ]
+ },
+ "rules": [
+ "-/calendar/*",
+ "+/calendar/default",
+ "+/calendar/gregorian",
+ "+/calendar/generic",
+ "+/calendar/ethiopic",
+ "+/calendar/ethiopic-amete-alem"
+ ]
+ },
+ {
+ "categories": [
+ "locales_tree"
+ ],
+ "files": {
+ "whitelist": [
+ "he"
+ ]
+ },
+ "rules": [
+ "-/calendar/*",
+ "+/calendar/default",
+ "+/calendar/gregorian",
+ "+/calendar/generic",
+ "+/calendar/hebrew"
+ ]
+ },
+ {
+ "categories": [
+ "locales_tree"
+ ],
+ "files": {
+ "whitelist": [
+ "ar"
+ ]
+ },
+ "rules": [
+ "-/calendar/*",
+ "+/calendar/default",
+ "+/calendar/gregorian",
+ "+/calendar/generic",
+// # Other Islamic calendar formats are not in locales other than root.
+// # ar-SA's default is islamic-umalqura, but its format entries are
+// # specified in root via aliases.
+ "+/calendar/islamic"
+ ]
+ },
+ {
+ "categories": [
+ "locales_tree"
+ ],
+ "files": {
+ "whitelist": [
+ "fa"
+ ]
+ },
+ "rules": [
+ "-/calendar/*",
+ "+/calendar/default",
+ "+/calendar/gregorian",
+ "+/calendar/generic",
+ "+/calendar/persian",
+ "+/calendar/islamic"
+ ]
+ },
+ {
+ "categories": [
+ "locales_tree"
+ ],
+ "files": {
+ "whitelist": [
+ "ja"
+ ]
+ },
+ "rules": [
+ "-/calendar/*",
+ "+/calendar/default",
+ "+/calendar/gregorian",
+ "+/calendar/generic",
+ "+/calendar/japanese"
+ ]
+ },
+ {
+ "categories": [
+ "locales_tree"
+ ],
+ "files": {
+ "whitelist": [
+// # When adding other Indian locales for Android,
+// # add 'indian' calendar to them as well.
+ "hi"
+ ]
+ },
+ "rules": [
+ "-/calendar/*",
+ "+/calendar/default",
+ "+/calendar/gregorian",
+ "+/calendar/generic",
+ "+/calendar/indian"
+ ]
+ },
+ {
+ "categories": [
+ "locales_tree"
+ ],
+ "files": {
+ "whitelist": [
+ "zh_Hant"
+ ]
+ },
+ "rules": [
+ "-/calendar/*",
+ "+/calendar/default",
+ "+/calendar/gregorian",
+ "+/calendar/generic",
+ "+/calendar/roc"
+ ]
+ },
+ {
+ "categories": [
+ "locales_tree"
+ ],
+ "files": {
+ "whitelist": [
+ "root"
+ ]
+ },
+ "rules": [
+ "-/calendar/*",
+ "+/calendar/default",
+ "+/calendar/gregorian",
+ "+/calendar/generic",
+ "+/calendar/buddhist",
+ "+/calendar/chinese",
+ "+/calendar/roc",
+ "+/calendar/dangi",
+ "+/calendar/ethiopic",
+ "+/calendar/ethiopic-amete-alem",
+ "+/calendar/japanese",
+ "+/calendar/hebrew",
+ "+/calendar/islamic",
+ "+/calendar/islamic-umalqura",
+ "+/calendar/islamic-civil",
+ "+/calendar/islamic-tbla",
+ "+/calendar/islamic-rgsa",
+ "+/calendar/persian",
+ "+/calendar/indian",
+// # Delete Japanese era display names in root. 'ja' has Japanese era names
+// # so that root does not need them.
+// # The same is true of eras and monthNames for Islamic calendar.
+ "-/calendar/japanese/eras",
+ "-/calendar/islamic/eras",
+ "-/calendar/islamic/monthNames"
+ ]
+ },
+ {
+ "categories": [
+ "locales_tree"
+ ],
+ "files": {
+ "blacklist": [
+ "th",
+ "zh",
+ "ko",
+ "am",
+ "he",
+ "ar",
+ "fa",
+ "ja",
+ "hi",
+ "zh_Hant",
+ "root"
+ ]
+ },
+ "rules": [
+ "-/calendar/*",
+ "+/calendar/default",
+ "+/calendar/gregorian",
+ "+/calendar/generic"
+ ]
+ },
+// Based on abridge_locale_data_for_non_ui_languages
+// # Keep only the minimum locale data for non-UI languages.
+ {
+ "categories": [
+ "locales_tree"
+ ],
+ "files": {
+ "whitelist": [
+// Created by diff scripts/chrome_ui_languages.list scripts/accept_lang.list|egrep "^>"|egrep -v "#"|cut -c3-10
+ "ach",
+ "af",
+ "ak",
+ "an",
+ "ast",
+ "az",
+ "ban",
+ "be",
+ "bem",
+ "bh",
+ "br",
+ "bs",
+ "ccp",
+ "ceb",
+ "chr",
+ "ckb",
+ "co",
+ "crs",
+ "cy",
+ "ee",
+ "eo",
+ "eu",
+ "fo",
+ "fy",
+ "ga",
+ "gaa",
+ "gd",
+ "gl",
+ "gn",
+ "ha",
+ "haw",
+ "hmn",
+ "ht",
+ "hy",
+ "ia",
+ "ig",
+ "is",
+ "jv",
+ "jw",
+ "ka",
+ "kg",
+ "kk",
+ "km",
+ "kri",
+ "ku",
+ "ky",
+ "la",
+ "lb",
+ "lg",
+ "ln",
+ "lo",
+ "loz",
+ "lua",
+ "mfe",
+ "mg",
+ "mi",
+ "mk",
+ "mn",
+ "mo",
+ "mt",
+ "my",
+ "ne",
+ "nn",
+ "no",
+ "nso",
+ "ny",
+ "nyn",
+ "oc",
+ "om",
+ "or",
+ "osa",
+ "pa",
+ "pcm",
+ "ps",
+ "qu",
+ "rm",
+ "rn",
+ "rw",
+ "sd",
+ "sh",
+ "si",
+ "sm",
+ "sn",
+ "so",
+ "sq",
+ "st",
+ "su",
+ "tg",
+ "ti",
+ "tk",
+ "tl",
+ "tn",
+ "to",
+ "tt",
+ "tum",
+ "tw",
+ "ug",
+ "ur",
+ "uz",
+ "wa",
+ "wo",
+ "xh",
+ "xx",
+ "yi",
+ "yo",
+ "zu",
+// The following is added based on
+// https://cs.chromium.org/chromium/src/third_party/icu/cast/patch_locale.sh?rcl=797b7c
+// # Chrome on Android is not localized to the following languages and we
+// # have to minimize the locale data for them.
+// EXTRA_LANGUAGES="bn et gu kn ml mr ms ta te"
+ "bn",
+ "et",
+ "gu",
+ "kn",
+ "ml",
+ "mr",
+ "ms",
+ "ta",
+ "te"
+ ]
+ },
+ "rules": [
+ "-/*",
+ "+/%%ALIAS",
+ "+/LocaleScript",
+ "+/layout",
+ "+/Version"
+ ]
+ },
+// Based on
+// https://cs.chromium.org/chromium/src/third_party/icu/android/patch_locale.sh?rcl=797b7c
+// # On Android Java API is used to get lang data, except for the language and
+// # script names for zh_Hans and zh_Hant which are not supported by Java API.
+// # Here remove all lang data except those names.
+// # See the comments in GetDisplayNameForLocale() (in Chromium's
+// # src/ui/base/l10n/l10n_util.cc) about why we need the scripts.
+ {
+ "categories": [
+ "lang_tree"
+ ],
+ "rules": [
+ "-/Keys",
+ "-/Languages",
+ "-/Languages%long",
+ "-/Languages%short",
+ "-/Languages%variant",
+ "-/LanguagesShort",
+ "-/Scripts",
+ "-/Scripts%long",
+ "-/Scripts%short",
+ "-/Scripts%variant",
+ "-/Scripts%stand-alone",
+ "-/Types",
+ "-/Variants",
+ "-/calendar",
+ "-/codePatterns",
+ "-/localeDisplayPattern",
+ "+/Languages/zh",
+ "+/Languages%long/zh",
+ "+/Languages%short/zh",
+ "+/Languages%variant/zh",
+ "+/Scripts/Hans",
+ "+/Scripts%long/Hans",
+ "+/Scripts%short/Hans",
+ "+/Scripts%variant/Hans",
+ "+/Scripts%stand-alone/Hans",
+ "+/Scripts/Hant",
+ "+/Scripts%long/Hant",
+ "+/Scripts%short/Hant",
+ "+/Scripts%variant/Hant",
+ "+/Scripts%stand-alone/Hant"
+ ]
+ },
+// Remove all the Version
+ {
+ "categories": [
+ "brkitr_tree",
+ "coll_tree",
+ "curr_tree",
+ "lang_tree",
+ "rbnf_tree",
+ "region_tree",
+ "unit_tree",
+ "zone_tree"
+ ],
+ "rules": [
+ "-/Version"
+ ]
+ }
+ ]
+}
diff --git a/scripts/config_data.sh b/scripts/config_data.sh
index 734e575..8b3e86a 100755
--- a/scripts/config_data.sh
+++ b/scripts/config_data.sh
@@ -9,7 +9,7 @@
if [ $# -lt 1 ];
then
- echo "Usage: "$0" (android|cast|chromeos|common|flutter|ios)" >&2
+ echo "Usage: "$0" (android|android_small|cast|chromeos|common|flutter|ios)" >&2
exit 1
fi
diff --git a/scripts/copy_data.sh b/scripts/copy_data.sh
index 3f51abe..edc1677 100755
--- a/scripts/copy_data.sh
+++ b/scripts/copy_data.sh
@@ -9,7 +9,7 @@
if [ $# -lt 1 ];
then
- echo "Usage: "$0" (android|cast|chromeos|common|flutter|ios)" >&2
+ echo "Usage: "$0" (android|android_small|cast|chromeos|common|flutter|ios)" >&2
exit 1
fi
@@ -99,6 +99,10 @@
copy_android_ios Android android
backup_outdir $1
;;
+ "android_small")
+ copy_android_ios AndroidSmall android_small
+ backup_outdir $1
+ ;;
"ios")
copy_android_ios iOS ios
backup_outdir $1
diff --git a/scripts/diff_data_all.sh b/scripts/diff_data_all.sh
index 6fc353c..29e52ba 100755
--- a/scripts/diff_data_all.sh
+++ b/scripts/diff_data_all.sh
@@ -18,7 +18,7 @@
echo "#######################################################"
echo " ICUDT*L.DAT FILE SIZE REPORT"
echo "#######################################################"
-for build in "chromeos" "common" "cast" "android" "ios" "flutter"
+for build in "chromeos" "common" "cast" "android" "android_small" "ios" "flutter"
do
ICUDT_L_DAT1=`ls ${DIR1}/dataout/${build}/data/out/tmp/icudt*l.dat`
ICUDT_L_DAT2=`ls ${DIR2}/dataout/${build}/data/out/tmp/icudt*l.dat`
@@ -31,7 +31,7 @@
echo "#######################################################"
echo " PER BUILD REPORT"
echo "#######################################################"
-for build in "chromeos" "common" "cast" "android" "ios" "flutter"
+for build in "chromeos" "common" "cast" "android" "android_small" "ios" "flutter"
do
$ICUROOT/scripts/diff_data.sh $build ${DIR1} ${DIR2}
done
diff --git a/scripts/make_data_all.sh b/scripts/make_data_all.sh
index 355cfb7..514f381 100755
--- a/scripts/make_data_all.sh
+++ b/scripts/make_data_all.sh
@@ -34,6 +34,12 @@
make -j 120
$ICUROOT/scripts/copy_data.sh android
+echo "Build the filtered data for AndroidSmall"
+(cd data && make clean)
+$ICUROOT/scripts/config_data.sh android_small
+make -j 120
+$ICUROOT/scripts/copy_data.sh android_small
+
echo "Build the filtered data for iOS"
(cd data && make clean)
$ICUROOT/scripts/config_data.sh ios