summaryrefslogtreecommitdiffstats
path: root/toolkit/locales
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /toolkit/locales
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'toolkit/locales')
-rw-r--r--toolkit/locales/Makefile.in40
-rw-r--r--toolkit/locales/all-locales14
-rw-r--r--toolkit/locales/compare-locales.pl261
-rw-r--r--toolkit/locales/en-US/chrome/alerts/alert.dtd6
-rw-r--r--toolkit/locales/en-US/chrome/alerts/alert.properties23
-rw-r--r--toolkit/locales/en-US/chrome/autoconfig/autoconfig.properties12
-rw-r--r--toolkit/locales/en-US/chrome/cookie/cookieAcceptDialog.dtd21
-rw-r--r--toolkit/locales/en-US/chrome/cookie/cookieAcceptDialog.properties19
-rw-r--r--toolkit/locales/en-US/chrome/formautofill/requestAutocomplete.dtd5
-rw-r--r--toolkit/locales/en-US/chrome/global-platform/mac/intl.properties7
-rw-r--r--toolkit/locales/en-US/chrome/global-platform/mac/platformKeys.properties25
-rw-r--r--toolkit/locales/en-US/chrome/global-platform/unix/intl.properties7
-rw-r--r--toolkit/locales/en-US/chrome/global-platform/unix/platformKeys.properties25
-rw-r--r--toolkit/locales/en-US/chrome/global-platform/win/intl.properties7
-rw-r--r--toolkit/locales/en-US/chrome/global-platform/win/platformKeys.properties25
-rw-r--r--toolkit/locales/en-US/chrome/global/about.dtd30
-rw-r--r--toolkit/locales/en-US/chrome/global/aboutAbout.dtd8
-rw-r--r--toolkit/locales/en-US/chrome/global/aboutNetworking.dtd43
-rw-r--r--toolkit/locales/en-US/chrome/global/aboutProfiles.dtd10
-rw-r--r--toolkit/locales/en-US/chrome/global/aboutProfiles.properties42
-rw-r--r--toolkit/locales/en-US/chrome/global/aboutReader.properties32
-rw-r--r--toolkit/locales/en-US/chrome/global/aboutRights.dtd91
-rw-r--r--toolkit/locales/en-US/chrome/global/aboutServiceWorkers.dtd12
-rw-r--r--toolkit/locales/en-US/chrome/global/aboutServiceWorkers.properties36
-rw-r--r--toolkit/locales/en-US/chrome/global/aboutSupport.dtd124
-rw-r--r--toolkit/locales/en-US/chrome/global/aboutSupport.properties127
-rw-r--r--toolkit/locales/en-US/chrome/global/aboutTelemetry.dtd169
-rw-r--r--toolkit/locales/en-US/chrome/global/aboutTelemetry.properties83
-rw-r--r--toolkit/locales/en-US/chrome/global/aboutWebrtc.properties120
-rw-r--r--toolkit/locales/en-US/chrome/global/appPicker.dtd7
-rw-r--r--toolkit/locales/en-US/chrome/global/autocomplete.properties23
-rw-r--r--toolkit/locales/en-US/chrome/global/browser.properties14
-rw-r--r--toolkit/locales/en-US/chrome/global/charsetMenu.dtd6
-rw-r--r--toolkit/locales/en-US/chrome/global/charsetMenu.properties116
-rw-r--r--toolkit/locales/en-US/chrome/global/commonDialog.dtd13
-rw-r--r--toolkit/locales/en-US/chrome/global/commonDialogs.properties32
-rw-r--r--toolkit/locales/en-US/chrome/global/config.dtd50
-rw-r--r--toolkit/locales/en-US/chrome/global/config.properties22
-rw-r--r--toolkit/locales/en-US/chrome/global/console.dtd37
-rw-r--r--toolkit/locales/en-US/chrome/global/console.properties17
-rw-r--r--toolkit/locales/en-US/chrome/global/contentAreaCommands.properties22
-rw-r--r--toolkit/locales/en-US/chrome/global/customizeToolbar.dtd16
-rw-r--r--toolkit/locales/en-US/chrome/global/customizeToolbar.properties11
-rw-r--r--toolkit/locales/en-US/chrome/global/dateFormat.properties58
-rw-r--r--toolkit/locales/en-US/chrome/global/datetimepicker.dtd7
-rw-r--r--toolkit/locales/en-US/chrome/global/dialog.properties12
-rw-r--r--toolkit/locales/en-US/chrome/global/dialogOverlay.dtd10
-rw-r--r--toolkit/locales/en-US/chrome/global/editMenuOverlay.dtd35
-rw-r--r--toolkit/locales/en-US/chrome/global/extensions.properties29
-rw-r--r--toolkit/locales/en-US/chrome/global/fallbackMenubar.properties8
-rw-r--r--toolkit/locales/en-US/chrome/global/filefield.properties7
-rw-r--r--toolkit/locales/en-US/chrome/global/filepicker.dtd21
-rw-r--r--toolkit/locales/en-US/chrome/global/filepicker.properties55
-rw-r--r--toolkit/locales/en-US/chrome/global/findbar.dtd19
-rw-r--r--toolkit/locales/en-US/chrome/global/findbar.properties22
-rw-r--r--toolkit/locales/en-US/chrome/global/finddialog.dtd22
-rw-r--r--toolkit/locales/en-US/chrome/global/finddialog.properties6
-rw-r--r--toolkit/locales/en-US/chrome/global/globalKeys.dtd6
-rw-r--r--toolkit/locales/en-US/chrome/global/headsUpDisplay.properties15
-rw-r--r--toolkit/locales/en-US/chrome/global/intl.css11
-rw-r--r--toolkit/locales/en-US/chrome/global/intl.properties61
-rw-r--r--toolkit/locales/en-US/chrome/global/keys.properties71
-rw-r--r--toolkit/locales/en-US/chrome/global/languageNames.properties201
-rw-r--r--toolkit/locales/en-US/chrome/global/mozilla.dtd14
-rw-r--r--toolkit/locales/en-US/chrome/global/narrate.properties19
-rw-r--r--toolkit/locales/en-US/chrome/global/notification.dtd11
-rw-r--r--toolkit/locales/en-US/chrome/global/nsTreeSorting.properties5
-rw-r--r--toolkit/locales/en-US/chrome/global/preferences.dtd9
-rw-r--r--toolkit/locales/en-US/chrome/global/printPageSetup.dtd66
-rw-r--r--toolkit/locales/en-US/chrome/global/printPreview.dtd43
-rw-r--r--toolkit/locales/en-US/chrome/global/printPreviewProgress.dtd9
-rw-r--r--toolkit/locales/en-US/chrome/global/printProgress.dtd21
-rw-r--r--toolkit/locales/en-US/chrome/global/printdialog.dtd44
-rw-r--r--toolkit/locales/en-US/chrome/global/printdialog.properties63
-rw-r--r--toolkit/locales/en-US/chrome/global/printjoboptions.dtd29
-rw-r--r--toolkit/locales/en-US/chrome/global/regionNames.properties276
-rw-r--r--toolkit/locales/en-US/chrome/global/resetProfile.dtd15
-rw-r--r--toolkit/locales/en-US/chrome/global/resetProfile.properties14
-rw-r--r--toolkit/locales/en-US/chrome/global/textcontext.dtd37
-rw-r--r--toolkit/locales/en-US/chrome/global/tree.dtd5
-rw-r--r--toolkit/locales/en-US/chrome/global/videocontrols.dtd39
-rw-r--r--toolkit/locales/en-US/chrome/global/viewSource.dtd86
-rw-r--r--toolkit/locales/en-US/chrome/global/viewSource.properties18
-rw-r--r--toolkit/locales/en-US/chrome/global/wizard.dtd24
-rw-r--r--toolkit/locales/en-US/chrome/global/wizard.properties8
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/downloads/downloads.dtd52
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/downloads/downloads.properties142
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/downloads/settingsChange.dtd6
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/downloads/unknownContentType.dtd26
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/downloads/unknownContentType.properties19
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/extensions/about.dtd9
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/extensions/blocklist.dtd17
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/extensions/extensions.dtd251
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/extensions/extensions.properties184
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/extensions/newaddon.dtd15
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/extensions/newaddon.properties10
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/extensions/update.dtd65
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/extensions/update.properties21
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/extensions/xpinstallConfirm.dtd13
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/extensions/xpinstallConfirm.properties11
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/handling/handling.dtd10
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/handling/handling.properties12
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/preferences/changemp.dtd13
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/preferences/preferences.properties17
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/preferences/removemp.dtd10
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/profile/createProfileWizard.dtd25
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/profile/profileSelection.dtd31
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/profile/profileSelection.properties51
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/update/history.dtd16
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/update/updates.dtd77
-rw-r--r--toolkit/locales/en-US/chrome/mozapps/update/updates.properties95
-rw-r--r--toolkit/locales/en-US/chrome/passwordmgr/passwordManager.dtd46
-rw-r--r--toolkit/locales/en-US/chrome/passwordmgr/passwordmgr.properties70
-rw-r--r--toolkit/locales/en-US/chrome/places/places.properties32
-rw-r--r--toolkit/locales/en-US/chrome/pluginproblem/pluginproblem.dtd31
-rw-r--r--toolkit/locales/en-US/chrome/search/search.properties20
-rw-r--r--toolkit/locales/en-US/crashreporter/crashes.dtd13
-rw-r--r--toolkit/locales/en-US/crashreporter/crashes.properties7
-rw-r--r--toolkit/locales/en-US/crashreporter/crashreporter.ini60
-rw-r--r--toolkit/locales/en-US/defines.inc1
-rw-r--r--toolkit/locales/generic/chrome/global/brand.dtd6
-rw-r--r--toolkit/locales/generic/install.rdf32
-rw-r--r--toolkit/locales/jar.mn150
-rw-r--r--toolkit/locales/l10n.ini13
-rw-r--r--toolkit/locales/l10n.mk217
-rw-r--r--toolkit/locales/moz.build13
-rw-r--r--toolkit/locales/update.locale1
127 files changed, 5251 insertions, 0 deletions
diff --git a/toolkit/locales/Makefile.in b/toolkit/locales/Makefile.in
new file mode 100644
index 000000000..e20128611
--- /dev/null
+++ b/toolkit/locales/Makefile.in
@@ -0,0 +1,40 @@
+# 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/.
+
+include $(topsrcdir)/config/rules.mk
+
+ifdef LOCALE_MERGEDIR
+vpath crashreporter.% $(LOCALE_MERGEDIR)/toolkit/crashreporter
+endif
+vpath crashreporter.% $(LOCALE_SRCDIR)/crashreporter
+ifdef LOCALE_MERGEDIR
+vpath crashreporter.% @srcdir@/en-US/crashreporter
+endif
+
+libs-%:
+ @$(MAKE) -C ../../netwerk/locales/ libs AB_CD=$* XPI_NAME=locale-$*
+ @$(MAKE) -C ../../dom/locales/ libs AB_CD=$* XPI_NAME=locale-$*
+ @$(MAKE) -C ../../security/manager/locales/ libs AB_CD=$* XPI_NAME=locale-$*
+ @$(MAKE) -C ../../devtools/shared/locales/ libs AB_CD=$* XPI_NAME=locale-$*
+ @$(MAKE) libs AB_CD=$* XPI_NAME=locale-$*
+
+# target to be used by multi-locale l10n builds, just add this locale
+# like regular chrome code
+chrome-%:
+ @$(MAKE) -C $(DEPTH)/netwerk/locales/ chrome AB_CD=$*
+ @$(MAKE) -C $(DEPTH)/dom/locales/ chrome AB_CD=$*
+ @$(MAKE) -C $(DEPTH)/security/manager/locales/ chrome AB_CD=$*
+ @$(MAKE) chrome AB_CD=$*
+
+libs:: update.locale
+ sed -e 's/%AB_CD%/$(AB_CD)/' $< > $(FINAL_TARGET)/update.locale
+
+ifdef MOZ_CRASHREPORTER
+libs:: crashreporter.ini
+ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
+ $(SYSINSTALL) $(IFLAGS1) $^ $(FINAL_TARGET)/crashreporter.app/Contents/Resources
+else
+ $(SYSINSTALL) $(IFLAGS1) $^ $(FINAL_TARGET)
+endif
+endif
diff --git a/toolkit/locales/all-locales b/toolkit/locales/all-locales
new file mode 100644
index 000000000..16f4207e1
--- /dev/null
+++ b/toolkit/locales/all-locales
@@ -0,0 +1,14 @@
+cs
+el
+fi
+fr
+ga-IE
+he
+hu
+it
+nb-NO
+nl
+pl
+ro
+sv-SE
+ru
diff --git a/toolkit/locales/compare-locales.pl b/toolkit/locales/compare-locales.pl
new file mode 100644
index 000000000..fbc7ab5c2
--- /dev/null
+++ b/toolkit/locales/compare-locales.pl
@@ -0,0 +1,261 @@
+#!/usr/bin/perl -w
+# 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/.
+
+$failure = 0;
+
+sub unJAR
+{
+ my ($file, $dir) = @_;
+
+ -d $dir && system("rm -rf $dir");
+ system("unzip -q -d $dir $file") && die("Could not unZIP $file");
+}
+
+sub readDTD
+{
+ my ($file) = @_;
+
+ open DTD, "<$file" || die ("Couldn't open file $file");
+
+ local $/ = undef;
+ my $contents = <DTD>;
+ close DTD;
+
+ $contents =~ s/<!--.*?-->//gs; # strip SGML comments
+
+ return $contents =~ /<!ENTITY\s+([\w\.]+)\s+(?:\"[^\"]*\"|\'[^\']*\')\s*>/g;
+}
+
+sub compareDTD
+{
+ my ($path) = @_;
+
+ my @entities1 = readDTD("$gSourceDir1/$path");
+ my %entities2 = map { $_ => 1 } readDTD("$gSourceDir2/$path");
+
+ my @extra1;
+
+ foreach my $entity (@entities1) {
+ if (exists $entities2{$entity}) {
+ delete $entities2{$entity};
+ } else {
+ push @extra1, $entity;
+ }
+ }
+
+ if (@extra1 or keys %entities2) {
+ $failure = 1;
+ print "Entities in $path don't match:\n";
+ if (@extra1) {
+ print " In $gSource1: (add these keys to your localization)\n";
+ map { print " $_\n"; } @extra1;
+ }
+
+ if (keys %entities2) {
+ print " In $gSource2: (remove these keys from your localization)\n";
+ map {print " $_\n"; } keys %entities2;
+ }
+ print "\n";
+ }
+}
+
+sub readProperties
+{
+ my ($file) = @_;
+
+ open PROPS, "<$file" || die ("Couldn't open file $file");
+
+ local $/ = undef;
+ my $contents = <PROPS>;
+ close PROPS;
+
+ $contents =~ s/\\$$//gm;
+
+ return $contents =~ /^\s*([^#!\s\r\n][^=:\r\n]*?)\s*[=:]/gm;
+}
+
+sub compareProperties
+{
+ my ($path) = @_;
+
+ my @entities1 = readProperties("$gSourceDir1/$path");
+ my %entities2 = map { $_ => 1 } readProperties("$gSourceDir2/$path");
+
+ my @extra1;
+
+ foreach my $entity (@entities1) {
+ if (exists $entities2{$entity}) {
+ delete $entities2{$entity};
+ } else {
+# hack to ignore non-fatal region.properties differences
+ if ($path !~ /chrome\/browser-region\/region\.properties$/ or
+ ($entity !~ /browser\.search\.order\.[1-9]/ and
+ $entity !~ /browser\.contentHandlers\.types\.[0-5]/ and
+ $entity !~ /gecko\.handlerService\.schemes\./ and
+ $entity !~ /gecko\.handlerService\.defaultHandlersVersion/)) {
+ push @extra1, $entity;
+ }
+ }
+ }
+# hack to ignore non-fatal region.properties differences
+ if ($path =~ /chrome\/browser-region\/region\.properties$/) {
+ foreach $entity (keys(%entities2)) {
+ if ($entity =~ /browser\.search\.order\.[1-9]/ ||
+ $entity =~ /browser\.contentHandlers\.types\.[0-5]/ ||
+ $entity =~ /gecko\.handlerService\.schemes\./ ||
+ $entity =~ /gecko\.handlerService\.defaultHandlersVersion/) {
+ delete $entities2{$entity};
+ }
+ }
+ }
+
+ if (@extra1 or keys %entities2) {
+ $failure = 1;
+ print "Properties in $path don't match:\n";
+ if (@extra1) {
+ print " In $gSource1: (add these to your localization)\n";
+ map { print " $_\n"; } @extra1;
+ }
+
+ if (keys %entities2) {
+ print " In $gSource2: (remove these from your localization)\n";
+ map {print " $_\n"; } keys %entities2;
+ }
+ print "\n";
+ }
+}
+
+sub readDefines
+{
+ my ($file) = @_;
+
+ open DEFS, "<$file" || die ("Couldn't open file $file");
+
+ local $/ = undef;
+ my $contents = <DEFS>;
+ close DEFS;
+
+ return $contents =~ /#define\s+(\w+)/gm;
+}
+
+sub compareDefines
+{
+ my ($path) = @_;
+
+ my @entities1 = readDefines("$gSourceDir1/$path");
+ my %entities2 = map { $_ => 1 } readDefines("$gSourceDir2/$path");
+
+ my @extra1;
+
+ foreach my $entity (@entities1) {
+ if (exists $entities2{$entity}) {
+ delete $entities2{$entity};
+ } else {
+ push @extra1, $entity;
+ }
+ }
+
+ if (@extra1 or keys %entities2) {
+ $failure = 1;
+ print "Defines in $path don't match:\n";
+ if (@extra1) {
+ print " In $gSource1: (add these to your localization)\n";
+ map { print " $_\n"; } @extra1;
+ }
+
+ if (keys %entities2) {
+ print " In $gSource2: (remove these from your localization)\n";
+ map {print " $_\n"; } keys %entities2;
+ }
+ print "\n";
+ }
+}
+
+sub compareDir
+{
+ my ($path) = @_;
+
+ my (@entries1, %entries2);
+
+ opendir(DIR1, "$gSourceDir1/$path") ||
+ die ("Couldn't list $gSourceDir1/$path");
+ @entries1 = grep(!(/^(\.|CVS)/ || /~$/), readdir(DIR1));
+ closedir(DIR1);
+
+ opendir(DIR2, "$gSourceDir2/$path") ||
+ die ("Couldn't list $gSourceDir2/$path");
+ %entries2 = map { $_ => 1 } grep(!(/^(\.|CVS)/ || /~$/), readdir(DIR2));
+ closedir(DIR2);
+
+ foreach my $file (@entries1) {
+ if (exists($entries2{$file})) {
+ delete $entries2{$file};
+
+ if (-d "$gSourceDir1/$path/$file") {
+ compareDir("$path/$file");
+ } else {
+ if ($file =~ /\.dtd$/) {
+ compareDTD("$path/$file");
+ } elsif ($file =~ /\.inc$/) {
+ compareDefines("$path/$file");
+ } elsif ($file =~ /\.properties$/) {
+ compareProperties("$path/$file");
+ } else {
+ print "no comparison for $path/$file\n";
+ }
+ }
+ } else {
+ push @gSource1Extra, "$path/$file";
+ }
+ }
+
+ foreach my $file (keys %entries2) {
+ push @gSource2Extra, "$path/$file";
+ }
+}
+
+local ($gSource1, $gSource2) = @ARGV;
+($gSource1 && $gSource2) || die("Specify two directories or ZIP files");
+
+my ($gSource1IsZIP, $gSource2IsZIP);
+local ($gSourceDir1, $gSourceDir2);
+local (@gSource1Extra, @gSource2Extra);
+
+if (-d $gSource1) {
+ $gSource1IsZIP = 0;
+ $gSourceDir1 = $gSource1;
+} else {
+ $gSource1IsZIP = 1;
+ $gSourceDir1 = "temp1";
+ unJAR($gSource1, $gSourceDir1);
+}
+
+if (-d $gSource2) {
+ $gSource2IsZIP = 0;
+ $gSourceDir2 = $gSource2;
+} else {
+ $gSource2IsZIP = 1;
+ $gSourceDir2 = "temp2";
+ unJAR($gSource2, $gSourceDir2);
+}
+
+compareDir(".");
+
+if (@gSource1Extra) {
+ print "Files in $gSource1 not in $gSource2:\n";
+ map { print " $_\n"; } @gSource1Extra;
+ print "\n";
+}
+
+if (@gSource2Extra) {
+ print "Files in $gSource2 not in $gSource1:\n";
+ map { print " $_\n"; } @gSource2Extra;
+ print "\n";
+}
+
+$gSource1IsZIP && system("rm -rf $gSourceDir1");
+$gSource2IsZIP && system("rm -rf $gSourceDir2");
+
+exit $failure;
diff --git a/toolkit/locales/en-US/chrome/alerts/alert.dtd b/toolkit/locales/en-US/chrome/alerts/alert.dtd
new file mode 100644
index 000000000..5f0f49d22
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/alerts/alert.dtd
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+
+<!ENTITY closeAlert.tooltip "Close this notification">
+<!ENTITY settings.label "Settings">
diff --git a/toolkit/locales/en-US/chrome/alerts/alert.properties b/toolkit/locales/en-US/chrome/alerts/alert.properties
new file mode 100644
index 000000000..af482adb1
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/alerts/alert.properties
@@ -0,0 +1,23 @@
+# 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(closeButton.title): Used as the close button text for web notifications on OS X.
+# This should ideally match the string that OS X uses for the close button on alert-type
+# notifications. OS X will truncate the value if it's too long.
+closeButton.title = Close
+# LOCALIZATION NOTE(actionButton.label): Used as the button label to provide more actions on OS X notifications. OS X will truncate this if it's too long.
+actionButton.label = …
+# LOCALIZATION NOTE(webActions.disableForOrigin.label): %S is replaced
+# with the hostname origin of the notification.
+webActions.disableForOrigin.label = Disable notifications from %S
+
+# LOCALIZATION NOTE(source.label): Used to show the URL of the site that
+# sent the notification (e.g., "via mozilla.org"). "%1$S" is the source host
+# and port.
+source.label=via %1$S
+webActions.settings.label = Notification settings
+
+# LOCALIZATION NOTE(doNotDisturb.label): %S is replaced with the
+# brandShortName of the application.
+doNotDisturb.label = Do not disturb me until I restart %S
diff --git a/toolkit/locales/en-US/chrome/autoconfig/autoconfig.properties b/toolkit/locales/en-US/chrome/autoconfig/autoconfig.properties
new file mode 100644
index 000000000..7c5e15ea1
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/autoconfig/autoconfig.properties
@@ -0,0 +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/.
+
+readConfigTitle = Configuration Error
+readConfigMsg = Failed to read the configuration file. Please contact your system administrator.
+
+autoConfigTitle = AutoConfig Alert
+autoConfigMsg = Netscape.cfg/AutoConfig failed. Please contact your system administrator. \n Error: %S failed:
+
+emailPromptTitle = Email Address
+emailPromptMsg = Enter your email address
diff --git a/toolkit/locales/en-US/chrome/cookie/cookieAcceptDialog.dtd b/toolkit/locales/en-US/chrome/cookie/cookieAcceptDialog.dtd
new file mode 100644
index 000000000..52664f1de
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/cookie/cookieAcceptDialog.dtd
@@ -0,0 +1,21 @@
+<!-- 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/. -->
+
+<!ENTITY props.name.label "Name:">
+<!ENTITY props.value.label "Content:">
+<!ENTITY props.domain.label "Host:">
+<!ENTITY props.path.label "Path:">
+<!ENTITY props.secure.label "Send For:">
+<!ENTITY props.expires.label "Expires:">
+
+<!ENTITY button.allow.label "Allow">
+<!ENTITY button.allow.accesskey "A">
+<!ENTITY button.session.label "Allow for Session">
+<!ENTITY button.session.accesskey "S">
+<!ENTITY button.deny.label "Deny">
+<!ENTITY button.deny.accesskey "D">
+
+<!ENTITY dialog.title "Confirm setting cookie">
+<!ENTITY dialog.remember.label "Use my choice for all cookies from this site">
+<!ENTITY dialog.remember.accesskey "U">
diff --git a/toolkit/locales/en-US/chrome/cookie/cookieAcceptDialog.properties b/toolkit/locales/en-US/chrome/cookie/cookieAcceptDialog.properties
new file mode 100644
index 000000000..bba121498
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/cookie/cookieAcceptDialog.properties
@@ -0,0 +1,19 @@
+# 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/.
+
+hostColon=Host:
+domainColon=Domain:
+forSecureOnly=Encrypted connections only
+forAnyConnection=Any type of connection
+expireAtEndOfSession=At end of session
+
+showDetails=Show Details
+hideDetails=Hide Details
+detailsAccessKey=T
+
+permissionToSetACookie = The site %S wants to set a cookie.
+permissionToSetSecondCookie = The site %S wants to set a second cookie.
+# LOCALIZATION NOTE (PermissionToSetAnotherCookie): First %S: sitename, second %S: number of cookies already present for that site
+permissionToSetAnotherCookie = The site %S wants to set another cookie.\nYou already have %S cookies from this site.
+permissionToModifyCookie = The site %S wants to modify an existing cookie.
diff --git a/toolkit/locales/en-US/chrome/formautofill/requestAutocomplete.dtd b/toolkit/locales/en-US/chrome/formautofill/requestAutocomplete.dtd
new file mode 100644
index 000000000..53a1d0d23
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/formautofill/requestAutocomplete.dtd
@@ -0,0 +1,5 @@
+<!-- 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/. -->
+
+<!-- This file has no entities because the feature is still experimental. -->
diff --git a/toolkit/locales/en-US/chrome/global-platform/mac/intl.properties b/toolkit/locales/en-US/chrome/global-platform/mac/intl.properties
new file mode 100644
index 000000000..71265a9ef
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global-platform/mac/intl.properties
@@ -0,0 +1,7 @@
+# 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 (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
diff --git a/toolkit/locales/en-US/chrome/global-platform/mac/platformKeys.properties b/toolkit/locales/en-US/chrome/global-platform/mac/platformKeys.properties
new file mode 100644
index 000000000..39f3d62e8
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global-platform/mac/platformKeys.properties
@@ -0,0 +1,25 @@
+# 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/.
+
+#mac
+#this file defines the on screen display names for the various modifier keys
+#these are used in XP menus to show keyboard shortcuts
+
+#the shift key - open up arrow symbol (ctrl-e)
+VK_SHIFT=\u21e7
+
+#the command key - clover leaf symbol (ctrl-q)
+VK_META=\u2318
+
+#the win key - never generated by native key event
+VK_WIN=win
+
+#the option/alt key - splitting tracks symbol (ctrl-g)
+VK_ALT=\u2325
+
+#the control key. hat symbol (ctrl-f)
+VK_CONTROL=\u2303
+
+#the separator character used between modifiers (none on Mac OS)
+MODIFIER_SEPARATOR=
diff --git a/toolkit/locales/en-US/chrome/global-platform/unix/intl.properties b/toolkit/locales/en-US/chrome/global-platform/unix/intl.properties
new file mode 100644
index 000000000..71265a9ef
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global-platform/unix/intl.properties
@@ -0,0 +1,7 @@
+# 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 (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
diff --git a/toolkit/locales/en-US/chrome/global-platform/unix/platformKeys.properties b/toolkit/locales/en-US/chrome/global-platform/unix/platformKeys.properties
new file mode 100644
index 000000000..53321356e
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global-platform/unix/platformKeys.properties
@@ -0,0 +1,25 @@
+# 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/.
+
+#default
+#this file defines the on screen display names for the various modifier keys
+#these are used in XP menus to show keyboard shortcuts
+
+#the shift key
+VK_SHIFT=Shift
+
+#the command key
+VK_META=Meta
+
+#the win key (Super key and Hyper keys are mapped to DOM Win key)
+VK_WIN=Win
+
+#the alt key
+VK_ALT=Alt
+
+#the control key
+VK_CONTROL=Ctrl
+
+#the separator character used between modifiers
+MODIFIER_SEPARATOR=+
diff --git a/toolkit/locales/en-US/chrome/global-platform/win/intl.properties b/toolkit/locales/en-US/chrome/global-platform/win/intl.properties
new file mode 100644
index 000000000..71265a9ef
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global-platform/win/intl.properties
@@ -0,0 +1,7 @@
+# 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 (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
diff --git a/toolkit/locales/en-US/chrome/global-platform/win/platformKeys.properties b/toolkit/locales/en-US/chrome/global-platform/win/platformKeys.properties
new file mode 100644
index 000000000..307eeaf19
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global-platform/win/platformKeys.properties
@@ -0,0 +1,25 @@
+# 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/.
+
+#default
+#this file defines the on screen display names for the various modifier keys
+#these are used in XP menus to show keyboard shortcuts
+
+#the shift key
+VK_SHIFT=Shift
+
+#the command key
+VK_META=Meta
+
+#the win key
+VK_WIN=Win
+
+#the alt key
+VK_ALT=Alt
+
+#the control key
+VK_CONTROL=Ctrl
+
+#the separator character used between modifiers
+MODIFIER_SEPARATOR=+
diff --git a/toolkit/locales/en-US/chrome/global/about.dtd b/toolkit/locales/en-US/chrome/global/about.dtd
new file mode 100644
index 000000000..6df685747
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/about.dtd
@@ -0,0 +1,30 @@
+<!-- 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/. -->
+<!ENTITY about.version "version">
+
+<!-- LOCALIZATION NOTE (about.credits.beforeLink): note that there is no space between this phrase and the linked about.credits.linkTitle phrase, so if your locale needs a space between words, add it at the end of this entity. -->
+<!ENTITY about.credits.beforeLink "See a list of ">
+<!ENTITY about.credits.linkTitle "contributors">
+<!-- LOCALIZATION NOTE (about.credits.afterLink): note that there is no space between the linked about.credits.linkTitle phrase and this phrase, so if your locale needs a space between words, add it at the start of this entity. -->
+<!ENTITY about.credits.afterLink " to the Mozilla Project.">
+
+<!-- LOCALIZATION NOTE (about.license.beforeTheLink): note that there is no space between this phrase and the linked about.license.linkTitle phrase, so if your locale needs a space between words, add it at the end of this entity. -->
+<!ENTITY about.license.beforeTheLink "Read the ">
+<!ENTITY about.license.linkTitle "licensing information">
+<!-- LOCALIZATION NOTE (about.license.afterTheLink): note that there is no space between the linked about.license.linkTitle phrase and this phrase, so if your locale needs a space between words, add it at the start of this entity. -->
+<!ENTITY about.license.afterTheLink " for this product.">
+
+<!-- LOCALIZATION NOTE (about.relnotes.beforeTheLink): note that there is no space between this phrase and the linked about.relnotes.linkTitle phrase, so if your locale needs a space between words, add it at the end of this entity. -->
+<!ENTITY about.relnotes.beforeTheLink "Read the ">
+<!ENTITY about.relnotes.linkTitle "release notes">
+<!-- LOCALIZATION NOTE (about.relnotes.afterTheLink): note that there is no space between the linked about.relnotes.linkTitle phrase and this phrase, so if your locale needs a space between words, add it at the start of this entity. -->
+<!ENTITY about.relnotes.afterTheLink " for this version.">
+
+<!-- LOCALIZATION NOTE (about.buildconfig.beforeTheLink): note that there is no space between this phrase and the linked about.buildconfig.linkTitle phrase, so if your locale needs a space between words, add it at the end of this entity. -->
+<!ENTITY about.buildconfig.beforeTheLink "See the ">
+<!ENTITY about.buildconfig.linkTitle "build configuration">
+<!-- LOCALIZATION NOTE (about.buildconfig.afterTheLink): note that there is no space between the linked about.buildconfig.linkTitle phrase and this phrase, so if your locale needs a space between words, add it at the start of this entity. -->
+<!ENTITY about.buildconfig.afterTheLink " used for this version.">
+
+<!ENTITY about.buildIdentifier "Build identifier: ">
diff --git a/toolkit/locales/en-US/chrome/global/aboutAbout.dtd b/toolkit/locales/en-US/chrome/global/aboutAbout.dtd
new file mode 100644
index 000000000..7d858fe31
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/aboutAbout.dtd
@@ -0,0 +1,8 @@
+<!-- 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/. -->
+
+<!ENTITY aboutAbout.title "About About">
+<!ENTITY aboutAbout.note "This is a list of “about” pages for your convenience.<br/>
+ Some of them might be confusing. Some are for diagnostic purposes only.<br/>
+ And some are omitted because they require query strings.">
diff --git a/toolkit/locales/en-US/chrome/global/aboutNetworking.dtd b/toolkit/locales/en-US/chrome/global/aboutNetworking.dtd
new file mode 100644
index 000000000..4069e21c0
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/aboutNetworking.dtd
@@ -0,0 +1,43 @@
+<!-- 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/. -->
+
+<!ENTITY aboutNetworking.title "About Networking">
+<!ENTITY aboutNetworking.warning "This is very experimental. Do not use without adult supervision.">
+<!ENTITY aboutNetworking.showNextTime "Show this warning next time">
+<!ENTITY aboutNetworking.ok "OK">
+<!ENTITY aboutNetworking.HTTP "HTTP">
+<!ENTITY aboutNetworking.sockets "Sockets">
+<!ENTITY aboutNetworking.dns "DNS">
+<!ENTITY aboutNetworking.websockets "WebSockets">
+<!ENTITY aboutNetworking.refresh "Refresh">
+<!ENTITY aboutNetworking.autoRefresh "Autorefresh every 3 seconds">
+<!ENTITY aboutNetworking.hostname "Hostname">
+<!ENTITY aboutNetworking.port "Port">
+<!ENTITY aboutNetworking.spdy "SPDY">
+<!ENTITY aboutNetworking.ssl "SSL">
+<!ENTITY aboutNetworking.active "Active">
+<!ENTITY aboutNetworking.idle "Idle">
+<!ENTITY aboutNetworking.host "Host">
+<!ENTITY aboutNetworking.tcp "TCP">
+<!ENTITY aboutNetworking.sent "Sent">
+<!ENTITY aboutNetworking.received "Received">
+<!ENTITY aboutNetworking.family "Family">
+<!ENTITY aboutNetworking.addresses "Addresses">
+<!ENTITY aboutNetworking.expires "Expires (Seconds)">
+<!ENTITY aboutNetworking.messagesSent "Messages Sent">
+<!ENTITY aboutNetworking.messagesReceived "Messages Received">
+<!ENTITY aboutNetworking.bytesSent "Bytes Sent">
+<!ENTITY aboutNetworking.bytesReceived "Bytes Received">
+<!ENTITY aboutNetworking.logging "Logging">
+<!ENTITY aboutNetworking.logTutorial "See <a href='https://developer.mozilla.org/docs/Mozilla/Debugging/HTTP_logging'>HTTP Logging</a> for instructions on how to use this tool.">
+<!ENTITY aboutNetworking.currentLogFile "Current Log File:">
+<!ENTITY aboutNetworking.currentLogModules "Current Log Modules:">
+<!ENTITY aboutNetworking.setLogFile "Set Log File">
+<!ENTITY aboutNetworking.setLogModules "Set Log Modules">
+<!ENTITY aboutNetworking.startLogging "Start Logging">
+<!ENTITY aboutNetworking.stopLogging "Stop Logging">
+<!ENTITY aboutNetworking.dnsLookup "DNS Lookup">
+<!ENTITY aboutNetworking.dnsLookupButton "Resolve">
+<!ENTITY aboutNetworking.dnsDomain "Domain">
+<!ENTITY aboutNetworking.dnsLookupTableColumn "IPs">
diff --git a/toolkit/locales/en-US/chrome/global/aboutProfiles.dtd b/toolkit/locales/en-US/chrome/global/aboutProfiles.dtd
new file mode 100644
index 000000000..48e24923e
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/aboutProfiles.dtd
@@ -0,0 +1,10 @@
+<!-- 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/. -->
+
+<!ENTITY aboutProfiles.title "About Profiles">
+<!ENTITY aboutProfiles.subtitle "This page helps you to manage your profiles. Each profile is a separate world which contains separate history, bookmarks, settings and add-ons.">
+<!ENTITY aboutProfiles.create "Create a New Profile">
+<!ENTITY aboutProfiles.restart.title "Restart">
+<!ENTITY aboutProfiles.restart.inSafeMode "Restart with Add-ons Disabled…">
+<!ENTITY aboutProfiles.restart.normal "Restart normally…">
diff --git a/toolkit/locales/en-US/chrome/global/aboutProfiles.properties b/toolkit/locales/en-US/chrome/global/aboutProfiles.properties
new file mode 100644
index 000000000..afe141766
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/aboutProfiles.properties
@@ -0,0 +1,42 @@
+# 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/.
+
+name = Profile: %S
+isDefault = Default Profile
+rootDir = Root Directory
+# LOCALIZATION NOTE: localDir is used to show the directory corresponding to
+# the main profile directory that exists for the purpose of storing data on the
+# local filesystem, including cache files or other data files that may not
+# represent critical user data. (e.g., this directory may not be included as
+# part of a backup scheme.)
+# In case localDIr and rootDir are equal, localDir is not shown.
+localDir = Local Directory
+currentProfile = This is the profile in use and it cannot be deleted.
+
+rename = Rename
+remove = Remove
+setAsDefault = Set as default profile
+launchProfile = Launch profile in new browser
+
+yes = yes
+no = no
+
+renameProfileTitle = Rename Profile
+renameProfile = Rename profile %S
+
+invalidProfileNameTitle = Invalid profile name
+invalidProfileName = The profile name “%S” is not allowed.
+
+deleteProfileTitle = Delete Profile
+deleteProfileConfirm = Deleting a profile will remove the profile from the list of available profiles and cannot be undone.\nYou may also choose to delete the profile data files, including your settings, certificates and other user-related data. This option will delete the folder “%S” and cannot be undone.\nWould you like to delete the profile data files?
+deleteFiles = Delete Files
+dontDeleteFiles = Don’t Delete Files
+
+openDir = Open Directory
+# LOCALIZATION NOTE (macOpenDir): This is the Mac-specific variant of openDir.
+# This allows us to use the preferred"Finder" terminology on Mac.
+macOpenDir = Show in Finder
+# LOCALIZATION NOTE (winOpenDir2): This is the Windows-specific variant of
+# openDir.
+winOpenDir2 = Open Folder
diff --git a/toolkit/locales/en-US/chrome/global/aboutReader.properties b/toolkit/locales/en-US/chrome/global/aboutReader.properties
new file mode 100644
index 000000000..8826630c2
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/aboutReader.properties
@@ -0,0 +1,32 @@
+# 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 (aboutReader.loading2):
+# Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+aboutReader.loading2=Loading…
+aboutReader.loadError=Failed to load article from page
+
+aboutReader.colorScheme.light=Light
+aboutReader.colorScheme.dark=Dark
+aboutReader.colorScheme.sepia=Sepia
+aboutReader.colorScheme.auto=Auto
+
+# LOCALIZATION NOTE (aboutReader.fontType.serif, aboutReader.fontType.sans-serif):
+# These are the styles of typeface that are options in the reader view controls.
+aboutReader.fontType.serif=Serif
+aboutReader.fontType.sans-serif=Sans-serif
+
+# LOCALIZATION NOTE (aboutReader.fontTypeSample): String used to sample font types.
+aboutReader.fontTypeSample=Aa
+
+aboutReader.toolbar.close=Close Reader View
+aboutReader.toolbar.typeControls=Type controls
+
+# These are used for the Reader View toolbar button and the menuitem within the
+# View menu.
+readerView.enter=Enter Reader View
+readerView.enter.accesskey=R
+readerView.close=Close Reader View
+readerView.close.accesskey=R
diff --git a/toolkit/locales/en-US/chrome/global/aboutRights.dtd b/toolkit/locales/en-US/chrome/global/aboutRights.dtd
new file mode 100644
index 000000000..319984d41
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/aboutRights.dtd
@@ -0,0 +1,91 @@
+<!-- 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/. -->
+<!-- rights.locale-direction instead of the usual local.dir entity, so RTL can skip translating page. -->
+<!ENTITY rights.locale-direction "ltr">
+<!ENTITY rights.pagetitle "about:rights">
+<!ENTITY rights.intro-header "About Your Rights">
+<!ENTITY rights.intro "&brandFullName; is free and open source software, built by a community of thousands from all over the world. There are a few things you should know:">
+
+<!-- Note on pointa / pointb / pointc form:
+ These points each have an embedded link in the HTML, so each point is
+ split into chunks for text before the link, the link text, and the text
+ after the link. If a localized grammar doesn't need the before or after
+ chunk, it can be left blank.
+
+ Also note the leading/trailing whitespace in strings here, which is
+ deliberate for formatting around the embedded links. -->
+<!ENTITY rights.intro-point1a "&brandShortName; is made available to you under the terms of the ">
+<!ENTITY rights.intro-point1b "Mozilla Public License">
+<!ENTITY rights.intro-point1c ". This means you may use, copy and distribute &brandShortName; to others. You are also welcome to modify the source code of &brandShortName; as you want to meet your needs. The Mozilla Public License also gives you the right to distribute your modified versions.">
+
+<!ENTITY rights.intro-point2-a "You are not granted any trademark rights or licenses to the trademarks of the Mozilla Foundation or any party, including without limitation the Firefox name or logo. Additional information on trademarks may be found ">
+<!ENTITY rights.intro-point2-b "here">
+<!ENTITY rights.intro-point2-c ".">
+
+<!-- point 2.5 text for official branded builds -->
+<!ENTITY rights.intro-point2.5 "Some features in &brandShortName;, such as the Crash Reporter, give you the option to provide feedback to &vendorShortName;. By choosing to submit feedback, you give &vendorShortName; permission to use the feedback to improve its products, to publish the feedback on its websites, and to distribute the feedback.">
+
+<!-- point 3 text for official branded builds -->
+<!ENTITY rights2.intro-point3a "How we use your personal information and feedback submitted to &vendorShortName; through &brandShortName; is described in the ">
+<!ENTITY rights2.intro-point3b "&brandShortName; Privacy Policy">
+<!ENTITY rights.intro-point3c ".">
+
+<!-- point 3 text for unbranded builds -->
+<!ENTITY rights.intro-point3-unbranded "Any applicable privacy policies for this product should be listed here.">
+
+<!-- point 4 text for official branded builds -->
+<!ENTITY rights2.intro-point4a "Some &brandShortName; features make use of web-based information services, however, we cannot guarantee they are 100&#37; accurate or error-free. More details, including information on how to disable the features that use these services, can be found in the ">
+<!ENTITY rights.intro-point4b "service terms">
+<!ENTITY rights.intro-point4c ".">
+
+<!-- point 4 text for unbranded builds -->
+<!ENTITY rights.intro-point4a-unbranded "If this product incorporates web services, any applicable service terms for the service(s) should be linked to the ">
+<!ENTITY rights.intro-point4b-unbranded "Website Services">
+<!ENTITY rights.intro-point4c-unbranded " section.">
+
+<!ENTITY rights2.webservices-header "&brandFullName; Web-Based Information Services">
+
+<!-- point 5 -->
+<!ENTITY rights.intro-point5 "In order to play back certain types of video content, &brandShortName; downloads certain content decryption modules from third parties.">
+
+<!-- Note that this paragraph references a couple of entities from
+ preferences/security.dtd, so that we can refer to text the user sees in
+ the UI, without this page being forgotten every time those strings are
+ updated. -->
+<!-- intro paragraph for branded builds -->
+<!ENTITY rights2.webservices-a "&brandFullName; uses web-based information services (&quot;Services&quot;) to provide some of the features provided for your use with this binary version of &brandShortName; under the terms described below. If you do not want to use one or more of the Services or the terms below are unacceptable, you may disable the feature or Service(s). Instructions on how to disable a particular feature or Service may be found ">
+<!ENTITY rights2.webservices-b "here">
+<!ENTITY rights3.webservices-c ". Other features and Services can be disabled in the application preferences.">
+
+<!-- safe browsing points for branded builds -->
+<!ENTITY rights.safebrowsing-a "SafeBrowsing: ">
+<!ENTITY rights.safebrowsing-b "Disabling the Safe Browsing feature is not recommended as it may result in you going to unsafe sites. If you wish to disable the feature completely, follow these steps:">
+<!ENTITY rights.safebrowsing-term1 "Open the application preferences">
+<!ENTITY rights.safebrowsing-term2 "Select the Security selection">
+<!ENTITY rights2.safebrowsing-term3 "Uncheck the option to &quot;&enableSafeBrowsing.label;&quot;">
+<!ENTITY rights.safebrowsing-term4 "Safe Browsing is now disabled">
+
+<!-- location aware browsing points for branded builds -->
+<!ENTITY rights.locationawarebrowsing-a "Location Aware Browsing: ">
+<!ENTITY rights.locationawarebrowsing-b "is always opt-in. No location information is ever sent without your permission. If you wish to disable the feature completely, follow these steps:">
+<!ENTITY rights.locationawarebrowsing-term1a "In the URL bar, type ">
+<!ENTITY rights.locationawarebrowsing-term1b "about:config">
+<!ENTITY rights.locationawarebrowsing-term2 "Type geo.enabled">
+<!ENTITY rights.locationawarebrowsing-term3 "Double click on the geo.enabled preference">
+<!ENTITY rights.locationawarebrowsing-term4 "Location-Aware Browsing is now disabled">
+
+<!-- intro paragraph for unbranded builds -->
+<!ENTITY rights.webservices-unbranded "An overview of the website services the product incorporates, along with instructions on how to disable them, if applicable, should be included here.">
+
+<!-- point 1 text for unbranded builds -->
+<!ENTITY rights.webservices-term1-unbranded "Any applicable service terms for this product should be listed here.">
+
+<!-- points 1-7 text for branded builds -->
+<!ENTITY rights2.webservices-term1 "&vendorShortName; and its contributors, licensors and partners work to provide the most accurate and up-to-date Services. However, we cannot guarantee that this information is comprehensive and error-free. For example, the Safe Browsing Service may not identify some risky sites and may identify some safe sites in error and the Location Aware Service all locations returned by our service providers are estimates only and neither we nor our service providers guarantee the accuracy of the locations provided.">
+<!ENTITY rights.webservices-term2 "&vendorShortName; may discontinue or change the Services at its discretion.">
+<!ENTITY rights2.webservices-term3 "You are welcome to use these Services with the accompanying version of &brandShortName;, and &vendorShortName; grants you its rights to do so. &vendorShortName; and its licensors reserve all other rights in the Services. These terms are not intended to limit any rights granted under open source licenses applicable to &brandShortName; and to corresponding source code versions of &brandShortName;.">
+<!ENTITY rights.webservices-term4 "The Services are provided &quot;as-is.&quot; &vendorShortName;, its contributors, licensors, and distributors, disclaim all warranties, whether express or implied, including without limitation, warranties that the Services are merchantable and fit for your particular purposes. You bear the entire risk as to selecting the Services for your purposes and as to the quality and performance of the Services. Some jurisdictions do not allow the exclusion or limitation of implied warranties, so this disclaimer may not apply to you.">
+<!ENTITY rights.webservices-term5 "Except as required by law, &vendorShortName;, its contributors, licensors, and distributors will not be liable for any indirect, special, incidental, consequential, punitive, or exemplary damages arising out of or in any way relating to the use of &brandShortName; and the Services. The collective liability under these terms will not exceed $500 (five hundred dollars). Some jurisdictions do not allow the exclusion or limitation of certain damages, so this exclusion and limitation may not apply to you.">
+<!ENTITY rights.webservices-term6 "&vendorShortName; may update these terms as necessary from time to time. These terms may not be modified or canceled without &vendorShortName;'s written agreement.">
+<!ENTITY rights.webservices-term7 "These terms are governed by the laws of the state of California, U.S.A., excluding its conflict of law provisions. If any portion of these terms is held to be invalid or unenforceable, the remaining portions will remain in full force and effect. In the event of a conflict between a translated version of these terms and the English language version, the English language version shall control.">
diff --git a/toolkit/locales/en-US/chrome/global/aboutServiceWorkers.dtd b/toolkit/locales/en-US/chrome/global/aboutServiceWorkers.dtd
new file mode 100644
index 000000000..d7d0298dd
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/aboutServiceWorkers.dtd
@@ -0,0 +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 the term "Service Workers" should not be translated. -->
+<!ENTITY aboutServiceWorkers.title "About Service Workers">
+<!-- LOCALIZATION NOTE the term "Service Workers" should not be translated. -->
+<!ENTITY aboutServiceWorkers.maintitle "Registered Service Workers">
+<!-- LOCALIZATION NOTE the term "Service Workers" should not be translated. -->
+<!ENTITY aboutServiceWorkers.warning_not_enabled "Service Workers are not enabled.">
+<!-- LOCALIZATION NOTE the term "Service Workers" should not be translated. -->
+<!ENTITY aboutServiceWorkers.warning_no_serviceworkers "No Service Workers registered.">
diff --git a/toolkit/locales/en-US/chrome/global/aboutServiceWorkers.properties b/toolkit/locales/en-US/chrome/global/aboutServiceWorkers.properties
new file mode 100644
index 000000000..34609f75b
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/aboutServiceWorkers.properties
@@ -0,0 +1,36 @@
+# 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/.
+
+title = Origin: %S
+
+# LOCALIZATION NOTE: %1$S is brandShortName, %2$2 is the application ID, and $%$3 is true/false value.
+# LOCALIZATION NOTE: the term "InBrowserElement" should not be translated
+b2gtitle = %1$S Application ID %2$S - InBrowserElement %3$S
+
+scope = Scope:
+
+scriptSpec = Script Spec:
+
+# LOCALIZATION NOTE: the term "Worker" should not be translated.
+currentWorkerURL = Current Worker URL:
+
+activeCacheName = Active Cache Name:
+
+waitingCacheName = Waiting Cache Name:
+
+true = true
+
+false = false
+
+# LOCALIZATION NOTE this term is used as a button label (verb, not noun).
+update = Update
+
+unregister = Unregister
+
+waiting = Waiting…
+
+# LOCALIZATION NOTE: the term "Service Worker" should not translated.
+unregisterError = Failed to unregister this Service Worker.
+
+pushEndpoint = Push Endpoint:
diff --git a/toolkit/locales/en-US/chrome/global/aboutSupport.dtd b/toolkit/locales/en-US/chrome/global/aboutSupport.dtd
new file mode 100644
index 000000000..9f64ef0f1
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/aboutSupport.dtd
@@ -0,0 +1,124 @@
+<!-- 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/. -->
+
+<!ENTITY aboutSupport.pageTitle "Troubleshooting Information">
+
+<!-- LOCALIZATION NOTE (aboutSupport.pageSubtitle): don't change the 'supportLink' id. -->
+<!ENTITY aboutSupport.pageSubtitle "
+ This page contains technical information that might be useful when you’re
+ trying to solve a problem. If you are looking for answers to common questions
+ about &brandShortName;, check out our <a id='supportLink'>support website</a>.
+">
+
+<!ENTITY aboutSupport.crashes.title "Crash Reports">
+<!-- LOCALIZATION NOTE (aboutSupport.crashes.id):
+This is likely the same like id.heading in crashes.dtd. -->
+<!ENTITY aboutSupport.crashes.id "Report ID">
+<!ENTITY aboutSupport.crashes.sendDate "Submitted">
+<!ENTITY aboutSupport.crashes.allReports "All Crash Reports">
+<!ENTITY aboutSupport.crashes.noConfig "This application has not been configured to display crash reports.">
+
+<!ENTITY aboutSupport.extensionsTitle "Extensions">
+<!ENTITY aboutSupport.extensionName "Name">
+<!ENTITY aboutSupport.extensionEnabled "Enabled">
+<!ENTITY aboutSupport.extensionVersion "Version">
+<!ENTITY aboutSupport.extensionId "ID">
+
+<!ENTITY aboutSupport.experimentsTitle "Experimental Features">
+<!ENTITY aboutSupport.experimentName "Name">
+<!ENTITY aboutSupport.experimentId "ID">
+<!ENTITY aboutSupport.experimentDescription "Description">
+<!ENTITY aboutSupport.experimentActive "Active">
+<!ENTITY aboutSupport.experimentEndDate "End Date">
+<!ENTITY aboutSupport.experimentHomepage "Homepage">
+<!ENTITY aboutSupport.experimentBranch "Branch">
+
+<!ENTITY aboutSupport.appBasicsTitle "Application Basics">
+<!ENTITY aboutSupport.appBasicsName "Name">
+<!ENTITY aboutSupport.appBasicsVersion "Version">
+<!ENTITY aboutSupport.appBasicsBuildID "Build ID">
+
+<!-- LOCALIZATION NOTE (aboutSupport.appBasicsUpdateChannel, aboutSupport.appBasicsUpdateHistory, aboutSupport.appBasicsShowUpdateHistory):
+"Update" is a noun here, not a verb. -->
+<!ENTITY aboutSupport.appBasicsUpdateChannel "Update Channel">
+<!ENTITY aboutSupport.appBasicsUpdateHistory "Update History">
+<!ENTITY aboutSupport.appBasicsShowUpdateHistory "Show Update History">
+
+<!ENTITY aboutSupport.appBasicsProfileDir "Profile Directory">
+<!-- LOCALIZATION NOTE (aboutSupport.appBasicsProfileDirWinMac):
+This is the Windows- and Mac-specific variant of aboutSupport.appBasicsProfileDir.
+Windows/Mac use the term "Folder" instead of "Directory" -->
+<!ENTITY aboutSupport.appBasicsProfileDirWinMac "Profile Folder">
+
+<!ENTITY aboutSupport.appBasicsEnabledPlugins "Enabled Plugins">
+<!ENTITY aboutSupport.appBasicsBuildConfig "Build Configuration">
+<!ENTITY aboutSupport.appBasicsUserAgent "User Agent">
+<!ENTITY aboutSupport.appBasicsOS "OS">
+<!ENTITY aboutSupport.appBasicsMemoryUse "Memory Use">
+<!ENTITY aboutSupport.appBasicsPerformance "Performance">
+
+<!-- LOCALIZATION NOTE the term "Service Workers" should not be translated. -->
+<!ENTITY aboutSupport.appBasicsServiceWorkers "Registered Service Workers">
+
+<!ENTITY aboutSupport.appBasicsProfiles "Profiles">
+
+<!ENTITY aboutSupport.appBasicsMultiProcessSupport "Multiprocess Windows">
+
+<!ENTITY aboutSupport.appBasicsSafeMode "Safe Mode">
+
+<!ENTITY aboutSupport.showDir.label "Open Directory">
+<!-- LOCALIZATION NOTE (aboutSupport.showMac.label): This is the Mac-specific
+variant of aboutSupport.showDir.label. This allows us to use the preferred
+"Finder" terminology on Mac. -->
+<!ENTITY aboutSupport.showMac.label "Show in Finder">
+<!-- LOCALIZATION NOTE (aboutSupport.showWin2.label): This is the Windows-specific
+variant of aboutSupport.showDir.label. -->
+<!ENTITY aboutSupport.showWin2.label "Open Folder">
+
+<!ENTITY aboutSupport.modifiedKeyPrefsTitle "Important Modified Preferences">
+<!ENTITY aboutSupport.modifiedPrefsName "Name">
+<!ENTITY aboutSupport.modifiedPrefsValue "Value">
+
+<!-- LOCALIZATION NOTE (aboutSupport.userJSTitle, aboutSupport.userJSDescription): user.js is the name of the preference override file being checked. -->
+<!ENTITY aboutSupport.userJSTitle "user.js Preferences">
+<!ENTITY aboutSupport.userJSDescription "Your profile folder contains a <a id='prefs-user-js-link'>user.js file</a>, which includes preferences that were not created by &brandShortName;.">
+
+<!ENTITY aboutSupport.lockedKeyPrefsTitle "Important Locked Preferences">
+<!ENTITY aboutSupport.lockedPrefsName "Name">
+<!ENTITY aboutSupport.lockedPrefsValue "Value">
+
+<!ENTITY aboutSupport.graphicsTitle "Graphics">
+
+<!ENTITY aboutSupport.placeDatabaseTitle "Places Database">
+<!ENTITY aboutSupport.placeDatabaseIntegrity "Integrity">
+<!ENTITY aboutSupport.placeDatabaseVerifyIntegrity "Verify Integrity">
+
+<!ENTITY aboutSupport.jsTitle "JavaScript">
+<!ENTITY aboutSupport.jsIncrementalGC "Incremental GC">
+
+<!ENTITY aboutSupport.a11yTitle "Accessibility">
+<!ENTITY aboutSupport.a11yActivated "Activated">
+<!ENTITY aboutSupport.a11yForceDisabled "Prevent Accessibility">
+
+<!ENTITY aboutSupport.libraryVersionsTitle "Library Versions">
+
+<!ENTITY aboutSupport.installationHistoryTitle "Installation History">
+<!ENTITY aboutSupport.updateHistoryTitle "Update History">
+
+<!ENTITY aboutSupport.copyTextToClipboard.label "Copy text to clipboard">
+<!ENTITY aboutSupport.copyRawDataToClipboard.label "Copy raw data to clipboard">
+
+<!ENTITY aboutSupport.sandboxTitle "Sandbox">
+
+<!ENTITY aboutSupport.safeModeTitle "Try Safe Mode">
+<!ENTITY aboutSupport.restartInSafeMode.label "Restart with Add-ons Disabled…">
+
+<!ENTITY aboutSupport.graphicsFeaturesTitle "Features">
+<!ENTITY aboutSupport.graphicsDiagnosticsTitle "Diagnostics">
+<!ENTITY aboutSupport.graphicsFailureLogTitle "Failure Log">
+<!ENTITY aboutSupport.graphicsGPU1Title "GPU #1">
+<!ENTITY aboutSupport.graphicsGPU2Title "GPU #2">
+<!ENTITY aboutSupport.graphicsDecisionLogTitle "Decision Log">
+<!ENTITY aboutSupport.graphicsCrashGuardsTitle "Crash Guard Disabled Features">
+<!ENTITY aboutSupport.graphicsWorkaroundsTitle "Workarounds">
diff --git a/toolkit/locales/en-US/chrome/global/aboutSupport.properties b/toolkit/locales/en-US/chrome/global/aboutSupport.properties
new file mode 100644
index 000000000..41501c01b
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/aboutSupport.properties
@@ -0,0 +1,127 @@
+# 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 (downloadsTitleFiles): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of relevant days with crash reports
+crashesTitle=Crash Reports for the Last #1 Day;Crash Reports for the Last #1 Days
+
+# LOCALIZATION NOTE (crashesTimeMinutes): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of minutes (between 1 and 59) which have passed since the crash
+crashesTimeMinutes=#1 minute ago;#1 minutes ago
+
+# LOCALIZATION NOTE (crashesTimeHours): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of hours (between 1 and 23) which have passed since the crash
+crashesTimeHours=#1 hour ago;#1 hours ago
+
+# LOCALIZATION NOTE (crashesTimeDays): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of days (1 or more) which have passed since the crash
+crashesTimeDays=#1 day ago;#1 days ago
+
+# LOCALIZATION NOTE (downloadsTitleFiles): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of pending crash reports
+pendingReports=All Crash Reports (including #1 pending crash in the given time range);All Crash Reports (including #1 pending crashes in the given time range)
+
+# LOCALIZATION NOTE (rawDataCopied) Text displayed in a mobile "Toast" to user when the
+# raw data is successfully copied to the clipboard via button press.
+rawDataCopied=Raw data copied to clipboard
+
+# LOCALIZATION NOTE (textCopied) Text displayed in a mobile "Toast" to user when the
+# text is successfully copied to the clipboard via button press.
+textCopied=Text copied to clipboard
+
+# LOCALIZATION NOTE The verb "blocked" here refers to a graphics feature such as "Direct2D" or "OpenGL layers".
+blockedDriver = Blocked for your graphics driver version.
+
+# LOCALIZATION NOTE The %S here is a placeholder, leave unchanged, it will get replaced by the driver version string.
+tryNewerDriver = Blocked for your graphics driver version. Try updating your graphics driver to version %S or newer.
+
+# LOCALIZATION NOTE The verb "blocked" here refers to a graphics feature such as "Direct2D" or "OpenGL layers".
+blockedGfxCard = Blocked for your graphics card because of unresolved driver issues.
+
+# LOCALIZATION NOTE The verb "blocked" here refers to a graphics feature such as "Direct2D" or "OpenGL layers".
+blockedOSVersion = Blocked for your operating system version.
+
+# LOCALIZATION NOTE The verb "blocked" here refers to a graphics feature such as "Direct2D" or "OpenGL layers".
+blockedMismatchedVersion = Blocked for your graphics driver version mismatch between registry and DLL.
+
+# LOCALIZATION NOTE In the following strings, "Direct2D", "DirectWrite" and "ClearType"
+# are proper nouns and should not be translated. Feel free to leave english strings if
+# there are no good translations, these are only used in about:support
+clearTypeParameters = ClearType Parameters
+
+compositing = Compositing
+hardwareH264 = Hardware H264 Decoding
+audioBackend = Audio Backend
+mainThreadNoOMTC = main thread, no OMTC
+yes = Yes
+no = No
+
+gpuDescription = Description
+gpuVendorID = Vendor ID
+gpuDeviceID = Device ID
+gpuSubsysID = Subsys ID
+gpuDrivers = Drivers
+gpuRAM = RAM
+gpuDriverVersion = Driver Version
+gpuDriverDate = Driver Date
+gpuActive = Active
+webglRenderer = WebGL Renderer
+webgl2Renderer = WebGL2 Renderer
+GPU1 = GPU #1
+GPU2 = GPU #2
+blocklistedBug = Blocklisted due to known issues
+# LOCALIZATION NOTE %1$S will be replaced with a bug number string.
+bugLink = bug %1$S
+# LOCALIZATION NOTE %1$S will be replaced with an arbitrary identifier
+# string that can be searched on DXR/MXR or grepped in the source tree.
+unknownFailure = Blocklisted; failure code %1$S
+d3d11layersCrashGuard = D3D11 Compositor
+d3d11videoCrashGuard = D3D11 Video Decoder
+d3d9videoCrashGuard = D3D9 Video Decoder
+glcontextCrashGuard = OpenGL
+resetOnNextRestart = Reset on Next Restart
+gpuProcessKillButton = Terminate GPU Process
+
+minLibVersions = Expected minimum version
+loadedLibVersions = Version in use
+
+hasSeccompBPF = Seccomp-BPF (System Call Filtering)
+hasSeccompTSync = Seccomp Thread Synchronization
+hasUserNamespaces = User Namespaces
+hasPrivilegedUserNamespaces = User Namespaces for privileged processes
+canSandboxContent = Content Process Sandboxing
+canSandboxMedia = Media Plugin Sandboxing
+contentSandboxLevel = Content Process Sandbox Level
+
+# LOCALIZATION NOTE %1$S and %2$S will be replaced with the number of remote and the total number
+# of windows, respectively, while %3$S will be replaced with one of the status strings below,
+# which contains a description of the multi-process preference and status.
+# Note: multiProcessStatus.3 doesn't exist because status=3 was deprecated.
+multiProcessWindows = %1$S/%2$S (%3$S)
+multiProcessStatus.0 = Enabled by user
+multiProcessStatus.1 = Enabled by default
+multiProcessStatus.2 = Disabled
+multiProcessStatus.4 = Disabled by accessibility tools
+multiProcessStatus.5 = Disabled by lack of graphics hardware acceleration on Mac OS X
+multiProcessStatus.6 = Disabled by unsupported text input
+multiProcessStatus.7 = Disabled by add-ons
+multiProcessStatus.8 = Disabled forcibly
+# No longer in use (bug 1296353) but we might bring this back.
+multiProcessStatus.9 = Disabled by graphics hardware acceleration on Windows XP
+multiProcessStatus.unknown = Unknown status
+
+asyncPanZoom = Asynchronous Pan/Zoom
+apzNone = none
+wheelEnabled = wheel input enabled
+touchEnabled = touch input enabled
+dragEnabled = scrollbar drag enabled
+
+# LOCALIZATION NOTE %1 will be replaced with the key of a preference.
+wheelWarning = async wheel input disabled due to unsupported pref: %S
+touchWarning = async touch input disabled due to unsupported pref: %S
diff --git a/toolkit/locales/en-US/chrome/global/aboutTelemetry.dtd b/toolkit/locales/en-US/chrome/global/aboutTelemetry.dtd
new file mode 100644
index 000000000..4a08de8ca
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/aboutTelemetry.dtd
@@ -0,0 +1,169 @@
+<!-- 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/. -->
+
+<!ENTITY aboutTelemetry.pageTitle "Telemetry Data">
+
+<!ENTITY aboutTelemetry.changeDataChoices "
+ Change
+">
+
+<!ENTITY aboutTelemetry.uploadEnabled "
+ FHR data upload is <span>enabled</span>.
+">
+
+<!ENTITY aboutTelemetry.uploadDisabled "
+ FHR data upload is <span>disabled</span>.
+">
+
+<!ENTITY aboutTelemetry.extendedRecordingEnabled "
+ Extended Telemetry recording is <span>enabled</span>.
+">
+
+<!ENTITY aboutTelemetry.extendedRecordingDisabled "
+ Extended Telemetry recording is <span>disabled</span>.
+">
+
+<!ENTITY aboutTelemetry.pingDataSource "
+Ping data source:
+">
+
+<!ENTITY aboutTelemetry.showCurrentPingData "
+Current ping data
+">
+
+<!ENTITY aboutTelemetry.showArchivedPingData "
+Archived ping data
+">
+
+<!ENTITY aboutTelemetry.pingDataDisplay "
+Ping data display:
+">
+
+<!ENTITY aboutTelemetry.structured "
+Structured
+">
+
+<!ENTITY aboutTelemetry.raw "
+Raw JSON
+">
+
+<!ENTITY aboutTelemetry.showSubsessionData "
+Show subsession data
+">
+
+<!ENTITY aboutTelemetry.choosePing "
+Choose ping:
+">
+
+<!ENTITY aboutTelemetry.showNewerPing "
+&lt;&lt; Newer ping
+">
+
+<!ENTITY aboutTelemetry.showOlderPing "
+Older ping &gt;&gt;
+">
+
+<!ENTITY aboutTelemetry.rawPingData "
+Raw ping data…
+">
+
+<!ENTITY aboutTelemetry.archiveWeekHeader "
+Week
+">
+
+<!ENTITY aboutTelemetry.archivePingHeader "
+Ping
+">
+
+<!ENTITY aboutTelemetry.generalDataSection "
+ General Data
+">
+
+<!ENTITY aboutTelemetry.environmentDataSection "
+ Environment Data
+">
+
+<!ENTITY aboutTelemetry.telemetryLogSection "
+ Telemetry Log
+">
+
+<!ENTITY aboutTelemetry.slowSqlSection "
+ Slow SQL Statements
+">
+
+<!ENTITY aboutTelemetry.chromeHangsSection "
+ Browser Hangs
+">
+
+<!ENTITY aboutTelemetry.threadHangStatsSection "
+ Thread Hangs
+">
+
+<!ENTITY aboutTelemetry.scalarsSection "
+ Scalars
+">
+
+<!ENTITY aboutTelemetry.keyedScalarsSection "
+ Keyed Scalars
+">
+
+<!ENTITY aboutTelemetry.histogramsSection "
+ Histograms
+">
+
+<!ENTITY aboutTelemetry.keyedHistogramsSection "
+ Keyed Histograms
+">
+
+<!ENTITY aboutTelemetry.simpleMeasurementsSection "
+ Simple Measurements
+">
+
+<!ENTITY aboutTelemetry.addonDetailsSection "
+ Add-on Details
+">
+
+<!ENTITY aboutTelemetry.lateWritesSection "
+ Late Writes
+">
+
+<!ENTITY aboutTelemetry.sessionInfoSection "
+ Session Information
+">
+
+<!ENTITY aboutTelemetry.addonHistogramsSection "
+ Histograms Collected by Add-ons
+">
+
+<!ENTITY aboutTelemetry.toggle "
+ Click to toggle section
+">
+
+<!ENTITY aboutTelemetry.emptySection "
+ (No data collected)
+">
+
+<!ENTITY aboutTelemetry.fullSqlWarning "
+ NOTE: Slow SQL debugging is enabled. Full SQL strings may be displayed below but they will not be submitted to Telemetry.
+">
+
+<!ENTITY aboutTelemetry.fetchSymbols "
+ Fetch function names for hang stacks
+">
+
+<!ENTITY aboutTelemetry.hideSymbols "
+ Show raw data from hangs
+">
+
+<!ENTITY aboutTelemetry.filterText "
+ Filter (strings or /regexp/)
+">
+
+<!ENTITY aboutTelemetry.payloadChoiceHeader "
+ Payload
+">
+
+<!ENTITY aboutTelemetry.rawPayload "
+ Raw Payload
+"> \ No newline at end of file
diff --git a/toolkit/locales/en-US/chrome/global/aboutTelemetry.properties b/toolkit/locales/en-US/chrome/global/aboutTelemetry.properties
new file mode 100644
index 000000000..c649c8082
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/aboutTelemetry.properties
@@ -0,0 +1,83 @@
+# 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/.
+
+# Note to translators:
+# - %1$S will be replaced by brandFullName
+# - %2$S will be replaced with the value of the toolkit.telemetry.server_owner preference
+pageSubtitle = This page shows the information about performance, hardware, usage and customizations collected by Telemetry. This information is submitted to %1$S to help improve %2$S.
+
+generalDataTitle = General Data
+
+generalDataHeadingName = Name
+
+generalDataHeadingValue = Value
+
+environmentDataHeadingName = Name
+
+environmentDataHeadingValue = Value
+
+environmentDataSubsectionToggle = Click to toggle section
+
+environmentDataSubsectionEmpty = (No data collected)
+
+telemetryLogTitle = Telemetry Log
+
+telemetryLogHeadingId = Id
+
+telemetryLogHeadingTimestamp = Timestamp
+
+telemetryLogHeadingData = Data
+
+slowSqlMain = Slow SQL Statements on Main Thread
+
+slowSqlOther = Slow SQL Statements on Helper Threads
+
+slowSqlHits = Hits
+
+slowSqlAverage = Avg. Time (ms)
+
+slowSqlStatement = Statement
+
+# Note to translators:
+# - The %1$S will be replaced with the number of the hang
+# - The %2$S will be replaced with the duration of the hang
+chrome-hangs-title = Hang Report #%1$S (%2$S seconds)
+
+# Note to translators:
+# - The %1$S will be replaced with the number of the late write
+late-writes-title = Late Write #%1$S
+
+stackTitle = Stack:
+
+memoryMapTitle = Memory map:
+
+errorFetchingSymbols = An error occurred while fetching symbols. Check that you are connected to the Internet and try again.
+
+histogramSamples = samples
+
+histogramAverage = average
+
+histogramSum = sum
+
+histogramCopy = Copy
+
+keysHeader = Property
+
+namesHeader = Name
+
+valuesHeader = Value
+
+addonTableID = Add-on ID
+
+addonTableDetails = Details
+
+# Note to translators:
+# - The %1$S will be replaced with the name of an Add-on Provider (e.g. "XPI", "Plugin")
+addonProvider = %1$S Provider
+
+parentPayload = Parent Payload
+
+# Note to translators:
+# - The %1$S will be replaced with the number of the child payload (e.g. "1", "2")
+childPayloadN = Child Payload %1$S
diff --git a/toolkit/locales/en-US/chrome/global/aboutWebrtc.properties b/toolkit/locales/en-US/chrome/global/aboutWebrtc.properties
new file mode 100644
index 000000000..e1b270f7c
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/aboutWebrtc.properties
@@ -0,0 +1,120 @@
+# 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 (document_title, cannot_retrieve_log):
+# The text "WebRTC" is a proper noun and should not be translated.
+# It is the general label for the standards based technology. see http://www.webrtc.org
+document_title = WebRTC Internals
+cannot_retrieve_log = Cannot retrieve WebRTC log data
+
+# LOCALIZATION NOTE (save_page_msg):
+# %1$S will be replaced by a full path file name: the target of the SavePage operation.
+save_page_msg = page saved to: %1$S
+
+# LOCALIZATION NOTE (save_page_dialog_title): "about:webrtc" is a internal browser URL and should not be
+# translated. This string is used as a title for a file save dialog box.
+save_page_dialog_title = save about:webrtc as
+
+# LOCALIZATION NOTE (debug_mode_off_state_msg):
+# %1$S will be replaced by the full path file name of the debug log.
+debug_mode_off_state_msg = trace log can be found at: %1$S
+
+# LOCALIZATION NOTE (debug_mode_on_state_msg):
+# %1$S will be replaced by the full path file name of the debug log.
+debug_mode_on_state_msg = debug mode active, trace log at: %1$S
+
+# LOCALIZATION NOTE (aec_logging_msg_label, aec_logging_off_state_label,
+# aec_logging_on_state_label, aec_logging_on_state_msg):
+# AEC is an abbreviation for Acoustic Echo Cancellation.
+aec_logging_msg_label = AEC Logging
+aec_logging_off_state_label = Start AEC Logging
+aec_logging_on_state_label = Stop AEC Logging
+aec_logging_on_state_msg = AEC logging active (speak with the caller for a few minutes and then stop the capture)
+
+# LOCALIZATION NOTE (aec_logging_off_state_msg):
+# %1$S will be replaced by the full path to the directory containing the captured log files.
+# AEC is an abbreviation for Acoustic Echo Cancellation.
+aec_logging_off_state_msg = captured log files can be found in: %1$S
+
+# LOCALIZATION NOTE (peer_connection_id_label): "PeerConnection" is a proper noun
+# associated with the WebRTC module. "ID" is an abbreviation for Identifier. This string
+# should not normally be translated and is used as a data label.
+peer_connection_id_label = PeerConnection ID
+
+# LOCALIZATION NOTE (sdp_heading, local_sdp_heading, remote_sdp_heading):
+# "SDP" is an abbreviation for Session Description Protocol, an IETF standard.
+# See http://wikipedia.org/wiki/Session_Description_Protocol
+sdp_heading = SDP
+local_sdp_heading = Local SDP
+remote_sdp_heading = Remote SDP
+
+# LOCALIZATION NOTE (rtp_stats_heading): "RTP" is an abbreviation for the
+# Real-time Transport Protocol, an IETF specification, and should not
+# normally be translated. "Stats" is an abbreviation for Statistics.
+rtp_stats_heading = RTP Stats
+
+# LOCALIZATION NOTE (ice_state, ice_stats_heading): "ICE" is an abbreviation
+# for Interactive Connectivity Establishment, which is an IETF protocol,
+# and should not normally be translated. "Stats" is an abbreviation for
+# Statistics.
+ice_state = ICE State
+ice_stats_heading = ICE Stats
+
+# LOCALIZATION NOTE (av_sync_label): "A/V" stands for Audio/Video.
+# "sync" is an abbreviation for sychronization. This is used as
+# a data label.
+av_sync_label = A/V sync
+
+# LOCALIZATION NOTE (jitter_buffer_delay_label): A jitter buffer is an
+# element in the processing chain, see http://wikipedia.org/wiki/Jitter
+# This is used as a data label.
+jitter_buffer_delay_label = Jitter-buffer delay
+
+# LOCALIZATION NOTE (avg_bitrate_label, avg_framerate_label): "Avg." is an abbreviation
+# for Average. These are used as data labels.
+avg_bitrate_label = Avg. bitrate
+avg_framerate_label = Avg. framerate
+
+# LOCALIZATION NOTE (typeLocal, typeRemote): These adjectives are used to label a
+# line of statistics collected for a peer connection. The data represents
+# either the local or remote end of the connection.
+typeLocal = Local
+typeRemote = Remote
+
+# LOCALIZATION NOTE (nominated): This adjective is used to label a table column.
+# Cells in this column contain the localized javascript string representation of "true"
+# or are left blank.
+nominated = Nominated
+
+# LOCALIZATION NOTE (selected): This adjective is used to label a table column.
+# Cells in this column contain the localized javascript string representation of "true"
+# or are left blank. This represents an attribute of an ICE candidate.
+selected = Selected
+
+save_page_label = Save Page
+debug_mode_msg_label = Debug Mode
+debug_mode_off_state_label = Start Debug Mode
+debug_mode_on_state_label = Stop Debug Mode
+stats_heading = Session Statistics
+log_heading = Connection Log
+log_show_msg = show log
+log_hide_msg = hide log
+connection_closed = closed
+local_candidate = Local Candidate
+remote_candidate = Remote Candidate
+priority = Priority
+fold_show_msg = show details
+fold_show_hint = click to expand this section
+fold_hide_msg = hide details
+fold_hide_hint = click to collapse this section
+dropped_frames_label = Dropped frames
+discarded_packets_label = Discarded packets
+decoder_label = Decoder
+encoder_label = Encoder
+received_label = Received
+packets = packets
+lost_label = Lost
+jitter_label = Jitter
+sent_label = Sent
+
diff --git a/toolkit/locales/en-US/chrome/global/appPicker.dtd b/toolkit/locales/en-US/chrome/global/appPicker.dtd
new file mode 100644
index 000000000..04d9bb8fe
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/appPicker.dtd
@@ -0,0 +1,7 @@
+<!-- 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/. -->
+
+<!ENTITY NoAppFound.label "No applications were found for this file type.">
+<!ENTITY BrowseButton.label "Browse…">
+<!ENTITY SendMsg.label "Send this item to:">
diff --git a/toolkit/locales/en-US/chrome/global/autocomplete.properties b/toolkit/locales/en-US/chrome/global/autocomplete.properties
new file mode 100644
index 000000000..5c7c84b96
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/autocomplete.properties
@@ -0,0 +1,23 @@
+# 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 (searchWithEngine): %S will be replaced with
+# the search engine provider's name. This format was chosen because
+# the provider can also end with "Search" (e.g.: MSN Search).
+searchWithEngine = Search with %S
+
+# LOCALIZATION NOTE (switchToTab2): This is the same as the older switchToTab
+# string that it's replacing, except it uses title case, so "Switch" and "Tab"
+# are capitalized.
+switchToTab2 = Switch to Tab
+
+# LOCALIZATION NOTE (visit): This is shown next to autocomplete entries that are
+# simple URLs or sites, which will be visited when the user selects them.
+visit = Visit
+
+# LOCALIZATION NOTE (bookmarkKeywordSearch): This is the title of autocomplete
+# entries that are bookmark keyword searches. %1$S will be replaced with the
+# domain name of the bookmark, and %2$S will be replaced with the keyword
+# search text that the user is typing. %2$S will not be empty.
+bookmarkKeywordSearch = %1$S: %2$S
diff --git a/toolkit/locales/en-US/chrome/global/browser.properties b/toolkit/locales/en-US/chrome/global/browser.properties
new file mode 100644
index 000000000..2b3150629
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/browser.properties
@@ -0,0 +1,14 @@
+# 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/.
+
+browsewithcaret.checkMsg=Do not show me this dialog box again.
+browsewithcaret.checkWindowTitle=Caret Browsing
+browsewithcaret.checkLabel=Pressing F7 turns Caret Browsing on or off. This feature places a moveable cursor in web pages, allowing you to select text with the keyboard. Do you want to turn Caret Browsing on?
+browsewithcaret.checkButtonLabel=Yes
+
+plainText.wordWrap=Wrap Long Lines
+
+formPostSecureToInsecureWarning.title = Security Warning
+formPostSecureToInsecureWarning.message = The information you have entered on this page will be sent over an insecure connection and could be read by a third party.\n\nAre you sure you want to send this information?
+formPostSecureToInsecureWarning.continue = Continue
diff --git a/toolkit/locales/en-US/chrome/global/charsetMenu.dtd b/toolkit/locales/en-US/chrome/global/charsetMenu.dtd
new file mode 100644
index 000000000..140627251
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/charsetMenu.dtd
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+
+<!ENTITY charsetMenu2.label "Text Encoding">
+<!ENTITY charsetMenu2.accesskey "c">
diff --git a/toolkit/locales/en-US/chrome/global/charsetMenu.properties b/toolkit/locales/en-US/chrome/global/charsetMenu.properties
new file mode 100644
index 000000000..a86a58320
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/charsetMenu.properties
@@ -0,0 +1,116 @@
+# 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: The property keys ending with ".key" are for access keys.
+# Localizations may add or delete properties where the property key ends with
+# ".key" as appropriate for the localization. The code that uses this data can
+# deal with the absence of an access key for an item.
+#
+# For gbk, gbk.bis and gbk.bis.key are used to trigger string changes in
+# localizations.
+#
+# In the en-US version of this file, access keys are given to the following:
+# * UTF-8
+# * All encodings that are the fallback encoding for some locale in Firefox
+# * All encodings that are the fallback encoding for some locale in IE
+# * All Japanese encodings
+#
+# For the items whose property key does not end in ".key" and whose value
+# includes "(" U+0028 LEFT PARENTHESIS, the "(" character is significant for
+# processing by CharsetMenu.jsm. If your localization does not use ASCII
+# parentheses where en-US does in this file, please file a bug to make
+# CharsetMenu.jsm also recognize the delimiter your localization uses.
+# (When this code was developed, all localizations appeared to use
+# U+0028 LEFT PARENTHESIS for this purpose.)
+
+# Auto-Detect (sub)menu
+charsetMenuCharsets = Character Encoding
+charsetMenuAutodet = Auto-Detect
+# 'A' is reserved for Arabic:
+charsetMenuAutodet.key = D
+charsetMenuAutodet.off = (off)
+charsetMenuAutodet.off.key = o
+charsetMenuAutodet.ja = Japanese
+charsetMenuAutodet.ja.key = J
+charsetMenuAutodet.ru = Russian
+charsetMenuAutodet.ru.key = R
+charsetMenuAutodet.uk = Ukrainian
+charsetMenuAutodet.uk.key = U
+
+# Globally-relevant
+UTF-8.key = U
+UTF-8 = Unicode
+windows-1252.key = W
+windows-1252 = Western
+
+# Arabic
+windows-1256.key = A
+windows-1256 = Arabic (Windows)
+ISO-8859-6 = Arabic (ISO)
+
+# Baltic
+windows-1257.key = B
+windows-1257 = Baltic (Windows)
+ISO-8859-4 = Baltic (ISO)
+
+# Central European
+windows-1250.key = E
+windows-1250 = Central European (Windows)
+ISO-8859-2.key = l
+ISO-8859-2 = Central European (ISO)
+
+# Chinese, Simplified
+gbk.bis.key = S
+gbk.bis = Chinese, Simplified
+
+# Chinese, Traditional
+Big5.key = T
+Big5 = Chinese, Traditional
+
+# Cyrillic
+windows-1251.key = C
+windows-1251 = Cyrillic (Windows)
+ISO-8859-5 = Cyrillic (ISO)
+KOI8-R = Cyrillic (KOI8-R)
+KOI8-U = Cyrillic (KOI8-U)
+IBM866 = Cyrillic (DOS)
+
+# Greek
+windows-1253.key = G
+windows-1253 = Greek (Windows)
+ISO-8859-7.key = O
+ISO-8859-7 = Greek (ISO)
+
+# Hebrew
+windows-1255.key = H
+windows-1255 = Hebrew
+# LOCALIZATION NOTE (ISO-8859-8): The value for this item should begin with
+# the same word for Hebrew as the value for windows-1255 so that this item
+# sorts right after that one in the collation order for your locale.
+ISO-8859-8 = Hebrew, Visual
+
+# Japanese
+Shift_JIS.key = J
+Shift_JIS = Japanese (Shift_JIS)
+EUC-JP.key = p
+EUC-JP = Japanese (EUC-JP)
+ISO-2022-JP.key = n
+ISO-2022-JP = Japanese (ISO-2022-JP)
+
+# Korean
+EUC-KR.key = K
+EUC-KR = Korean
+
+# Thai
+windows-874.key = i
+windows-874 = Thai
+
+# Turkish
+windows-1254.key = r
+windows-1254 = Turkish
+
+# Vietnamese
+windows-1258.key = V
+windows-1258 = Vietnamese
+
diff --git a/toolkit/locales/en-US/chrome/global/commonDialog.dtd b/toolkit/locales/en-US/chrome/global/commonDialog.dtd
new file mode 100644
index 000000000..a2273a61b
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/commonDialog.dtd
@@ -0,0 +1,13 @@
+<!-- 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/. -->
+
+<!ENTITY header.label "Brief Title">
+<!ENTITY message.label "Some sample Text goes here.">
+<!ENTITY editfield0.label "User Name:">
+<!ENTITY editfield1.label "Password:">
+<!ENTITY checkbox.label "check">
+<!ENTITY copyCmd.label "Copy">
+<!ENTITY copyCmd.accesskey "C">
+<!ENTITY selectAllCmd.label "Select All">
+<!ENTITY selectAllCmd.accesskey "A">
diff --git a/toolkit/locales/en-US/chrome/global/commonDialogs.properties b/toolkit/locales/en-US/chrome/global/commonDialogs.properties
new file mode 100644
index 000000000..001705b18
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/commonDialogs.properties
@@ -0,0 +1,32 @@
+# 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/.
+
+Alert=Alert
+Confirm=Confirm
+ConfirmCheck=Confirm
+Prompt=Prompt
+PromptUsernameAndPassword2=Authentication Required
+PromptPassword2=Password Required
+Select=Select
+OK=OK
+Cancel=Cancel
+Yes=&Yes
+No=&No
+Save=&Save
+Revert=&Revert
+DontSave=Do&n’t Save
+ScriptDlgGenericHeading=[JavaScript Application]
+ScriptDlgHeading=The page at %S says:
+ScriptDialogLabel=Prevent this page from creating additional dialogs
+ScriptDialogPreventTitle=Confirm Dialog Preference
+# LOCALIZATION NOTE (EnterLoginForRealm3, EnterLoginForProxy3):
+# %1 is an untrusted string provided by a remote server. It could try to
+# take advantage of sentence structure in order to mislead the user (see
+# bug 244273). %1 should be integrated into the translated sentences as
+# little as possible. %2 is the url of the site being accessed.
+EnterLoginForRealm3=%2$S is requesting your username and password. The site says: “%1$S”
+EnterLoginForProxy3=The proxy %2$S is requesting a username and password. The site says: “%1$S”
+EnterUserPasswordFor2=%1$S is requesting your username and password.
+EnterUserPasswordForCrossOrigin2=%1$S is requesting your username and password. WARNING: Your password will not be sent to the website you are currently visiting!
+EnterPasswordFor=Enter password for %1$S on %2$S
diff --git a/toolkit/locales/en-US/chrome/global/config.dtd b/toolkit/locales/en-US/chrome/global/config.dtd
new file mode 100644
index 000000000..083363aea
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/config.dtd
@@ -0,0 +1,50 @@
+<!-- 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/. -->
+
+<!ENTITY window.title "about:config">
+
+<!-- about:config warning page -->
+<!-- LOCALIZATION NOTE: aboutWarningTitle.label should be attention grabbing and playful -->
+<!ENTITY aboutWarningTitle.label "This might void your warranty!">
+<!ENTITY aboutWarningText.label "Changing these advanced settings can be harmful to the stability, security, and performance of this application. You should only continue if you are sure of what you are doing.">
+<!ENTITY aboutWarningButton2.label "I accept the risk!">
+<!ENTITY aboutWarningCheckbox.label "Show this warning next time">
+
+<!ENTITY searchPrefs.label "Search:">
+<!ENTITY searchPrefs.accesskey "r">
+<!ENTITY focusSearch.key "r">
+<!ENTITY focusSearch2.key "f">
+
+<!-- Columns -->
+<!ENTITY prefColumn.label "Preference Name">
+<!ENTITY lockColumn.label "Status">
+<!ENTITY typeColumn.label "Type">
+<!ENTITY valueColumn.label "Value">
+
+<!-- Tooltips -->
+<!ENTITY prefColumnHeader.tooltip "Click to sort">
+<!ENTITY columnChooser.tooltip "Click to select columns to display">
+
+<!-- Context Menu -->
+<!ENTITY copyPref.key "C">
+<!ENTITY copyPref.label "Copy">
+<!ENTITY copyPref.accesskey "C">
+<!ENTITY copyName.label "Copy Name">
+<!ENTITY copyName.accesskey "N">
+<!ENTITY copyValue.label "Copy Value">
+<!ENTITY copyValue.accesskey "V">
+<!ENTITY modify.label "Modify">
+<!ENTITY modify.accesskey "M">
+<!ENTITY toggle.label "Toggle">
+<!ENTITY toggle.accesskey "T">
+<!ENTITY reset.label "Reset">
+<!ENTITY reset.accesskey "R">
+<!ENTITY new.label "New">
+<!ENTITY new.accesskey "w">
+<!ENTITY string.label "String">
+<!ENTITY string.accesskey "S">
+<!ENTITY integer.label "Integer">
+<!ENTITY integer.accesskey "I">
+<!ENTITY boolean.label "Boolean">
+<!ENTITY boolean.accesskey "B">
diff --git a/toolkit/locales/en-US/chrome/global/config.properties b/toolkit/locales/en-US/chrome/global/config.properties
new file mode 100644
index 000000000..31b832cfa
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/config.properties
@@ -0,0 +1,22 @@
+# 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/.
+
+# Lock column values
+default=default
+user=user set
+locked=locked
+
+# Type column values
+string=string
+int=integer
+bool=boolean
+
+# Preference prompts
+# %S is replaced by one of the type column values above
+new_title=New %S value
+new_prompt=Enter the preference name
+modify_title=Enter %S value
+
+nan_title=Invalid value
+nan_text=The text you entered is not a number.
diff --git a/toolkit/locales/en-US/chrome/global/console.dtd b/toolkit/locales/en-US/chrome/global/console.dtd
new file mode 100644
index 000000000..b5611fad4
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/console.dtd
@@ -0,0 +1,37 @@
+<!-- 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/. -->
+
+<!ENTITY errorConsole.title "Error Console">
+
+<!ENTITY errFile.label "Source File:">
+<!ENTITY errLine.label "Line:">
+<!ENTITY errColumn.label "Column:">
+
+<!ENTITY all.label "All">
+<!ENTITY all.accesskey "A">
+<!ENTITY errors.label "Errors">
+<!ENTITY errors.accesskey "E">
+<!ENTITY warnings.label "Warnings">
+<!ENTITY warnings.accesskey "W">
+<!ENTITY messages.label "Messages">
+<!ENTITY messages.accesskey "M">
+<!ENTITY clear.label "Clear">
+<!ENTITY clear.accesskey "C">
+<!ENTITY codeEval.label "Code:">
+<!ENTITY codeEval.accesskey "o">
+<!ENTITY evaluate.label "Evaluate">
+<!ENTITY evaluate.accesskey "v">
+<!ENTITY filter2.label "Filter:">
+<!ENTITY filter2.accesskey "F">
+
+<!ENTITY copyCmd.label "Copy">
+<!ENTITY copyCmd.accesskey "C">
+<!ENTITY copyCmd.commandkey "C">
+<!ENTITY sortFirst.label "First > Last Sort Order">
+<!ENTITY sortFirst.accesskey "f">
+<!ENTITY sortLast.label "Last > First Sort Order">
+<!ENTITY sortLast.accesskey "l">
+<!ENTITY closeCmd.commandkey "w">
+<!ENTITY focus1.commandkey "l">
+<!ENTITY focus2.commandkey "d">
diff --git a/toolkit/locales/en-US/chrome/global/console.properties b/toolkit/locales/en-US/chrome/global/console.properties
new file mode 100644
index 000000000..a17a250b3
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/console.properties
@@ -0,0 +1,17 @@
+# 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/.
+
+typeError=Error:
+typeWarning=Warning:
+typeMessage=Message:
+errFile=Source File: %S
+errLine=Line: %S
+errLineCol=Line: %S, Column: %S
+errCode=Source Code:
+errTime=Timestamp: %S
+
+# LOCALIZATION NOTE (evaluationContextChanged): The message displayed when the
+# browser console's evaluation context (window against which input is evaluated)
+# changes.
+evaluationContextChanged=The console’s evaluation context changed, probably because the target window was closed or because you opened a main window from the browser console’s window.
diff --git a/toolkit/locales/en-US/chrome/global/contentAreaCommands.properties b/toolkit/locales/en-US/chrome/global/contentAreaCommands.properties
new file mode 100644
index 000000000..1941c5e6b
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/contentAreaCommands.properties
@@ -0,0 +1,22 @@
+# 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/.
+
+# context menu strings
+
+SaveImageTitle=Save Image
+SaveVideoTitle=Save Video
+SaveAudioTitle=Save Audio
+SaveLinkTitle=Save As
+DefaultSaveFileName=index
+WebPageCompleteFilter=Web Page, complete
+WebPageHTMLOnlyFilter=Web Page, HTML only
+WebPageXHTMLOnlyFilter=Web Page, XHTML only
+WebPageSVGOnlyFilter=Web Page, SVG only
+WebPageXMLOnlyFilter=Web Page, XML only
+
+# LOCALIZATION NOTE (filesFolder):
+# This is the name of the folder that is created parallel to a HTML file
+# when it is saved "With Images". The %S section is replaced with the
+# leaf name of the file being saved (minus extension).
+filesFolder=%S_files
diff --git a/toolkit/locales/en-US/chrome/global/customizeToolbar.dtd b/toolkit/locales/en-US/chrome/global/customizeToolbar.dtd
new file mode 100644
index 000000000..01448273d
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/customizeToolbar.dtd
@@ -0,0 +1,16 @@
+<!-- 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/. -->
+
+<!ENTITY dialog.title "Customize Toolbar">
+<!ENTITY dialog.dimensions "width: 92ch; height: 36em;">
+<!ENTITY instructions.description "You can add or remove items by dragging to or from the toolbars.">
+<!ENTITY show.label "Show:">
+<!ENTITY iconsAndText.label "Icons and Text">
+<!ENTITY icons.label "Icons">
+<!ENTITY text.label "Text">
+<!ENTITY useSmallIcons.label "Use Small Icons">
+<!ENTITY restoreDefaultSet.label "Restore Default Set">
+<!ENTITY addNewToolbar.label "Add New Toolbar">
+<!ENTITY saveChanges.label "Done">
+<!ENTITY undoChanges.label "Undo Changes">
diff --git a/toolkit/locales/en-US/chrome/global/customizeToolbar.properties b/toolkit/locales/en-US/chrome/global/customizeToolbar.properties
new file mode 100644
index 000000000..0ec6d2c1d
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/customizeToolbar.properties
@@ -0,0 +1,11 @@
+# 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/.
+
+enterToolbarTitle=New Toolbar
+enterToolbarName=Enter a name for this toolbar:
+enterToolbarDup=There is already a toolbar with the name “%S”. Please enter a different name.
+enterToolbarBlank=You must enter a name to create a new toolbar.
+separatorTitle=Separator
+springTitle=Flexible Space
+spacerTitle=Space
diff --git a/toolkit/locales/en-US/chrome/global/dateFormat.properties b/toolkit/locales/en-US/chrome/global/dateFormat.properties
new file mode 100644
index 000000000..a564c0d4d
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/dateFormat.properties
@@ -0,0 +1,58 @@
+# 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/.
+
+month.1.Mmm=Jan
+month.2.Mmm=Feb
+month.3.Mmm=Mar
+month.4.Mmm=Apr
+month.5.Mmm=May
+month.6.Mmm=Jun
+month.7.Mmm=Jul
+month.8.Mmm=Aug
+month.9.Mmm=Sep
+month.10.Mmm=Oct
+month.11.Mmm=Nov
+month.12.Mmm=Dec
+
+month.1.name=January
+month.2.name=February
+month.3.name=March
+month.4.name=April
+month.5.name=May
+month.6.name=June
+month.7.name=July
+month.8.name=August
+month.9.name=September
+month.10.name=October
+month.11.name=November
+month.12.name=December
+
+day.1.name=Sunday
+day.2.name=Monday
+day.3.name=Tuesday
+day.4.name=Wednesday
+day.5.name=Thursday
+day.6.name=Friday
+day.7.name=Saturday
+
+day.1.Mmm=Sun
+day.2.Mmm=Mon
+day.3.Mmm=Tue
+day.4.Mmm=Wed
+day.5.Mmm=Thu
+day.6.Mmm=Fri
+day.7.Mmm=Sat
+
+day.1.short=Su
+day.2.short=Mo
+day.3.short=Tu
+day.4.short=We
+day.5.short=Th
+day.6.short=Fr
+day.7.short=Sa
+
+noon=Noon
+midnight=Midnight
+
+AllDay=All Day
diff --git a/toolkit/locales/en-US/chrome/global/datetimepicker.dtd b/toolkit/locales/en-US/chrome/global/datetimepicker.dtd
new file mode 100644
index 000000000..b010c4831
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/datetimepicker.dtd
@@ -0,0 +1,7 @@
+<!-- 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/. -->
+
+<!-- first day of week to display in datepicker, a value from 0 to 6,
+ 0 = Sunday, 1 = Monday, etc. -->
+<!ENTITY firstdayofweek.default "0">
diff --git a/toolkit/locales/en-US/chrome/global/dialog.properties b/toolkit/locales/en-US/chrome/global/dialog.properties
new file mode 100644
index 000000000..ce6acb5ef
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/dialog.properties
@@ -0,0 +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/.
+
+button-accept=OK
+button-cancel=Cancel
+button-help=Help
+button-disclosure=More Info
+accesskey-accept=
+accesskey-cancel=
+accesskey-help=H
+accesskey-disclosure=I
diff --git a/toolkit/locales/en-US/chrome/global/dialogOverlay.dtd b/toolkit/locales/en-US/chrome/global/dialogOverlay.dtd
new file mode 100644
index 000000000..217b8c9e9
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/dialogOverlay.dtd
@@ -0,0 +1,10 @@
+<!-- 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/. -->
+
+<!-- WARNING!!! This file is obsoleted by the dialog.xml widget -->
+
+<!-- OK Cancel Buttons -->
+<!ENTITY okButton.label "OK">
+<!ENTITY cancelButton.label "Cancel">
+<!ENTITY helpButton.label "Help">
diff --git a/toolkit/locales/en-US/chrome/global/editMenuOverlay.dtd b/toolkit/locales/en-US/chrome/global/editMenuOverlay.dtd
new file mode 100644
index 000000000..44185616b
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/editMenuOverlay.dtd
@@ -0,0 +1,35 @@
+<!-- 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/. -->
+
+<!ENTITY editMenu.label "Edit">
+<!ENTITY editMenu.accesskey "e">
+<!ENTITY undoCmd.label "Undo">
+<!ENTITY undoCmd.key "Z">
+<!ENTITY undoCmd.accesskey "u">
+<!ENTITY redoCmd.label "Redo">
+<!ENTITY redoCmd.key "Y">
+<!ENTITY redoCmd.accesskey "r">
+<!ENTITY cutCmd.label "Cut">
+<!ENTITY cutCmd.key "X">
+<!ENTITY cutCmd.accesskey "t">
+<!ENTITY copyCmd.label "Copy">
+<!ENTITY copyCmd.key "C">
+<!ENTITY copyCmd.accesskey "c">
+<!ENTITY pasteCmd.label "Paste">
+<!ENTITY pasteCmd.key "V">
+<!ENTITY pasteCmd.accesskey "p">
+<!ENTITY deleteCmd.label "Delete">
+<!ENTITY deleteCmd.accesskey "d">
+<!ENTITY selectAllCmd.label "Select All">
+<!ENTITY selectAllCmd.key "A">
+<!ENTITY selectAllCmd.accesskey "a">
+<!ENTITY findCmd.label "Find">
+<!ENTITY findCmd.key "F">
+<!ENTITY findCmd.accesskey "F">
+<!ENTITY findAgainCmd.label "Find Again">
+<!ENTITY findAgainCmd.key "G">
+<!ENTITY findAgainCmd.key2 "VK_F3">
+<!ENTITY findAgainCmd.accesskey "g">
+<!ENTITY findPreviousCmd.label "Find Previous">
+<!ENTITY findPreviousCmd.accesskey "v">
diff --git a/toolkit/locales/en-US/chrome/global/extensions.properties b/toolkit/locales/en-US/chrome/global/extensions.properties
new file mode 100644
index 000000000..20ee688ba
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/extensions.properties
@@ -0,0 +1,29 @@
+# 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/.
+
+csp.error.missing-directive = Policy is missing a required ‘%S’ directive
+
+#LOCALIZATION NOTE (csp.error.illegal-keyword) %1$S is the name of a CSP directive, such as "script-src". %2$S is the name of a CSP keyword, usually 'unsafe-inline'.
+csp.error.illegal-keyword = ‘%1$S’ directive contains a forbidden %2$S keyword
+
+#LOCALIZATION NOTE (csp.error.illegal-protocol) %2$S a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp.error.illegal-protocol = ‘%1$S’ directive contains a forbidden %2$S: protocol source
+
+#LOCALIZATION NOTE (csp.error.missing-host) %2$S a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp.error.missing-host = %2$S: protocol requires a host in ‘%1$S’ directives
+
+#LOCALIZATION NOTE (csp.error.missing-source) %1$S is the name of a CSP directive, such as "script-src". %2$S is the name of a CSP source, usually 'self'.
+csp.error.missing-source = ‘%1$S’ must include the source %2$S
+
+#LOCALIZATION NOTE (csp.error.illegal-host-wildcard) %2$S a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp.error.illegal-host-wildcard = %2$S: wildcard sources in ‘%1$S’ directives must include at least one non-generic sub-domain (e.g., *.example.com rather than *.com)
+
+#LOCALIZATION NOTE (uninstall.confirmation.title) %S is the name of the extension which is about to be uninstalled.
+uninstall.confirmation.title = Uninstall %S
+
+#LOCALIZATION NOTE (uninstall.confirmation.message) %S is the name of the extension which is about to be uninstalled.
+uninstall.confirmation.message = The extension “%S” is requesting to be uninstalled. What would you like to do?
+
+uninstall.confirmation.button-0.label = Uninstall
+uninstall.confirmation.button-1.label = Keep Installed
diff --git a/toolkit/locales/en-US/chrome/global/fallbackMenubar.properties b/toolkit/locales/en-US/chrome/global/fallbackMenubar.properties
new file mode 100644
index 000000000..9765689ec
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/fallbackMenubar.properties
@@ -0,0 +1,8 @@
+# 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/.
+
+# OSX only. Default menu label when there is no xul menubar.
+
+quitMenuitem.label=Quit
+quitMenuitem.key=q
diff --git a/toolkit/locales/en-US/chrome/global/filefield.properties b/toolkit/locales/en-US/chrome/global/filefield.properties
new file mode 100644
index 000000000..affe3e89f
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/filefield.properties
@@ -0,0 +1,7 @@
+# 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/.
+
+#### Change Action
+
+downloadHelperNoneSelected=None Selected
diff --git a/toolkit/locales/en-US/chrome/global/filepicker.dtd b/toolkit/locales/en-US/chrome/global/filepicker.dtd
new file mode 100644
index 000000000..3367722ee
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/filepicker.dtd
@@ -0,0 +1,21 @@
+<!-- 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/. -->
+
+<!ENTITY lookInMenuList.label "Look in:">
+<!ENTITY lookInMenuList.accesskey "L">
+<!ENTITY textInput.label "File name:">
+<!ENTITY textInput.accesskey "n">
+<!ENTITY filterMenuList.label "Files of type:">
+<!ENTITY filterMenuList.accesskey "t">
+<!ENTITY name.label "Name">
+<!ENTITY size.label "Size">
+<!ENTITY lastModified.label "Last Modified">
+<!ENTITY showHiddenFiles.label "Show hidden files and directories">
+<!ENTITY showHiddenFiles.accesskey "S">
+
+<!ENTITY noPermissionError.label "You do not have the permissions necessary to view this directory.">
+
+<!ENTITY folderUp.tooltiptext "Go up a level">
+<!ENTITY folderHome.tooltiptext "Go to home">
+<!ENTITY folderNew.tooltiptext "Create new directory">
diff --git a/toolkit/locales/en-US/chrome/global/filepicker.properties b/toolkit/locales/en-US/chrome/global/filepicker.properties
new file mode 100644
index 000000000..9c9be1f78
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/filepicker.properties
@@ -0,0 +1,55 @@
+# 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: The extensions to which these descriptions refer
+# now live in toolkit/content/filepicker.properties
+allTitle=All Files
+htmlTitle=HTML Files
+textTitle=Text Files
+imageTitle=Image Files
+xmlTitle=XML Files
+xulTitle=XUL Files
+appsTitle=Applications
+audioTitle=Audio Files
+videoTitle=Video Files
+
+dirTextInputLabel=Directory name:
+dirTextInputAccesskey=n
+
+confirmTitle=Confirm
+confirmFileReplacing=%S already exists.\nDo you want to replace it?
+openButtonLabel=Open
+saveButtonLabel=Save
+selectFolderButtonLabel=Select
+noButtonLabel=No
+formatLabel=Format:
+
+errorOpenFileDoesntExistTitle=Error opening %S
+errorOpenFileDoesntExistMessage=File %S doesn’t exist
+errorDirDoesntExistTitle=Error accessing %S
+errorDirDoesntExistMessage=Directory %S doesn’t exist
+
+errorOpeningFileTitle=Error opening %S
+openWithoutPermissionMessage_file=File %S is not readable
+
+errorSavingFileTitle=Error saving %S
+saveParentIsFileMessage=%S is a file, can’t save %S
+saveParentDoesntExistMessage=Path %S doesn’t exist, can’t save %S
+
+saveWithoutPermissionMessage_file=File %S is not writable.
+saveWithoutPermissionMessage_dir=Cannot create file. Directory %S is not writable.
+
+errorNewDirDoesExistTitle=Error creating %S
+errorNewDirDoesExistMessage=A file named %S already exists, directory cannot be created.
+
+errorCreateNewDirTitle=Error creating %S
+errorCreateNewDirMessage=Directory %S could not be created
+errorCreateNewDirIsFileMessage=Directory cannot be created, %S is a file
+errorCreateNewDirPermissionMessage=Directory cannot be created, %S not writable
+
+promptNewDirTitle=Create new directory
+promptNewDirMessage=Directory name:
+
+errorPathProblemTitle=Unknown Error
+errorPathProblemMessage=An unknown error occurred (path %S)
diff --git a/toolkit/locales/en-US/chrome/global/findbar.dtd b/toolkit/locales/en-US/chrome/global/findbar.dtd
new file mode 100644
index 000000000..ad77130bc
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/findbar.dtd
@@ -0,0 +1,19 @@
+<!-- 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 : FILE This file contains the entities needed to -->
+<!-- LOCALIZATION NOTE : FILE use the Find Bar. -->
+
+<!ENTITY next.tooltip "Find the next occurrence of the phrase">
+<!ENTITY previous.tooltip "Find the previous occurrence of the phrase">
+<!ENTITY findCloseButton.tooltip "Close find bar">
+<!ENTITY highlightAll.label "Highlight All">
+<!ENTITY highlightAll.accesskey "l">
+<!ENTITY highlightAll.tooltiptext "Highlight all occurrences of the phrase">
+<!ENTITY caseSensitive.label "Match Case">
+<!ENTITY caseSensitive.accesskey "c">
+<!ENTITY caseSensitive.tooltiptext "Search with case sensitivity">
+<!ENTITY entireWord.label "Whole Words">
+<!ENTITY entireWord.accesskey "w">
+<!ENTITY entireWord.tooltiptext "Search whole words only">
diff --git a/toolkit/locales/en-US/chrome/global/findbar.properties b/toolkit/locales/en-US/chrome/global/findbar.properties
new file mode 100644
index 000000000..abe037ba7
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/findbar.properties
@@ -0,0 +1,22 @@
+# 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/.
+
+# strings used by the Find bar, split from browser.properties
+NotFound=Phrase not found
+WrappedToTop=Reached end of page, continued from top
+WrappedToBottom=Reached top of page, continued from bottom
+NormalFind=Find in page
+FastFind=Quick find
+FastFindLinks=Quick find (links only)
+CaseSensitive=(Case sensitive)
+EntireWord=(Whole words only)
+# LOCALIZATION NOTE (FoundMatches): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is currently selected match and #2 the total amount of matches.
+FoundMatches=#1 of #2 match;#1 of #2 matches
+# LOCALIZATION NOTE (FoundMatchesCountLimit): Semicolon-separated list of plural
+# forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the total amount of matches allowed before counting stops.
+FoundMatchesCountLimit=More than #1 match;More than #1 matches
diff --git a/toolkit/locales/en-US/chrome/global/finddialog.dtd b/toolkit/locales/en-US/chrome/global/finddialog.dtd
new file mode 100644
index 000000000..d3ca7e5dc
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/finddialog.dtd
@@ -0,0 +1,22 @@
+<!-- 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/. -->
+
+<!-- extracted from finddialog.xul -->
+
+<!ENTITY findDialog.title "Find in This Page">
+<!ENTITY findField.label "Find what:">
+<!ENTITY findField.accesskey "n">
+<!ENTITY caseSensitiveCheckbox.label "Match case">
+<!ENTITY caseSensitiveCheckbox.accesskey "c">
+<!ENTITY wrapCheckbox.label "Wrap">
+<!ENTITY wrapCheckbox.accesskey "W">
+<!ENTITY findButton.label "Find Next">
+<!ENTITY findButton.accesskey "F">
+<!ENTITY cancelButton.label "Cancel">
+<!ENTITY closeButton.label "Close">
+<!ENTITY up.label "Up">
+<!ENTITY up.accesskey "U">
+<!ENTITY down.label "Down">
+<!ENTITY down.accesskey "D">
+<!ENTITY direction.label "Direction">
diff --git a/toolkit/locales/en-US/chrome/global/finddialog.properties b/toolkit/locales/en-US/chrome/global/finddialog.properties
new file mode 100644
index 000000000..67b0b3c41
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/finddialog.properties
@@ -0,0 +1,6 @@
+# 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/.
+
+notFoundWarning=The text you entered was not found.
+notFoundTitle=Find \ No newline at end of file
diff --git a/toolkit/locales/en-US/chrome/global/globalKeys.dtd b/toolkit/locales/en-US/chrome/global/globalKeys.dtd
new file mode 100644
index 000000000..76b923571
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/globalKeys.dtd
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+
+<!ENTITY openHelp.commandkey "VK_F1">
+<!ENTITY openHelpMac.commandkey "?">
diff --git a/toolkit/locales/en-US/chrome/global/headsUpDisplay.properties b/toolkit/locales/en-US/chrome/global/headsUpDisplay.properties
new file mode 100644
index 000000000..6a95bb036
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/headsUpDisplay.properties
@@ -0,0 +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/.
+
+
+# LOCALIZATION NOTE (stacktrace.anonymousFunction):
+# This string is used to display JavaScript functions that have no given name -
+# they are said to be anonymous. See stacktrace.outputMessage.
+stacktrace.anonymousFunction=<anonymous>
+
+# LOCALIZATION NOTE (stacktrace.outputMessage):
+# This string is used in the Web Console output to identify a web developer call
+# to console.trace(). The stack trace of JavaScript function calls is displayed.
+# In this minimal message we only show the last call.
+stacktrace.outputMessage=Stack trace from %S, function %S, line %S.
diff --git a/toolkit/locales/en-US/chrome/global/intl.css b/toolkit/locales/en-US/chrome/global/intl.css
new file mode 100644
index 000000000..2f54eb367
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/intl.css
@@ -0,0 +1,11 @@
+/* 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/. */
+
+/*
+ * This file contains all localizable skin settings such as
+ * font, layout, and geometry
+ */
+window {
+ font: 3mm tahoma,arial,helvetica,sans-serif;
+}
diff --git a/toolkit/locales/en-US/chrome/global/intl.properties b/toolkit/locales/en-US/chrome/global/intl.properties
new file mode 100644
index 000000000..0fd8a493f
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/intl.properties
@@ -0,0 +1,61 @@
+# 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 (general.useragent.locale):
+# This is the valid BCP 47 language tag representing your locale.
+#
+# In most cases, this will simply be your locale code. However, in rare cases
+# (such as 'jp-JP-mac'), you may need to modify your locale code in order to
+# make it a valid BCP 47 language tag. (If your locale code does not include a
+# region subtag, do not include one in the language tag representing your
+# locale.)
+general.useragent.locale=en-US
+
+# LOCALIZATION NOTE (intl.accept_languages):
+# This is a comma-separated list of valid BCP 47 language tags.
+#
+# Begin with the value of 'general.useragent.locale'. Next, include language
+# tags for other languages that you expect most users of your locale to be
+# able to speak, so that their browsing experience degrades gracefully if
+# content is not available in their primary language.
+#
+# It is recommended that you include "en-US, en" at the end of the list as a
+# last resort. However, if you know that users of your locale would prefer a
+# different variety of English, or if they are not likely to understand
+# English at all, you may opt to include a different English language tag, or
+# to exclude English altogether.
+#
+# For example, the Breton [br] locale might consider including French and
+# British English in their list, since those languages are commonly spoken in
+# the same area as Breton:
+# intl.accept_languages=br, fr-FR, fr, en-GB, en
+intl.accept_languages=en-US, en
+
+# LOCALIZATION NOTE (font.language.group):
+# This preference controls the initial setting of the language drop-down menu
+# in the Content > Fonts & Colors > Advanced preference panel.
+#
+# Set it to the value of one of the menuitems in the "selectLangs" menulist in
+# http://dxr.mozilla.org/mozilla-central/source/browser/components/preferences/fonts.xul
+font.language.group=x-western
+
+# LOCALIZATION NOTE (intl.charset.detector):
+# This preference controls the initial setting for the character encoding
+# detector. Valid values are ja_parallel_state_machine for Japanese, ruprob
+# for Russian and ukprob for Ukrainian and the empty string to turn detection
+# off. The value must be empty for locales other than Japanese, Russian and
+# Ukrainian.
+intl.charset.detector=
+
+# LOCALIZATION NOTE (pluralRule): Pick the appropriate plural rule for your
+# language. This will determine how many plural forms of a word you will need
+# to provide and in what order.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+pluralRule=1
+
+# LOCALIZATION NOTE (intl.menuitems.alwaysappendaccesskeys, intl.menuitems.insertseparatorbeforeaccesskeys):
+# Valid values are: true, false, <empty string>
+# Missing preference or empty value equals false.
+intl.menuitems.alwaysappendaccesskeys=
+intl.menuitems.insertseparatorbeforeaccesskeys=true
diff --git a/toolkit/locales/en-US/chrome/global/keys.properties b/toolkit/locales/en-US/chrome/global/keys.properties
new file mode 100644
index 000000000..1137bf7c6
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/keys.properties
@@ -0,0 +1,71 @@
+# 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 : FILE This file contains the application's labels for keys on the keyboard.
+# If you decide to translate this file, you should translate it based on
+# the prevelant kind of keyboard for your target user.
+# LOCALIZATION NOTE : There are two types of keys, those w/ text on their labels
+# and those w/ glyphs.
+# LOCALIZATION NOTE : VK_<…> represents a key on the keyboard.
+#
+# For more information please see bugzilla bug 90888.
+
+# F1..F10 should probably not be translated unless there are keyboards that actually have other labels
+# F11..F20 might be something else, but are really keyboard specific and not region/language specific
+# there are actually two different F11/F12 keys, I don't know which one these labels represent.
+# eg, F13..F20 on a sparc keyboard are labeled Props, Again .. Find, Cut
+# sparc also has Stop, Again and F11/F12. VK_F11/VK_F12 probably map to Stop/Again
+# LOCALIZATION NOTE : BLOCK Do not translate the next block
+VK_F1=F1
+VK_F2=F2
+VK_F3=F3
+VK_F4=F4
+VK_F5=F5
+VK_F6=F6
+VK_F7=F7
+VK_F8=F8
+VK_F9=F9
+VK_F10=F10
+
+VK_F11=F11
+VK_F12=F12
+VK_F13=F13
+VK_F14=F14
+VK_F15=F15
+VK_F16=F16
+VK_F17=F17
+VK_F18=F18
+VK_F19=F19
+VK_F20=F20
+# LOCALIZATION NOTE : BLOCK end do not translate block
+
+# LOCALIZATION NOTE : BLOCK GLYPHS, DO translate this block
+VK_UP=Up Arrow
+VK_DOWN=Down Arrow
+VK_LEFT=Left Arrow
+VK_RIGHT=Right Arrow
+VK_PAGE_UP=Page Up
+VK_PAGE_DOWN=Page Down
+# LOCALIZATION NOTE : BLOCK end GLYPHS
+
+# Enter, backspace, and Tab might have both glyphs and text
+# if the keyboards usually have a glyph,
+# if there is a meaningful translation,
+# or if keyboards are localized
+# then translate them or insert the appropriate glyph
+# otherwise you should probably just translate the glyph regions
+
+# LOCALIZATION NOTE : BLOCK maybe GLYPHS
+VK_RETURN=Return
+VK_TAB=Tab
+VK_BACK=Backspace
+VK_DELETE=Del
+# LOCALIZATION NOTE : BLOCK end maybe GLYPHS
+# LOCALIZATION NOTE : BLOCK typing state keys
+VK_HOME=Home
+VK_END=End
+
+VK_ESCAPE=Esc
+VK_INSERT=Ins
+# LOCALIZATION NOTE : BLOCK end
diff --git a/toolkit/locales/en-US/chrome/global/languageNames.properties b/toolkit/locales/en-US/chrome/global/languageNames.properties
new file mode 100644
index 000000000..234000d11
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/languageNames.properties
@@ -0,0 +1,201 @@
+# 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
+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
+ce = Chechen
+ch = Chamorro
+co = Corsican
+cr = Cree
+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
+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
+ln = Lingala
+lo = Lao
+lt = Lithuanian
+lu = Luba-Katanga
+lv = Latvian
+mg = Malagasy
+mh = Marshallese
+mi = Maori
+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
+zh = Chinese
+zu = Zulu
diff --git a/toolkit/locales/en-US/chrome/global/mozilla.dtd b/toolkit/locales/en-US/chrome/global/mozilla.dtd
new file mode 100644
index 000000000..74ae40d44
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/mozilla.dtd
@@ -0,0 +1,14 @@
+<!-- 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/. -->
+
+<!ENTITY mozilla.title.15.1
+'The Book of Mozilla, 15:1'>
+
+<!ENTITY mozilla.quote.15.1
+'The <em>twins</em> of Mammon quarrelled. Their warring plunged the world into a <em>new darkness</em>, and the beast
+abhorred the darkness. So it began to move <em>swiftly</em>, and grew more powerful, and went forth and multiplied.
+And the beasts brought <em>fire</em> and light to the darkness.'>
+
+<!ENTITY mozilla.from.15.1
+'from <strong>The Book of Mozilla,</strong> 15:1'>
diff --git a/toolkit/locales/en-US/chrome/global/narrate.properties b/toolkit/locales/en-US/chrome/global/narrate.properties
new file mode 100644
index 000000000..9ac839427
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/narrate.properties
@@ -0,0 +1,19 @@
+# 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/.
+
+# Narrate, meaning "read the page out loud". This is the name of the feature
+# and it is the label for the popup button.
+narrate = Narrate
+back = Back
+start = Start
+stop = Stop
+forward = Forward
+speed = Speed
+selectvoicelabel = Voice:
+# Default voice is determined by the language of the document.
+defaultvoice = Default
+
+# Voice name and language.
+# eg. David (English)
+voiceLabel = %S (%S) \ No newline at end of file
diff --git a/toolkit/locales/en-US/chrome/global/notification.dtd b/toolkit/locales/en-US/chrome/global/notification.dtd
new file mode 100644
index 000000000..75aea0b98
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/notification.dtd
@@ -0,0 +1,11 @@
+<!-- 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/. -->
+
+<!ENTITY closeNotification.tooltip "Close this message">
+
+<!ENTITY closeNotificationItem.label "Not Now">
+
+<!ENTITY checkForUpdates "Check for updates…">
+
+<!ENTITY learnMore "Learn more…">
diff --git a/toolkit/locales/en-US/chrome/global/nsTreeSorting.properties b/toolkit/locales/en-US/chrome/global/nsTreeSorting.properties
new file mode 100644
index 000000000..49629a838
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/nsTreeSorting.properties
@@ -0,0 +1,5 @@
+# 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/.
+
+SortMenuItems=Sorted by %COLNAME%
diff --git a/toolkit/locales/en-US/chrome/global/preferences.dtd b/toolkit/locales/en-US/chrome/global/preferences.dtd
new file mode 100644
index 000000000..539dbbd5e
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/preferences.dtd
@@ -0,0 +1,9 @@
+<!-- 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/. -->
+
+<!ENTITY windowClose.key "w">
+<!ENTITY preferencesDefaultTitleMac.title "Preferences">
+<!ENTITY preferencesDefaultTitleWin.title "Options">
+<!ENTITY preferencesCloseButton.label "Close">
+<!ENTITY preferencesCloseButton.accesskey "C">
diff --git a/toolkit/locales/en-US/chrome/global/printPageSetup.dtd b/toolkit/locales/en-US/chrome/global/printPageSetup.dtd
new file mode 100644
index 000000000..601d9a602
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/printPageSetup.dtd
@@ -0,0 +1,66 @@
+<!-- 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/. -->
+
+<!-- extracted from printjoboptions.xul -->
+
+<!ENTITY printSetup.title "Page Setup">
+
+<!ENTITY basic.tab "Format &amp; Options">
+
+<!ENTITY formatGroup.label "Format">
+
+<!ENTITY orientation.label "Orientation:">
+<!ENTITY portrait.label "Portrait">
+<!ENTITY portrait.accesskey "P">
+<!ENTITY landscape.label "Landscape">
+<!ENTITY landscape.accesskey "L">
+
+<!ENTITY scale.label "Scale:">
+<!ENTITY scale.accesskey "S">
+<!ENTITY scalePercent "&#037;">
+
+<!ENTITY shrinkToFit.label "Shrink to fit Page Width">
+<!ENTITY shrinkToFit.accesskey "W">
+
+<!ENTITY optionsGroup.label "Options">
+
+<!ENTITY printBG.label "Print Background (colors &amp; images)">
+<!ENTITY printBG.accesskey "B">
+
+<!ENTITY advanced.tab "Margins &amp; Header/Footer">
+
+<!ENTITY marginGroup.label "Margins (#1)">
+<!ENTITY marginUnits.inches "inches">
+<!ENTITY marginUnits.metric "millimeters">
+<!ENTITY marginTop.label "Top:">
+<!ENTITY marginTop.accesskey "T">
+<!ENTITY marginBottom.label "Bottom:">
+<!ENTITY marginBottom.accesskey "B">
+<!ENTITY marginLeft.label "Left:">
+<!ENTITY marginLeft.accesskey "L">
+<!ENTITY marginRight.label "Right:">
+<!ENTITY marginRight.accesskey "R">
+
+<!ENTITY headerFooter.label "Headers &amp; Footers">
+
+<!ENTITY hfLeft.label "Left:">
+<!ENTITY hfCenter.label "Center:">
+<!ENTITY hfRight.label "Right:">
+<!ENTITY headerLeft.tip "Left header">
+<!ENTITY headerCenter.tip "Center header">
+<!ENTITY headerRight.tip "Right header">
+<!ENTITY footerLeft.tip "Left footer">
+<!ENTITY footerCenter.tip "Center footer">
+<!ENTITY footerRight.tip "Right footer">
+
+<!ENTITY hfTitle "Title">
+<!ENTITY hfURL "URL">
+<!ENTITY hfDateAndTime "Date/Time">
+<!ENTITY hfPage "Page #">
+<!ENTITY hfPageAndTotal "Page # of #">
+<!ENTITY hfBlank "--blank--">
+<!ENTITY hfCustom "Custom…">
+
+<!ENTITY customPrompt.title "Custom…">
+<!ENTITY customPrompt.prompt "Enter your custom header/footer text">
diff --git a/toolkit/locales/en-US/chrome/global/printPreview.dtd b/toolkit/locales/en-US/chrome/global/printPreview.dtd
new file mode 100644
index 000000000..8e68fde25
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/printPreview.dtd
@@ -0,0 +1,43 @@
+<!-- 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/. -->
+
+<!ENTITY print.label "Print…">
+<!ENTITY print.accesskey "P">
+<!ENTITY pageSetup.label "Page Setup…">
+<!ENTITY pageSetup.accesskey "u">
+<!ENTITY page.label "Page:">
+<!ENTITY page.accesskey "a">
+<!ENTITY of.label "of">
+<!ENTITY scale.label "Scale:">
+<!ENTITY scale.accesskey "S">
+<!ENTITY portrait.label "Portrait">
+<!ENTITY portrait.accesskey "o">
+<!ENTITY landscape.label "Landscape">
+<!ENTITY landscape.accesskey "L">
+<!ENTITY close.label "Close">
+<!ENTITY close.accesskey "C">
+<!ENTITY p30.label "30&#037;">
+<!ENTITY p40.label "40&#037;">
+<!ENTITY p50.label "50&#037;">
+<!ENTITY p60.label "60&#037;">
+<!ENTITY p70.label "70&#037;">
+<!ENTITY p80.label "80&#037;">
+<!ENTITY p90.label "90&#037;">
+<!ENTITY p100.label "100&#037;">
+<!ENTITY p125.label "125&#037;">
+<!ENTITY p150.label "150&#037;">
+<!ENTITY p175.label "175&#037;">
+<!ENTITY p200.label "200&#037;">
+<!ENTITY Custom.label "Custom…">
+<!ENTITY ShrinkToFit.label "Shrink To Fit">
+<!ENTITY customPrompt.title "Custom Scale…">
+<!ENTITY simplifyPage.label "Simplify Page">
+<!ENTITY simplifyPage.accesskey "i">
+<!ENTITY simplifyPage.enabled.tooltip "Change layout for easier reading">
+<!ENTITY simplifyPage.disabled.tooltip "This page cannot be automatically simplified">
+
+<!ENTITY homearrow.tooltip "First page">
+<!ENTITY endarrow.tooltip "Last page">
+<!ENTITY nextarrow.tooltip "Next page">
+<!ENTITY previousarrow.tooltip "Previous page">
diff --git a/toolkit/locales/en-US/chrome/global/printPreviewProgress.dtd b/toolkit/locales/en-US/chrome/global/printPreviewProgress.dtd
new file mode 100644
index 000000000..344674c16
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/printPreviewProgress.dtd
@@ -0,0 +1,9 @@
+<!-- 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 printPreviewProgress.dtd Main UI for Print Preview Progress Dialog -->
+<!ENTITY printWindow.title "Print Preview">
+<!ENTITY title "Title:">
+<!ENTITY preparing "Preparing…">
+<!ENTITY progress "Progress:">
diff --git a/toolkit/locales/en-US/chrome/global/printProgress.dtd b/toolkit/locales/en-US/chrome/global/printProgress.dtd
new file mode 100644
index 000000000..30bfe0292
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/printProgress.dtd
@@ -0,0 +1,21 @@
+<!-- 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 printProgress.dtd Main UI for Print Progress Dialog -->
+<!ENTITY printWindow.title "Printing">
+<!ENTITY title "Title:">
+<!ENTITY progress "Progress:">
+<!ENTITY preparing "Preparing…">
+<!ENTITY printComplete "Printing is Completed.">
+
+<!ENTITY dialogCancel.label "Cancel">
+<!ENTITY dialogClose.label "Close">
+
+<!-- LOCALIZATION NOTE (percentPrint):
+
+ This string is used to format the text to the right of the progress
+ meter.
+
+ #1 will be replaced by the percentage of the file that has been saved -->
+<!ENTITY percentPrint "#1&#037;">
diff --git a/toolkit/locales/en-US/chrome/global/printdialog.dtd b/toolkit/locales/en-US/chrome/global/printdialog.dtd
new file mode 100644
index 000000000..847999795
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/printdialog.dtd
@@ -0,0 +1,44 @@
+<!-- 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/. -->
+
+<!-- extracted from printdialog.xul -->
+
+<!ENTITY printButton.label "Print">
+
+<!ENTITY printDialog.title "Print">
+
+<!ENTITY fpDialog.title "Save File">
+
+<!ENTITY fileCheck.label "Print to File">
+<!ENTITY fileCheck.accesskey "F">
+<!ENTITY propertiesButton.label "Properties…">
+<!ENTITY propertiesButton.accesskey "o">
+<!ENTITY descText.label "Printer Description:">
+<!ENTITY printer.label "Printer">
+<!ENTITY printerInput.label "Printer Name:">
+<!ENTITY printerInput.accesskey "N">
+
+<!ENTITY printrangeGroup.label "Print Range">
+<!ENTITY allpagesRadio.label "All Pages">
+<!ENTITY allpagesRadio.accesskey "A">
+<!ENTITY rangeRadio.label "Pages">
+<!ENTITY rangeRadio.accesskey "P">
+<!ENTITY frompageInput.label "from">
+<!ENTITY frompageInput.accesskey "r">
+<!ENTITY topageInput.label "to">
+<!ENTITY topageInput.accesskey "t">
+<!ENTITY selectionRadio.label "Selection">
+<!ENTITY selectionRadio.accesskey "S">
+
+<!ENTITY copies.label "Copies">
+<!ENTITY numCopies.label "Number of copies:">
+<!ENTITY numCopies.accesskey "c">
+
+<!ENTITY printframeGroup.label "Print Frames">
+<!ENTITY aslaidoutRadio.label "As laid out on the screen">
+<!ENTITY aslaidoutRadio.accesskey "u">
+<!ENTITY selectedframeRadio.label "The selected frame">
+<!ENTITY selectedframeRadio.accesskey "m">
+<!ENTITY eachframesepRadio.label "Each frame separately">
+<!ENTITY eachframesepRadio.accesskey "E">
diff --git a/toolkit/locales/en-US/chrome/global/printdialog.properties b/toolkit/locales/en-US/chrome/global/printdialog.properties
new file mode 100644
index 000000000..ae583eda5
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/printdialog.properties
@@ -0,0 +1,63 @@
+# 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/.
+
+# These strings are used in the native GTK, Mac and Windows print dialogs.
+
+# GTK titles:
+printTitleGTK=Print
+optionsTabLabelGTK=Options
+printFramesTitleGTK=Print Frames
+
+# Mac titles:
+optionsTitleMac=Options:
+appearanceTitleMac=Appearance:
+framesTitleMac=Frames:
+pageHeadersTitleMac=Page Headers:
+pageFootersTitleMac=Page Footers:
+
+# Windows titles:
+optionsTitleWindows=Options
+printFramesTitleWindows=Print Frames
+
+# TRANSLATOR NOTE: For radio button labels and check button labels, an underscore _
+# before a character will turn that character into an accesskey in the GTK dialog.
+# e.g. "_As laid out" will make A the accesskey.
+# In the Windows labels, use an ampersand (&).
+# On Mac, underscores will be stripped.
+
+asLaidOut=_As Laid Out on the Screen
+asLaidOutWindows=As &laid out on the screen
+selectedFrame=The _Selected Frame
+selectedFrameWindows=The selected &frame
+separateFrames=Each Frame on Separate _Pages
+separateFramesWindows=&Each frame separately
+shrinkToFit=Ignore Scaling and S_hrink To Fit Page Width
+selectionOnly=Print Selection _Only
+printBGOptions=Print Backgrounds
+printBGColors=Print Background _Colors
+printBGImages=Print Background I_mages
+headerFooter=Header and Footer
+left=Left
+center=Center
+right=Right
+headerFooterBlank=--blank--
+headerFooterTitle=Title
+headerFooterURL=URL
+headerFooterDate=Date/Time
+headerFooterPage=Page #
+headerFooterPageTotal=Page # of #
+headerFooterCustom=Custom…
+customHeaderFooterPrompt=Please enter your custom header/footer text
+
+# These are for the summary view in the Mac dialog:
+summaryFramesTitle=Print Frames
+summarySelectionOnlyTitle=Print Selection
+summaryShrinkToFitTitle=Shrink To Fit
+summaryPrintBGColorsTitle=Print BG Colors
+summaryPrintBGImagesTitle=Print BG Images
+summaryHeaderTitle=Page Headers
+summaryFooterTitle=Page Footers
+summaryNAValue=N/A
+summaryOnValue=On
+summaryOffValue=Off
diff --git a/toolkit/locales/en-US/chrome/global/printjoboptions.dtd b/toolkit/locales/en-US/chrome/global/printjoboptions.dtd
new file mode 100644
index 000000000..08b579416
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/printjoboptions.dtd
@@ -0,0 +1,29 @@
+<!-- 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/. -->
+
+<!-- extracted from printjoboptions.xul -->
+
+<!ENTITY printJobOptions.title "Printer Properties">
+
+<!ENTITY paperInput.label "Paper Size:">
+<!ENTITY paperInput.accesskey "P">
+
+<!ENTITY jobTitleInput.label "Job Title:">
+<!ENTITY jobTitleInput.accesskey "J">
+
+<!ENTITY colorGroup.label "Color:">
+<!ENTITY grayRadio.label "Grayscale">
+<!ENTITY grayRadio.accesskey "G">
+<!ENTITY colorRadio.label "Color">
+<!ENTITY colorRadio.accesskey "C">
+
+<!ENTITY edgeMarginInput.label "Gap from edge of paper to Margin">
+<!ENTITY topInput.label "Top:">
+<!ENTITY topInput.accesskey "T">
+<!ENTITY bottomInput.label "Bottom:">
+<!ENTITY bottomInput.accesskey "B">
+<!ENTITY leftInput.label "Left:">
+<!ENTITY leftInput.accesskey "L">
+<!ENTITY rightInput.label "Right:">
+<!ENTITY rightInput.accesskey "R">
diff --git a/toolkit/locales/en-US/chrome/global/regionNames.properties b/toolkit/locales/en-US/chrome/global/regionNames.properties
new file mode 100644
index 000000000..29287a65f
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/regionNames.properties
@@ -0,0 +1,276 @@
+# 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
diff --git a/toolkit/locales/en-US/chrome/global/resetProfile.dtd b/toolkit/locales/en-US/chrome/global/resetProfile.dtd
new file mode 100644
index 000000000..831b901c5
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/resetProfile.dtd
@@ -0,0 +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/. -->
+
+<!ENTITY refreshProfile.dialog.title "Refresh &brandShortName;">
+<!ENTITY refreshProfile.dialog.description1 "Start fresh to fix problems and restore performance.">
+<!ENTITY refreshProfile.dialog.description2 "This will:">
+<!ENTITY refreshProfile.dialog.items.label1 "Remove your add-ons and customizations">
+<!ENTITY refreshProfile.dialog.items.label2 "Restore your browser settings to their defaults">
+<!ENTITY refreshProfile.dialog.button.label "Refresh &brandShortName;">
+
+<!ENTITY refreshProfile.title "Give &brandShortName; a tune up">
+<!ENTITY refreshProfile.button.label "Refresh &brandShortName;…">
+
+<!ENTITY refreshProfile.cleaning.description "Almost done…">
diff --git a/toolkit/locales/en-US/chrome/global/resetProfile.properties b/toolkit/locales/en-US/chrome/global/resetProfile.properties
new file mode 100644
index 000000000..c06007299
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/resetProfile.properties
@@ -0,0 +1,14 @@
+# 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: These strings are used for profile reset.
+
+# LOCALIZATION NOTE (resetUnusedProfile.message): %S is brandShortName.
+resetUnusedProfile.message=It looks like you haven’t started %S in a while. Do you want to clean it up for a fresh, like-new experience? And by the way, welcome back!
+# LOCALIZATION NOTE (resetUninstalled.message): %S is brandShortName.
+resetUninstalled.message=Looks like you’ve reinstalled %S. Want us to clean it up for a fresh, like-new experience?
+
+# LOCALIZATION NOTE (refreshProfile.resetButton.label): %S is brandShortName.
+refreshProfile.resetButton.label=Refresh %S…
+refreshProfile.resetButton.accesskey=e
diff --git a/toolkit/locales/en-US/chrome/global/textcontext.dtd b/toolkit/locales/en-US/chrome/global/textcontext.dtd
new file mode 100644
index 000000000..4ab18cbd8
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/textcontext.dtd
@@ -0,0 +1,37 @@
+<!-- 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/. -->
+
+<!ENTITY cutCmd.label "Cut">
+<!ENTITY cutCmd.accesskey "t">
+<!ENTITY copyCmd.label "Copy">
+<!ENTITY copyCmd.accesskey "c">
+<!ENTITY pasteCmd.label "Paste">
+<!ENTITY pasteCmd.accesskey "p">
+<!ENTITY undoCmd.label "Undo">
+<!ENTITY undoCmd.accesskey "u">
+<!ENTITY selectAllCmd.label "Select All">
+<!ENTITY selectAllCmd.accesskey "a">
+<!ENTITY deleteCmd.label "Delete">
+<!ENTITY deleteCmd.accesskey "d">
+
+<!ENTITY spellAddToDictionary.label "Add to Dictionary">
+<!ENTITY spellAddToDictionary.accesskey "o">
+<!ENTITY spellUndoAddToDictionary.label "Undo Add To Dictionary">
+<!ENTITY spellUndoAddToDictionary.accesskey "n">
+<!ENTITY spellCheckToggle.label "Check Spelling">
+<!ENTITY spellCheckToggle.accesskey "g">
+<!ENTITY spellNoSuggestions.label "(No Spelling Suggestions)">
+<!ENTITY spellDictionaries.label "Languages">
+<!ENTITY spellDictionaries.accesskey "l">
+
+<!ENTITY searchTextBox.clear.label "Clear">
+
+<!ENTITY fillLoginMenu.label "Fill Login">
+<!ENTITY fillLoginMenu.accesskey "F">
+<!ENTITY fillPasswordMenu.label "Fill Password">
+<!ENTITY fillPasswordMenu.accesskey "F">
+<!ENTITY fillUsernameMenu.label "Fill Username">
+<!ENTITY fillUsernameMenu.accesskey "F">
+<!ENTITY noLoginSuggestions.label "(No Login Suggestions)">
+<!ENTITY viewSavedLogins.label "View Saved Logins">
diff --git a/toolkit/locales/en-US/chrome/global/tree.dtd b/toolkit/locales/en-US/chrome/global/tree.dtd
new file mode 100644
index 000000000..7922852f5
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/tree.dtd
@@ -0,0 +1,5 @@
+<!-- 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/. -->
+
+<!ENTITY restoreColumnOrder.label "Restore Column Order">
diff --git a/toolkit/locales/en-US/chrome/global/videocontrols.dtd b/toolkit/locales/en-US/chrome/global/videocontrols.dtd
new file mode 100644
index 000000000..7f3b6eecb
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/videocontrols.dtd
@@ -0,0 +1,39 @@
+<!-- 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/. -->
+
+<!ENTITY playButton.playLabel "Play">
+<!ENTITY playButton.pauseLabel "Pause">
+<!ENTITY muteButton.muteLabel "Mute">
+<!ENTITY muteButton.unmuteLabel "Unmute">
+<!ENTITY fullscreenButton.enterfullscreenlabel "Full Screen">
+<!ENTITY fullscreenButton.exitfullscreenlabel "Exit Full Screen">
+<!ENTITY castingButton.castingLabel "Cast to Screen">
+<!ENTITY closedCaption.off "Off">
+
+<!ENTITY stats.media "Media">
+<!ENTITY stats.size "Size">
+<!ENTITY stats.activity "Activity">
+<!ENTITY stats.activityPaused "Paused">
+<!ENTITY stats.activityPlaying "Playing">
+<!ENTITY stats.activityEnded "Ended">
+<!ENTITY stats.activitySeeking "(seeking)">
+<!ENTITY stats.volume "Volume">
+<!ENTITY stats.framesParsed "Frames parsed">
+<!ENTITY stats.framesDecoded "Frames decoded">
+<!ENTITY stats.framesPresented "Frames presented">
+<!ENTITY stats.framesPainted "Frames painted">
+
+<!ENTITY error.aborted "Video loading stopped.">
+<!ENTITY error.network "Video playback aborted due to a network error.">
+<!ENTITY error.decode "Video can’t be played because the file is corrupt.">
+<!ENTITY error.srcNotSupported "Video format or MIME type is not supported.">
+<!ENTITY error.noSource2 "No video with supported format and MIME type found.">
+<!ENTITY error.generic "Video playback aborted due to an unknown error.">
+
+<!-- LOCALIZATION NOTE (scrubberScale.nameFormat): the #1 string is the current
+media position, and the #2 string is the total duration. For example, when at
+the 5 minute mark in a 6 hour long video, #1 would be "5:00" and #2 would be
+"6:00:00", result string would be "5:00 of 6:00:00 elapsed".
+-->
+<!ENTITY scrubberScale.nameFormat "#1 of #2 elapsed">
diff --git a/toolkit/locales/en-US/chrome/global/viewSource.dtd b/toolkit/locales/en-US/chrome/global/viewSource.dtd
new file mode 100644
index 000000000..1a294b877
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/viewSource.dtd
@@ -0,0 +1,86 @@
+<!-- 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/. -->
+
+<!-- extracted from content/viewSource.xul -->
+
+<!-- LOCALIZATION NOTE (mainWindow.title) : DONT_TRANSLATE -->
+<!ENTITY mainWindow.title "&brandFullName;">
+<!-- LOCALIZATION NOTE (mainWindow.titlemodifier) : DONT_TRANSLATE -->
+<!ENTITY mainWindow.titlemodifier "&brandFullName;">
+<!-- LOCALIZATION NOTE (mainWindow.titlemodifierseparator) : DONT_TRANSLATE -->
+<!ENTITY mainWindow.titlemodifierseparator " - ">
+<!ENTITY mainWindow.preface "Source of: ">
+
+<!ENTITY fileMenu.label "File">
+<!ENTITY fileMenu.accesskey "F">
+<!ENTITY savePageCmd.label "Save Page As…">
+<!ENTITY savePageCmd.accesskey "A">
+<!ENTITY savePageCmd.commandkey "S">
+<!ENTITY pageSetupCmd.label "Page Setup…">
+<!ENTITY pageSetupCmd.accesskey "u">
+<!ENTITY printPreviewCmd.label "Print Preview">
+<!ENTITY printPreviewCmd.accesskey "v">
+<!ENTITY printCmd.label "Print…">
+<!ENTITY printCmd.accesskey "P">
+<!ENTITY printCmd.commandkey "P">
+<!ENTITY closeCmd.label "Close">
+<!ENTITY closeCmd.accesskey "C">
+<!ENTITY closeCmd.commandkey "W">
+
+<!-- LOCALIZATION NOTE :
+textEnlarge.commandkey3, textReduce.commandkey2 and
+textReset.commandkey2 are alternative acceleration keys for zoom.
+If shift key is needed with your locale popular keyboard for them,
+you can use these alternative items. Otherwise, their values should be empty. -->
+
+<!ENTITY textEnlarge.commandkey "+">
+<!ENTITY textEnlarge.commandkey2 "=">
+<!ENTITY textEnlarge.commandkey3 "">
+<!ENTITY textReduce.commandkey "-">
+<!ENTITY textReduce.commandkey2 "">
+<!ENTITY textReset.commandkey "0">
+<!ENTITY textReset.commandkey2 "">
+
+<!ENTITY goToLineCmd.label "Go to Line…">
+<!ENTITY goToLineCmd.accesskey "G">
+<!ENTITY goToLineCmd.commandkey "l">
+
+<!ENTITY viewMenu.label "View">
+<!ENTITY viewMenu.accesskey "V">
+<!ENTITY reloadCmd.label "Reload">
+<!ENTITY reloadCmd.accesskey "R">
+<!ENTITY reloadCmd.commandkey "r">
+<!ENTITY menu_wrapLongLines.title "Wrap Long Lines">
+<!ENTITY menu_wrapLongLines.accesskey "W">
+<!ENTITY menu_highlightSyntax.label "Syntax Highlighting">
+<!ENTITY menu_highlightSyntax.accesskey "H">
+<!ENTITY menu_textSize.label "Text Size">
+<!ENTITY menu_textSize.accesskey "Z">
+<!ENTITY menu_textEnlarge.label "Increase">
+<!ENTITY menu_textEnlarge.accesskey "I">
+<!ENTITY menu_textReduce.label "Decrease">
+<!ENTITY menu_textReduce.accesskey "D">
+<!ENTITY menu_textReset.label "Normal">
+<!ENTITY menu_textReset.accesskey "N">
+
+<!ENTITY findOnCmd.label "Find in This Page…">
+<!ENTITY findOnCmd.accesskey "F">
+<!ENTITY findOnCmd.commandkey "f">
+<!ENTITY findAgainCmd.label "Find Again">
+<!ENTITY findAgainCmd.accesskey "g">
+<!ENTITY findAgainCmd.commandkey "g">
+<!ENTITY findAgainCmd.commandkey2 "VK_F3">
+<!ENTITY findSelectionCmd.commandkey "e">
+
+<!ENTITY backCmd.label "Back">
+<!ENTITY backCmd.accesskey "B">
+<!ENTITY forwardCmd.label "Forward">
+<!ENTITY forwardCmd.accesskey "F">
+<!ENTITY goBackCmd.commandKey "[">
+<!ENTITY goForwardCmd.commandKey "]">
+
+<!ENTITY copyLinkCmd.label "Copy Link Location">
+<!ENTITY copyLinkCmd.accesskey "L">
+<!ENTITY copyEmailCmd.label "Copy Email Address">
+<!ENTITY copyEmailCmd.accesskey "E">
diff --git a/toolkit/locales/en-US/chrome/global/viewSource.properties b/toolkit/locales/en-US/chrome/global/viewSource.properties
new file mode 100644
index 000000000..9137b383a
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/viewSource.properties
@@ -0,0 +1,18 @@
+# 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/.
+
+goToLineTitle = Go to line
+goToLineText = Enter line number
+invalidInputTitle = Invalid input
+invalidInputText = The line number entered is invalid.
+outOfRangeTitle = Line not found
+outOfRangeText = The specified line was not found.
+statusBarLineCol = Line %1$S, Col %2$S
+viewSelectionSourceTitle = DOM Source of Selection
+viewMathMLSourceTitle = DOM Source of MathML
+
+context_goToLine_label = Go to Line…
+context_goToLine_accesskey = L
+context_wrapLongLines_label = Wrap Long Lines
+context_highlightSyntax_label = Syntax Highlighting
diff --git a/toolkit/locales/en-US/chrome/global/wizard.dtd b/toolkit/locales/en-US/chrome/global/wizard.dtd
new file mode 100644
index 000000000..e8a7f90dc
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/wizard.dtd
@@ -0,0 +1,24 @@
+<!-- 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/. -->
+
+<!ENTITY button-back-mac.label "Go Back">
+<!ENTITY button-back-mac.accesskey "B">
+<!ENTITY button-next-mac.label "Continue">
+<!ENTITY button-next-mac.accesskey "C">
+<!ENTITY button-finish-mac.label "Done">
+<!ENTITY button-cancel-mac.label "Cancel">
+
+<!ENTITY button-back-unix.label "Back">
+<!ENTITY button-back-unix.accesskey "B">
+<!ENTITY button-next-unix.label "Next">
+<!ENTITY button-next-unix.accesskey "N">
+<!ENTITY button-finish-unix.label "Finish">
+<!ENTITY button-cancel-unix.label "Cancel">
+
+<!ENTITY button-back-win.label "&lt; Back">
+<!ENTITY button-back-win.accesskey "B">
+<!ENTITY button-next-win.label "Next &gt;">
+<!ENTITY button-next-win.accesskey "N">
+<!ENTITY button-finish-win.label "Finish">
+<!ENTITY button-cancel-win.label "Cancel">
diff --git a/toolkit/locales/en-US/chrome/global/wizard.properties b/toolkit/locales/en-US/chrome/global/wizard.properties
new file mode 100644
index 000000000..99cc332e7
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/global/wizard.properties
@@ -0,0 +1,8 @@
+# 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/.
+
+default-first-title=Welcome to the %S
+default-last-title=Completing the %S
+default-first-title-mac=Introduction
+default-last-title-mac=Conclusion
diff --git a/toolkit/locales/en-US/chrome/mozapps/downloads/downloads.dtd b/toolkit/locales/en-US/chrome/mozapps/downloads/downloads.dtd
new file mode 100644
index 000000000..3c6373cfb
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/downloads/downloads.dtd
@@ -0,0 +1,52 @@
+<!-- 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 (window.width2, window.height): These values should be
+close to the golden ratio (1.618:1) while making sure it's wide enough for long
+file names and tall enough to hint that there are more downloads in the list -->
+<!ENTITY window.width2 "485">
+<!ENTITY window.height "300">
+
+<!ENTITY starting.label "Starting…">
+<!ENTITY scanning.label "Scanning for viruses…">
+
+<!ENTITY downloads.title "Downloads">
+
+<!ENTITY cmd.pause.label "Pause">
+<!ENTITY cmd.pause.accesskey "P">
+<!ENTITY cmd.resume.label "Resume">
+<!ENTITY cmd.resume.accesskey "R">
+<!ENTITY cmd.cancel.label "Cancel">
+<!ENTITY cmd.cancel.accesskey "C">
+<!ENTITY cmd.show.label "Open Containing Folder">
+<!ENTITY cmd.show.accesskey "F">
+<!ENTITY cmd.showMac.label "Show in Finder">
+<!ENTITY cmd.showMac.accesskey "F">
+<!ENTITY cmd.open.label "Open">
+<!ENTITY cmd.open.accesskey "O">
+<!ENTITY cmd.openWith.label "Open With…">
+<!ENTITY cmd.openWith.accesskey "h">
+<!ENTITY cmd.retry.label "Retry">
+<!ENTITY cmd.retry.accesskey "R">
+<!ENTITY cmd.goToDownloadPage.label "Go to Download Page">
+<!ENTITY cmd.goToDownloadPage.accesskey "G">
+<!ENTITY cmd.copyDownloadLink.label "Copy Download Link">
+<!ENTITY cmd.copyDownloadLink.accesskey "L">
+<!ENTITY cmd.removeFromList.label "Remove From List">
+<!ENTITY cmd.removeFromList.accesskey "e">
+
+<!ENTITY cmd.close.commandKey "w">
+<!ENTITY cmd.close2.commandKey "j">
+<!ENTITY cmd.close2Unix.commandKey "y">
+<!ENTITY cmd.clearList.label "Clear List">
+<!ENTITY cmd.clearList.tooltip "Removes completed, canceled, and failed downloads from the list">
+<!ENTITY cmd.clearList.accesskey "C">
+<!ENTITY cmd.find.commandKey "f">
+<!ENTITY cmd.search.commandKey "k">
+
+<!ENTITY closeWhenDone.label "Close when downloads complete">
+<!ENTITY closeWhenDone.tooltip "Closes the Downloads window when all files are done downloading">
+
+<!ENTITY showFolder.label "Show this Folder">
+<!ENTITY searchBox.label "Search…">
diff --git a/toolkit/locales/en-US/chrome/mozapps/downloads/downloads.properties b/toolkit/locales/en-US/chrome/mozapps/downloads/downloads.properties
new file mode 100644
index 000000000..3a50d17f3
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/downloads/downloads.properties
@@ -0,0 +1,142 @@
+# 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 (seconds, minutes, hours, days): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+seconds=second;seconds
+minutes=minute;minutes
+hours=hour;hours
+days=day;days
+
+# LOCALIZATION NOTE (paused): — is the "em dash" (long dash)
+paused=Paused — #1
+downloading=Downloading
+notStarted=Not Started
+failed=Failed
+finished=Finished
+canceled=Canceled
+
+cannotPause=This download cannot be paused
+
+downloadErrorAlertTitle=Download Error
+downloadErrorGeneric=The download cannot be saved because an unknown error occurred.\n\nPlease try again.
+
+# LOCALIZATION NOTE: we don't have proper plural support in the CPP code; bug 463102
+quitCancelDownloadsAlertTitle=Cancel All Downloads?
+quitCancelDownloadsAlertMsg=If you exit now, 1 download will be canceled. Are you sure you want to exit?
+quitCancelDownloadsAlertMsgMultiple=If you exit now, %S downloads will be canceled. Are you sure you want to exit?
+quitCancelDownloadsAlertMsgMac=If you quit now, 1 download will be canceled. Are you sure you want to quit?
+quitCancelDownloadsAlertMsgMacMultiple=If you quit now, %S downloads will be canceled. Are you sure you want to quit?
+offlineCancelDownloadsAlertTitle=Cancel All Downloads?
+offlineCancelDownloadsAlertMsg=If you go offline now, 1 download will be canceled. Are you sure you want to go offline?
+offlineCancelDownloadsAlertMsgMultiple=If you go offline now, %S downloads will be canceled. Are you sure you want to go offline?
+leavePrivateBrowsingCancelDownloadsAlertTitle=Cancel All Downloads?
+leavePrivateBrowsingWindowsCancelDownloadsAlertMsg2=If you close all Private Browsing windows now, 1 download will be canceled. Are you sure you want to leave Private Browsing?
+leavePrivateBrowsingWindowsCancelDownloadsAlertMsgMultiple2=If you close all Private Browsing windows now, %S downloads will be canceled. Are you sure you want to leave Private Browsing?
+cancelDownloadsOKText=Cancel 1 Download
+cancelDownloadsOKTextMultiple=Cancel %S Downloads
+dontQuitButtonWin=Don’t Exit
+dontQuitButtonMac=Don’t Quit
+dontGoOfflineButton=Stay Online
+dontLeavePrivateBrowsingButton2=Stay in Private Browsing
+downloadsCompleteTitle=Downloads Complete
+downloadsCompleteMsg=All files have finished downloading.
+
+# LOCALIZATION NOTE (infiniteRate):
+# If download speed is a JavaScript Infinity value, this phrase is used
+infiniteRate=Really fast
+
+# LOCALIZATION NOTE (statusFormat3): — is the "em dash" (long dash)
+# %1$S transfer progress; %2$S rate number; %3$S rate unit; %4$S time left
+# example: 4 minutes left — 1.1 of 11.1 GB (2.2 MB/sec)
+statusFormat3=%4$S — %1$S (%2$S %3$S/sec)
+
+# LOCALIZATION NOTE (statusFormatInfiniteRate): — is the "em dash" (long dash)
+# %1$S transfer progress; %2$S substitute phrase for Infinity speed; %3$S time left
+# example: 4 minutes left — 1.1 of 11.1 GB (Really fast)
+statusFormatInfiniteRate=%3$S — %1$S (%2$S)
+
+# LOCALIZATION NOTE (statusFormatNoRate): — is the "em dash" (long dash)
+# %1$S transfer progress; %2$S time left
+# example: 4 minutes left — 1.1 of 11.1 GB
+statusFormatNoRate=%2$S — %1$S
+
+bytes=bytes
+kilobyte=KB
+megabyte=MB
+gigabyte=GB
+
+# LOCALIZATION NOTE (transferSameUnits2):
+# %1$S progress number; %2$S total number; %3$S total unit
+# example: 1.1 of 333 MB
+transferSameUnits2=%1$S of %2$S %3$S
+# LOCALIZATION NOTE (transferDiffUnits2):
+# %1$S progress number; %2$S progress unit; %3$S total number; %4$S total unit
+# example: 11.1 MB of 3.3 GB
+transferDiffUnits2=%1$S %2$S of %3$S %4$S
+# LOCALIZATION NOTE (transferNoTotal2):
+# %1$S progress number; %2$S unit
+# example: 111 KB
+transferNoTotal2=%1$S %2$S
+
+# LOCALIZATION NOTE (timePair2): %1$S time number; %2$S time unit
+# example: 1 minute; 11 hours
+timePair2=%1$S %2$S
+# LOCALIZATION NOTE (timeLeftSingle2): %1$S time left
+# example: 1 minute remaining; 11 hours remaining
+timeLeftSingle2=%1$S remaining
+# LOCALIZATION NOTE (timeLeftDouble2): %1$S time left; %2$S time left sub units
+# example: 11 hours, 2 minutes remaining; 1 day, 22 hours remaining
+timeLeftDouble2=%1$S, %2$S remaining
+timeFewSeconds=A few seconds remaining
+timeUnknown=Unknown time remaining
+
+# LOCALIZATION NOTE (doneStatus): — is the "em dash" (long dash)
+# #1 download size for FINISHED or download state; #2 host (e.g., eTLD + 1, IP)
+# #2 can also be doneScheme or doneFileScheme for special URIs like file:
+# examples: 1.1 MB — website2.com; Canceled — 222.net
+doneStatus=#1 — #2
+# LOCALIZATION NOTE (doneSize): #1 size number; #2 size unit
+doneSize=#1 #2
+doneSizeUnknown=Unknown size
+# LOCALIZATION NOTE (doneScheme): #1 URI scheme like data: jar: about:
+doneScheme2=%1$S resource
+# LOCALIZATION NOTE (doneFileScheme): Special case of doneScheme for file:
+# This is used as an eTLD replacement for local files, so make it lower case
+doneFileScheme=local file
+
+stateFailed=Failed
+stateCanceled=Canceled
+# LOCALIZATION NOTE (stateBlocked): 'Parental Controls' should be capitalized
+stateBlocked=Blocked by Parental Controls
+stateDirty=Blocked: Download may contain a virus or spyware
+# LOCALIZATION NOTE (stateBlockedPolicy): 'Security Zone Policy' should be capitalized
+ stateBlockedPolicy=This download has been blocked by your Security Zone Policy
+
+# LOCALIZATION NOTE (yesterday): Displayed time for files finished yesterday
+yesterday=Yesterday
+# LOCALIZATION NOTE (monthDate): #1 month name; #2 date number; e.g., January 22
+monthDate2=%1$S %2$S
+
+fileDoesNotExistOpenTitle=Cannot Open %S
+fileDoesNotExistShowTitle=Cannot Show %S
+fileDoesNotExistError=%S does not exist. It may have been renamed, moved, or deleted since it was downloaded.
+
+chooseAppFilePickerTitle=Open With…
+
+# LOCALIZATION NOTE (downloadsTitleFiles, downloadsTitlePercent): Semi-colon list of
+# plural forms. See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of files; #2 overall download percent (only for downloadsTitlePercent)
+# examples: 2% of 1 file - Downloads; 22% of 11 files - Downloads
+downloadsTitleFiles=#1 file - Downloads;#1 files - Downloads
+downloadsTitlePercent=#2% of #1 file - Downloads;#2% of #1 files - Downloads
+
+fileExecutableSecurityWarning=“%S” is an executable file. Executable files may contain viruses or other malicious code that could harm your computer. Use caution when opening this file. Are you sure you want to launch “%S”?
+fileExecutableSecurityWarningTitle=Open Executable File?
+fileExecutableSecurityWarningDontAsk=Don’t ask me this again
+
+displayNameDesktop=Desktop
+
+# Desktop folder name for downloaded files
+downloadsFolder=Downloads
diff --git a/toolkit/locales/en-US/chrome/mozapps/downloads/settingsChange.dtd b/toolkit/locales/en-US/chrome/mozapps/downloads/settingsChange.dtd
new file mode 100644
index 000000000..f28f7f341
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/downloads/settingsChange.dtd
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+
+<!ENTITY settingsChangePreferences.label "Settings can be changed in &brandShortName;'s Preferences.">
+<!ENTITY settingsChangeOptions.label "Settings can be changed in &brandShortName;'s Options.">
diff --git a/toolkit/locales/en-US/chrome/mozapps/downloads/unknownContentType.dtd b/toolkit/locales/en-US/chrome/mozapps/downloads/unknownContentType.dtd
new file mode 100644
index 000000000..e0fbf7368
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/downloads/unknownContentType.dtd
@@ -0,0 +1,26 @@
+<!-- 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/. -->
+
+<!ENTITY intro2.label "You have chosen to open:">
+<!ENTITY from.label "from:">
+<!ENTITY actionQuestion.label "What should &brandShortName; do with this file?">
+
+<!ENTITY openWith.label "Open with">
+<!ENTITY openWith.accesskey "o">
+<!ENTITY other.label "Other…">
+
+<!ENTITY saveFile.label "Save File">
+<!ENTITY saveFile.accesskey "s">
+
+<!ENTITY rememberChoice.label "Do this automatically for files like this from now on.">
+<!ENTITY rememberChoice.accesskey "a">
+
+<!ENTITY whichIs.label "which is:">
+
+<!ENTITY chooseHandlerMac.label "Choose…">
+<!ENTITY chooseHandlerMac.accesskey "C">
+<!ENTITY chooseHandler.label "Browse…">
+<!ENTITY chooseHandler.accesskey "B">
+
+<!ENTITY unknownPromptText.label "Would you like to save this file?">
diff --git a/toolkit/locales/en-US/chrome/mozapps/downloads/unknownContentType.properties b/toolkit/locales/en-US/chrome/mozapps/downloads/unknownContentType.properties
new file mode 100644
index 000000000..e599133ce
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/downloads/unknownContentType.properties
@@ -0,0 +1,19 @@
+# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+# 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/.
+
+title=Opening %S
+saveDialogTitle=Enter name of file to save to…
+defaultApp=%S (default)
+chooseAppFilePickerTitle=Choose Helper Application
+badApp=The application you chose (“%S”) could not be found. Check the file name or choose another application.
+badApp.title=Application not found
+badPermissions=The file could not be saved because you do not have the proper permissions. Choose another save directory.
+badPermissions.title=Invalid Save Permissions
+selectDownloadDir=Select Download Folder
+unknownAccept.label=Save File
+unknownCancel.label=Cancel
+fileType=%S file
+# LOCALIZATION NOTE (orderedFileSizeWithType): first %S is type, second %S is size, and third %S is unit
+orderedFileSizeWithType=%1$S (%2$S %3$S)
diff --git a/toolkit/locales/en-US/chrome/mozapps/extensions/about.dtd b/toolkit/locales/en-US/chrome/mozapps/extensions/about.dtd
new file mode 100644
index 000000000..4f9098966
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/extensions/about.dtd
@@ -0,0 +1,9 @@
+<!-- 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/. -->
+
+<!ENTITY creator.label "Created By:">
+<!ENTITY developers.label "Developers:">
+<!ENTITY translators.label "Translators:">
+<!ENTITY contributors.label "Contributors:">
+<!ENTITY homepage.label "Visit Home Page">
diff --git a/toolkit/locales/en-US/chrome/mozapps/extensions/blocklist.dtd b/toolkit/locales/en-US/chrome/mozapps/extensions/blocklist.dtd
new file mode 100644
index 000000000..f393cc906
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/extensions/blocklist.dtd
@@ -0,0 +1,17 @@
+<!-- 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/. -->
+
+<!ENTITY blocklist.title "Add-ons may be causing problems">
+<!ENTITY blocklist.style "width: 45em; height: 30em">
+<!ENTITY blocklist.summary "&brandShortName; has determined that the following add-ons are known to cause stability or security problems:">
+<!ENTITY blocklist.softblocked "For your protection, it is highly recommended that you restart with these add-ons disabled.">
+<!ENTITY blocklist.hardblocked "These add-ons have a high risk of causing stability or security problems and have been blocked, but a restart is required to disable them completely.">
+<!ENTITY blocklist.softandhard "The add-ons that have a high risk of causing stability or security problems have been blocked. The others are lower risk, but it is highly recommended that you restart with them disabled.">
+<!ENTITY blocklist.moreinfo "More information">
+
+<!ENTITY blocklist.accept.label "Restart &brandShortName;">
+<!ENTITY blocklist.accept.accesskey "R">
+
+<!ENTITY blocklist.blocked.label "Blocked">
+<!ENTITY blocklist.checkbox.label "Disable">
diff --git a/toolkit/locales/en-US/chrome/mozapps/extensions/extensions.dtd b/toolkit/locales/en-US/chrome/mozapps/extensions/extensions.dtd
new file mode 100644
index 000000000..99c940b33
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/extensions/extensions.dtd
@@ -0,0 +1,251 @@
+<!-- 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/. -->
+<!ENTITY addons.windowTitle "Add-ons Manager">
+
+<!ENTITY search.placeholder "Search all add-ons">
+<!ENTITY search.buttonlabel "Search">
+<!-- LOCALIZATION NOTE (search.commandKey):
+ The search command key should match findOnCmd.commandkey from browser.dtd -->
+<!ENTITY search.commandkey "f">
+
+<!ENTITY loading.label "Loading…">
+<!ENTITY listEmpty.installed.label "You don’t have any add-ons of this type installed">
+<!ENTITY listEmpty.availableUpdates.label "No updates found">
+<!ENTITY listEmpty.recentUpdates.label "You haven’t recently updated any add-ons">
+<!ENTITY listEmpty.findUpdates.label "Check For Updates">
+<!ENTITY listEmpty.search.label "Could not find any matching add-ons">
+<!ENTITY listEmpty.button.label "Learn more about add-ons">
+<!ENTITY installAddonFromFile.label "Install Add-on From File…">
+<!ENTITY installAddonFromFile.accesskey "I">
+<!ENTITY toolsMenu.tooltip "Tools for all add-ons">
+
+<!ENTITY cmd.back.tooltip "Go back one page">
+<!ENTITY cmd.forward.tooltip "Go forward one page">
+
+<!ENTITY showUnsignedExtensions.button.label "Some extensions could not be verified">
+<!ENTITY showAllExtensions.button.label "Show all extensions">
+<!ENTITY debugAddons.label "Debug Add-ons">
+<!ENTITY debugAddons.accesskey "B">
+
+<!-- global warnings -->
+<!ENTITY warning.safemode.label "All add-ons have been disabled by safe mode.">
+<!ENTITY warning.checkcompatibility.label "Add-on compatibility checking is disabled. You may have incompatible add-ons.">
+<!ENTITY warning.checkcompatibility.enable.label "Enable">
+<!ENTITY warning.checkcompatibility.enable.tooltip "Enable add-on compatibility checking">
+<!ENTITY warning.updatesecurity.label "Add-on update security checking is disabled. You may be compromised by updates.">
+<!ENTITY warning.updatesecurity.enable.label "Enable">
+<!ENTITY warning.updatesecurity.enable.tooltip "Enable add-on update security checking">
+
+<!-- categories / views -->
+<!ENTITY view.search.label "Search">
+<!ENTITY view.discover.label "Get Add-ons">
+<!ENTITY view.recentUpdates.label "Recent Updates">
+<!ENTITY view.availableUpdates.label "Available Updates">
+
+<!-- addon updates -->
+<!ENTITY updates.checkForUpdates.label "Check for Updates">
+<!ENTITY updates.checkForUpdates.accesskey "C">
+<!ENTITY updates.viewUpdates.label "View Recent Updates">
+<!ENTITY updates.viewUpdates.accesskey "V">
+<!-- LOCALIZATION NOTE (updates.updateAddonsAutomatically.label): This menu item
+ is a checkbox that toggles the default global behavior for add-on update
+ checking. -->
+<!ENTITY updates.updateAddonsAutomatically.label "Update Add-ons Automatically">
+<!ENTITY updates.updateAddonsAutomatically.accesskey "A">
+<!-- LOCALIZATION NOTE (updates.resetUpdatesToAutomatic.label, updates.resetUpdatesToManual.label):
+ Specific addons can have custom update checking behaviors ("Manually",
+ "Automatically", "Use default global behavior"). These menu items reset the
+ update checking behavior for all add-ons to the default global behavior
+ (which itself is either "Automatically" or "Manually", controlled by the
+ updates.updateAddonsAutomatically.label menu item). -->
+<!ENTITY updates.resetUpdatesToAutomatic.label "Reset All Add-ons to Update Automatically">
+<!ENTITY updates.resetUpdatesToAutomatic.accesskey "R">
+<!ENTITY updates.resetUpdatesToManual.label "Reset All Add-ons to Update Manually">
+<!ENTITY updates.resetUpdatesToManual.accesskey "R">
+<!ENTITY updates.updating.label "Updating add-ons">
+<!ENTITY updates.installed.label "Your add-ons have been updated.">
+<!ENTITY updates.downloaded.label "Your add-on updates have been downloaded.">
+<!ENTITY updates.restart.label "Restart now to complete installation">
+<!ENTITY updates.noneFound.label "No updates found">
+<!ENTITY updates.manualUpdatesFound.label "View Available Updates">
+<!ENTITY updates.updateSelected.label "Install Updates">
+<!ENTITY updates.updateSelected.tooltip "Install available updates in this list">
+
+<!-- addon actions -->
+<!ENTITY cmd.showDetails.label "Show More Information">
+<!ENTITY cmd.showDetails.accesskey "S">
+<!ENTITY cmd.findUpdates.label "Find Updates">
+<!ENTITY cmd.findUpdates.accesskey "F">
+<!ENTITY cmd.preferencesWin.label "Options">
+<!ENTITY cmd.preferencesWin.accesskey "O">
+<!ENTITY cmd.preferencesUnix.label "Preferences">
+<!ENTITY cmd.preferencesUnix.accesskey "P">
+<!ENTITY cmd.about.label "About">
+<!ENTITY cmd.about.accesskey "A">
+
+<!ENTITY cmd.enableAddon.label "Enable">
+<!ENTITY cmd.enableAddon.accesskey "E">
+<!ENTITY cmd.disableAddon.label "Disable">
+<!ENTITY cmd.disableAddon.accesskey "D">
+<!ENTITY cmd.enableTheme.label "Wear Theme">
+<!ENTITY cmd.enableTheme.accesskey "W">
+<!ENTITY cmd.disableTheme.label "Stop Wearing Theme">
+<!ENTITY cmd.disableTheme.accesskey "W">
+<!ENTITY cmd.askToActivate.label "Ask to Activate">
+<!ENTITY cmd.askToActivate.tooltip "Ask to use this add-on each time">
+<!ENTITY cmd.alwaysActivate.label "Always Activate">
+<!ENTITY cmd.alwaysActivate.tooltip "Always use this add-on">
+<!ENTITY cmd.neverActivate.label "Never Activate">
+<!ENTITY cmd.neverActivate.tooltip "Never use this add-on">
+<!ENTITY cmd.stateMenu.tooltip "Change when this add-on runs">
+<!ENTITY cmd.installAddon.label "Install">
+<!ENTITY cmd.installAddon.accesskey "I">
+<!ENTITY cmd.uninstallAddon.label "Remove">
+<!ENTITY cmd.uninstallAddon.accesskey "R">
+<!ENTITY cmd.showPreferencesWin.label "Options">
+<!ENTITY cmd.showPreferencesWin.tooltip "Change this add-on’s options">
+<!ENTITY cmd.showPreferencesUnix.label "Preferences">
+<!ENTITY cmd.showPreferencesUnix.tooltip "Change this add-on’s preferences">
+<!ENTITY cmd.contribute.label "Contribute">
+<!ENTITY cmd.contribute.accesskey "C">
+<!ENTITY cmd.contribute.tooltip "Contribute to the development of this add-on">
+
+<!ENTITY cmd.showReleaseNotes.label "Show Release Notes">
+<!ENTITY cmd.showReleaseNotes.tooltip "Show the release notes for this update">
+<!ENTITY cmd.hideReleaseNotes.label "Hide Release Notes">
+<!ENTITY cmd.hideReleaseNotes.tooltip "Hide the release notes for this update">
+
+<!-- discovery view -->
+<!-- LOCALIZATION NOTE (discover.title,discover.description,discover.footer):
+ Displayed in the center of the Get Add-ons view, see bug 601143 for mockups. -->
+<!ENTITY discover.title "What are Add-ons?">
+<!ENTITY discover.description2 "Add-ons are applications that let you personalize &brandShortName; with
+ extra functionality or style. Try a time-saving sidebar, a weather notifier, or a themed look to make &brandShortName;
+ your own.">
+<!ENTITY discover.footer "When you’re connected to the internet, this pane will feature
+ some of the best and most popular add-ons for you to try out.">
+
+<!-- detail view -->
+<!ENTITY detail.version.label "Version">
+<!ENTITY detail.lastupdated.label "Last Updated">
+<!ENTITY detail.creator.label "Developer">
+<!ENTITY detail.homepage.label "Homepage">
+<!ENTITY detail.numberOfDownloads.label "Downloads">
+
+<!ENTITY detail.contributions.description "The developer of this add-on asks that you help support its continued development by making a small contribution.">
+
+<!ENTITY detail.updateType "Automatic Updates">
+<!ENTITY detail.updateDefault.label "Default">
+<!ENTITY detail.updateDefault.tooltip "Automatically install updates only if that’s the default">
+<!ENTITY detail.updateAutomatic.label "On">
+<!ENTITY detail.updateAutomatic.tooltip "Automatically install updates">
+<!ENTITY detail.updateManual.label "Off">
+<!ENTITY detail.updateManual.tooltip "Don’t automatically install updates">
+<!ENTITY detail.home "Homepage">
+<!ENTITY detail.repository "Add-on Profile">
+<!ENTITY detail.size "Size">
+
+<!ENTITY detail.checkForUpdates.label "Check for Updates">
+<!ENTITY detail.checkForUpdates.accesskey "F">
+<!ENTITY detail.checkForUpdates.tooltip "Check for updates for this add-on">
+<!ENTITY detail.showPreferencesWin.label "Options">
+<!ENTITY detail.showPreferencesWin.accesskey "O">
+<!ENTITY detail.showPreferencesWin.tooltip "Change this add-on’s options">
+<!ENTITY detail.showPreferencesUnix.label "Preferences">
+<!ENTITY detail.showPreferencesUnix.accesskey "P">
+<!ENTITY detail.showPreferencesUnix.tooltip "Change this add-on’s preferences">
+
+
+<!-- ratings -->
+<!ENTITY rating2.label "Rating">
+
+<!-- download/install progress -->
+<!ENTITY progress.pause.tooltip "Pause">
+<!ENTITY progress.cancel.tooltip "Cancel">
+
+
+<!-- list sorting -->
+<!ENTITY sort.name.label "Name">
+<!ENTITY sort.name.tooltip "Sort by name">
+<!ENTITY sort.dateUpdated.label "Last Updated">
+<!ENTITY sort.dateUpdated.tooltip "Sort by date updated">
+<!ENTITY sort.relevance.label "Best match">
+<!ENTITY sort.relevance.tooltip "Sort by relevance">
+<!ENTITY sort.price.label "Price">
+<!ENTITY sort.price.tooltip "Sort by price">
+
+<!ENTITY search.filter2.label "Search:">
+<!ENTITY search.filter2.installed.label "My Add-ons">
+<!ENTITY search.filter2.installed.tooltip "Show installed add-ons">
+<!ENTITY search.filter2.available.label "Available Add-ons">
+<!ENTITY search.filter2.available.tooltip "Show add-ons available to install">
+
+<!ENTITY addon.homepage "Homepage">
+<!ENTITY addon.details.label "More">
+<!ENTITY addon.details.tooltip "Show more details about this add-on">
+<!ENTITY addon.unknownDate "Unknown">
+<!-- LOCALIZATION NOTE (addon.disabled.postfix): This is used in a normal list
+ to signify that an add-on is disabled, in the form
+ "<Addon name> <1.0> (disabled)" -->
+<!ENTITY addon.disabled.postfix "(disabled)">
+<!-- LOCALIZATION NOTE (addon.update.postfix): This is used in the available
+ updates list to signify that an item is an update, in the form
+ "<Addon name> <1.1> Update". It is fine to use constructs like brackets if
+ necessary -->
+<!ENTITY addon.update.postfix "Update">
+<!ENTITY addon.undoAction.label "Undo">
+<!ENTITY addon.undoAction.tooltip "Undo this action">
+<!ENTITY addon.undoRemove.label "Undo">
+<!ENTITY addon.undoRemove.tooltip "Keep this add-on installed">
+<!ENTITY addon.restartNow.label "Restart now">
+<!ENTITY addon.install.label "Install">
+<!ENTITY addon.install.tooltip "Install this add-on">
+<!ENTITY addon.updateNow.label "Update Now">
+<!ENTITY addon.updateNow.tooltip "Install the update for this add-on">
+<!ENTITY addon.includeUpdate.label "Include in Update">
+<!ENTITY addon.updateAvailable.label "An update is available">
+<!ENTITY addon.checkingForUpdates.label "Checking for updates…">
+<!ENTITY addon.releaseNotes.label "Release Notes:">
+<!ENTITY addon.loadingReleaseNotes.label "Loading…">
+<!ENTITY addon.errorLoadingReleaseNotes.label "Sorry, but there was an error loading the release notes.">
+
+<!ENTITY addon.createdBy.label "By ">
+
+<!ENTITY eula.title "End-User License Agreement">
+<!ENTITY eula.width "560px">
+<!ENTITY eula.height "400px">
+<!ENTITY eula.accept "Accept and Install…">
+
+<!ENTITY settings.path.button.label "Browse…">
+
+<!-- LOCALIZATION NOTE (experiment.info.label): The strings related to
+ experiments are present on the "Experiments" tab of the add-ons manager.
+ This tab won't be displayed unless an Experiment add-on is installed.
+ Install https://people.mozilla.org/~gszorc/dummy-experiment-addon.xpi
+ to cause this tab to appear. -->
+<!ENTITY experiment.info.label "What’s this? Telemetry may install and run experiments from time to time.">
+<!ENTITY experiment.info.learnmore "Learn More">
+<!ENTITY experiment.info.learnmore.accesskey "L">
+<!ENTITY experiment.info.changetelemetry "Telemetry Settings">
+<!ENTITY experiment.info.changetelemetry.accesskey "T">
+
+<!ENTITY setting.learnmore "Learn More…">
+
+<!ENTITY disabledUnsigned.heading "Some add-ons have been disabled">
+<!-- LOCALIZATION NOTE (disabledUnsigned.description.start, disabledUnsigned.description.findAddonsLink, disabledUnsigned.description.end):
+ These entities form a sentence, with
+ disabledUnsigned.description.findAddonsLink being a link to an external site. -->
+<!ENTITY disabledUnsigned.description.start "The following add-ons have not been verified for use in &brandShortName;. You can ">
+<!ENTITY disabledUnsigned.description.findAddonsLink "find replacements">
+<!ENTITY disabledUnsigned.description.end " or ask the developer to get them verified.">
+<!ENTITY disabledUnsigned.learnMore "Learn more about our efforts to help keep you safe online.">
+<!-- LOCALIZATION NOTE (disabledUnsigned.devInfo.start, disabledUnsigned.devInfo.linkToManual, disabledUnsigned.devInfo.end):
+ These entities form a sentence, with disabledUnsigned.devInfo.linkToManual
+ being a link to an external site. -->
+<!ENTITY disabledUnsigned.devInfo.start "Developers interested in getting their add-ons verified can continue by reading our ">
+<!ENTITY disabledUnsigned.devInfo.linkToManual "manual">
+<!ENTITY disabledUnsigned.devInfo.end ".">
+
+<!ENTITY pluginDeprecation.description "Missing something? Some plugins are no longer supported by &brandShortName;.">
+<!ENTITY pluginDeprecation.learnMore "Learn More.">
diff --git a/toolkit/locales/en-US/chrome/mozapps/extensions/extensions.properties b/toolkit/locales/en-US/chrome/mozapps/extensions/extensions.properties
new file mode 100644
index 000000000..10c0f81c3
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/extensions/extensions.properties
@@ -0,0 +1,184 @@
+# 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 (aboutWindowTitle) %S is the addon name
+aboutWindowTitle=About %S
+aboutWindowCloseButton=Close
+#LOCALIZATION NOTE (aboutWindowVersionString) %S is the addon version
+aboutWindowVersionString=version %S
+#LOCALIZATION NOTE (aboutAddon) %S is the addon name
+aboutAddon=About %S
+
+#LOCALIZATION NOTE (uninstallNotice) %S is the add-on name
+uninstallNotice=%S has been removed.
+
+#LOCALIZATION NOTE (numReviews): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of reviews
+numReviews=#1 review;#1 reviews
+
+#LOCALIZATION NOTE (dateUpdated) %S is the date the addon was last updated
+dateUpdated=Updated %S
+
+#LOCALIZATION NOTE (notification.incompatible) %1$S is the add-on name, %2$S is brand name, %3$S is application version
+notification.incompatible=%1$S is incompatible with %2$S %3$S.
+#LOCALIZATION NOTE (notification.unsigned, notification.unsignedAndDisabled) %1$S is the add-on name, %2$S is brand name
+notification.unsignedAndDisabled=%1$S could not be verified for use in %2$S and has been disabled.
+notification.unsigned=%1$S could not be verified for use in %2$S. Proceed with caution.
+notification.unsigned.link=More Information
+#LOCALIZATION NOTE (notification.blocked) %1$S is the add-on name
+notification.blocked=%1$S has been disabled due to security or stability issues.
+notification.blocked.link=More Information
+#LOCALIZATION NOTE (notification.softblocked) %1$S is the add-on name
+notification.softblocked=%1$S is known to cause security or stability issues.
+notification.softblocked.link=More Information
+#LOCALIZATION NOTE (notification.outdated) %1$S is the add-on name
+notification.outdated=An important update is available for %1$S.
+notification.outdated.link=Update Now
+#LOCALIZATION NOTE (notification.vulnerableUpdatable) %1$S is the add-on name
+notification.vulnerableUpdatable=%1$S is known to be vulnerable and should be updated.
+notification.vulnerableUpdatable.link=Update Now
+#LOCALIZATION NOTE (notification.vulnerableNoUpdate) %1$S is the add-on name
+notification.vulnerableNoUpdate=%1$S is known to be vulnerable. Use with caution.
+notification.vulnerableNoUpdate.link=More Information
+#LOCALIZATION NOTE (notification.enable) %1$S is the add-on name, %2$S is brand name
+notification.enable=%1$S will be enabled after you restart %2$S.
+#LOCALIZATION NOTE (notification.disable) %1$S is the add-on name, %2$S is brand name
+notification.disable=%1$S will be disabled after you restart %2$S.
+#LOCALIZATION NOTE (notification.install) %1$S is the add-on name, %2$S is brand name
+notification.install=%1$S will be installed after you restart %2$S.
+#LOCALIZATION NOTE (notification.uninstall) %1$S is the add-on name, %2$S is brand name
+notification.uninstall=%1$S will be uninstalled after you restart %2$S.
+#LOCALIZATION NOTE (notification.upgrade) %1$S is the add-on name, %2$S is brand name
+notification.upgrade=%1$S will be updated after you restart %2$S.
+#LOCALIZATION NOTE (notification.downloadError) %1$S is the add-on name.
+notification.downloadError=There was an error downloading %1$S.
+notification.downloadError.retry=Try again
+notification.downloadError.retry.tooltip=Try downloading this add-on again
+#LOCALIZATION NOTE (notification.installError) %1$S is the add-on name.
+notification.installError=There was an error installing %1$S.
+notification.installError.retry=Try again
+notification.installError.retry.tooltip=Try downloading and installing this add-on again
+#LOCALIZATION NOTE (notification.gmpPending) %1$S is the add-on name.
+notification.gmpPending=%1$S will be installed shortly.
+
+#LOCALIZATION NOTE (contributionAmount2) %S is the currency amount recommended for contributions
+contributionAmount2=Suggested Contribution: %S
+
+installDownloading=Downloading
+installDownloaded=Downloaded
+installDownloadFailed=Error downloading
+installVerifying=Verifying
+installInstalling=Installing
+installEnablePending=Restart to enable
+installDisablePending=Restart to disable
+installFailed=Error installing
+installCancelled=Install cancelled
+
+#LOCALIZATION NOTE (details.notification.incompatible) %1$S is the add-on name, %2$S is brand name, %3$S is application version
+details.notification.incompatible=%1$S is incompatible with %2$S %3$S.
+#LOCALIZATION NOTE (details.notification.unsigned, details.notification.unsignedAndDisabled) %1$S is the add-on name, %2$S is brand name
+details.notification.unsignedAndDisabled=%1$S could not be verified for use in %2$S and has been disabled.
+details.notification.unsigned=%1$S could not be verified for use in %2$S. Proceed with caution.
+details.notification.unsigned.link=More Information
+#LOCALIZATION NOTE (details.notification.blocked) %1$S is the add-on name
+details.notification.blocked=%1$S has been disabled due to security or stability issues.
+details.notification.blocked.link=More Information
+#LOCALIZATION NOTE (details.notification.softblocked) %1$S is the add-on name
+details.notification.softblocked=%1$S is known to cause security or stability issues.
+details.notification.softblocked.link=More Information
+#LOCALIZATION NOTE (details.notification.outdated) %1$S is the add-on name
+details.notification.outdated=An important update is available for %1$S.
+details.notification.outdated.link=Update Now
+#LOCALIZATION NOTE (details.notification.vulnerableUpdatable) %1$S is the add-on name
+details.notification.vulnerableUpdatable=%1$S is known to be vulnerable and should be updated.
+details.notification.vulnerableUpdatable.link=Update Now
+#LOCALIZATION NOTE (details.notification.vulnerableNoUpdate) %1$S is the add-on name
+details.notification.vulnerableNoUpdate=%1$S is known to be vulnerable. Use with caution.
+details.notification.vulnerableNoUpdate.link=More Information
+#LOCALIZATION NOTE (details.notification.enable) %1$S is the add-on name, %2$S is brand name
+details.notification.enable=%1$S will be enabled after you restart %2$S.
+#LOCALIZATION NOTE (details.notification.disable) %1$S is the add-on name, %2$S is brand name
+details.notification.disable=%1$S will be disabled after you restart %2$S.
+#LOCALIZATION NOTE (details.notification.install) %1$S is the add-on name, %2$S is brand name
+details.notification.install=%1$S will be installed after you restart %2$S.
+#LOCALIZATION NOTE (details.notification.uninstall) %1$S is the add-on name, %2$S is brand name
+details.notification.uninstall=%1$S will be uninstalled after you restart %2$S.
+#LOCALIZATION NOTE (details.notification.upgrade) %1$S is the add-on name, %2$S is brand name
+details.notification.upgrade=%1$S will be updated after you restart %2$S.
+#LOCALIZATION NOTE (details.notification.gmpPending) %1$S is the add-on name
+details.notification.gmpPending=%1$S will be installed shortly.
+
+# LOCALIZATION NOTE (details.experiment.time.daysRemaining):
+# Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of days from now that the experiment will remain active (detail view).
+details.experiment.time.daysRemaining=#1 day remaining;#1 days remaining
+#LOCALIZATION NOTE (details.experiment.time.endsToday) The experiment will end in less than a day (detail view).
+details.experiment.time.endsToday=Less than a day remaining
+# LOCALIZATION NOTE (details.experiment.time.daysPassed):
+# Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of days since the experiment ran (detail view).
+details.experiment.time.daysPassed=#1 day ago;#1 days ago
+#LOCALIZATION NOTE (details.experiment.time.endedToday) The experiment ended less than a day ago (detail view).
+details.experiment.time.endedToday=Less than a day ago
+#LOCALIZATION NOTE (details.experiment.state.active) This experiment is active (detail view).
+details.experiment.state.active=Active
+#LOCALIZATION NOTE (details.experiment.state.complete) This experiment is complete (it was previously active) (detail view).
+details.experiment.state.complete=Complete
+
+# LOCALIZATION NOTE (experiment.time.daysRemaining):
+# Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of days from now that the experiment will remain active (list view item).
+experiment.time.daysRemaining=#1 day remaining;#1 days remaining
+#LOCALIZATION NOTE (experiment.time.endsToday) The experiment will end in less than a day (list view item).
+experiment.time.endsToday=Less than a day remaining
+# LOCALIZATION NOTE (experiment.time.daysPassed):
+# Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of days since the experiment ran (list view item).
+experiment.time.daysPassed=#1 day ago;#1 days ago
+#LOCALIZATION NOTE (experiment.time.endedToday) The experiment ended less than a day ago (list view item).
+experiment.time.endedToday=Less than a day ago
+#LOCALIZATION NOTE (experiment.state.active) This experiment is active (list view item).
+experiment.state.active=Active
+#LOCALIZATION NOTE (experiment.state.complete) This experiment is complete (it was previously active) (list view item).
+experiment.state.complete=Complete
+
+installFromFile.dialogTitle=Select add-on to install
+installFromFile.filterName=Add-ons
+
+uninstallAddonTooltip=Uninstall this add-on
+uninstallAddonRestartRequiredTooltip=Uninstall this add-on (restart required)
+enableAddonTooltip=Enable this add-on
+enableAddonRestartRequiredTooltip=Enable this add-on (restart required)
+disableAddonTooltip=Disable this add-on
+disableAddonRestartRequiredTooltip=Disable this add-on (restart required)
+
+#LOCALIZATION NOTE (showAllSearchResults): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the total number of search results
+showAllSearchResults=See one result;See all #1 results
+
+#LOCALIZATION NOTE (addon.purchase.label) displayed on a button in the list
+# view, %S is the price of the add-on including currency symbol
+addon.purchase.label=Purchase for %S…
+addon.purchase.tooltip=Visit the add-ons gallery to purchase this add-on
+#LOCALIZATION NOTE (cmd.purchaseAddon.label) displayed on a button in the detail
+# view, %S is the price of the add-on including currency symbol
+cmd.purchaseAddon.label=Purchase for %S…
+cmd.purchaseAddon.accesskey=u
+
+#LOCALIZATION NOTE (eulaHeader) %S is name of the add-on asking the user to agree to the EULA
+eulaHeader=%S requires that you accept the following End User License Agreement before installation can proceed:
+
+type.extension.name=Extensions
+type.theme.name=Appearance
+type.locale.name=Languages
+type.plugin.name=Plugins
+type.dictionary.name=Dictionaries
+type.service.name=Services
+type.experiment.name=Experiments
diff --git a/toolkit/locales/en-US/chrome/mozapps/extensions/newaddon.dtd b/toolkit/locales/en-US/chrome/mozapps/extensions/newaddon.dtd
new file mode 100644
index 000000000..1307cebb9
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/extensions/newaddon.dtd
@@ -0,0 +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/. -->
+
+<!ENTITY title "Install Add-on">
+<!ENTITY intro "Another program on your computer would like to modify
+ &brandShortName; with the following add-on:">
+<!ENTITY warning "Install add-ons only from authors whom you trust.">
+<!ENTITY allow "Allow this installation">
+<!ENTITY later "You can always change your mind at any time by going
+ to the Add-ons Manager.">
+<!ENTITY continue "Continue">
+<!ENTITY restartMessage "You must restart &brandShortName; to finish installing this add-on.">
+<!ENTITY restartButton "Restart &brandShortName;">
+<!ENTITY cancelButton "Cancel">
diff --git a/toolkit/locales/en-US/chrome/mozapps/extensions/newaddon.properties b/toolkit/locales/en-US/chrome/mozapps/extensions/newaddon.properties
new file mode 100644
index 000000000..bd5997a26
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/extensions/newaddon.properties
@@ -0,0 +1,10 @@
+# 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 (name) %1$S is the add-on name, %2$S is the add-on version
+name=%1$S %2$S
+#LOCALIZATION NOTE (author) %S is the author of the add-on
+author=By %S
+#LOCALIZATION NOTE (location) %S is the path the add-on is installed in
+location=Location: %S
diff --git a/toolkit/locales/en-US/chrome/mozapps/extensions/update.dtd b/toolkit/locales/en-US/chrome/mozapps/extensions/update.dtd
new file mode 100644
index 000000000..6dd64a9c6
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/extensions/update.dtd
@@ -0,0 +1,65 @@
+<!-- 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/. -->
+
+<!ENTITY updateWizard.title "&brandShortName; Update">
+
+<!ENTITY offline.title "&brandShortName; is working offline">
+<!ENTITY offline.description "&brandShortName; needs to go online in order to see if updates
+ are available for your add-ons to make them compatible with this
+ version.">
+<!ENTITY offline.toggleOffline.label "Go online now.">
+<!ENTITY offline.toggleOffline.accesskey "G">
+
+<!ENTITY mismatch.win.title "Incompatible Add-ons">
+<!ENTITY mismatch.top.label "The following add-ons are not compatible with this version of
+ &brandShortName; and have been disabled:">
+<!ENTITY mismatch.bottom.label "&brandShortName; can check if there are compatible versions
+ of these add-ons available.">
+
+<!ENTITY checking.wizard.title "Checking for Compatible Add-ons">
+<!ENTITY checking.top.label "Checking your incompatible add-ons for updates…">
+<!ENTITY checking.status "This may take a few minutes…">
+
+<!ENTITY found.wizard.title "Found Compatible Add-ons">
+<!ENTITY found.top.label "Select the add-ons you would like to install:">
+<!ENTITY found.disabledXPinstall.label "These updates can’t be installed because software installation is currently
+ disabled. You can change this setting below.">
+<!ENTITY found.enableXPInstall.label "Allow websites to install software">
+<!ENTITY found.enableXPInstall.accesskey "A">
+
+<!ENTITY installing.wizard.title "Installing Compatible Add-ons">
+<!ENTITY installing.top.label "Downloading and installing updates to your add-ons…">
+
+<!ENTITY noupdates.wizard.title "No Compatible Add-ons Found">
+<!ENTITY noupdates.intro.desc "&brandShortName; was unable to find updates to your
+ incompatible add-ons.">
+<!ENTITY noupdates.error.desc "Some problems were encountered when trying to find updates.">
+<!ENTITY noupdates.checkEnabled.desc "&brandShortName; will check periodically and inform you
+ when compatible updates for these add-ons are found.">
+
+<!ENTITY finished.wizard.title "Compatible Add-ons Installed">
+<!ENTITY finished.top.label "&brandShortName; has installed the updates to your add-ons.">
+<!ENTITY finished.checkDisabled.desc "&brandShortName; can check periodically and inform you
+ when updates for add-ons are found.">
+<!ENTITY finished.checkEnabled.desc "&brandShortName; will check periodically and inform you
+ when updates for add-ons are found.">
+
+<!ENTITY adminDisabled.wizard.title "Unable to Check for Updates">
+<!ENTITY adminDisabled.warning.label "It is not possible to check for updates to incompatible add-ons
+ because software installation for &brandShortName; has been disabled.
+ Please contact your System Administrator for assistance.">
+
+<!ENTITY versioninfo.wizard.title "Checking Compatibility of Add-ons">
+<!ENTITY versioninfo.top.label "Checking your add-ons for compatibility with this
+ version of &brandShortName;.">
+<!ENTITY versioninfo.waiting "This may take a few minutes…">
+
+<!ENTITY installerrors.wizard.title "Problems Installing Updates">
+<!ENTITY installerrors.intro.label "&brandShortName; encountered problems when updating
+ some of your add-ons.">
+
+<!-- general strings used by several of the finish pages -->
+<!ENTITY clickFinish.label "Click Finish to continue starting &brandShortName;.">
+<!ENTITY clickFinish.labelMac "Click Done to continue starting &brandShortName;.">
+<!ENTITY enableChecking.label "Allow &brandShortName; to check for updates.">
diff --git a/toolkit/locales/en-US/chrome/mozapps/extensions/update.properties b/toolkit/locales/en-US/chrome/mozapps/extensions/update.properties
new file mode 100644
index 000000000..c2d4ed90f
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/extensions/update.properties
@@ -0,0 +1,21 @@
+# 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/.
+
+mismatchCheckNow=Check Now
+mismatchCheckNowAccesskey=C
+mismatchDontCheck=Don’t Check
+mismatchDontCheckAccesskey=D
+installButtonText=Install Now
+installButtonTextAccesskey=I
+nextButtonText=Next >
+nextButtonTextAccesskey=N
+cancelButtonText=Cancel
+cancelButtonTextAccesskey=C
+statusPrefix=Finished checking %S
+downloadingPrefix=Downloading: %S
+installingPrefix=Installing: %S
+closeButton=Close
+installErrors=%S was unable to install updates for the following add-ons:
+checkingErrors=%S was unable to check for updates for the following add-ons:
+installErrorItemFormat=%S (%S)
diff --git a/toolkit/locales/en-US/chrome/mozapps/extensions/xpinstallConfirm.dtd b/toolkit/locales/en-US/chrome/mozapps/extensions/xpinstallConfirm.dtd
new file mode 100644
index 000000000..6a7d17a16
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/extensions/xpinstallConfirm.dtd
@@ -0,0 +1,13 @@
+<!-- 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/. -->
+
+<!-- extracted from institems.xul -->
+
+<!ENTITY dialog.title "Software Installation">
+<!ENTITY dialog.style "width: 45em">
+<!ENTITY warningPrimary.label "Install add-ons only from authors whom you trust.">
+<!ENTITY warningSecondary.label "Malicious software can damage your computer or violate your privacy.">
+
+<!ENTITY from.label "from:">
+
diff --git a/toolkit/locales/en-US/chrome/mozapps/extensions/xpinstallConfirm.properties b/toolkit/locales/en-US/chrome/mozapps/extensions/xpinstallConfirm.properties
new file mode 100644
index 000000000..d0b4e46ad
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/extensions/xpinstallConfirm.properties
@@ -0,0 +1,11 @@
+# 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/.
+
+unverified=(Author not verified)
+signed=(%S)
+
+itemWarnIntroMultiple=You have asked to install the following %S items:
+itemWarnIntroSingle=You have asked to install the following item:
+installButtonDisabledLabel=Install (%S)
+installButtonLabel=Install Now
diff --git a/toolkit/locales/en-US/chrome/mozapps/handling/handling.dtd b/toolkit/locales/en-US/chrome/mozapps/handling/handling.dtd
new file mode 100644
index 000000000..fe7a52566
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/handling/handling.dtd
@@ -0,0 +1,10 @@
+<!-- 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/. -->
+
+<!ENTITY window.emWidth "26em">
+<!ENTITY window.emHeight "26em">
+<!ENTITY ChooseOtherApp.description "Choose other Application">
+<!ENTITY ChooseApp.label "Choose…">
+<!ENTITY ChooseApp.accessKey "C">
+<!ENTITY accept "Open link">
diff --git a/toolkit/locales/en-US/chrome/mozapps/handling/handling.properties b/toolkit/locales/en-US/chrome/mozapps/handling/handling.properties
new file mode 100644
index 000000000..46d347ad0
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/handling/handling.properties
@@ -0,0 +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/.
+
+protocol.title=Launch Application
+protocol.description=This link needs to be opened with an application.
+protocol.choices.label=Send to:
+protocol.checkbox.label=Remember my choice for %S links.
+protocol.checkbox.accesskey=R
+protocol.checkbox.extra=This can be changed in %S’s preferences.
+
+choose.application.title=Another Application…
diff --git a/toolkit/locales/en-US/chrome/mozapps/preferences/changemp.dtd b/toolkit/locales/en-US/chrome/mozapps/preferences/changemp.dtd
new file mode 100644
index 000000000..1cc7b9621
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/preferences/changemp.dtd
@@ -0,0 +1,13 @@
+<!-- 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/. -->
+
+<!ENTITY setPassword.title "Change Master Password">
+<!ENTITY setPassword.tokenName.label "Security Device">
+<!ENTITY setPassword.oldPassword.label "Current password:">
+<!ENTITY setPassword.newPassword.label "Enter new password:">
+<!ENTITY setPassword.reenterPassword.label "Re-enter password:">
+<!ENTITY setPassword.meter.label "Password quality meter">
+<!ENTITY setPassword.meter.loading "Loading">
+<!ENTITY masterPasswordDescription.label "A Master Password is used to protect sensitive information like site passwords. If you create a Master Password you will be asked to enter it once per session when &brandShortName; retrieves saved information protected by the password.">
+<!ENTITY masterPasswordWarning.label "Please make sure you remember the Master Password you have set. If you forget your Master Password, you will be unable to access any of the information protected by it.">
diff --git a/toolkit/locales/en-US/chrome/mozapps/preferences/preferences.properties b/toolkit/locales/en-US/chrome/mozapps/preferences/preferences.properties
new file mode 100644
index 000000000..53750fcf3
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/preferences/preferences.properties
@@ -0,0 +1,17 @@
+# 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/.
+
+#### Master Password
+
+password_not_set=(not set)
+failed_pw_change=Unable to change Master Password.
+incorrect_pw=You did not enter the correct current Master Password. Please try again.
+pw_change_ok=Master Password successfully changed.
+pw_erased_ok=You have deleted your Master Password.
+pw_not_wanted=Warning! You have decided not to use a Master Password.
+pw_empty_warning=Your stored web and email passwords, form data, and private keys will not be protected.
+pw_change2empty_in_fips_mode=You are currently in FIPS mode. FIPS requires a non-empty Master Password.
+pw_change_success_title=Password Change Succeeded
+pw_change_failed_title=Password Change Failed
+pw_remove_button=Remove
diff --git a/toolkit/locales/en-US/chrome/mozapps/preferences/removemp.dtd b/toolkit/locales/en-US/chrome/mozapps/preferences/removemp.dtd
new file mode 100644
index 000000000..24f234032
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/preferences/removemp.dtd
@@ -0,0 +1,10 @@
+<!-- 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/. -->
+
+<!ENTITY removePassword.title "Remove Master Password">
+<!ENTITY removeInfo.label "You must enter your current password to proceed:">
+<!ENTITY removeWarning1.label "Your Master Password is used to protect sensitive information like site passwords.">
+<!ENTITY removeWarning2.label "If you remove your Master Password your information will not be protected if your computer is compromised.">
+<!ENTITY setPassword.oldPassword.label "Current password:">
+
diff --git a/toolkit/locales/en-US/chrome/mozapps/profile/createProfileWizard.dtd b/toolkit/locales/en-US/chrome/mozapps/profile/createProfileWizard.dtd
new file mode 100644
index 000000000..55384350a
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/profile/createProfileWizard.dtd
@@ -0,0 +1,25 @@
+<!-- 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/. -->
+
+<!ENTITY newprofile.title "Create Profile Wizard">
+<!ENTITY window.size "width: 45em; height: 32em;">
+
+<!-- First wizard page -->
+<!ENTITY profileCreationExplanation_1.text "&brandShortName; stores information about your settings and preferences in your personal profile.">
+<!ENTITY profileCreationExplanation_2.text "If you are sharing this copy of &brandShortName; with other users, you can use profiles to keep each user’s information separate. To do this, each user should create his or her own profile.">
+<!ENTITY profileCreationExplanation_3.text "If you are the only person using this copy of &brandShortName;, you must have at least one profile. If you would like, you can create multiple profiles for yourself to store different sets of settings and preferences. For example, you may want to have separate profiles for business and personal use.">
+<!ENTITY profileCreationExplanation_4.text "To begin creating your profile, click Next.">
+<!ENTITY profileCreationExplanation_4Mac.text "To begin creating your profile, click Continue.">
+<!ENTITY profileCreationExplanation_4Gnome.text "To begin creating your profile, click Next.">
+
+<!-- Second wizard page -->
+<!ENTITY profileCreationIntro.text "If you create several profiles you can tell them apart by the profile names. You may use the name provided here or use one of your own.">
+<!ENTITY profilePrompt.label "Enter new profile name:">
+<!ENTITY profilePrompt.accesskey "E">
+<!ENTITY profileDirectoryExplanation.text "Your user settings, preferences and other user-related data will be stored in:">
+<!ENTITY profileDefaultName "Default User">
+<!ENTITY button.choosefolder.label "Choose Folder…">
+<!ENTITY button.choosefolder.accesskey "C">
+<!ENTITY button.usedefault.label "Use Default Folder">
+<!ENTITY button.usedefault.accesskey "U">
diff --git a/toolkit/locales/en-US/chrome/mozapps/profile/profileSelection.dtd b/toolkit/locales/en-US/chrome/mozapps/profile/profileSelection.dtd
new file mode 100644
index 000000000..87741a82e
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/profile/profileSelection.dtd
@@ -0,0 +1,31 @@
+<!-- -*- Mode: SGML; indent-tabs-mode: nil; -*- -->
+<!--
+
+ 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/. -->
+
+<!ENTITY windowtitle.label "&brandShortName; - Choose User Profile">
+
+<!ENTITY profilename.label "Profile Name:">
+
+<!ENTITY start.label "Start &brandShortName;">
+<!ENTITY exit.label "Exit">
+
+<!ENTITY availprofiles.label "Available Profiles">
+
+<!ENTITY newButton.label "Create Profile…">
+<!ENTITY newButton.accesskey "C">
+<!ENTITY renameButton.label "Rename Profile…">
+<!ENTITY renameButton.accesskey "R">
+<!ENTITY deleteButton.label "Delete Profile…">
+<!ENTITY deleteButton.accesskey "D">
+
+<!-- manager entities -->
+<!ENTITY pmDescription.label "&brandShortName; stores information about your settings, preferences, and other user items in your user profile.">
+
+<!ENTITY offlineState.label "Work offline">
+<!ENTITY offlineState.accesskey "o">
+
+<!ENTITY useSelected.label "Use the selected profile without asking at startup">
+<!ENTITY useSelected.accesskey "s">
diff --git a/toolkit/locales/en-US/chrome/mozapps/profile/profileSelection.properties b/toolkit/locales/en-US/chrome/mozapps/profile/profileSelection.properties
new file mode 100644
index 000000000..e36353a93
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/profile/profileSelection.properties
@@ -0,0 +1,51 @@
+# 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: These strings are used for startup/profile problems and the profile manager.
+
+# Application not responding
+# LOCALIZATION NOTE (restartTitle, restartMessageNoUnlocker, restartMessageUnlocker, restartMessageNoUnlockerMac, restartMessageUnlockerMac): Messages displayed when the application is running but is not responding to commands. %S is the application name.
+restartTitle=Close %S
+restartMessageNoUnlocker=%S is already running, but is not responding. To open a new window, you must first close the existing %S process, or restart your system.
+restartMessageUnlocker=%S is already running, but is not responding. The old %S process must be closed to open a new window.
+restartMessageNoUnlockerMac=A copy of %S is already open. Only one copy of %S can be open at a time.
+restartMessageUnlockerMac=A copy of %S is already open. The running copy of %S will quit in order to open this one.
+
+# Profile manager
+# LOCALIZATION NOTE (profileTooltip): First %S is the profile name, second %S is the path to the profile folder.
+profileTooltip=Profile: ‘%S’ - Path: ‘%S’
+
+pleaseSelectTitle=Select Profile
+pleaseSelect=Please select a profile to begin %S, or create a new profile.
+
+profileLockedTitle=Profile In Use
+profileLocked2=%S cannot use the profile “%S” because it is in use.\n\nTo continue, close the running instance of %S or choose a different profile.
+
+renameProfileTitle=Rename Profile
+renameProfilePrompt=Rename the profile “%S” to:
+
+profileNameInvalidTitle=Invalid profile name
+profileNameInvalid=The profile name “%S” is not allowed.
+
+chooseFolder=Choose Profile Folder
+profileNameEmpty=An empty profile name is not allowed.
+invalidChar=The character “%S” is not allowed in profile names. Please choose a different name.
+
+deleteTitle=Delete Profile
+deleteProfileConfirm=Deleting a profile will remove the profile from the list of available profiles and cannot be undone.\nYou may also choose to delete the profile data files, including your settings, certificates and other user-related data. This option will delete the folder “%S” and cannot be undone.\nWould you like to delete the profile data files?
+deleteFiles=Delete Files
+dontDeleteFiles=Don’t Delete Files
+
+profileCreationFailed=Profile couldn’t be created. Probably the chosen folder isn’t writable.
+profileCreationFailedTitle=Profile Creation failed
+profileExists=A profile with this name already exists. Please choose another name.
+profileExistsTitle=Profile Exists
+profileFinishText=Click Finish to create this new profile.
+profileFinishTextMac=Click Done to create this new profile.
+profileMissing=Your %S profile cannot be loaded. It may be missing or inaccessible.
+profileMissingTitle=Profile Missing
+
+# Profile reset
+# LOCALIZATION NOTE (resetBackupDirectory): Directory name for the profile directory backup created during reset. This directory is placed in a location users will see it (ie. their desktop). %S is the application name.
+resetBackupDirectory=Old %S Data
diff --git a/toolkit/locales/en-US/chrome/mozapps/update/history.dtd b/toolkit/locales/en-US/chrome/mozapps/update/history.dtd
new file mode 100644
index 000000000..100509999
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/update/history.dtd
@@ -0,0 +1,16 @@
+<!-- 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/. -->
+
+
+<!ENTITY history.title "Update History">
+<!ENTITY history.intro "The following updates have been installed:">
+<!ENTITY closebutton.label "Close">
+
+<!ENTITY noupdates.label "No updates installed yet">
+
+<!ENTITY name.header "Update Name">
+<!ENTITY date.header "Install Date">
+<!ENTITY type.header "Type">
+<!ENTITY state.header "State">
+
diff --git a/toolkit/locales/en-US/chrome/mozapps/update/updates.dtd b/toolkit/locales/en-US/chrome/mozapps/update/updates.dtd
new file mode 100644
index 000000000..1247776b4
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/update/updates.dtd
@@ -0,0 +1,77 @@
+<!-- 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/. -->
+<!ENTITY updateWizard.title "Software Update">
+
+<!ENTITY checking.title "Checking for Updates">
+<!ENTITY updateCheck.label "Looking for newer versions of &brandShortName;…">
+
+<!ENTITY noupdatesfound.title "No Updates Found">
+<!ENTITY noupdatesautoenabled.intro "There are no updates available. &brandShortName; will check
+ periodically for updates.">
+<!ENTITY noupdatesautodisabled.intro "There are no updates available. Please check again later or enable
+ &brandShortName;'s automatic update checking.">
+
+<!ENTITY manualUpdate.title "Unable to Update">
+<!ENTITY manualUpdate.desc "A recommended security and stability update is available, but you do
+ not have the system permissions required to install it. Please contact your
+ system administrator, or try again from an account that has permission to
+ install software on this computer.">
+<!ENTITY manualUpdate.space.desc "A recommended security and stability update is available, but you do
+ not have enough space to install it.">
+<!ENTITY manualUpdateGetMsg.label "You can always get the latest version of &brandShortName; at:">
+
+<!ENTITY unsupported.title "System Unsupported">
+<!ENTITY unsupported.label "Your &brandShortName; is out of date, but the latest version is not
+ supported on your system. Please upgrade your system, then try again.
+ You will not see this notice again, but you can">
+<!ENTITY unsupportedLink.label "learn more.">
+
+<!ENTITY clickHere.label "View more information about this update">
+
+<!ENTITY evangelism.desc "It is strongly recommended that you apply this
+ update for &brandShortName; as soon as possible.">
+
+<!ENTITY downloadPage.title "Downloading &brandShortName;">
+<!ENTITY downloading.intro "Downloading the update…">
+<!ENTITY connecting.label "Connecting to the update server…">
+<!ENTITY verificationFailedText.label "&brandShortName; was unable to verify the integrity of the
+ incremental update it downloaded, so it is now downloading
+ the complete update package.">
+
+<!ENTITY viewDetails.tooltip "View details for this update">
+
+<!ENTITY details.link "Details">
+
+<!ENTITY error.title "Update Failed">
+
+<!ENTITY error.label "There were problems checking for, downloading, or installing this
+ update. &brandShortName; could not be updated because:">
+
+<!ENTITY errorManual.label "You can update &brandShortName; manually by visiting this link
+ and downloading the latest version:">
+
+<!ENTITY errorpatching.intro "The partial Update could not be applied.
+ &brandShortName; will try again by downloading a complete Update.">
+
+<!ENTITY genericBackgroundError.label "&brandShortName; is unable to determine if there is an update available. Please
+ make sure that you have the latest version of &brandShortName; from:">
+
+<!ENTITY finishedPage.title "Update Ready to Install">
+<!ENTITY finishedPage.text "The update will be installed the next time &brandShortName; starts. You
+ can restart &brandShortName; now, or continue working and restart later.">
+
+<!ENTITY finishedBackgroundPage.text "A security and stability update for &brandShortName; has been
+ downloaded and is ready to be installed.">
+<!ENTITY finishedBackground.name "Update:">
+<!-- LOCALIZATION NOTE (finishedBackground.more): This string describes the button labels defined by restartNowButton and restartLaterButton in updates.properties. -->
+<!ENTITY finishedBackground.more "The update will be installed the next time &brandShortName; starts. You
+ can restart &brandShortName; now, or continue working and restart later.">
+<!ENTITY finishedBackground.moreElevated "This update requires administrator privileges. The update will be
+ installed the next time &brandShortName; starts. You can restart
+ &brandShortName; now, continue working and restart later, or decline this
+ update.">
+
+<!ENTITY update.details.label "Details">
+<!ENTITY update.installedOn.label "Installed on:">
+<!ENTITY update.status.label "Status:">
diff --git a/toolkit/locales/en-US/chrome/mozapps/update/updates.properties b/toolkit/locales/en-US/chrome/mozapps/update/updates.properties
new file mode 100644
index 000000000..dadf03c47
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/mozapps/update/updates.properties
@@ -0,0 +1,95 @@
+# 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: The 1st %S is the update name and the 2nd %S is the build
+# identifier from the local updates.xml for displaying update history
+# example: MyApplication (20081022033543)
+updateFullName=%S (%S)
+
+# LOCALIZATION NOTE: The 1st %S is brandShortName and 2nd %S is update version
+# where update version from the update xml
+# example: MyApplication 10.0.5
+updateName=%S %S
+
+# LOCALIZATION NOTE: When present
+# %1$S is the brandShortName. Ex: MyApplication
+# %2$S is the update version - provided by the update xml. Ex: version 10.0.5
+# %3$S is the build identifier - provided by the update xml. Ex: 20081022033543
+updateNightlyName=%1$S %2$S %3$S nightly
+intro_major=Do you want to upgrade to %1$S %2$S now?
+intro_minor=A security and stability update for %1$S is available:
+
+updateType_major=New Version
+updateType_minor=Security Update
+
+# LOCALIZATION NOTE: When present %S is brandShortName
+verificationError=%S could not confirm the integrity of the update package.
+resumePausedAfterCloseTitle=Software Update
+resumePausedAfterCloseMsg=You have paused downloading this update. Do you want to download the update in the background while you continue to use %S?
+updaterIOErrorTitle=Software Update Failed
+updaterIOErrorMsg=The update could not be installed. Please make sure there are no other copies of %S running on your computer, and then restart %S to try again.
+okButton=OK
+okButton.accesskey=O
+askLaterButton=Ask Later
+askLaterButton.accesskey=A
+noThanksButton=No Thanks
+noThanksButton.accesskey=N
+updateButton_minor=Update %S
+updateButton_minor.accesskey=U
+updateButton_major=Get the New Version
+updateButton_major.accesskey=G
+backButton=Back
+backButton.accesskey=B
+acceptTermsButton=Accept Terms
+acceptTermsButton.accesskey=A
+# NOTE: The restartLaterButton string is also used in
+# mozapps/extensions/content/blocklist.js
+restartLaterButton=Restart Later
+restartLaterButton.accesskey=L
+restartNowButton=Restart %S
+restartNowButton.accesskey=R
+
+# LOCALIZATION NOTE: %S is the date the update was installed from the local
+# updates.xml for displaying update history
+statusSucceededFormat=Installed on: %S
+
+statusFailed=Install Failed
+pauseButtonPause=Pause
+pauseButtonResume=Resume
+hideButton=Hide
+hideButton.accesskey=H
+
+applyingUpdate=Applying update…
+
+updatesfound_minor.title=Update Available
+updatesfound_major.title=New Version Available
+
+installSuccess=The Update was successfully installed
+installPending=Install Pending
+patchApplyFailure=The Update could not be installed (patch apply failed)
+elevationFailure=You don’t have the permissions necessary to install this update. Please contact your system administrator.
+
+# LOCALIZATION NOTE: %S is the amount downloaded so far
+# example: Paused — 879 KB of 2.1 MB
+downloadPausedStatus=Paused — %S
+
+check_error-200=Update XML file malformed (200)
+check_error-403=Access denied (403)
+check_error-404=Update XML file not found (404)
+check_error-500=Internal server error (500)
+check_error-2152398849=Failed (unknown reason)
+check_error-2152398861=Connection refused
+check_error-2152398862=Connection timed out
+# NS_ERROR_OFFLINE
+check_error-2152398864=Network is offline (go online)
+check_error-2152398867=Port not allowed
+check_error-2152398868=No data was received (please try again)
+check_error-2152398878=Update server not found (check your internet connection)
+check_error-2152398890=Proxy server not found (check your internet connection)
+# NS_ERROR_DOCUMENT_NOT_CACHED
+check_error-2152398918=Network is offline (go online)
+check_error-2152398919=Data transfer was interrupted (please try again)
+check_error-2152398920=Proxy server connection refused
+check_error-2153390069=Server certificate has expired (please adjust your system clock to the correct date and time if it is incorrect)
+check_error-verification_failed=The integrity of the update could not be verified
diff --git a/toolkit/locales/en-US/chrome/passwordmgr/passwordManager.dtd b/toolkit/locales/en-US/chrome/passwordmgr/passwordManager.dtd
new file mode 100644
index 000000000..36a61cfd9
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/passwordmgr/passwordManager.dtd
@@ -0,0 +1,46 @@
+<!-- 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/. -->
+
+<!ENTITY savedLogins.title "Saved Logins">
+
+<!ENTITY closebutton.label "Close">
+<!ENTITY closebutton.accesskey "C">
+
+<!ENTITY treehead.site.label "Site">
+<!ENTITY treehead.username.label "Username">
+<!ENTITY treehead.password.label "Password">
+<!ENTITY treehead.timeCreated.label "First Used">
+<!ENTITY treehead.timeLastUsed.label "Last Used">
+<!ENTITY treehead.timePasswordChanged.label "Last Changed">
+<!ENTITY treehead.timesUsed.label "Times Used">
+
+<!ENTITY remove.label "Remove">
+<!ENTITY remove.accesskey "R">
+<!ENTITY removeall.label "Remove All">
+<!ENTITY removeall.accesskey "A">
+
+<!ENTITY addLogin.label "Add Login">
+<!ENTITY addLogin.accesskey "L">
+
+<!ENTITY import.label "Import…">
+<!ENTITY import.accesskey "I">
+
+<!ENTITY filter.label "Search:">
+<!ENTITY filter.accesskey "S">
+
+<!ENTITY windowClose.key "w">
+<!ENTITY focusSearch1.key "f">
+<!ENTITY focusSearch2.key "k">
+
+<!ENTITY copyPasswordCmd.label "Copy Password">
+<!ENTITY copyPasswordCmd.accesskey "C">
+
+<!ENTITY copyUsernameCmd.label "Copy Username">
+<!ENTITY copyUsernameCmd.accesskey "U">
+
+<!ENTITY editPasswordCmd.label "Edit Password">
+<!ENTITY editPasswordCmd.accesskey "E">
+
+<!ENTITY editUsernameCmd.label "Edit Username">
+<!ENTITY editUsernameCmd.accesskey "d">
diff --git a/toolkit/locales/en-US/chrome/passwordmgr/passwordmgr.properties b/toolkit/locales/en-US/chrome/passwordmgr/passwordmgr.properties
new file mode 100644
index 000000000..96190a2d7
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/passwordmgr/passwordmgr.properties
@@ -0,0 +1,70 @@
+# 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/.
+
+rememberValue = Use Password Manager to remember this value.
+rememberPassword = Use Password Manager to remember this password.
+savePasswordTitle = Confirm
+# LOCALIZATION NOTE (rememberLoginMsg, rememberLoginMsgNoUser): %S is brandShortName
+rememberLoginMsg = Would you like %S to remember this login?
+rememberLoginMsgNoUser = Would you like %S to remember this password?
+rememberLoginButtonText = Remember
+rememberLoginButtonAccessKey = R
+updateLoginMsg = Would you like to update this login?
+updateLoginMsgNoUser = Would you like to update this password?
+updateLoginButtonText = Update
+updateLoginButtonAccessKey = U
+# LOCALIZATION NOTE (rememberPasswordMsg):
+# 1st string is the username for the login, 2nd is the login's hostname.
+# Note that long usernames may be truncated.
+rememberPasswordMsg = Would you like to remember the password for “%1$S” on %2$S?
+# LOCALIZATION NOTE (rememberPasswordMsgNoUsername):
+# String is the login's hostname.
+rememberPasswordMsgNoUsername = Would you like to remember the password on %S?
+# LOCALIZATION NOTE (noUsernamePlaceholder):
+# This is displayed in place of the username when it is missing.
+noUsernamePlaceholder=No username
+togglePasswordLabel=Show password
+togglePasswordAccessKey=S
+notNowButtonText = &Not Now
+notifyBarNotNowButtonText = Not Now
+notifyBarNotNowButtonAccessKey = N
+neverForSiteButtonText = Ne&ver for This Site
+notifyBarNeverRememberButtonText = Never Remember Password for This Site
+notifyBarNeverRememberButtonAccessKey = e
+rememberButtonText = &Remember
+notifyBarRememberPasswordButtonText = Remember Password
+notifyBarRememberPasswordButtonAccessKey = R
+passwordChangeTitle = Confirm Password Change
+# LOCALIZATION NOTE (updatePasswordMsg):
+# String is the username for the login.
+updatePasswordMsg = Would you like to update the saved password for “%S”?
+updatePasswordMsgNoUser = Would you like to update the saved password?
+notifyBarUpdateButtonText = Update Password
+notifyBarUpdateButtonAccessKey = U
+notifyBarDontChangeButtonText = Don’t Change
+notifyBarDontChangeButtonAccessKey = D
+userSelectText = Please confirm which user you are changing the password for
+hidePasswords=Hide Passwords
+hidePasswordsAccessKey=P
+showPasswords=Show Passwords
+showPasswordsAccessKey=P
+noMasterPasswordPrompt=Are you sure you wish to show your passwords?
+removeAllPasswordsPrompt=Are you sure you wish to remove all passwords?
+removeAllPasswordsTitle=Remove all passwords
+removeLoginPrompt=Are you sure you wish to remove this login?
+removeLoginTitle=Remove login
+loginsDescriptionAll=Logins for the following sites are stored on your computer:
+loginsDescriptionFiltered=The following logins match your search:
+# LOCALIZATION NOTE (loginHostAge):
+# This is used to show the context menu login items with their age.
+# 1st string is the username for the login, 2nd is the login's age.
+loginHostAge=%1$S (%2$S)
+# LOCALIZATION NOTE (noUsername):
+# String is used on the context menu when a login doesn't have a username.
+noUsername=No username
+duplicateLoginTitle=Login already exists
+duplicateLogin=A duplicate login already exists.
+
+insecureFieldWarningDescription = This connection is not secure. Logins entered here could be compromised.
+insecureFieldWarningLearnMore = Learn More
diff --git a/toolkit/locales/en-US/chrome/places/places.properties b/toolkit/locales/en-US/chrome/places/places.properties
new file mode 100644
index 000000000..f9edeeff0
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/places/places.properties
@@ -0,0 +1,32 @@
+# 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/.
+
+BookmarksMenuFolderTitle=Bookmarks Menu
+BookmarksToolbarFolderTitle=Bookmarks Toolbar
+OtherBookmarksFolderTitle=Other Bookmarks
+TagsFolderTitle=Tags
+MobileBookmarksFolderTitle=Mobile Bookmarks
+
+# LOCALIZATION NOTE (dateName):
+# These are used to generate history containers when history is grouped by date
+finduri-AgeInDays-is-0=Today
+finduri-AgeInDays-is-1=Yesterday
+finduri-AgeInDays-is=%S days ago
+finduri-AgeInDays-last-is=Last %S days
+finduri-AgeInDays-isgreater=Older than %S days
+finduri-AgeInMonths-is-0=This month
+finduri-AgeInMonths-isgreater=Older than %S months
+# LOCALIZATION NOTE (finduri-MonthYear):
+# %1$S is the month name, %2$S is the year (4 digits format).
+finduri-MonthYear=%1$S %2$S
+
+# LOCALIZATION NOTE (localFiles):
+# This is used to generate local files container when history is grouped by site
+localhost=(local files)
+
+# LOCALIZATION NOTE
+# The string is used for showing file size of each backup in the "fileRestorePopup" popup
+# %1$S is the file size
+# %2$S is the file size unit
+backupFileSizeText=%1$S %2$S
diff --git a/toolkit/locales/en-US/chrome/pluginproblem/pluginproblem.dtd b/toolkit/locales/en-US/chrome/pluginproblem/pluginproblem.dtd
new file mode 100644
index 000000000..e8dba6714
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/pluginproblem/pluginproblem.dtd
@@ -0,0 +1,31 @@
+<!-- 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 (tapToPlayPlugin): Mobile (used for touch interfaces) only has one type of plugin possible. -->
+<!ENTITY tapToPlayPlugin "Tap here to activate plugin.">
+<!ENTITY clickToActivatePlugin "Activate plugin.">
+<!ENTITY checkForUpdates "Check for updates…">
+<!ENTITY blockedPlugin.label "This plugin has been blocked for your protection.">
+<!ENTITY hidePluginBtn.label "Hide plugin">
+<!ENTITY managePlugins "Manage plugins…">
+
+<!-- LOCALIZATION NOTE (reloadPlugin.pre): include a trailing space as needed -->
+<!-- LOCALIZATION NOTE (reloadPlugin.middle): avoid leading/trailing spaces, this text is a link -->
+<!-- LOCALIZATION NOTE (reloadPlugin.post): include a starting space as needed -->
+<!ENTITY reloadPlugin.pre "">
+<!ENTITY reloadPlugin.middle "Reload the page">
+<!ENTITY reloadPlugin.post " to try again.">
+<!-- LOCALIZATION NOTE (report.please): This and the other report.* strings should be as short as possible, ideally 2-3 words. -->
+<!ENTITY report.please "Send crash report">
+<!ENTITY report.submitting "Sending report…">
+<!ENTITY report.submitted "Crash report sent.">
+<!ENTITY report.disabled "Crash reporting disabled.">
+<!ENTITY report.failed "Submission failed.">
+<!ENTITY report.unavailable "No report available.">
+<!ENTITY report.comment "Add a comment (comments are publicly visible)">
+<!ENTITY report.pageURL "Include the page’s URL">
+
+<!ENTITY plugin.file "File">
+<!ENTITY plugin.mimeTypes "MIME Types">
+<!ENTITY plugin.flashProtectedMode.label "Enable Adobe Flash protected mode">
diff --git a/toolkit/locales/en-US/chrome/search/search.properties b/toolkit/locales/en-US/chrome/search/search.properties
new file mode 100644
index 000000000..8aeed6a6c
--- /dev/null
+++ b/toolkit/locales/en-US/chrome/search/search.properties
@@ -0,0 +1,20 @@
+# 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/.
+
+addEngineConfirmTitle=Add Search Engine
+addEngineConfirmation=Add “%S” to the list of engines available in the search bar?\n\nFrom: %S
+addEngineAsCurrentText=Make this the c&urrent search engine
+addEngineAddButtonLabel=Add
+
+error_loading_engine_title=Download Error
+# LOCALIZATION NOTE (error_loading_engine_msg2): %1$S = brandShortName, %2$S = location
+error_loading_engine_msg2=%S could not download the search plugin from:\n%S
+error_duplicate_engine_msg=%S could not install the search plugin from “%S” because an engine with the same name already exists.
+
+error_invalid_engine_title=Install Error
+# LOCALIZATION NOTE (error_invalid_engine_msg): %S = brandShortName
+error_invalid_engine_msg=This search engine isn’t supported by %S and can’t be installed.
+
+suggestion_label=Suggestions
+
diff --git a/toolkit/locales/en-US/crashreporter/crashes.dtd b/toolkit/locales/en-US/crashreporter/crashes.dtd
new file mode 100644
index 000000000..091467dcd
--- /dev/null
+++ b/toolkit/locales/en-US/crashreporter/crashes.dtd
@@ -0,0 +1,13 @@
+<!-- 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/. -->
+
+<!ENTITY crashReports.title "Crash Reports">
+<!ENTITY crashesUnsubmitted.label "Unsubmitted Crash Reports">
+<!ENTITY crashesSubmitted.label "Submitted Crash Reports">
+<!ENTITY id.heading "Report ID">
+<!ENTITY dateCrashed.heading "Date Crashed">
+<!ENTITY dateSubmitted.heading "Date Submitted">
+<!ENTITY noReports.label "No crash reports have been submitted.">
+<!ENTITY noConfig.label "This application has not been configured to display crash reports. The preference <code>breakpad.reportURL</code> must be set.">
+<!ENTITY clearAllReports.label "Remove All Reports">
diff --git a/toolkit/locales/en-US/crashreporter/crashes.properties b/toolkit/locales/en-US/crashreporter/crashes.properties
new file mode 100644
index 000000000..e57c3d3de
--- /dev/null
+++ b/toolkit/locales/en-US/crashreporter/crashes.properties
@@ -0,0 +1,7 @@
+# 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/.
+
+deleteconfirm.title=Are you sure?
+deleteconfirm.description=This will delete all reports and cannot be undone.
+
diff --git a/toolkit/locales/en-US/crashreporter/crashreporter.ini b/toolkit/locales/en-US/crashreporter/crashreporter.ini
new file mode 100644
index 000000000..1247d5033
--- /dev/null
+++ b/toolkit/locales/en-US/crashreporter/crashreporter.ini
@@ -0,0 +1,60 @@
+; 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/.
+
+# This file is in the UTF-8 encoding
+[Strings]
+# LOCALIZATION NOTE (isRTL):
+# Leave this entry empty unless your language requires right-to-left layout,
+# for example like Arabic, Hebrew, Persian. If your language needs RTL, please
+# use the untranslated English word "yes" as value
+isRTL=
+CrashReporterTitle=Crash Reporter
+# LOCALIZATION NOTE (CrashReporterVendorTitle): %s is replaced with the vendor name. (i.e. "Mozilla")
+CrashReporterVendorTitle=%s Crash Reporter
+# LOCALIZATION NOTE (CrashReporterErrorText): %s is replaced with another string containing detailed information.
+CrashReporterErrorText=The application had a problem and crashed.\n\nUnfortunately, the crash reporter is unable to submit a report for this crash.\n\nDetails: %s
+# LOCALIZATION NOTE (CrashReporterProductErrorText2): The first %s is replaced with the product name (i.e. "Firefox"), the second is replaced with another string containing detailed information. These two substitutions can not be reordered!
+CrashReporterProductErrorText2=%s had a problem and crashed.\n\nUnfortunately, the crash reporter is unable to submit a crash report.\n\nDetails: %s
+CrashReporterSorry=We're Sorry
+# LOCALIZATION NOTE (CrashReporterDescriptionText2): The %s is replaced with the product name.
+CrashReporterDescriptionText2=%s had a problem and crashed.\n\nTo help us diagnose and fix the problem, you can send us a crash report.
+CrashReporterDefault=This application is run after a crash to report the problem to the application vendor. It should not be run directly.
+Details=Details…
+ViewReportTitle=Report Contents
+CommentGrayText=Add a comment (comments are publicly visible)
+ExtraReportInfo=This report also contains technical information about the state of the application when it crashed.
+# LOCALIZATION NOTE (CheckSendReport): The %s is replaced with the vendor name.
+CheckSendReport=Tell %s about this crash so they can fix it
+CheckIncludeURL=Include the address of the page I was on
+CheckAllowEmail=Allow %s to contact me about this report
+EmailGrayText=Enter your email address here
+ReportPreSubmit2=Your crash report will be submitted before you quit or restart.
+ReportDuringSubmit2=Submitting your report…
+ReportSubmitSuccess=Report submitted successfully!
+ReportSubmitFailed=There was a problem submitting your report.
+ReportResubmit=Resending reports that previously failed to send…
+# LOCALIZATION NOTE (Quit2): The %s is replaced with the product name.
+Quit2=Quit %s
+# LOCALIZATION NOTE (Restart): The %s is replaced with the product name.
+Restart=Restart %s
+Ok=OK
+Close=Close
+
+# LOCALIZATION NOTE (CrashID): The %s is replaced with the Crash ID from the server, which is a string like abc12345-6789-0abc-def1-23456abcdef1
+CrashID=Crash ID: %s
+# LOCALIZATION NOTE (CrashDetailsURL): The %s is replaced with a URL that the user can visit to view the crash details.
+CrashDetailsURL=You can view details of this crash at %s
+ErrorBadArguments=The application passed an invalid argument.
+ErrorExtraFileExists=The application didn't leave an application data file.
+ErrorExtraFileRead=Couldn't read the application data file.
+ErrorExtraFileMove=Couldn't move application data file.
+ErrorDumpFileExists=The application did not leave a crash dump file.
+ErrorDumpFileMove=Couldn't move crash dump.
+ErrorNoProductName=The application did not identify itself.
+ErrorNoServerURL=The application did not specify a crash reporting server.
+ErrorNoSettingsPath=Couldn't find the crash reporter's settings.
+ErrorCreateDumpDir=Couldn't create pending dump directory.
+# LOCALIZATION NOTE (ErrorEndOfLife): The %s is replaced with the product name.
+ErrorEndOfLife=The version of %s you are using is no longer supported. Crash reports are no longer being accepted for this version. Please consider upgrading to a supported version.
+
diff --git a/toolkit/locales/en-US/defines.inc b/toolkit/locales/en-US/defines.inc
new file mode 100644
index 000000000..f20fed768
--- /dev/null
+++ b/toolkit/locales/en-US/defines.inc
@@ -0,0 +1 @@
+#define MOZ_LANG_TITLE English (US)
diff --git a/toolkit/locales/generic/chrome/global/brand.dtd b/toolkit/locales/generic/chrome/global/brand.dtd
new file mode 100644
index 000000000..5a77944bb
--- /dev/null
+++ b/toolkit/locales/generic/chrome/global/brand.dtd
@@ -0,0 +1,6 @@
+<!-- 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/. -->
+
+<!ENTITY % realBrandDTD SYSTEM "chrome://branding/locale/brand.dtd">
+%realBrandDTD;
diff --git a/toolkit/locales/generic/install.rdf b/toolkit/locales/generic/install.rdf
new file mode 100644
index 000000000..e6b82ac51
--- /dev/null
+++ b/toolkit/locales/generic/install.rdf
@@ -0,0 +1,32 @@
+<?xml version="1.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/.
+
+#filter substitution
+#include @TK_DEFINES@
+#include @APP_DEFINES@
+-->
+
+<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:em="http://www.mozilla.org/2004/em-rdf#">
+ <Description about="urn:mozilla:install-manifest"
+ em:id="@MOZ_LANGPACK_EID@"
+ em:name="@MOZ_LANG_TITLE@ Language Pack"
+ em:version="@MOZ_APP_VERSION@"
+ em:type="8"
+ em:creator="@MOZ_LANGPACK_CREATOR@">
+#ifdef MOZ_LANGPACK_CONTRIBUTORS
+ @MOZ_LANGPACK_CONTRIBUTORS@
+#endif
+
+ <em:targetApplication>
+ <Description>
+ <em:id>@MOZ_APP_ID@</em:id>
+ <em:minVersion>@MOZ_APP_VERSION@</em:minVersion>
+ <em:maxVersion>@MOZ_APP_MAXVERSION@</em:maxVersion>
+ </Description>
+ </em:targetApplication>
+ </Description>
+</RDF>
diff --git a/toolkit/locales/jar.mn b/toolkit/locales/jar.mn
new file mode 100644
index 000000000..32add622b
--- /dev/null
+++ b/toolkit/locales/jar.mn
@@ -0,0 +1,150 @@
+#filter substitution
+# 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/.
+
+
+@AB_CD@.jar:
+% locale global @AB_CD@ %locale/@AB_CD@/global/
+ locale/@AB_CD@/global/about.dtd (%chrome/global/about.dtd)
+ locale/@AB_CD@/global/aboutAbout.dtd (%chrome/global/aboutAbout.dtd)
+ locale/@AB_CD@/global/aboutReader.properties (%chrome/global/aboutReader.properties)
+ locale/@AB_CD@/global/aboutRights.dtd (%chrome/global/aboutRights.dtd)
+ locale/@AB_CD@/global/aboutNetworking.dtd (%chrome/global/aboutNetworking.dtd)
+#ifndef ANDROID
+ locale/@AB_CD@/global/aboutProfiles.dtd (%chrome/global/aboutProfiles.dtd)
+ locale/@AB_CD@/global/aboutProfiles.properties (%chrome/global/aboutProfiles.properties)
+#endif
+ locale/@AB_CD@/global/aboutServiceWorkers.dtd (%chrome/global/aboutServiceWorkers.dtd)
+ locale/@AB_CD@/global/aboutServiceWorkers.properties (%chrome/global/aboutServiceWorkers.properties)
+ locale/@AB_CD@/global/aboutSupport.dtd (%chrome/global/aboutSupport.dtd)
+ locale/@AB_CD@/global/aboutSupport.properties (%chrome/global/aboutSupport.properties)
+ locale/@AB_CD@/global/aboutTelemetry.dtd (%chrome/global/aboutTelemetry.dtd)
+ locale/@AB_CD@/global/aboutTelemetry.properties (%chrome/global/aboutTelemetry.properties)
+ locale/@AB_CD@/global/aboutWebrtc.properties (%chrome/global/aboutWebrtc.properties)
+ locale/@AB_CD@/global/autocomplete.properties (%chrome/global/autocomplete.properties)
+ locale/@AB_CD@/global/appPicker.dtd (%chrome/global/appPicker.dtd)
+ locale/@AB_CD@/global/brand.dtd (generic/chrome/global/brand.dtd)
+ locale/@AB_CD@/global/browser.properties (%chrome/global/browser.properties)
+ locale/@AB_CD@/global/charsetMenu.dtd (%chrome/global/charsetMenu.dtd)
+ locale/@AB_CD@/global/charsetMenu.properties (%chrome/global/charsetMenu.properties)
+ locale/@AB_CD@/global/commonDialog.dtd (%chrome/global/commonDialog.dtd)
+ locale/@AB_CD@/global/commonDialogs.properties (%chrome/global/commonDialogs.properties)
+ locale/@AB_CD@/global/config.dtd (%chrome/global/config.dtd)
+ locale/@AB_CD@/global/config.properties (%chrome/global/config.properties)
+ locale/@AB_CD@/global/contentAreaCommands.properties (%chrome/global/contentAreaCommands.properties)
+#ifndef MOZ_FENNEC
+ locale/@AB_CD@/global/customizeToolbar.dtd (%chrome/global/customizeToolbar.dtd)
+ locale/@AB_CD@/global/customizeToolbar.properties (%chrome/global/customizeToolbar.properties)
+#endif
+ locale/@AB_CD@/global/datetimepicker.dtd (%chrome/global/datetimepicker.dtd)
+ locale/@AB_CD@/global/dateFormat.properties (%chrome/global/dateFormat.properties)
+ locale/@AB_CD@/global/dialogOverlay.dtd (%chrome/global/dialogOverlay.dtd)
+#ifndef MOZ_FENNEC
+ locale/@AB_CD@/global/editMenuOverlay.dtd (%chrome/global/editMenuOverlay.dtd)
+#endif
+ locale/@AB_CD@/global/extensions.properties (%chrome/global/extensions.properties)
+ locale/@AB_CD@/global/fallbackMenubar.properties (%chrome/global/fallbackMenubar.properties)
+ locale/@AB_CD@/global/filefield.properties (%chrome/global/filefield.properties)
+#ifdef MOZ_GTK
+ locale/@AB_CD@/global/filepicker.dtd (%chrome/global/filepicker.dtd)
+#endif
+ locale/@AB_CD@/global/filepicker.properties (%chrome/global/filepicker.properties)
+#ifndef MOZ_FENNEC
+ locale/@AB_CD@/global/findbar.dtd (%chrome/global/findbar.dtd)
+ locale/@AB_CD@/global/findbar.properties (%chrome/global/findbar.properties)
+ locale/@AB_CD@/global/finddialog.dtd (%chrome/global/finddialog.dtd)
+ locale/@AB_CD@/global/finddialog.properties (%chrome/global/finddialog.properties)
+#endif
+ locale/@AB_CD@/global/globalKeys.dtd (%chrome/global/globalKeys.dtd)
+ locale/@AB_CD@/global/headsUpDisplay.properties (%chrome/global/headsUpDisplay.properties)
+ 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)
+ locale/@AB_CD@/global/preferences.dtd (%chrome/global/preferences.dtd)
+#ifndef MOZ_FENNEC
+ locale/@AB_CD@/global/printdialog.dtd (%chrome/global/printdialog.dtd)
+ locale/@AB_CD@/global/printjoboptions.dtd (%chrome/global/printjoboptions.dtd)
+ 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.dtd (%chrome/global/viewSource.dtd)
+ locale/@AB_CD@/global/viewSource.properties (%chrome/global/viewSource.properties)
+ locale/@AB_CD@/global/wizard.dtd (%chrome/global/wizard.dtd)
+ locale/@AB_CD@/global/wizard.properties (%chrome/global/wizard.properties)
+ locale/@AB_CD@/global/crashes.dtd (%crashreporter/crashes.dtd)
+ locale/@AB_CD@/global/crashes.properties (%crashreporter/crashes.properties)
+% locale global-platform @AB_CD@ %locale/@AB_CD@/global-platform/
+ locale/@AB_CD@/global-platform/mac/platformKeys.properties (%chrome/global-platform/mac/platformKeys.properties)
+ locale/@AB_CD@/global-platform/unix/platformKeys.properties (%chrome/global-platform/unix/platformKeys.properties)
+ locale/@AB_CD@/global-platform/win/platformKeys.properties (%chrome/global-platform/win/platformKeys.properties)
+ locale/@AB_CD@/global-platform/mac/intl.properties (%chrome/global-platform/mac/intl.properties)
+ locale/@AB_CD@/global-platform/unix/intl.properties (%chrome/global-platform/unix/intl.properties)
+ locale/@AB_CD@/global-platform/win/intl.properties (%chrome/global-platform/win/intl.properties)
+% locale mozapps @AB_CD@ %locale/@AB_CD@/mozapps/
+ locale/@AB_CD@/mozapps/downloads/unknownContentType.properties (%chrome/mozapps/downloads/unknownContentType.properties)
+ locale/@AB_CD@/mozapps/downloads/unknownContentType.dtd (%chrome/mozapps/downloads/unknownContentType.dtd)
+ locale/@AB_CD@/mozapps/downloads/settingsChange.dtd (%chrome/mozapps/downloads/settingsChange.dtd)
+ locale/@AB_CD@/mozapps/downloads/downloads.dtd (%chrome/mozapps/downloads/downloads.dtd)
+ locale/@AB_CD@/mozapps/downloads/downloads.properties (%chrome/mozapps/downloads/downloads.properties)
+ locale/@AB_CD@/mozapps/extensions/extensions.dtd (%chrome/mozapps/extensions/extensions.dtd)
+#ifndef MOZ_FENNEC
+ locale/@AB_CD@/mozapps/extensions/extensions.properties (%chrome/mozapps/extensions/extensions.properties)
+ locale/@AB_CD@/mozapps/extensions/blocklist.dtd (%chrome/mozapps/extensions/blocklist.dtd)
+ locale/@AB_CD@/mozapps/extensions/about.dtd (%chrome/mozapps/extensions/about.dtd)
+ locale/@AB_CD@/mozapps/extensions/update.dtd (%chrome/mozapps/extensions/update.dtd)
+ locale/@AB_CD@/mozapps/extensions/update.properties (%chrome/mozapps/extensions/update.properties)
+ locale/@AB_CD@/mozapps/extensions/newaddon.dtd (%chrome/mozapps/extensions/newaddon.dtd)
+ locale/@AB_CD@/mozapps/extensions/newaddon.properties (%chrome/mozapps/extensions/newaddon.properties)
+#endif
+ locale/@AB_CD@/mozapps/handling/handling.dtd (%chrome/mozapps/handling/handling.dtd)
+ locale/@AB_CD@/mozapps/handling/handling.properties (%chrome/mozapps/handling/handling.properties)
+ locale/@AB_CD@/mozapps/preferences/changemp.dtd (%chrome/mozapps/preferences/changemp.dtd)
+ locale/@AB_CD@/mozapps/preferences/removemp.dtd (%chrome/mozapps/preferences/removemp.dtd)
+ locale/@AB_CD@/mozapps/preferences/preferences.properties (%chrome/mozapps/preferences/preferences.properties)
+ locale/@AB_CD@/mozapps/profile/createProfileWizard.dtd (%chrome/mozapps/profile/createProfileWizard.dtd)
+ locale/@AB_CD@/mozapps/profile/profileSelection.properties (%chrome/mozapps/profile/profileSelection.properties)
+ locale/@AB_CD@/mozapps/profile/profileSelection.dtd (%chrome/mozapps/profile/profileSelection.dtd)
+#ifndef MOZ_FENNEC
+ locale/@AB_CD@/mozapps/update/updates.dtd (%chrome/mozapps/update/updates.dtd)
+ locale/@AB_CD@/mozapps/update/updates.properties (%chrome/mozapps/update/updates.properties)
+#endif
+ locale/@AB_CD@/mozapps/update/history.dtd (%chrome/mozapps/update/history.dtd)
+ locale/@AB_CD@/mozapps/xpinstall/xpinstallConfirm.dtd (%chrome/mozapps/extensions/xpinstallConfirm.dtd)
+ locale/@AB_CD@/mozapps/xpinstall/xpinstallConfirm.properties (%chrome/mozapps/extensions/xpinstallConfirm.properties)
+% locale pluginproblem @AB_CD@ %locale/@AB_CD@/pluginproblem/
+ locale/@AB_CD@/pluginproblem/pluginproblem.dtd (%chrome/pluginproblem/pluginproblem.dtd)
+% locale alerts @AB_CD@ %locale/@AB_CD@/alerts/
+ locale/@AB_CD@/alerts/alert.dtd (%chrome/alerts/alert.dtd)
+ locale/@AB_CD@/alerts/alert.properties (%chrome/alerts/alert.properties)
+#ifndef MOZ_FENNEC
+% locale cookie @AB_CD@ %locale/@AB_CD@/cookie/
+ locale/@AB_CD@/cookie/cookieAcceptDialog.dtd (%chrome/cookie/cookieAcceptDialog.dtd)
+ locale/@AB_CD@/cookie/cookieAcceptDialog.properties (%chrome/cookie/cookieAcceptDialog.properties)
+#endif
+% locale formautofill @AB_CD@ %locale/@AB_CD@/formautofill/
+ locale/@AB_CD@/formautofill/requestAutocomplete.dtd (%chrome/formautofill/requestAutocomplete.dtd)
+% locale passwordmgr @AB_CD@ %locale/@AB_CD@/passwordmgr/
+ locale/@AB_CD@/passwordmgr/passwordmgr.properties (%chrome/passwordmgr/passwordmgr.properties)
+ locale/@AB_CD@/passwordmgr/passwordManager.dtd (%chrome/passwordmgr/passwordManager.dtd)
+% locale autoconfig @AB_CD@ %locale/@AB_CD@/autoconfig/
+ locale/@AB_CD@/autoconfig/autoconfig.properties (%chrome/autoconfig/autoconfig.properties)
+% locale places @AB_CD@ %locale/@AB_CD@/places/
+ locale/@AB_CD@/places/places.properties (%chrome/places/places.properties)
+ locale/@AB_CD@/global/search/search.properties (%chrome/search/search.properties)
diff --git a/toolkit/locales/l10n.ini b/toolkit/locales/l10n.ini
new file mode 100644
index 000000000..076ed499e
--- /dev/null
+++ b/toolkit/locales/l10n.ini
@@ -0,0 +1,13 @@
+; 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/.
+
+[general]
+depth = ../..
+
+[compare]
+dirs = netwerk
+ dom
+ toolkit
+ security/manager
+ devtools/shared
diff --git a/toolkit/locales/l10n.mk b/toolkit/locales/l10n.mk
new file mode 100644
index 000000000..c3d47d163
--- /dev/null
+++ b/toolkit/locales/l10n.mk
@@ -0,0 +1,217 @@
+# vim:set ts=8 sw=8 sts=8 noet:
+# 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/.
+
+
+# Shared makefile that can be used to easily kick off l10n builds
+# of Mozilla applications.
+# This makefile should be included, and then assumes that the including
+# makefile defines the following targets:
+# clobber-zip
+# This target should remove all language dependent-files from $(STAGEDIST),
+# depending on $(AB_CD) set to the locale code.
+# $(AB_CD) will be en-US on the initial unpacking of the package
+# libs-%
+# This target should call into the various libs targets that this
+# application depends on.
+# installer-%
+# This target should list all required targets, a typical rule would be
+# installers-%: clobber-% langpack-% repackage-zip-%
+# @echo "repackaging done"
+# to initially clobber the locale staging area, and then to build the
+# language pack and zip package.
+# Other targets like windows installers might be listed, too, and should
+# be defined in the including makefile.
+# The including makefile should provide values for the variables
+# MOZ_APP_VERSION and MOZ_LANGPACK_EID.
+
+
+run_for_effects := $(shell if test ! -d $(DIST); then $(NSINSTALL) -D $(DIST); fi)
+
+# This makefile uses variable overrides from the libs-% target to
+# build non-default locales to non-default dist/ locations. Be aware!
+
+LPROJ_ROOT = $(firstword $(subst -, ,$(AB_CD)))
+ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
+ifeq (zh-TW,$(AB_CD))
+LPROJ_ROOT := $(subst -,_,$(AB_CD))
+endif
+endif
+
+# These are defaulted to be compatible with the files the wget-en-US target
+# pulls. You may override them if you provide your own files. You _must_
+# override them when MOZ_PKG_PRETTYNAMES is defined - the defaults will not
+# work in that case.
+ZIP_IN ?= $(ABS_DIST)/$(PACKAGE)
+WIN32_INSTALLER_IN ?= $(ABS_DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe
+
+# Allows overriding the final destination of the repackaged file
+ZIP_OUT ?= $(ABS_DIST)/$(PACKAGE)
+
+ACDEFINES += \
+ -DAB_CD=$(AB_CD) \
+ -DMOZ_LANGPACK_EID=$(MOZ_LANGPACK_EID) \
+ -DMOZ_APP_ID='$(MOZ_APP_ID)' \
+ -DMOZ_APP_VERSION=$(MOZ_APP_VERSION) \
+ -DMOZ_APP_MAXVERSION=$(MOZ_APP_MAXVERSION) \
+ -DLOCALE_SRCDIR=$(abspath $(LOCALE_SRCDIR)) \
+ -DPKG_BASENAME='$(PKG_BASENAME)' \
+ -DPKG_INST_BASENAME='$(PKG_INST_BASENAME)' \
+ $(NULL)
+
+
+clobber-%:
+ $(RM) -rf $(DIST)/xpi-stage/locale-$*
+
+
+PACKAGER_NO_LIBS = 1
+
+ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
+STAGEDIST = $(ABS_DIST)/l10n-stage/$(MOZ_PKG_DIR)/$(_APPNAME)/Contents/Resources
+else
+STAGEDIST = $(ABS_DIST)/l10n-stage/$(MOZ_PKG_DIR)
+endif
+
+include $(MOZILLA_DIR)/toolkit/mozapps/installer/signing.mk
+include $(MOZILLA_DIR)/toolkit/mozapps/installer/packager.mk
+
+PACKAGE_BASE_DIR = $(ABS_DIST)/l10n-stage
+
+$(STAGEDIST): AB_CD:=en-US
+$(STAGEDIST): UNPACKAGE=$(call ESCAPE_WILDCARD,$(ZIP_IN))
+$(STAGEDIST): $(call ESCAPE_WILDCARD,$(ZIP_IN))
+# only mac needs to remove the parent of STAGEDIST...
+ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
+ $(RM) -r -v $(DIST)/l10n-stage
+else
+# ... and windows doesn't like removing STAGEDIST itself, remove all children
+ find $(STAGEDIST) -maxdepth 1 -print0 | xargs -0 $(RM) -r
+endif
+ $(NSINSTALL) -D $(DIST)/l10n-stage
+ cd $(DIST)/l10n-stage && \
+ $(INNER_UNMAKE_PACKAGE)
+
+
+unpack: $(STAGEDIST)
+ @echo done unpacking
+
+# The path to the object dir for the mozilla-central build system,
+# may be overridden if necessary.
+MOZDEPTH ?= $(DEPTH)
+
+ifdef MOZ_MAKE_COMPLETE_MAR
+MAKE_COMPLETE_MAR = 1
+ifeq ($(OS_ARCH), WINNT)
+ifneq ($(MOZ_PKG_FORMAT), SFX7Z)
+MAKE_COMPLETE_MAR =
+endif
+endif
+endif
+repackage-zip: UNPACKAGE='$(ZIP_IN)'
+repackage-zip: libs-$(AB_CD)
+# call a hook for apps to put their uninstall helper.exe into the package
+ $(UNINSTALLER_PACKAGE_HOOK)
+# call a hook for apps to build the stub installer
+ifdef MOZ_STUB_INSTALLER
+ $(STUB_HOOK)
+endif
+ $(PYTHON) $(MOZILLA_DIR)/toolkit/mozapps/installer/l10n-repack.py $(STAGEDIST) $(DIST)/xpi-stage/locale-$(AB_CD) \
+ $(MOZ_PKG_EXTRAL10N) \
+ $(if $(filter omni,$(MOZ_PACKAGER_FORMAT)),$(if $(NON_OMNIJAR_FILES),--non-resource $(NON_OMNIJAR_FILES)))
+
+ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
+ifneq (en,$(LPROJ_ROOT))
+ mv $(STAGEDIST)/en.lproj $(STAGEDIST)/$(LPROJ_ROOT).lproj
+endif
+ifdef MOZ_CRASHREPORTER
+# On Mac OS X, the crashreporter.ini file needs to be moved from under the
+# application bundle's Resources directory where all other l10n files are
+# located to the crash reporter bundle's Resources directory.
+ mv $(STAGEDIST)/crashreporter.app/Contents/Resources/crashreporter.ini \
+ $(STAGEDIST)/../MacOS/crashreporter.app/Contents/Resources/crashreporter.ini
+ $(RM) -rf $(STAGEDIST)/crashreporter.app
+endif
+endif
+
+ $(NSINSTALL) -D $(DIST)/l10n-stage/$(PKG_PATH)
+ cd $(DIST)/l10n-stage; \
+ $(MAKE_PACKAGE)
+ifdef MAKE_COMPLETE_MAR
+ $(MAKE) -C $(MOZDEPTH)/tools/update-packaging full-update AB_CD=$(AB_CD) \
+ MOZ_PKG_PRETTYNAMES=$(MOZ_PKG_PRETTYNAMES) \
+ PACKAGE_BASE_DIR='$(ABS_DIST)/l10n-stage'
+endif
+# packaging done, undo l10n stuff
+ifneq (en,$(LPROJ_ROOT))
+ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
+ mv $(STAGEDIST)/$(LPROJ_ROOT).lproj $(STAGEDIST)/en.lproj
+endif
+endif
+ $(NSINSTALL) -D $(DIST)/$(PKG_PATH)
+ mv -f '$(DIST)/l10n-stage/$(PACKAGE)' '$(ZIP_OUT)'
+ if test -f '$(DIST)/l10n-stage/$(PACKAGE).asc'; then mv -f '$(DIST)/l10n-stage/$(PACKAGE).asc' '$(ZIP_OUT).asc'; fi
+
+repackage-zip-%: $(STAGEDIST)
+ @$(MAKE) repackage-zip AB_CD=$* ZIP_IN='$(ZIP_IN)'
+
+APP_DEFINES = $(firstword $(wildcard $(LOCALE_SRCDIR)/defines.inc) \
+ $(srcdir)/en-US/defines.inc)
+TK_DEFINES = $(firstword \
+ $(wildcard $(call EXPAND_LOCALE_SRCDIR,toolkit/locales)/defines.inc) \
+ $(MOZILLA_DIR)/toolkit/locales/en-US/defines.inc)
+
+# Dealing with app sub dirs: If DIST_SUBDIRS is defined it contains a
+# listing of app sub-dirs we should include in langpack xpis. If not,
+# check DIST_SUBDIR, and if that isn't present, just package the default
+# chrome directory.
+PKG_ZIP_DIRS = chrome $(or $(DIST_SUBDIRS),$(DIST_SUBDIR))
+
+langpack-%: LANGPACK_FILE=$(ABS_DIST)/$(PKG_LANGPACK_PATH)$(PKG_LANGPACK_BASENAME).xpi
+langpack-%: AB_CD=$*
+langpack-%: XPI_NAME=locale-$*
+langpack-%: libs-%
+ @echo 'Making langpack $(LANGPACK_FILE)'
+ $(NSINSTALL) -D $(DIST)/$(PKG_LANGPACK_PATH)
+ $(call py_action,preprocessor,$(DEFINES) $(ACDEFINES) \
+ -DTK_DEFINES=$(TK_DEFINES) -DAPP_DEFINES=$(APP_DEFINES) $(MOZILLA_DIR)/toolkit/locales/generic/install.rdf -o $(DIST)/xpi-stage/$(XPI_NAME)/install.rdf)
+ $(call py_action,zip,-C $(DIST)/xpi-stage/locale-$(AB_CD) $(LANGPACK_FILE) install.rdf $(PKG_ZIP_DIRS) chrome.manifest)
+
+# This variable is to allow the wget-en-US target to know which ftp server to download from
+ifndef EN_US_BINARY_URL
+EN_US_BINARY_URL = $(error You must set EN_US_BINARY_URL)
+endif
+
+# Allow the overriding of PACKAGE format so we can get an EN_US build with a different
+# PACKAGE format than we are creating l10n packages with.
+EN_US_PACKAGE_NAME ?= $(PACKAGE)
+
+# This make target allows us to wget the latest en-US binary from a specified website
+# The make installers-% target needs the en-US binary in dist/
+# and for the windows repackages we need the .installer.exe in dist/sea
+wget-en-US:
+ifndef WGET
+ $(error Wget not installed)
+endif
+ $(NSINSTALL) -D $(ABS_DIST)/$(PKG_PATH)
+ (cd $(ABS_DIST)/$(PKG_PATH) && \
+ $(WGET) --no-cache -nv --no-iri -N -O $(PACKAGE) '$(EN_US_BINARY_URL)/$(EN_US_PACKAGE_NAME)')
+ @echo 'Downloaded $(EN_US_BINARY_URL)/$(EN_US_PACKAGE_NAME) to $(ABS_DIST)/$(PKG_PATH)/$(PACKAGE)'
+ifdef RETRIEVE_WINDOWS_INSTALLER
+ifeq ($(OS_ARCH), WINNT)
+ $(NSINSTALL) -D $(ABS_DIST)/$(PKG_INST_PATH)
+ (cd $(ABS_DIST)/$(PKG_INST_PATH) && \
+ $(WGET) --no-cache -nv --no-iri -N '$(EN_US_BINARY_URL)/$(PKG_PATH)$(PKG_INST_BASENAME).exe')
+ @echo 'Downloaded $(EN_US_BINARY_URL)/$(PKG_PATH)$(PKG_INST_BASENAME).exe to $(ABS_DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe'
+endif
+endif
+
+generate-snippet-%:
+ $(PYTHON) $(MOZILLA_DIR)/tools/update-packaging/generatesnippet.py \
+ --mar-path=$(ABS_DIST)/update \
+ --application-ini-file=$(STAGEDIST)/application.ini \
+ --locale=$* \
+ --product=$(MOZ_PKG_APPNAME) \
+ --platform=$(MOZ_PKG_PLATFORM) \
+ --download-base-URL=$(DOWNLOAD_BASE_URL) \
+ --verbose
diff --git a/toolkit/locales/moz.build b/toolkit/locales/moz.build
new file mode 100644
index 000000000..91719f14b
--- /dev/null
+++ b/toolkit/locales/moz.build
@@ -0,0 +1,13 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+if CONFIG['MOZ_BUILD_APP'] == 'mobile/android':
+ DEFINES['MOZ_FENNEC'] = True
+
+if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
+ DEFINES['MOZ_GTK'] = True
+
+JAR_MANIFESTS += ['jar.mn']
diff --git a/toolkit/locales/update.locale b/toolkit/locales/update.locale
new file mode 100644
index 000000000..7c1f386ee
--- /dev/null
+++ b/toolkit/locales/update.locale
@@ -0,0 +1 @@
+%AB_CD%