Bug 1509583 - Migrate region/language names resources to Fluent. r=flod,mossop
authorZibi Braniecki <zbraniecki@mozilla.com>
Fri, 11 Jan 2019 00:23:50 +0000
changeset 453427 ee1c9afb353f2b5bffe498b7a71c60e9b78927cc
parent 453426 8d5e2931f526c53bf8ca86250c3caea6441b5614
child 453428 0117afe25cfe6a78af26a2a352cc60bf5cbbc1e4
push id35357
push usernerli@mozilla.com
push dateFri, 11 Jan 2019 21:54:07 +0000
treeherdermozilla-central@0ce024c91511 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersflod, mossop
bugs1509583
milestone66.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1509583 - Migrate region/language names resources to Fluent. r=flod,mossop Differential Revision: https://phabricator.services.mozilla.com/D12807
browser/extensions/formautofill/test/unit/head.js
browser/locales/en-US/chrome/browser/translation.dtd
browser/locales/en-US/chrome/browser/translation.properties
intl/docs/dataintl.rst
python/l10n/fluent_migrations/bug_1509583_language_region_names.py
toolkit/components/mozintl/mozIntl.js
toolkit/components/mozintl/test/test_mozintl.js
toolkit/components/mozintl/test/test_mozintl_getLocaleDisplayNames.js
toolkit/locales/en-US/chrome/global/languageNames.properties
toolkit/locales/en-US/chrome/global/regionNames.properties
toolkit/locales/en-US/toolkit/intl/languageNames.ftl
toolkit/locales/en-US/toolkit/intl/regionNames.ftl
toolkit/locales/jar.mn
--- a/browser/extensions/formautofill/test/unit/head.js
+++ b/browser/extensions/formautofill/test/unit/head.js
@@ -18,16 +18,46 @@ ChromeUtils.import("resource://testing-c
 ChromeUtils.defineModuleGetter(this, "DownloadPaths",
                                "resource://gre/modules/DownloadPaths.jsm");
 ChromeUtils.defineModuleGetter(this, "FileUtils",
                                "resource://gre/modules/FileUtils.jsm");
 
 ChromeUtils.defineModuleGetter(this, "ExtensionParent",
                                "resource://gre/modules/ExtensionParent.jsm");
 
+{
+  // We're going to register a mock file source
+  // with region names based on en-US. This is
+  // necessary for tests that expect to match
+  // on region code display names.
+  const {L10nRegistry, FileSource} = ChromeUtils.import("resource://gre/modules/L10nRegistry.jsm", {});
+
+  const fs = {
+    "toolkit/intl/regionNames.ftl": `
+region-name-us = United States
+region-name-nz = New Zeland
+region-name-au = Australia
+region-name-ca = Canada
+region-name-tw = Taiwan
+    `,
+  };
+
+  L10nRegistry.loadSync = function(url) {
+    if (!fs.hasOwnProperty(url)) {
+      return false;
+    }
+    return fs[url];
+  };
+
+  let locales = Services.locale.packagedLocales;
+  const mockSource = new FileSource("mock", locales, "");
+  L10nRegistry.registerSource(mockSource);
+}
+
+
 do_get_profile();
 
 // ================================================
 // Load mocking/stubbing library, sinon
 // docs: http://sinonjs.org/releases/v2.3.2/
 ChromeUtils.import("resource://gre/modules/Timer.jsm");
 Services.scriptloader.loadSubScript("resource://testing-common/sinon-2.3.2.js", this);
 /* globals sinon */
--- a/browser/locales/en-US/chrome/browser/translation.dtd
+++ b/browser/locales/en-US/chrome/browser/translation.dtd
@@ -4,17 +4,17 @@
 
 <!-- LOCALIZATION NOTE (translation.thisPageIsIn.label,
   -                     translation.translateThisPage.label):
   -  These 2 strings are used to construct a sentence that contains a dropdown
   -  showing the detected language of the current web page.
   -  In en-US it looks like this:
   -    This page is in [detected language] Translate this page?
   -  "detected language" here is a language name coming from the
-  -  global/languageNames.properties file; for some locales it may not be in
+  -  toolkit/intl/languageNames.ftl file; for some locales it may not be in
   -  the correct grammar case to keep the same structure of the original
   -  sentence. -->
 <!ENTITY translation.thisPageIsIn.label         "This page is in">
 <!ENTITY translation.translateThisPage.label    "Translate this page?">
 <!ENTITY translation.translate.button           "Translate">
 <!ENTITY translation.notNow.button              "Not Now">
 
 <!ENTITY translation.translatingContent.label   "Translating page content…">
@@ -22,17 +22,17 @@
 <!-- LOCALIZATION NOTE (translation.translatedFrom.label,
   -                     translation.translatedTo.label,
   -                     translation.translatedToSuffix.label):
   -  These 3 strings are used to construct a sentence that contains 2 dropdowns
   -  showing the source and target language of a translated web page.
   -  In en-US it looks like this:
   -    This page has been translated from [from language] to [to language]
   -  "from language" and "to language" here are language names coming from the
-  -  global/languageNames.properties file; for some locales they may not be in
+  -  toolkit/intl/languageNames.ftl file; for some locales they may not be in
   -  the correct grammar case to keep the same structure of the original
   -  sentence.
   -
   -  translation.translatedToSuffix.label (empty in en-US) is for locales that
   -  need to display some text after the second drop down for the sentence to
   -  be grammatically correct. -->
 <!ENTITY translation.translatedFrom.label       "This page has been translated from">
 <!ENTITY translation.translatedTo.label         "to">
--- a/browser/locales/en-US/chrome/browser/translation.properties
+++ b/browser/locales/en-US/chrome/browser/translation.properties
@@ -1,12 +1,12 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 # LOCALIZATION NOTE (translation.options.neverForLanguage.label):
-#  %S is a language name coming from the global/languageNames.properties file.
+#  %S is a language name coming from the toolkit/intl/languageNames.ftl file.
 translation.options.neverForLanguage.label=Never translate %S
 
 # LOCALIZATION NOTE (translation.options.neverForLanguage.accesskey):
 # The accesskey value used here should not clash with the values used for
 # translation.options.*.accesskey in translation.dtd
 translation.options.neverForLanguage.accesskey=N
--- a/intl/docs/dataintl.rst
+++ b/intl/docs/dataintl.rst
@@ -315,17 +315,17 @@ Example:
   let locs = getLanguageDisplayNames(["pl"], ["sr-RU", "es-MX", "fr-CA"]);
   locs === ["Serbski (Rosja)", "Hiszpański (Meksyk)", "Francuski (Kanada)"];
 
 mozIntl.getAvailableLocaleDisplayNames(type)
 ---------------------------------------------------
 
 API which returns a list of locale display name codes available for a
 given type.
-Available types are: "region".
+Available types are: "language", "region".
 
 Example:
 
 .. code-block:: javascript
 
   let codes = getAvailableLocaleDisplayNames("region");
   codes === ["au", "ae", "af", ...];
 
new file mode 100644
--- /dev/null
+++ b/python/l10n/fluent_migrations/bug_1509583_language_region_names.py
@@ -0,0 +1,506 @@
+
+# coding=utf8
+
+# Any copyright is dedicated to the Public Domain.
+# http://creativecommons.org/publicdomain/zero/1.0/
+
+from __future__ import absolute_import
+import fluent.syntax.ast as FTL
+from fluent.migrate.helpers import transforms_from
+from fluent.migrate.helpers import TERM_REFERENCE
+from fluent.migrate import REPLACE
+
+def migrate(ctx):
+    """Bug 1509583 - Migrate region/language names resources to Fluent, part {index}."""
+    ctx.add_transforms(
+        "toolkit/toolkit/intl/languageNames.ftl",
+        "toolkit/toolkit/intl/languageNames.ftl",
+        transforms_from("""
+
+language-name-aa = { COPY(from_path, "aa") }
+language-name-ab = { COPY(from_path, "ab") }
+language-name-ach = { COPY(from_path, "ach") }
+language-name-ae = { COPY(from_path, "ae") }
+language-name-af = { COPY(from_path, "af") }
+language-name-ak = { COPY(from_path, "ak") }
+language-name-am = { COPY(from_path, "am") }
+language-name-an = { COPY(from_path, "an") }
+language-name-ar = { COPY(from_path, "ar") }
+language-name-as = { COPY(from_path, "as") }
+language-name-ast = { COPY(from_path, "ast") }
+language-name-av = { COPY(from_path, "av") }
+language-name-ay = { COPY(from_path, "ay") }
+language-name-az = { COPY(from_path, "az") }
+language-name-ba = { COPY(from_path, "ba") }
+language-name-be = { COPY(from_path, "be") }
+language-name-bg = { COPY(from_path, "bg") }
+language-name-bh = { COPY(from_path, "bh") }
+language-name-bi = { COPY(from_path, "bi") }
+language-name-bm = { COPY(from_path, "bm") }
+language-name-bn = { COPY(from_path, "bn") }
+language-name-bo = { COPY(from_path, "bo") }
+language-name-br = { COPY(from_path, "br") }
+language-name-bs = { COPY(from_path, "bs") }
+language-name-ca = { COPY(from_path, "ca") }
+language-name-cak = { COPY(from_path, "cak") }
+language-name-ce = { COPY(from_path, "ce") }
+language-name-ch = { COPY(from_path, "ch") }
+language-name-co = { COPY(from_path, "co") }
+language-name-cr = { COPY(from_path, "cr") }
+language-name-crh = { COPY(from_path, "crh") }
+language-name-cs = { COPY(from_path, "cs") }
+language-name-csb = { COPY(from_path, "csb") }
+language-name-cu = { COPY(from_path, "cu") }
+language-name-cv = { COPY(from_path, "cv") }
+language-name-cy = { COPY(from_path, "cy") }
+language-name-da = { COPY(from_path, "da") }
+language-name-de = { COPY(from_path, "de") }
+language-name-dsb = { COPY(from_path, "dsb") }
+language-name-dv = { COPY(from_path, "dv") }
+language-name-dz = { COPY(from_path, "dz") }
+language-name-ee = { COPY(from_path, "ee") }
+language-name-el = { COPY(from_path, "el") }
+language-name-en = { COPY(from_path, "en") }
+language-name-eo = { COPY(from_path, "eo") }
+language-name-es = { COPY(from_path, "es") }
+language-name-et = { COPY(from_path, "et") }
+language-name-eu = { COPY(from_path, "eu") }
+language-name-fa = { COPY(from_path, "fa") }
+language-name-ff = { COPY(from_path, "ff") }
+language-name-fi = { COPY(from_path, "fi") }
+language-name-fj = { COPY(from_path, "fj") }
+language-name-fo = { COPY(from_path, "fo") }
+language-name-fr = { COPY(from_path, "fr") }
+language-name-fur = { COPY(from_path, "fur") }
+language-name-fy = { COPY(from_path, "fy") }
+language-name-ga = { COPY(from_path, "ga") }
+language-name-gd = { COPY(from_path, "gd") }
+language-name-gl = { COPY(from_path, "gl") }
+language-name-gn = { COPY(from_path, "gn") }
+language-name-gu = { COPY(from_path, "gu") }
+language-name-gv = { COPY(from_path, "gv") }
+language-name-ha = { COPY(from_path, "ha") }
+language-name-haw = { COPY(from_path, "haw") }
+language-name-he = { COPY(from_path, "he") }
+language-name-hi = { COPY(from_path, "hi") }
+language-name-hil = { COPY(from_path, "hil") }
+language-name-ho = { COPY(from_path, "ho") }
+language-name-hr = { COPY(from_path, "hr") }
+language-name-hsb = { COPY(from_path, "hsb") }
+language-name-ht = { COPY(from_path, "ht") }
+language-name-hu = { COPY(from_path, "hu") }
+language-name-hy = { COPY(from_path, "hy") }
+language-name-hz = { COPY(from_path, "hz") }
+language-name-ia = { COPY(from_path, "ia") }
+language-name-id = { COPY(from_path, "id") }
+language-name-ie = { COPY(from_path, "ie") }
+language-name-ig = { COPY(from_path, "ig") }
+language-name-ii = { COPY(from_path, "ii") }
+language-name-ik = { COPY(from_path, "ik") }
+language-name-io = { COPY(from_path, "io") }
+language-name-is = { COPY(from_path, "is") }
+language-name-it = { COPY(from_path, "it") }
+language-name-iu = { COPY(from_path, "iu") }
+language-name-ja = { COPY(from_path, "ja") }
+language-name-jv = { COPY(from_path, "jv") }
+language-name-ka = { COPY(from_path, "ka") }
+language-name-kab = { COPY(from_path, "kab") }
+language-name-kg = { COPY(from_path, "kg") }
+language-name-ki = { COPY(from_path, "ki") }
+language-name-kj = { COPY(from_path, "kj") }
+language-name-kk = { COPY(from_path, "kk") }
+language-name-kl = { COPY(from_path, "kl") }
+language-name-km = { COPY(from_path, "km") }
+language-name-kn = { COPY(from_path, "kn") }
+language-name-ko = { COPY(from_path, "ko") }
+language-name-kok = { COPY(from_path, "kok") }
+language-name-kr = { COPY(from_path, "kr") }
+language-name-ks = { COPY(from_path, "ks") }
+language-name-ku = { COPY(from_path, "ku") }
+language-name-kv = { COPY(from_path, "kv") }
+language-name-kw = { COPY(from_path, "kw") }
+language-name-ky = { COPY(from_path, "ky") }
+language-name-la = { COPY(from_path, "la") }
+language-name-lb = { COPY(from_path, "lb") }
+language-name-lg = { COPY(from_path, "lg") }
+language-name-li = { COPY(from_path, "li") }
+language-name-lij = { COPY(from_path, "lij") }
+language-name-ln = { COPY(from_path, "ln") }
+language-name-lo = { COPY(from_path, "lo") }
+language-name-lt = { COPY(from_path, "lt") }
+language-name-ltg = { COPY(from_path, "ltg") }
+language-name-lu = { COPY(from_path, "lu") }
+language-name-lv = { COPY(from_path, "lv") }
+language-name-mai = { COPY(from_path, "mai") }
+language-name-meh = { COPY(from_path, "meh") }
+language-name-mg = { COPY(from_path, "mg") }
+language-name-mh = { COPY(from_path, "mh") }
+language-name-mi = { COPY(from_path, "mi") }
+language-name-mix = { COPY(from_path, "mix") }
+language-name-mk = { COPY(from_path, "mk") }
+language-name-ml = { COPY(from_path, "ml") }
+language-name-mn = { COPY(from_path, "mn") }
+language-name-mr = { COPY(from_path, "mr") }
+language-name-ms = { COPY(from_path, "ms") }
+language-name-mt = { COPY(from_path, "mt") }
+language-name-my = { COPY(from_path, "my") }
+language-name-na = { COPY(from_path, "na") }
+language-name-nb = { COPY(from_path, "nb") }
+language-name-nd = { COPY(from_path, "nd") }
+language-name-ne = { COPY(from_path, "ne") }
+language-name-ng = { COPY(from_path, "ng") }
+language-name-nl = { COPY(from_path, "nl") }
+language-name-nn = { COPY(from_path, "nn") }
+language-name-no = { COPY(from_path, "no") }
+language-name-nr = { COPY(from_path, "nr") }
+language-name-nso = { COPY(from_path, "nso") }
+language-name-nv = { COPY(from_path, "nv") }
+language-name-ny = { COPY(from_path, "ny") }
+language-name-oc = { COPY(from_path, "oc") }
+language-name-oj = { COPY(from_path, "oj") }
+language-name-om = { COPY(from_path, "om") }
+language-name-or = { COPY(from_path, "or") }
+language-name-os = { COPY(from_path, "os") }
+language-name-pa = { COPY(from_path, "pa") }
+language-name-pi = { COPY(from_path, "pi") }
+language-name-pl = { COPY(from_path, "pl") }
+language-name-ps = { COPY(from_path, "ps") }
+language-name-pt = { COPY(from_path, "pt") }
+language-name-qu = { COPY(from_path, "qu") }
+language-name-rm = { COPY(from_path, "rm") }
+language-name-rn = { COPY(from_path, "rn") }
+language-name-ro = { COPY(from_path, "ro") }
+language-name-ru = { COPY(from_path, "ru") }
+language-name-rw = { COPY(from_path, "rw") }
+language-name-sa = { COPY(from_path, "sa") }
+language-name-sc = { COPY(from_path, "sc") }
+language-name-sd = { COPY(from_path, "sd") }
+language-name-se = { COPY(from_path, "se") }
+language-name-sg = { COPY(from_path, "sg") }
+language-name-si = { COPY(from_path, "si") }
+language-name-sk = { COPY(from_path, "sk") }
+language-name-sl = { COPY(from_path, "sl") }
+language-name-sm = { COPY(from_path, "sm") }
+language-name-sn = { COPY(from_path, "sn") }
+language-name-so = { COPY(from_path, "so") }
+language-name-son = { COPY(from_path, "son") }
+language-name-sq = { COPY(from_path, "sq") }
+language-name-sr = { COPY(from_path, "sr") }
+language-name-ss = { COPY(from_path, "ss") }
+language-name-st = { COPY(from_path, "st") }
+language-name-su = { COPY(from_path, "su") }
+language-name-sv = { COPY(from_path, "sv") }
+language-name-sw = { COPY(from_path, "sw") }
+language-name-ta = { COPY(from_path, "ta") }
+language-name-te = { COPY(from_path, "te") }
+language-name-tg = { COPY(from_path, "tg") }
+language-name-th = { COPY(from_path, "th") }
+language-name-ti = { COPY(from_path, "ti") }
+language-name-tig = { COPY(from_path, "tig") }
+language-name-tk = { COPY(from_path, "tk") }
+language-name-tl = { COPY(from_path, "tl") }
+language-name-tlh = { COPY(from_path, "tlh") }
+language-name-tn = { COPY(from_path, "tn") }
+language-name-to = { COPY(from_path, "to") }
+language-name-tr = { COPY(from_path, "tr") }
+language-name-ts = { COPY(from_path, "ts") }
+language-name-tt = { COPY(from_path, "tt") }
+language-name-tw = { COPY(from_path, "tw") }
+language-name-ty = { COPY(from_path, "ty") }
+language-name-ug = { COPY(from_path, "ug") }
+language-name-uk = { COPY(from_path, "uk") }
+language-name-ur = { COPY(from_path, "ur") }
+language-name-uz = { COPY(from_path, "uz") }
+language-name-ve = { COPY(from_path, "ve") }
+language-name-vi = { COPY(from_path, "vi") }
+language-name-vo = { COPY(from_path, "vo") }
+language-name-wa = { COPY(from_path, "wa") }
+language-name-wen = { COPY(from_path, "wen") }
+language-name-wo = { COPY(from_path, "wo") }
+language-name-xh = { COPY(from_path, "xh") }
+language-name-yi = { COPY(from_path, "yi") }
+language-name-yo = { COPY(from_path, "yo") }
+language-name-za = { COPY(from_path, "za") }
+language-name-zam = { COPY(from_path, "zam") }
+language-name-zh = { COPY(from_path, "zh") }
+language-name-zu = { COPY(from_path, "zu") }
+""", from_path="toolkit/chrome/global/languageNames.properties"))
+
+    ctx.add_transforms(
+        "toolkit/toolkit/intl/regionNames.ftl",
+        "toolkit/toolkit/intl/regionNames.ftl",
+        transforms_from("""
+
+region-name-ad = { COPY(from_path, "ad") }
+region-name-ae = { COPY(from_path, "ae") }
+region-name-af = { COPY(from_path, "af") }
+region-name-ag = { COPY(from_path, "ag") }
+region-name-ai = { COPY(from_path, "ai") }
+region-name-al = { COPY(from_path, "al") }
+region-name-am = { COPY(from_path, "am") }
+region-name-ao = { COPY(from_path, "ao") }
+region-name-aq = { COPY(from_path, "aq") }
+region-name-ar = { COPY(from_path, "ar") }
+region-name-as = { COPY(from_path, "as") }
+region-name-at = { COPY(from_path, "at") }
+region-name-au = { COPY(from_path, "au") }
+region-name-aw = { COPY(from_path, "aw") }
+region-name-az = { COPY(from_path, "az") }
+region-name-ba = { COPY(from_path, "ba") }
+region-name-bb = { COPY(from_path, "bb") }
+region-name-bd = { COPY(from_path, "bd") }
+region-name-be = { COPY(from_path, "be") }
+region-name-bf = { COPY(from_path, "bf") }
+region-name-bg = { COPY(from_path, "bg") }
+region-name-bh = { COPY(from_path, "bh") }
+region-name-bi = { COPY(from_path, "bi") }
+region-name-bj = { COPY(from_path, "bj") }
+region-name-bl = { COPY(from_path, "bl") }
+region-name-bm = { COPY(from_path, "bm") }
+region-name-bn = { COPY(from_path, "bn") }
+region-name-bo = { COPY(from_path, "bo") }
+region-name-bq = { COPY(from_path, "bq") }
+region-name-br = { COPY(from_path, "br") }
+region-name-bs = { COPY(from_path, "bs") }
+region-name-bt = { COPY(from_path, "bt") }
+region-name-bv = { COPY(from_path, "bv") }
+region-name-bw = { COPY(from_path, "bw") }
+region-name-by = { COPY(from_path, "by") }
+region-name-bz = { COPY(from_path, "bz") }
+region-name-ca = { COPY(from_path, "ca") }
+region-name-cc = { COPY(from_path, "cc") }
+region-name-cd = { COPY(from_path, "cd") }
+region-name-cf = { COPY(from_path, "cf") }
+region-name-cg = { COPY(from_path, "cg") }
+region-name-ch = { COPY(from_path, "ch") }
+region-name-ci = { COPY(from_path, "ci") }
+region-name-ck = { COPY(from_path, "ck") }
+region-name-cl = { COPY(from_path, "cl") }
+region-name-cm = { COPY(from_path, "cm") }
+region-name-cn = { COPY(from_path, "cn") }
+region-name-co = { COPY(from_path, "co") }
+region-name-cp = { COPY(from_path, "cp") }
+region-name-cr = { COPY(from_path, "cr") }
+region-name-cu = { COPY(from_path, "cu") }
+region-name-cv = { COPY(from_path, "cv") }
+region-name-cw = { COPY(from_path, "cw") }
+region-name-cx = { COPY(from_path, "cx") }
+region-name-cy = { COPY(from_path, "cy") }
+region-name-cz = { COPY(from_path, "cz") }
+region-name-de = { COPY(from_path, "de") }
+region-name-dg = { COPY(from_path, "dg") }
+region-name-dj = { COPY(from_path, "dj") }
+region-name-dk = { COPY(from_path, "dk") }
+region-name-dm = { COPY(from_path, "dm") }
+region-name-do = { COPY(from_path, "do") }
+region-name-dz = { COPY(from_path, "dz") }
+region-name-ec = { COPY(from_path, "ec") }
+region-name-ee = { COPY(from_path, "ee") }
+region-name-eg = { COPY(from_path, "eg") }
+region-name-eh = { COPY(from_path, "eh") }
+region-name-er = { COPY(from_path, "er") }
+region-name-es = { COPY(from_path, "es") }
+region-name-et = { COPY(from_path, "et") }
+region-name-fi = { COPY(from_path, "fi") }
+region-name-fj = { COPY(from_path, "fj") }
+region-name-fk = { COPY(from_path, "fk") }
+region-name-fm = { COPY(from_path, "fm") }
+region-name-fo = { COPY(from_path, "fo") }
+region-name-fr = { COPY(from_path, "fr") }
+region-name-ga = { COPY(from_path, "ga") }
+region-name-gb = { COPY(from_path, "gb") }
+region-name-gd = { COPY(from_path, "gd") }
+region-name-ge = { COPY(from_path, "ge") }
+region-name-gf = { COPY(from_path, "gf") }
+region-name-gg = { COPY(from_path, "gg") }
+region-name-gh = { COPY(from_path, "gh") }
+region-name-gi = { COPY(from_path, "gi") }
+region-name-gl = { COPY(from_path, "gl") }
+region-name-gm = { COPY(from_path, "gm") }
+region-name-gn = { COPY(from_path, "gn") }
+region-name-gp = { COPY(from_path, "gp") }
+region-name-gq = { COPY(from_path, "gq") }
+region-name-gr = { COPY(from_path, "gr") }
+region-name-gs = { COPY(from_path, "gs") }
+region-name-gt = { COPY(from_path, "gt") }
+region-name-gu = { COPY(from_path, "gu") }
+region-name-gw = { COPY(from_path, "gw") }
+region-name-gy = { COPY(from_path, "gy") }
+region-name-hk = { COPY(from_path, "hk") }
+region-name-hm = { COPY(from_path, "hm") }
+region-name-hn = { COPY(from_path, "hn") }
+region-name-hr = { COPY(from_path, "hr") }
+region-name-ht = { COPY(from_path, "ht") }
+region-name-hu = { COPY(from_path, "hu") }
+region-name-id = { COPY(from_path, "id") }
+region-name-ie = { COPY(from_path, "ie") }
+region-name-il = { COPY(from_path, "il") }
+region-name-im = { COPY(from_path, "im") }
+region-name-in = { COPY(from_path, "in") }
+region-name-io = { COPY(from_path, "io") }
+region-name-iq = { COPY(from_path, "iq") }
+region-name-ir = { COPY(from_path, "ir") }
+region-name-is = { COPY(from_path, "is") }
+region-name-it = { COPY(from_path, "it") }
+region-name-je = { COPY(from_path, "je") }
+region-name-jm = { COPY(from_path, "jm") }
+region-name-jo = { COPY(from_path, "jo") }
+region-name-jp = { COPY(from_path, "jp") }
+region-name-ke = { COPY(from_path, "ke") }
+region-name-kg = { COPY(from_path, "kg") }
+region-name-kh = { COPY(from_path, "kh") }
+region-name-ki = { COPY(from_path, "ki") }
+region-name-km = { COPY(from_path, "km") }
+region-name-kn = { COPY(from_path, "kn") }
+region-name-kp = { COPY(from_path, "kp") }
+region-name-kr = { COPY(from_path, "kr") }
+region-name-kw = { COPY(from_path, "kw") }
+region-name-ky = { COPY(from_path, "ky") }
+region-name-kz = { COPY(from_path, "kz") }
+region-name-la = { COPY(from_path, "la") }
+region-name-lb = { COPY(from_path, "lb") }
+region-name-lc = { COPY(from_path, "lc") }
+region-name-li = { COPY(from_path, "li") }
+region-name-lk = { COPY(from_path, "lk") }
+region-name-lr = { COPY(from_path, "lr") }
+region-name-ls = { COPY(from_path, "ls") }
+region-name-lt = { COPY(from_path, "lt") }
+region-name-lu = { COPY(from_path, "lu") }
+region-name-lv = { COPY(from_path, "lv") }
+region-name-ly = { COPY(from_path, "ly") }
+region-name-ma = { COPY(from_path, "ma") }
+region-name-mc = { COPY(from_path, "mc") }
+region-name-md = { COPY(from_path, "md") }
+region-name-me = { COPY(from_path, "me") }
+region-name-mf = { COPY(from_path, "mf") }
+region-name-mg = { COPY(from_path, "mg") }
+region-name-mh = { COPY(from_path, "mh") }
+region-name-mk = { COPY(from_path, "mk") }
+region-name-ml = { COPY(from_path, "ml") }
+region-name-mm = { COPY(from_path, "mm") }
+region-name-mn = { COPY(from_path, "mn") }
+region-name-mo = { COPY(from_path, "mo") }
+region-name-mp = { COPY(from_path, "mp") }
+region-name-mq = { COPY(from_path, "mq") }
+region-name-mr = { COPY(from_path, "mr") }
+region-name-ms = { COPY(from_path, "ms") }
+region-name-mt = { COPY(from_path, "mt") }
+region-name-mu = { COPY(from_path, "mu") }
+region-name-mv = { COPY(from_path, "mv") }
+region-name-mw = { COPY(from_path, "mw") }
+region-name-mx = { COPY(from_path, "mx") }
+region-name-my = { COPY(from_path, "my") }
+region-name-mz = { COPY(from_path, "mz") }
+region-name-na = { COPY(from_path, "na") }
+region-name-nc = { COPY(from_path, "nc") }
+region-name-ne = { COPY(from_path, "ne") }
+region-name-nf = { COPY(from_path, "nf") }
+region-name-ng = { COPY(from_path, "ng") }
+region-name-ni = { COPY(from_path, "ni") }
+region-name-nl = { COPY(from_path, "nl") }
+region-name-no = { COPY(from_path, "no") }
+region-name-np = { COPY(from_path, "np") }
+region-name-nr = { COPY(from_path, "nr") }
+region-name-nu = { COPY(from_path, "nu") }
+region-name-nz = { COPY(from_path, "nz") }
+region-name-om = { COPY(from_path, "om") }
+region-name-pa = { COPY(from_path, "pa") }
+region-name-pe = { COPY(from_path, "pe") }
+region-name-pf = { COPY(from_path, "pf") }
+region-name-pg = { COPY(from_path, "pg") }
+region-name-ph = { COPY(from_path, "ph") }
+region-name-pk = { COPY(from_path, "pk") }
+region-name-pl = { COPY(from_path, "pl") }
+region-name-pm = { COPY(from_path, "pm") }
+region-name-pn = { COPY(from_path, "pn") }
+region-name-pr = { COPY(from_path, "pr") }
+region-name-pt = { COPY(from_path, "pt") }
+region-name-pw = { COPY(from_path, "pw") }
+region-name-py = { COPY(from_path, "py") }
+region-name-qa = { COPY(from_path, "qa") }
+region-name-qm = { COPY(from_path, "qm") }
+region-name-qs = { COPY(from_path, "qs") }
+region-name-qu = { COPY(from_path, "qu") }
+region-name-qw = { COPY(from_path, "qw") }
+region-name-qx = { COPY(from_path, "qx") }
+region-name-qz = { COPY(from_path, "qz") }
+region-name-re = { COPY(from_path, "re") }
+region-name-ro = { COPY(from_path, "ro") }
+region-name-rs = { COPY(from_path, "rs") }
+region-name-ru = { COPY(from_path, "ru") }
+region-name-rw = { COPY(from_path, "rw") }
+region-name-sa = { COPY(from_path, "sa") }
+region-name-sb = { COPY(from_path, "sb") }
+region-name-sc = { COPY(from_path, "sc") }
+region-name-sd = { COPY(from_path, "sd") }
+region-name-se = { COPY(from_path, "se") }
+region-name-sg = { COPY(from_path, "sg") }
+region-name-sh = { COPY(from_path, "sh") }
+region-name-si = { COPY(from_path, "si") }
+region-name-sk = { COPY(from_path, "sk") }
+region-name-sl = { COPY(from_path, "sl") }
+region-name-sm = { COPY(from_path, "sm") }
+region-name-sn = { COPY(from_path, "sn") }
+region-name-so = { COPY(from_path, "so") }
+region-name-sr = { COPY(from_path, "sr") }
+region-name-ss = { COPY(from_path, "ss") }
+region-name-st = { COPY(from_path, "st") }
+region-name-sv = { COPY(from_path, "sv") }
+region-name-sx = { COPY(from_path, "sx") }
+region-name-sy = { COPY(from_path, "sy") }
+region-name-sz = { COPY(from_path, "sz") }
+region-name-tc = { COPY(from_path, "tc") }
+region-name-td = { COPY(from_path, "td") }
+region-name-tf = { COPY(from_path, "tf") }
+region-name-tg = { COPY(from_path, "tg") }
+region-name-th = { COPY(from_path, "th") }
+region-name-tj = { COPY(from_path, "tj") }
+region-name-tk = { COPY(from_path, "tk") }
+region-name-tl = { COPY(from_path, "tl") }
+region-name-tm = { COPY(from_path, "tm") }
+region-name-tn = { COPY(from_path, "tn") }
+region-name-to = { COPY(from_path, "to") }
+region-name-tr = { COPY(from_path, "tr") }
+region-name-tt = { COPY(from_path, "tt") }
+region-name-tv = { COPY(from_path, "tv") }
+region-name-tw = { COPY(from_path, "tw") }
+region-name-tz = { COPY(from_path, "tz") }
+region-name-ua = { COPY(from_path, "ua") }
+region-name-ug = { COPY(from_path, "ug") }
+region-name-us = { COPY(from_path, "us") }
+region-name-uy = { COPY(from_path, "uy") }
+region-name-uz = { COPY(from_path, "uz") }
+region-name-va = { COPY(from_path, "va") }
+region-name-vc = { COPY(from_path, "vc") }
+region-name-ve = { COPY(from_path, "ve") }
+region-name-vg = { COPY(from_path, "vg") }
+region-name-vi = { COPY(from_path, "vi") }
+region-name-vn = { COPY(from_path, "vn") }
+region-name-vu = { COPY(from_path, "vu") }
+region-name-wf = { COPY(from_path, "wf") }
+region-name-ws = { COPY(from_path, "ws") }
+region-name-xa = { COPY(from_path, "xa") }
+region-name-xb = { COPY(from_path, "xb") }
+region-name-xc = { COPY(from_path, "xc") }
+region-name-xd = { COPY(from_path, "xd") }
+region-name-xe = { COPY(from_path, "xe") }
+region-name-xg = { COPY(from_path, "xg") }
+region-name-xh = { COPY(from_path, "xh") }
+region-name-xj = { COPY(from_path, "xj") }
+region-name-xk = { COPY(from_path, "xk") }
+region-name-xl = { COPY(from_path, "xl") }
+region-name-xm = { COPY(from_path, "xm") }
+region-name-xp = { COPY(from_path, "xp") }
+region-name-xq = { COPY(from_path, "xq") }
+region-name-xr = { COPY(from_path, "xr") }
+region-name-xs = { COPY(from_path, "xs") }
+region-name-xt = { COPY(from_path, "xt") }
+region-name-xu = { COPY(from_path, "xu") }
+region-name-xv = { COPY(from_path, "xv") }
+region-name-xw = { COPY(from_path, "xw") }
+region-name-ye = { COPY(from_path, "ye") }
+region-name-yt = { COPY(from_path, "yt") }
+region-name-za = { COPY(from_path, "za") }
+region-name-zm = { COPY(from_path, "zm") }
+region-name-zw = { COPY(from_path, "zw") }
+""", from_path="toolkit/chrome/global/regionNames.properties"))
--- a/toolkit/components/mozintl/mozIntl.js
+++ b/toolkit/components/mozintl/mozIntl.js
@@ -1,14 +1,15 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
 ChromeUtils.import("resource://gre/modules/Services.jsm");
+const { LocalizationSync } = ChromeUtils.import("resource://gre/modules/Localization.jsm", {});
 
 const mozIntlHelper =
   Cc["@mozilla.org/mozintlhelper;1"].getService(Ci.mozIMozIntlHelper);
 const osPrefs =
   Cc["@mozilla.org/intl/ospreferences;1"].getService(Ci.mozIOSPreferences);
 
 /**
  * RegExp used to parse a BCP47 language tag (ex: en-US, sr-Cyrl-RU etc.)
@@ -262,51 +263,63 @@ class MozIntl {
 
     return new Error("Unimplemented!");
   }
 
   getLanguageDisplayNames(locales, langCodes) {
     if (locales !== undefined) {
       throw new Error("First argument support not implemented yet");
     }
-    const languageBundle = Services.strings.createBundle(
-          "chrome://global/locale/languageNames.properties");
+
+    if (!this._cache.hasOwnProperty("languageLocalization")) {
+      const loc = new LocalizationSync(["toolkit/intl/languageNames.ftl"]);
+      this._cache.languageLocalization = loc;
+    }
+
+    const loc = this._cache.languageLocalization;
 
     return langCodes.map(langCode => {
       if (typeof langCode !== "string") {
         throw new TypeError("All language codes must be strings.");
       }
-      try {
-        return languageBundle.GetStringFromName(langCode.toLowerCase());
-      } catch (e) {
-        return langCode.toLowerCase(); // Fall back to raw language subtag.
+      let lcLangCode = langCode.toLowerCase();
+      if (availableLocaleDisplayNames.language.has(lcLangCode)) {
+        const value = loc.formatValue(`language-name-${lcLangCode}`);
+        if (value !== undefined) {
+          return value;
+        }
       }
+      return lcLangCode;
     });
   }
 
   getRegionDisplayNames(locales, regionCodes) {
     if (locales !== undefined) {
       throw new Error("First argument support not implemented yet");
     }
 
-    if (!this._cache.hasOwnProperty("regionBundle")) {
-      const regionBundle = Services.strings.createBundle(
-        "chrome://global/locale/regionNames.properties");
-      this._cache.regionBundle = regionBundle;
+    if (!this._cache.hasOwnProperty("regionLocalization")) {
+      const loc = new LocalizationSync(["toolkit/intl/regionNames.ftl"]);
+      this._cache.regionLocalization = loc;
     }
 
+    const loc = this._cache.regionLocalization;
+
     return regionCodes.map(regionCode => {
       if (typeof regionCode !== "string") {
         throw new TypeError("All region codes must be strings.");
       }
-      try {
-        return this._cache.regionBundle.GetStringFromName(regionCode.toLowerCase());
-      } catch (e) {
-        return regionCode.toUpperCase(); // Fall back to raw region subtag.
+      let lcRegionCode = regionCode.toLowerCase();
+      if (availableLocaleDisplayNames.region.has(lcRegionCode)) {
+        const value = loc.formatValue(`region-name-${lcRegionCode}`);
+        if (value !== undefined) {
+          return value;
+        }
       }
+      return regionCode.toUpperCase();
     });
   }
 
   getLocaleDisplayNames(locales, localeCodes) {
     if (locales !== undefined) {
       throw new Error("First argument support not implemented yet");
     }
     // Patterns hardcoded from CLDR 33 english.
--- a/toolkit/components/mozintl/test/test_mozintl.js
+++ b/toolkit/components/mozintl/test/test_mozintl.js
@@ -18,17 +18,16 @@ function test_methods_presence() {
   equal(Services.intl.getLocaleInfo instanceof Function, true);
   equal(Services.intl.getLocaleDisplayNames instanceof Function, true);
 }
 
 function test_methods_calling() {
   Services.intl.getCalendarInfo("pl");
   Services.intl.getDisplayNames("ar");
   Services.intl.getLocaleInfo("de");
-  Services.intl.getLocaleDisplayNames(undefined, ["en-US", "sr-Cyrl-RU"]);
   new Services.intl.DateTimeFormat("fr");
   new Services.intl.RelativeTimeFormat("fr");
   ok(true);
 }
 
 function test_constructors() {
   let constructors = [
     "DateTimeFormat", "NumberFormat", "PluralRules", "Collator"];
--- a/toolkit/components/mozintl/test/test_mozintl_getLocaleDisplayNames.js
+++ b/toolkit/components/mozintl/test/test_mozintl_getLocaleDisplayNames.js
@@ -1,13 +1,34 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 ChromeUtils.import("resource://gre/modules/Services.jsm");
+const { L10nRegistry, FileSource } = ChromeUtils.import("resource://gre/modules/L10nRegistry.jsm", {});
 
+const fs = {
+  "toolkit/intl/languageNames.ftl": `
+language-name-en = English
+  `,
+  "toolkit/intl/regionNames.ftl": `
+region-name-us = United States
+region-name-ru = Russia
+  `,
+};
+
+L10nRegistry.loadSync = function(url) {
+  if (!fs.hasOwnProperty(url)) {
+    return false;
+  }
+  return fs[url];
+};
+
+let locales = Services.locale.packagedLocales;
+const mockSource = new FileSource("mock", locales, "");
+L10nRegistry.registerSource(mockSource);
 
 const gLangDN = Services.intl.getLanguageDisplayNames.bind(Services.intl, undefined);
 const gAvLocDN = Services.intl.getAvailableLocaleDisplayNames.bind(Services.intl);
 const gRegDN = Services.intl.getRegionDisplayNames.bind(Services.intl, undefined);
 const gLocDN = Services.intl.getLocaleDisplayNames.bind(Services.intl, undefined);
 
 add_test(function test_valid_language_tag() {
   deepEqual(gLocDN([]), []);
@@ -78,14 +99,15 @@ add_test(function test_invalid_regions()
   deepEqual(gRegDN(["2"]), ["2"]);
   deepEqual(gRegDN([""]), [""]);
   Assert.throws(() => gRegDN([2]), /All region codes must be strings/);
   Assert.throws(() => gRegDN([{}]), /All region codes must be strings/);
   Assert.throws(() => gRegDN([true]), /All region codes must be strings/);
   run_next_test();
 });
 
-add_test(function test_region() {
-  let regions = gReg(undefined);
-  equal(regions[Symbol.toStringTag], "Map", "Check type is Map");
-  equal(regions.get("US"), "United States", "Check US name");
+add_test(function test_availableLocaleDisplayNames() {
+  let langCodes = gAvLocDN("language");
+  equal(langCodes.length > 0, true, "There should be some language codes available");
+  let regCodes = gAvLocDN("region");
+  equal(regCodes.length > 0, true, "There should be some region codes available");
   run_next_test();
 });
deleted file mode 100644
--- a/toolkit/locales/en-US/chrome/global/languageNames.properties
+++ /dev/null
@@ -1,211 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-aa = Afar
-ab = Abkhazian
-ach = Acholi
-ae = Avestan
-af = Afrikaans
-ak = Akan
-am = Amharic
-an = Aragonese
-ar = Arabic
-as = Assamese
-ast = Asturian
-av = Avaric
-ay = Aymara
-az = Azerbaijani
-ba = Bashkir
-be = Belarusian
-bg = Bulgarian
-bh = Bihari
-bi = Bislama
-bm = Bambara
-bn = Bengali
-bo = Tibetan
-br = Breton
-bs = Bosnian
-ca = Catalan
-cak = Kaqchikel
-ce = Chechen
-ch = Chamorro
-co = Corsican
-cr = Cree
-crh = Crimean Tatar
-cs = Czech
-csb = Kashubian
-cu = Church Slavic
-cv = Chuvash
-cy = Welsh
-da = Danish
-de = German
-dsb = Lower Sorbian
-dv = Divehi
-dz = Dzongkha
-ee = Ewe
-el = Greek
-en = English
-eo = Esperanto
-es = Spanish
-et = Estonian
-eu = Basque
-fa = Persian
-ff = Fulah
-fi = Finnish
-fj = Fijian
-fo = Faroese
-fr = French
-fur = Friulian
-fy = Frisian
-ga = Irish
-gd = Scottish Gaelic
-gl = Galician
-gn = Guarani
-gu = Gujarati
-gv = Manx
-ha = Hausa
-haw = Hawaiian
-he = Hebrew
-hi = Hindi
-hil = Hiligaynon
-ho = Hiri Motu
-hr = Croatian
-hsb = Upper Sorbian
-ht = Haitian
-hu = Hungarian
-hy = Armenian
-hz = Herero
-ia = Interlingua
-id = Indonesian
-ie = Interlingue
-ig = Igbo
-ii = Sichuan Yi
-ik = Inupiaq
-io = Ido
-is = Icelandic
-it = Italian
-iu = Inuktitut
-ja = Japanese
-jv = Javanese
-ka = Georgian
-kab = Kabyle
-kg = Kongo
-ki = Kikuyu
-kj = Kuanyama
-kk = Kazakh
-kl = Greenlandic
-km = Khmer
-kn = Kannada
-ko = Korean
-kok = Konkani
-kr = Kanuri
-ks = Kashmiri
-ku = Kurdish
-kv = Komi
-kw = Cornish
-ky = Kirghiz
-la = Latin
-lb = Luxembourgish
-lg = Ganda
-li = Limburgan
-lij = Ligurian
-ln = Lingala
-lo = Lao
-lt = Lithuanian
-ltg = Latgalian
-lu = Luba-Katanga
-lv = Latvian
-mai = Maithili
-meh = Southwestern Tlaxiaco Mixtec
-mg = Malagasy
-mh = Marshallese
-mi = Maori
-mix = Mixtepec Mixtec
-mk = Macedonian
-ml = Malayalam
-mn = Mongolian
-mr = Marathi
-ms = Malay
-mt = Maltese
-my = Burmese
-na = Nauru
-nb = Norwegian Bokm\u00e5l
-nd = Ndebele, North
-ne = Nepali
-ng = Ndonga
-nl = Dutch
-nn = Norwegian Nynorsk
-no = Norwegian
-nr = Ndebele, South
-nso = Sotho, Northern
-nv = Navajo
-ny = Chichewa
-oc = Occitan
-oj = Ojibwa
-om = Oromo
-or = Odia
-os = Ossetian
-pa = Punjabi
-pi = Pali
-pl = Polish
-ps = Pashto
-pt = Portuguese
-qu = Quechua
-rm = Rhaeto-Romanic
-rn = Kirundi
-ro = Romanian
-ru = Russian
-rw = Kinyarwanda
-sa = Sanskrit
-sc = Sardinian
-sd = Sindhi
-se = Northern Sami
-sg = Sango
-si = Singhalese
-sk = Slovak
-sl = Slovenian
-sm = Samoan
-sn = Shona
-so = Somali
-son = Songhay
-sq = Albanian
-sr = Serbian
-ss = Siswati
-st = Sotho, Southern
-su = Sundanese
-sv = Swedish
-sw = Swahili
-ta = Tamil
-te = Telugu
-tg = Tajik
-th = Thai
-ti = Tigrinya
-tig = Tigre
-tk = Turkmen
-tl = Tagalog
-tlh = Klingon
-tn = Tswana
-to = Tonga
-tr = Turkish
-ts = Tsonga
-tt = Tatar
-tw = Twi
-ty = Tahitian
-ug = Uighur
-uk = Ukrainian
-ur = Urdu
-uz = Uzbek
-ve = Venda
-vi = Vietnamese
-vo = Volap\u00fck
-wa = Walloon
-wen = Sorbian
-wo = Wolof
-xh = Xhosa
-yi = Yiddish
-yo = Yoruba
-za = Zhuang
-zam = Miahuatlán Zapotec
-zh = Chinese
-zu = Zulu
deleted file mode 100644
--- a/toolkit/locales/en-US/chrome/global/regionNames.properties
+++ /dev/null
@@ -1,276 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-ad	=	Andorra
-ae	=	United Arab Emirates
-af	=	Afghanistan
-ag	=	Antigua and Barbuda
-ai	=	Anguilla
-al	=	Albania
-am	=	Armenia
-ao	=	Angola
-aq	=	Antarctica
-ar	=	Argentina
-as	=	American Samoa
-at	=	Austria
-au	=	Australia
-aw	=	Aruba
-az	=	Azerbaijan
-ba	=	Bosnia and Herzegovina
-bb	=	Barbados
-bd	=	Bangladesh
-be	=	Belgium
-bf	=	Burkina Faso
-bg	=	Bulgaria
-bh	=	Bahrain
-bi	=	Burundi
-bj	=	Benin
-bl	=	Saint Barthelemy
-bm	=	Bermuda
-bn	=	Brunei
-bo	=	Bolivia
-bq	=	Bonaire, Sint Eustatius, and Saba
-br	=	Brazil
-bs	=	Bahamas, The
-bt	=	Bhutan
-bv	=	Bouvet Island
-bw	=	Botswana
-by	=	Belarus
-bz	=	Belize
-ca	=	Canada
-cc	=	Cocos (Keeling) Islands
-cd	=	Congo (Kinshasa)
-cf	=	Central African Republic
-cg	=	Congo (Brazzaville)
-ch	=	Switzerland
-ci	=	Côte d’Ivoire
-ck	=	Cook Islands
-cl	=	Chile
-cm	=	Cameroon
-cn	=	China
-co	=	Colombia
-cp	=	Clipperton Island
-cr	=	Costa Rica
-cu	=	Cuba
-cv	=	Cabo Verde
-cw	=	Curaçao
-cx	=	Christmas Island
-cy	=	Cyprus
-cz	=	Czech Republic
-de	=	Germany
-dg	=	Diego Garcia
-dj	=	Djibouti
-dk	=	Denmark
-dm	=	Dominica
-do	=	Dominican Republic
-dz	=	Algeria
-ec	=	Ecuador
-ee	=	Estonia
-eg	=	Egypt
-eh	=	Western Sahara
-er	=	Eritrea
-es	=	Spain
-et	=	Ethiopia
-fi	=	Finland
-fj	=	Fiji
-fk	=	Falkland Islands (Islas Malvinas)
-fm	=	Micronesia, Federated States of
-fo	=	Faroe Islands
-fr	=	France
-ga	=	Gabon
-gb	=	United Kingdom
-gd	=	Grenada
-ge	=	Georgia
-gf	=	French Guiana
-gg	=	Guernsey
-gh	=	Ghana
-gi	=	Gibraltar
-gl	=	Greenland
-gm	=	Gambia, The
-gn	=	Guinea
-gp	=	Guadeloupe
-gq	=	Equatorial Guinea
-gr	=	Greece
-gs	=	South Georgia and South Sandwich Islands
-gt	=	Guatemala
-gu	=	Guam
-gw	=	Guinea-Bissau
-gy	=	Guyana
-hk	=	Hong Kong
-hm	=	Heard Island and McDonald Islands
-hn	=	Honduras
-hr	=	Croatia
-ht	=	Haiti
-hu	=	Hungary
-id	=	Indonesia
-ie	=	Ireland
-il	=	Israel
-im	=	Isle of Man
-in	=	India
-io	=	British Indian Ocean Territory
-iq	=	Iraq
-ir	=	Iran
-is	=	Iceland
-it	=	Italy
-je	=	Jersey
-jm	=	Jamaica
-jo	=	Jordan
-jp	=	Japan
-ke	=	Kenya
-kg	=	Kyrgyzstan
-kh	=	Cambodia
-ki	=	Kiribati
-km	=	Comoros
-kn	=	Saint Kitts and Nevis
-kp	=	Korea, North
-kr	=	Korea, South
-kw	=	Kuwait
-ky	=	Cayman Islands
-kz	=	Kazakhstan
-la	=	Laos
-lb	=	Lebanon
-lc	=	Saint Lucia
-li	=	Liechtenstein
-lk	=	Sri Lanka
-lr	=	Liberia
-ls	=	Lesotho
-lt	=	Lithuania
-lu	=	Luxembourg
-lv	=	Latvia
-ly	=	Libya
-ma	=	Morocco
-mc	=	Monaco
-md	=	Moldova
-me	=	Montenegro
-mf	=	Saint Martin
-mg	=	Madagascar
-mh	=	Marshall Islands
-mk	=	Macedonia
-ml	=	Mali
-mm	=	Burma
-mn	=	Mongolia
-mo	=	Macau
-mp	=	Northern Mariana Islands
-mq	=	Martinique
-mr	=	Mauritania
-ms	=	Montserrat
-mt	=	Malta
-mu	=	Mauritius
-mv	=	Maldives
-mw	=	Malawi
-mx	=	Mexico
-my	=	Malaysia
-mz	=	Mozambique
-na	=	Namibia
-nc	=	New Caledonia
-ne	=	Niger
-nf	=	Norfolk Island
-ng	=	Nigeria
-ni	=	Nicaragua
-nl	=	Netherlands
-no	=	Norway
-np	=	Nepal
-nr	=	Nauru
-nu	=	Niue
-nz	=	New Zealand
-om	=	Oman
-pa	=	Panama
-pe	=	Peru
-pf	=	French Polynesia
-pg	=	Papua New Guinea
-ph	=	Philippines
-pk	=	Pakistan
-pl	=	Poland
-pm	=	Saint Pierre and Miquelon
-pn	=	Pitcairn Islands
-pr	=	Puerto Rico
-pt	=	Portugal
-pw	=	Palau
-py	=	Paraguay
-qa	=	Qatar
-qm	=	Midway Islands
-qs	=	Bassas da India
-qu	=	Juan de Nova Island
-qw	=	Wake Island
-qx	=	Glorioso Islands
-qz	=	Akrotiri
-re	=	Reunion
-ro	=	Romania
-rs	=	Serbia
-ru	=	Russia
-rw	=	Rwanda
-sa	=	Saudi Arabia
-sb	=	Solomon Islands
-sc	=	Seychelles
-sd	=	Sudan
-se	=	Sweden
-sg	=	Singapore
-sh	=	Saint Helena, Ascension, and Tristan da Cunha
-si	=	Slovenia
-sk	=	Slovakia
-sl	=	Sierra Leone
-sm	=	San Marino
-sn	=	Senegal
-so	=	Somalia
-sr	=	Suriname
-ss	=	South Sudan
-st	=	Sao Tome and Principe
-sv	=	El Salvador
-sx	=	Sint Maarten
-sy	=	Syria
-sz	=	Swaziland
-tc	=	Turks and Caicos Islands
-td	=	Chad
-tf	=	French Southern and Antarctic Lands
-tg	=	Togo
-th	=	Thailand
-tj	=	Tajikistan
-tk	=	Tokelau
-tl	=	Timor-Leste
-tm	=	Turkmenistan
-tn	=	Tunisia
-to	=	Tonga
-tr	=	Turkey
-tt	=	Trinidad and Tobago
-tv	=	Tuvalu
-tw	=	Taiwan
-tz	=	Tanzania
-ua	=	Ukraine
-ug	=	Uganda
-us	=	United States
-uy	=	Uruguay
-uz	=	Uzbekistan
-va	=	Vatican City
-vc	=	Saint Vincent and the Grenadines
-ve	=	Venezuela
-vg	=	Virgin Islands, British
-vi	=	Virgin Islands, U.S.
-vn	=	Vietnam
-vu	=	Vanuatu
-wf	=	Wallis and Futuna
-ws	=	Samoa
-xa	=	Ashmore and Cartier Islands
-xb	=	Baker Island
-xc	=	Coral Sea Islands
-xd	=	Dhekelia
-xe	=	Europa Island
-xg	=	Gaza Strip
-xh	=	Howland Island
-xj	=	Jan Mayen
-xk	=	Kosovo
-xl	=	Palmyra Atoll
-xm	=	Kingman Reef
-xp	=	Paracel Islands
-xq	=	Jarvis Island
-xr	=	Svalbard
-xs	=	Spratly Islands
-xt	=	Tromelin Island
-xu	=	Johnston Atoll
-xv	=	Navassa Island
-xw	=	West Bank
-ye	=	Yemen
-yt	=	Mayotte
-za	=	South Africa
-zm	=	Zambia
-zw	=	Zimbabwe
new file mode 100644
--- /dev/null
+++ b/toolkit/locales/en-US/toolkit/intl/languageNames.ftl
@@ -0,0 +1,211 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+language-name-aa = Afar
+language-name-ab = Abkhazian
+language-name-ach = Acholi
+language-name-ae = Avestan
+language-name-af = Afrikaans
+language-name-ak = Akan
+language-name-am = Amharic
+language-name-an = Aragonese
+language-name-ar = Arabic
+language-name-as = Assamese
+language-name-ast = Asturian
+language-name-av = Avaric
+language-name-ay = Aymara
+language-name-az = Azerbaijani
+language-name-ba = Bashkir
+language-name-be = Belarusian
+language-name-bg = Bulgarian
+language-name-bh = Bihari
+language-name-bi = Bislama
+language-name-bm = Bambara
+language-name-bn = Bengali
+language-name-bo = Tibetan
+language-name-br = Breton
+language-name-bs = Bosnian
+language-name-ca = Catalan
+language-name-cak = Kaqchikel
+language-name-ce = Chechen
+language-name-ch = Chamorro
+language-name-co = Corsican
+language-name-cr = Cree
+language-name-crh = Crimean Tatar
+language-name-cs = Czech
+language-name-csb = Kashubian
+language-name-cu = Church Slavic
+language-name-cv = Chuvash
+language-name-cy = Welsh
+language-name-da = Danish
+language-name-de = German
+language-name-dsb = Lower Sorbian
+language-name-dv = Divehi
+language-name-dz = Dzongkha
+language-name-ee = Ewe
+language-name-el = Greek
+language-name-en = English
+language-name-eo = Esperanto
+language-name-es = Spanish
+language-name-et = Estonian
+language-name-eu = Basque
+language-name-fa = Persian
+language-name-ff = Fulah
+language-name-fi = Finnish
+language-name-fj = Fijian
+language-name-fo = Faroese
+language-name-fr = French
+language-name-fur = Friulian
+language-name-fy = Frisian
+language-name-ga = Irish
+language-name-gd = Scottish Gaelic
+language-name-gl = Galician
+language-name-gn = Guarani
+language-name-gu = Gujarati
+language-name-gv = Manx
+language-name-ha = Hausa
+language-name-haw = Hawaiian
+language-name-he = Hebrew
+language-name-hi = Hindi
+language-name-hil = Hiligaynon
+language-name-ho = Hiri Motu
+language-name-hr = Croatian
+language-name-hsb = Upper Sorbian
+language-name-ht = Haitian
+language-name-hu = Hungarian
+language-name-hy = Armenian
+language-name-hz = Herero
+language-name-ia = Interlingua
+language-name-id = Indonesian
+language-name-ie = Interlingue
+language-name-ig = Igbo
+language-name-ii = Sichuan Yi
+language-name-ik = Inupiaq
+language-name-io = Ido
+language-name-is = Icelandic
+language-name-it = Italian
+language-name-iu = Inuktitut
+language-name-ja = Japanese
+language-name-jv = Javanese
+language-name-ka = Georgian
+language-name-kab = Kabyle
+language-name-kg = Kongo
+language-name-ki = Kikuyu
+language-name-kj = Kuanyama
+language-name-kk = Kazakh
+language-name-kl = Greenlandic
+language-name-km = Khmer
+language-name-kn = Kannada
+language-name-ko = Korean
+language-name-kok = Konkani
+language-name-kr = Kanuri
+language-name-ks = Kashmiri
+language-name-ku = Kurdish
+language-name-kv = Komi
+language-name-kw = Cornish
+language-name-ky = Kirghiz
+language-name-la = Latin
+language-name-lb = Luxembourgish
+language-name-lg = Ganda
+language-name-li = Limburgan
+language-name-lij = Ligurian
+language-name-ln = Lingala
+language-name-lo = Lao
+language-name-lt = Lithuanian
+language-name-ltg = Latgalian
+language-name-lu = Luba-Katanga
+language-name-lv = Latvian
+language-name-mai = Maithili
+language-name-meh = Southwestern Tlaxiaco Mixtec
+language-name-mg = Malagasy
+language-name-mh = Marshallese
+language-name-mi = Maori
+language-name-mix = Mixtepec Mixtec
+language-name-mk = Macedonian
+language-name-ml = Malayalam
+language-name-mn = Mongolian
+language-name-mr = Marathi
+language-name-ms = Malay
+language-name-mt = Maltese
+language-name-my = Burmese
+language-name-na = Nauru
+language-name-nb = Norwegian Bokmål
+language-name-nd = Ndebele, North
+language-name-ne = Nepali
+language-name-ng = Ndonga
+language-name-nl = Dutch
+language-name-nn = Norwegian Nynorsk
+language-name-no = Norwegian
+language-name-nr = Ndebele, South
+language-name-nso = Sotho, Northern
+language-name-nv = Navajo
+language-name-ny = Chichewa
+language-name-oc = Occitan
+language-name-oj = Ojibwa
+language-name-om = Oromo
+language-name-or = Odia
+language-name-os = Ossetian
+language-name-pa = Punjabi
+language-name-pi = Pali
+language-name-pl = Polish
+language-name-ps = Pashto
+language-name-pt = Portuguese
+language-name-qu = Quechua
+language-name-rm = Rhaeto-Romanic
+language-name-rn = Kirundi
+language-name-ro = Romanian
+language-name-ru = Russian
+language-name-rw = Kinyarwanda
+language-name-sa = Sanskrit
+language-name-sc = Sardinian
+language-name-sd = Sindhi
+language-name-se = Northern Sami
+language-name-sg = Sango
+language-name-si = Singhalese
+language-name-sk = Slovak
+language-name-sl = Slovenian
+language-name-sm = Samoan
+language-name-sn = Shona
+language-name-so = Somali
+language-name-son = Songhay
+language-name-sq = Albanian
+language-name-sr = Serbian
+language-name-ss = Siswati
+language-name-st = Sotho, Southern
+language-name-su = Sundanese
+language-name-sv = Swedish
+language-name-sw = Swahili
+language-name-ta = Tamil
+language-name-te = Telugu
+language-name-tg = Tajik
+language-name-th = Thai
+language-name-ti = Tigrinya
+language-name-tig = Tigre
+language-name-tk = Turkmen
+language-name-tl = Tagalog
+language-name-tlh = Klingon
+language-name-tn = Tswana
+language-name-to = Tonga
+language-name-tr = Turkish
+language-name-ts = Tsonga
+language-name-tt = Tatar
+language-name-tw = Twi
+language-name-ty = Tahitian
+language-name-ug = Uighur
+language-name-uk = Ukrainian
+language-name-ur = Urdu
+language-name-uz = Uzbek
+language-name-ve = Venda
+language-name-vi = Vietnamese
+language-name-vo = Volapük
+language-name-wa = Walloon
+language-name-wen = Sorbian
+language-name-wo = Wolof
+language-name-xh = Xhosa
+language-name-yi = Yiddish
+language-name-yo = Yoruba
+language-name-za = Zhuang
+language-name-zam = Miahuatlán Zapotec
+language-name-zh = Chinese
+language-name-zu = Zulu
new file mode 100644
--- /dev/null
+++ b/toolkit/locales/en-US/toolkit/intl/regionNames.ftl
@@ -0,0 +1,279 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+### Notice: If you're updating this list, you should also
+###         update the list in mozIntl.js.
+
+region-name-ad = Andorra
+region-name-ae = United Arab Emirates
+region-name-af = Afghanistan
+region-name-ag = Antigua and Barbuda
+region-name-ai = Anguilla
+region-name-al = Albania
+region-name-am = Armenia
+region-name-ao = Angola
+region-name-aq = Antarctica
+region-name-ar = Argentina
+region-name-as = American Samoa
+region-name-at = Austria
+region-name-au = Australia
+region-name-aw = Aruba
+region-name-az = Azerbaijan
+region-name-ba = Bosnia and Herzegovina
+region-name-bb = Barbados
+region-name-bd = Bangladesh
+region-name-be = Belgium
+region-name-bf = Burkina Faso
+region-name-bg = Bulgaria
+region-name-bh = Bahrain
+region-name-bi = Burundi
+region-name-bj = Benin
+region-name-bl = Saint Barthelemy
+region-name-bm = Bermuda
+region-name-bn = Brunei
+region-name-bo = Bolivia
+region-name-bq = Bonaire, Sint Eustatius, and Saba
+region-name-br = Brazil
+region-name-bs = Bahamas, The
+region-name-bt = Bhutan
+region-name-bv = Bouvet Island
+region-name-bw = Botswana
+region-name-by = Belarus
+region-name-bz = Belize
+region-name-ca = Canada
+region-name-cc = Cocos (Keeling) Islands
+region-name-cd = Congo (Kinshasa)
+region-name-cf = Central African Republic
+region-name-cg = Congo (Brazzaville)
+region-name-ch = Switzerland
+region-name-ci = Côte d’Ivoire
+region-name-ck = Cook Islands
+region-name-cl = Chile
+region-name-cm = Cameroon
+region-name-cn = China
+region-name-co = Colombia
+region-name-cp = Clipperton Island
+region-name-cr = Costa Rica
+region-name-cu = Cuba
+region-name-cv = Cabo Verde
+region-name-cw = Curaçao
+region-name-cx = Christmas Island
+region-name-cy = Cyprus
+region-name-cz = Czech Republic
+region-name-de = Germany
+region-name-dg = Diego Garcia
+region-name-dj = Djibouti
+region-name-dk = Denmark
+region-name-dm = Dominica
+region-name-do = Dominican Republic
+region-name-dz = Algeria
+region-name-ec = Ecuador
+region-name-ee = Estonia
+region-name-eg = Egypt
+region-name-eh = Western Sahara
+region-name-er = Eritrea
+region-name-es = Spain
+region-name-et = Ethiopia
+region-name-fi = Finland
+region-name-fj = Fiji
+region-name-fk = Falkland Islands (Islas Malvinas)
+region-name-fm = Micronesia, Federated States of
+region-name-fo = Faroe Islands
+region-name-fr = France
+region-name-ga = Gabon
+region-name-gb = United Kingdom
+region-name-gd = Grenada
+region-name-ge = Georgia
+region-name-gf = French Guiana
+region-name-gg = Guernsey
+region-name-gh = Ghana
+region-name-gi = Gibraltar
+region-name-gl = Greenland
+region-name-gm = Gambia, The
+region-name-gn = Guinea
+region-name-gp = Guadeloupe
+region-name-gq = Equatorial Guinea
+region-name-gr = Greece
+region-name-gs = South Georgia and South Sandwich Islands
+region-name-gt = Guatemala
+region-name-gu = Guam
+region-name-gw = Guinea-Bissau
+region-name-gy = Guyana
+region-name-hk = Hong Kong
+region-name-hm = Heard Island and McDonald Islands
+region-name-hn = Honduras
+region-name-hr = Croatia
+region-name-ht = Haiti
+region-name-hu = Hungary
+region-name-id = Indonesia
+region-name-ie = Ireland
+region-name-il = Israel
+region-name-im = Isle of Man
+region-name-in = India
+region-name-io = British Indian Ocean Territory
+region-name-iq = Iraq
+region-name-ir = Iran
+region-name-is = Iceland
+region-name-it = Italy
+region-name-je = Jersey
+region-name-jm = Jamaica
+region-name-jo = Jordan
+region-name-jp = Japan
+region-name-ke = Kenya
+region-name-kg = Kyrgyzstan
+region-name-kh = Cambodia
+region-name-ki = Kiribati
+region-name-km = Comoros
+region-name-kn = Saint Kitts and Nevis
+region-name-kp = Korea, North
+region-name-kr = Korea, South
+region-name-kw = Kuwait
+region-name-ky = Cayman Islands
+region-name-kz = Kazakhstan
+region-name-la = Laos
+region-name-lb = Lebanon
+region-name-lc = Saint Lucia
+region-name-li = Liechtenstein
+region-name-lk = Sri Lanka
+region-name-lr = Liberia
+region-name-ls = Lesotho
+region-name-lt = Lithuania
+region-name-lu = Luxembourg
+region-name-lv = Latvia
+region-name-ly = Libya
+region-name-ma = Morocco
+region-name-mc = Monaco
+region-name-md = Moldova
+region-name-me = Montenegro
+region-name-mf = Saint Martin
+region-name-mg = Madagascar
+region-name-mh = Marshall Islands
+region-name-mk = Macedonia
+region-name-ml = Mali
+region-name-mm = Burma
+region-name-mn = Mongolia
+region-name-mo = Macau
+region-name-mp = Northern Mariana Islands
+region-name-mq = Martinique
+region-name-mr = Mauritania
+region-name-ms = Montserrat
+region-name-mt = Malta
+region-name-mu = Mauritius
+region-name-mv = Maldives
+region-name-mw = Malawi
+region-name-mx = Mexico
+region-name-my = Malaysia
+region-name-mz = Mozambique
+region-name-na = Namibia
+region-name-nc = New Caledonia
+region-name-ne = Niger
+region-name-nf = Norfolk Island
+region-name-ng = Nigeria
+region-name-ni = Nicaragua
+region-name-nl = Netherlands
+region-name-no = Norway
+region-name-np = Nepal
+region-name-nr = Nauru
+region-name-nu = Niue
+region-name-nz = New Zealand
+region-name-om = Oman
+region-name-pa = Panama
+region-name-pe = Peru
+region-name-pf = French Polynesia
+region-name-pg = Papua New Guinea
+region-name-ph = Philippines
+region-name-pk = Pakistan
+region-name-pl = Poland
+region-name-pm = Saint Pierre and Miquelon
+region-name-pn = Pitcairn Islands
+region-name-pr = Puerto Rico
+region-name-pt = Portugal
+region-name-pw = Palau
+region-name-py = Paraguay
+region-name-qa = Qatar
+region-name-qm = Midway Islands
+region-name-qs = Bassas da India
+region-name-qu = Juan de Nova Island
+region-name-qw = Wake Island
+region-name-qx = Glorioso Islands
+region-name-qz = Akrotiri
+region-name-re = Reunion
+region-name-ro = Romania
+region-name-rs = Serbia
+region-name-ru = Russia
+region-name-rw = Rwanda
+region-name-sa = Saudi Arabia
+region-name-sb = Solomon Islands
+region-name-sc = Seychelles
+region-name-sd = Sudan
+region-name-se = Sweden
+region-name-sg = Singapore
+region-name-sh = Saint Helena, Ascension, and Tristan da Cunha
+region-name-si = Slovenia
+region-name-sk = Slovakia
+region-name-sl = Sierra Leone
+region-name-sm = San Marino
+region-name-sn = Senegal
+region-name-so = Somalia
+region-name-sr = Suriname
+region-name-ss = South Sudan
+region-name-st = Sao Tome and Principe
+region-name-sv = El Salvador
+region-name-sx = Sint Maarten
+region-name-sy = Syria
+region-name-sz = Swaziland
+region-name-tc = Turks and Caicos Islands
+region-name-td = Chad
+region-name-tf = French Southern and Antarctic Lands
+region-name-tg = Togo
+region-name-th = Thailand
+region-name-tj = Tajikistan
+region-name-tk = Tokelau
+region-name-tl = Timor-Leste
+region-name-tm = Turkmenistan
+region-name-tn = Tunisia
+region-name-to = Tonga
+region-name-tr = Turkey
+region-name-tt = Trinidad and Tobago
+region-name-tv = Tuvalu
+region-name-tw = Taiwan
+region-name-tz = Tanzania
+region-name-ua = Ukraine
+region-name-ug = Uganda
+region-name-us = United States
+region-name-uy = Uruguay
+region-name-uz = Uzbekistan
+region-name-va = Vatican City
+region-name-vc = Saint Vincent and the Grenadines
+region-name-ve = Venezuela
+region-name-vg = Virgin Islands, British
+region-name-vi = Virgin Islands, U.S.
+region-name-vn = Vietnam
+region-name-vu = Vanuatu
+region-name-wf = Wallis and Futuna
+region-name-ws = Samoa
+region-name-xa = Ashmore and Cartier Islands
+region-name-xb = Baker Island
+region-name-xc = Coral Sea Islands
+region-name-xd = Dhekelia
+region-name-xe = Europa Island
+region-name-xg = Gaza Strip
+region-name-xh = Howland Island
+region-name-xj = Jan Mayen
+region-name-xk = Kosovo
+region-name-xl = Palmyra Atoll
+region-name-xm = Kingman Reef
+region-name-xp = Paracel Islands
+region-name-xq = Jarvis Island
+region-name-xr = Svalbard
+region-name-xs = Spratly Islands
+region-name-xt = Tromelin Island
+region-name-xu = Johnston Atoll
+region-name-xv = Navassa Island
+region-name-xw = West Bank
+region-name-ye = Yemen
+region-name-yt = Mayotte
+region-name-za = South Africa
+region-name-zm = Zambia
+region-name-zw = Zimbabwe
--- a/toolkit/locales/jar.mn
+++ b/toolkit/locales/jar.mn
@@ -33,30 +33,28 @@
   locale/@AB_CD@/global/filepicker.properties           (%chrome/global/filepicker.properties)
 #ifndef MOZ_FENNEC
   locale/@AB_CD@/global/findbar.properties              (%chrome/global/findbar.properties)
 #endif
   locale/@AB_CD@/global/globalKeys.dtd                  (%chrome/global/globalKeys.dtd)
   locale/@AB_CD@/global/intl.css                        (%chrome/global/intl.css)
   locale/@AB_CD@/global/intl.properties                 (%chrome/global/intl.properties)
   locale/@AB_CD@/global/keys.properties                 (%chrome/global/keys.properties)
-  locale/@AB_CD@/global/languageNames.properties        (%chrome/global/languageNames.properties)
   locale/@AB_CD@/global/mozilla.dtd                     (%chrome/global/mozilla.dtd)
 #ifndef MOZ_FENNEC
   locale/@AB_CD@/global/narrate.properties              (%chrome/global/narrate.properties)
 #endif
   locale/@AB_CD@/global/notification.dtd                (%chrome/global/notification.dtd)
 #ifndef MOZ_FENNEC
   locale/@AB_CD@/global/printPageSetup.dtd              (%chrome/global/printPageSetup.dtd)
   locale/@AB_CD@/global/printPreview.dtd                (%chrome/global/printPreview.dtd)
   locale/@AB_CD@/global/printPreviewProgress.dtd        (%chrome/global/printPreviewProgress.dtd)
   locale/@AB_CD@/global/printdialog.properties          (%chrome/global/printdialog.properties)
   locale/@AB_CD@/global/printProgress.dtd               (%chrome/global/printProgress.dtd)
 #endif
-  locale/@AB_CD@/global/regionNames.properties          (%chrome/global/regionNames.properties)
   locale/@AB_CD@/global/resetProfile.dtd                (%chrome/global/resetProfile.dtd)
   locale/@AB_CD@/global/resetProfile.properties         (%chrome/global/resetProfile.properties)
   locale/@AB_CD@/global/dialog.properties               (%chrome/global/dialog.properties)
   locale/@AB_CD@/global/tree.dtd                        (%chrome/global/tree.dtd)
   locale/@AB_CD@/global/textcontext.dtd                 (%chrome/global/textcontext.dtd)
   locale/@AB_CD@/global/videocontrols.dtd               (%chrome/global/videocontrols.dtd)
   locale/@AB_CD@/global/viewSource.properties           (%chrome/global/viewSource.properties)
   locale/@AB_CD@/global/wizard.dtd                      (%chrome/global/wizard.dtd)