summaryrefslogtreecommitdiffstats
path: root/mobile/android/locales
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/locales')
-rw-r--r--mobile/android/locales/Makefile.in69
-rw-r--r--mobile/android/locales/all-locales98
-rw-r--r--mobile/android/locales/en-US/chrome/browser.properties127
-rw-r--r--mobile/android/locales/en-US/chrome/passwordmgr.properties22
-rw-r--r--mobile/android/locales/en-US/mobile-l10n.js9
-rw-r--r--mobile/android/locales/en-US/mobile/android/aboutConfig.ftl28
-rw-r--r--mobile/android/locales/filter.py70
-rw-r--r--mobile/android/locales/jar.mn59
-rw-r--r--mobile/android/locales/l10n.ini18
-rw-r--r--mobile/android/locales/l10n.toml184
-rw-r--r--mobile/android/locales/maemo-locales91
-rw-r--r--mobile/android/locales/moz.build10
12 files changed, 785 insertions, 0 deletions
diff --git a/mobile/android/locales/Makefile.in b/mobile/android/locales/Makefile.in
new file mode 100644
index 0000000000..a703481bac
--- /dev/null
+++ b/mobile/android/locales/Makefile.in
@@ -0,0 +1,69 @@
+# 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/config.mk
+
+SUBMAKEFILES += \
+ $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/Makefile \
+ $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales/Makefile \
+ $(DEPTH)/mobile/locales/Makefile \
+ $(NULL)
+
+L10N_PREF_JS_EXPORTS = $(firstword $(wildcard $(LOCALE_SRCDIR)/mobile-l10n.js) \
+ $(srcdir)/en-US/mobile-l10n.js )
+L10N_PREF_JS_EXPORTS_PATH = $(FINAL_TARGET)/$(PREF_DIR)
+L10N_PREF_JS_EXPORTS_FLAGS = $(PREF_PPFLAGS) --silence-missing-directive-warnings
+PP_TARGETS += L10N_PREF_JS_EXPORTS
+
+include $(topsrcdir)/config/rules.mk
+
+# Required for l10n.mk - defines a list of app sub dirs that should
+# be included in langpack xpis.
+DIST_SUBDIRS = $(DIST_SUBDIR)
+
+MOZ_LANGPACK_EID=langpack-$(AB_CD)@firefox.mozilla.org
+
+include $(topsrcdir)/toolkit/locales/l10n.mk
+
+# For historical reasons, kill stage for repacks due to library moves
+# in PACKAGE and UNPACKAGE.
+clobber-stage:
+ $(RM) -rf $(STAGEDIST)
+
+# merge if we're not en-US, using conditional function as we need
+# the current value of AB_CD
+l10n-%: AB_CD=$*
+l10n-%:
+ $(if $(filter en-US,$(AB_CD)),, $(MAKE) merge-$*)
+ $(MAKE) -C $(DEPTH)/mobile/locales l10n-$*
+ $(MAKE) l10n AB_CD=$* XPI_NAME=locale-$* PREF_DIR=defaults/pref
+ $(MAKE) multilocale.txt-$* AB_CD=$* XPI_NAME=locale-$*
+
+# Tailored target to just add the chrome processing for multi-locale builds
+# merge if we're not en-US, using conditional function as we need
+# the current value of AB_CD
+chrome-%: AB_CD=$*
+chrome-%: IS_LANGUAGE_REPACK=1
+chrome-%:
+ $(if $(filter en-US,$(AB_CD)),, $(MAKE) merge-$*)
+ $(MAKE) -C $(DEPTH)/mobile/locales chrome-$*
+ $(MAKE) chrome AB_CD=$*
+
+# When we unpack fennec on MacOS X the platform.ini and application.ini are in slightly
+# different locations that on all other platforms
+ifeq (Darwin, $(OS_ARCH))
+GECKO_PLATFORM_INI_PATH='$(STAGEDIST)/platform.ini'
+FENNEC_APPLICATION_INI_PATH='$(STAGEDIST)/application.ini'
+else
+GECKO_PLATFORM_INI_PATH='$(STAGEDIST)/platform.ini'
+FENNEC_APPLICATION_INI_PATH='$(STAGEDIST)/application.ini'
+endif
+
+ident:
+ @printf 'gecko_revision '
+ @$(PYTHON3) $(topsrcdir)/config/printconfigsetting.py $(GECKO_PLATFORM_INI_PATH) Build SourceStamp
+ @printf 'fennec_revision '
+ @$(PYTHON3) $(topsrcdir)/config/printconfigsetting.py $(FENNEC_APPLICATION_INI_PATH) App SourceStamp
+ @printf 'buildid '
+ @$(PYTHON3) $(topsrcdir)/config/printconfigsetting.py $(FENNEC_APPLICATION_INI_PATH) App BuildID
diff --git a/mobile/android/locales/all-locales b/mobile/android/locales/all-locales
new file mode 100644
index 0000000000..297d183dca
--- /dev/null
+++ b/mobile/android/locales/all-locales
@@ -0,0 +1,98 @@
+ach
+an
+ar
+ast
+az
+be
+bg
+bn
+br
+bs
+ca
+cak
+cs
+cy
+da
+de
+dsb
+el
+en-CA
+en-GB
+eo
+es-AR
+es-CL
+es-ES
+es-MX
+et
+eu
+fa
+ff
+fi
+fr
+fy-NL
+ga-IE
+gd
+gl
+gn
+gu-IN
+he
+hi-IN
+hr
+hsb
+hu
+hy-AM
+ia
+id
+is
+it
+ja
+ka
+kab
+kk
+km
+kn
+ko
+lij
+lo
+lt
+ltg
+lv
+meh
+mix
+ml
+mr
+ms
+my
+nb-NO
+ne-NP
+nl
+nn-NO
+oc
+pa-IN
+pl
+pt-BR
+pt-PT
+rm
+ro
+ru
+sk
+sl
+son
+sq
+sr
+sv-SE
+ta
+te
+th
+tl
+tr
+trs
+uk
+ur
+uz
+vi
+wo
+xh
+zam
+zh-CN
+zh-TW
diff --git a/mobile/android/locales/en-US/chrome/browser.properties b/mobile/android/locales/en-US/chrome/browser.properties
new file mode 100644
index 0000000000..00a90f0979
--- /dev/null
+++ b/mobile/android/locales/en-US/chrome/browser.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/.
+
+# In Extension.jsm
+
+# LOCALIZATION NOTE (webextPerms.header)
+# This string is used as a header in the webextension permissions dialog,
+# %S is replaced with the localized name of the extension being installed.
+# See https://bug1308309.bmoattachments.org/attachment.cgi?id=8814612
+# for an example of the full dialog.
+# Note, this string will be used as raw markup. Avoid characters like <, >, &
+webextPerms.header=Add %S?
+webextPerms.headerWithPerms=Add %S? This extension will have permission to:
+webextPerms.headerUnsigned=Add %S? This extension is unverified. Malicious extensions can steal your private information or compromise your computer. Only add it if you trust the source.
+webextPerms.headerUnsignedWithPerms=Add %S? This extension is unverified. Malicious extensions can steal your private information or compromise your computer. Only add it if you trust the source. This extension will have permission to:
+
+webextPerms.add.label=Add
+webextPerms.cancel.label=Cancel
+
+# LOCALIZATION NOTE (webextSitePerms.headerWithPerms,webextSitePerms.headerUnsignedWithPerms)
+# This string is used as a header in the webextension permissions dialog,
+# %1$S is replaced with the localized name of the extension being installed.
+# %2$S will be replaced by the DNS host name for which a webextension enables permissions
+# Note, this string will be used as raw markup. Avoid characters like <, >, &
+webextSitePerms.headerWithPerms=Add %1$S? This extension grants the following capabilities to %2$S:
+webextSitePerms.headerUnsignedWithPerms=Add %1$S? This extension is unverified. Malicious extensions can steal your private information or compromise your computer. Only add it if you trust the source. This extension grants the following capabilities to %2$S:
+
+# These should remain in sync with permissions.NAME.label in sitePermissions.properties
+webextSitePerms.description.midi=Access MIDI devices
+webextSitePerms.description.midi-sysex=Access MIDI devices with SysEx support
+
+# LOCALIZATION NOTE (webextPerms.updateText)
+# %S is replaced with the localized name of the updated extension.
+webextPerms.updateText=%S has been updated. You must approve new permissions before the updated version will install. Choosing “Cancel” will maintain your current add-on version.
+
+webextPerms.updateAccept.label=Update
+
+# LOCALIZATION NOTE (webextPerms.optionalPermsHeader)
+# %S is replaced with the localized name of the extension requesting new
+# permissions.
+webextPerms.optionalPermsHeader=%S requests additional permissions.
+webextPerms.optionalPermsListIntro=It wants to:
+webextPerms.optionalPermsAllow.label=Allow
+webextPerms.optionalPermsDeny.label=Deny
+
+webextPerms.description.bookmarks=Read and modify bookmarks
+webextPerms.description.browserSettings=Read and modify browser settings
+webextPerms.description.browsingData=Clear recent browsing history, cookies, and related data
+webextPerms.description.clipboardRead=Get data from the clipboard
+webextPerms.description.clipboardWrite=Input data to the clipboard
+webextPerms.description.declarativeNetRequest=Block content on any page
+webextPerms.description.devtools=Extend developer tools to access your data in open tabs
+webextPerms.description.downloads=Download files and read and modify the browser’s download history
+webextPerms.description.downloads.open=Open files downloaded to your computer
+webextPerms.description.find=Read the text of all open tabs
+webextPerms.description.geolocation=Access your location
+webextPerms.description.history=Access browsing history
+webextPerms.description.management=Monitor extension usage and manage themes
+# LOCALIZATION NOTE (webextPerms.description.nativeMessaging)
+# %S will be replaced with the name of the application
+webextPerms.description.nativeMessaging=Exchange messages with programs other than %S
+webextPerms.description.notifications=Display notifications to you
+webextPerms.description.privacy=Read and modify privacy settings
+webextPerms.description.proxy=Control browser proxy settings
+webextPerms.description.sessions=Access recently closed tabs
+webextPerms.description.tabs=Access browser tabs
+webextPerms.description.topSites=Access browsing history
+webextPerms.description.webNavigation=Access browser activity during navigation
+
+webextPerms.hostDescription.allUrls=Access your data for all websites
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.wildcard)
+# %S will be replaced by the DNS domain for which a webextension
+# is requesting access (e.g., mozilla.org)
+webextPerms.hostDescription.wildcard=Access your data for sites in the %S domain
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.tooManyWildcards):
+# Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 will be replaced by an integer indicating the number of additional
+# domains for which this webextension is requesting permission.
+webextPerms.hostDescription.tooManyWildcards=Access your data in #1 other domain;Access your data in #1 other domains
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.oneSite)
+# %S will be replaced by the DNS host name for which a webextension
+# is requesting access (e.g., www.mozilla.org)
+webextPerms.hostDescription.oneSite=Access your data for %S
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.tooManySites)
+# Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 will be replaced by an integer indicating the number of additional
+# hosts for which this webextension is requesting permission.
+webextPerms.hostDescription.tooManySites=Access your data on #1 other site;Access your data on #1 other sites
+
+# Web Console API (in GeckoViewConsole.jsm)
+stacktrace.anonymousFunction=<anonymous>
+stacktrace.outputMessage=Stack trace from %S, function %S, line %S.
+timer.start=%S: timer started
+
+# LOCALIZATION NOTE (timer.end):
+# This string is used to display the result of the console.timeEnd() call.
+# %1$S=name of timer, %2$S=number of milliseconds
+timer.end=%1$S: %2$Sms
+
+# In ContextualIdentityService.jsm
+
+# LOCALIZATION NOTE (userContextPersonal.label,
+# userContextWork.label,
+# userContextShopping.label,
+# userContextBanking.label,
+# userContextNone.label):
+# These strings specify the four predefined contexts included in support of the
+# Contextual Identity / Containers project. Each context is meant to represent
+# the context that the user is in when interacting with the site. Different
+# contexts will store cookies and other information from those sites in
+# different, isolated locations. You can enable the feature by typing
+# about:config in the URL bar and changing privacy.userContext.enabled to true.
+# Once enabled, you can open a new tab in a specific context by clicking
+# File > New Container Tab > (1 of 4 contexts). Once opened, you will see these
+# strings on the right-hand side of the URL bar.
+# In android this will be only exposed by web extensions
+userContextPersonal.label = Personal
+userContextWork.label = Work
+userContextBanking.label = Banking
+userContextShopping.label = Shopping
diff --git a/mobile/android/locales/en-US/chrome/passwordmgr.properties b/mobile/android/locales/en-US/chrome/passwordmgr.properties
new file mode 100644
index 0000000000..30225c7e14
--- /dev/null
+++ b/mobile/android/locales/en-US/chrome/passwordmgr.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/.
+
+# String will be replaced by brandShortName.
+saveLogin=Would you like %S to remember this login?
+rememberButton=Remember
+neverButton=Never
+
+# String is the login's hostname
+updatePassword=Update saved password for %S?
+updatePasswordNoUser=Update saved password for this login?
+updateButton=Update
+dontUpdateButton=Don't update
+
+# Copy of the toolkit's passwordmgr.properties
+userSelectText2=Select which login to update:
+passwordChangeTitle=Confirm Password Change
+
+# Strings used by PromptService.js
+username=Username
+password=Password
diff --git a/mobile/android/locales/en-US/mobile-l10n.js b/mobile/android/locales/en-US/mobile-l10n.js
new file mode 100644
index 0000000000..95a4db06b4
--- /dev/null
+++ b/mobile/android/locales/en-US/mobile-l10n.js
@@ -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/.
+
+#filter substitution
+
+// This comment is to avoid errors during packaging due to the file
+// being empty and therefore causing MD5 hash collisions with other
+// empty files. See bug 1426943 for details.
diff --git a/mobile/android/locales/en-US/mobile/android/aboutConfig.ftl b/mobile/android/locales/en-US/mobile/android/aboutConfig.ftl
new file mode 100644
index 0000000000..5cb419181a
--- /dev/null
+++ b/mobile/android/locales/en-US/mobile/android/aboutConfig.ftl
@@ -0,0 +1,28 @@
+# 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/.
+
+config-toolbar-search =
+ .placeholder = Search
+config-new-pref-name =
+ .placeholder = Name
+
+config-new-pref-value-boolean = Boolean
+config-new-pref-value-string = String
+config-new-pref-value-integer = Integer
+
+config-new-pref-string =
+ .placeholder = Enter a string
+config-new-pref-number =
+ .placeholder = Enter a number
+config-new-pref-cancel-button = Cancel
+config-new-pref-create-button = Create
+config-new-pref-change-button = Change
+
+config-pref-toggle-button = Toggle
+config-pref-reset-button = Reset
+
+config-context-menu-copy-pref-name =
+ .label = Copy Name
+config-context-menu-copy-pref-value =
+ .label = Copy Value
diff --git a/mobile/android/locales/filter.py b/mobile/android/locales/filter.py
new file mode 100644
index 0000000000..94a14b95c9
--- /dev/null
+++ b/mobile/android/locales/filter.py
@@ -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/.
+
+"""This routine controls which localizable files and entries are
+reported and l10n-merged.
+This needs to stay in sync with the copy in mobile/locales.
+"""
+
+
+def test(mod, path, entity=None):
+ import re
+
+ # ignore anything but mobile, which is our local repo checkout name
+ if mod not in ("dom", "toolkit", "mobile", "mobile/android"):
+ return "ignore"
+
+ if mod == "toolkit":
+ # keep this file list in sync with jar.mn
+ if path in (
+ "chrome/global/commonDialogs.properties",
+ "chrome/global/intl.properties",
+ "chrome/global/intl.css",
+ ):
+ return "error"
+ if re.match(r"crashreporter/[^/]*.ftl", path):
+ # error on crashreporter/*.ftl
+ return "error"
+ if re.match(r"toolkit/about/[^/]*About.ftl", path):
+ # error on toolkit/about/*About.ftl
+ return "error"
+ if re.match(r"toolkit/about/[^/]*Mozilla.ftl", path):
+ # error on toolkit/about/*Mozilla.ftl
+ return "error"
+ if re.match(r"toolkit/about/[^/]*Plugins.ftl", path):
+ # error on toolkit/about/*Plugins.ftl
+ return "error"
+ if re.match(r"toolkit/about/[^/]*Rights.ftl", path):
+ # error on toolkit/about/*Rights.ftl
+ return "error"
+ if re.match(r"toolkit/about/[^/]*Compat.ftl", path):
+ # error on toolkit/about/*Compat.ftl
+ return "error"
+ if re.match(r"toolkit/about/[^/]*Support.ftl", path):
+ # error on toolkit/about/*Support.ftl
+ return "error"
+ if re.match(r"toolkit/about/[^/]*Webrtc.ftl", path):
+ # error on toolkit/about/*Webrtc.ftl
+ return "error"
+ return "ignore"
+
+ if mod == "dom":
+ # keep this file list in sync with jar.mn
+ if path in (
+ "chrome/accessibility/AccessFu.properties",
+ "chrome/dom/dom.properties",
+ ):
+ return "error"
+ return "ignore"
+
+ if mod not in ("mobile", "mobile/android"):
+ # we only have exceptions for mobile*
+ return "error"
+ if mod == "mobile/android":
+ if entity is None:
+ if re.match(r"mobile-l10n.js", path):
+ return "ignore"
+ return "error"
+
+ return "error"
diff --git a/mobile/android/locales/jar.mn b/mobile/android/locales/jar.mn
new file mode 100644
index 0000000000..d172fa5c04
--- /dev/null
+++ b/mobile/android/locales/jar.mn
@@ -0,0 +1,59 @@
+#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/.
+
+# Note: This file should only contain locale entries. All
+# override and resource entries should go to mobile/android/chrome/jar.mn to avoid
+# having to create the same entry for each locale.
+
+# Fluent files
+# Note: All rules must be wildcards, as localized files are optional
+# If you're including files from a subdirectory, ensure that you're
+# putting them into the corresponding subdirectory in the target.
+# The wildcard ** does that for us in toolkit.
+
+[localization] @AB_CD@.jar:
+ mobile/android (%mobile/android/**/*.ftl)
+
+@AB_CD@.jar:
+% locale browser @AB_CD@ %locale/@AB_CD@/browser/
+ locale/@AB_CD@/browser/browser.properties (%chrome/browser.properties)
+ locale/@AB_CD@/browser/passwordmgr.properties (%chrome/passwordmgr.properties)
+
+# overrides for toolkit l10n, also for en-US
+# keep this file list in sync with l10n.toml and filter.py
+relativesrcdir toolkit/locales:
+ locale/@AB_CD@/browser/overrides/commonDialogs.properties (%chrome/global/commonDialogs.properties)
+ locale/@AB_CD@/browser/overrides/intl.properties (%chrome/global/intl.properties)
+ locale/@AB_CD@/browser/overrides/intl.css (%chrome/global/intl.css)
+
+# overrides for dom l10n, also for en-US
+# keep this file list in sync with filter.py
+relativesrcdir dom/locales:
+ locale/@AB_CD@/browser/overrides/AccessFu.properties (%chrome/accessibility/AccessFu.properties)
+ locale/@AB_CD@/browser/overrides/dom/dom.properties (%chrome/dom/dom.properties)
+
+# Only run this if we're not en-US, as en-US is already built
+# by toolkit/locales/jar.mn.
+#define EN_US en-US
+#if AB_CD != EN_US
+[localization] @AB_CD@.jar:
+relativesrcdir toolkit/locales:
+#about:crashes
+ crashreporter (%crashreporter/**/*.ftl)
+#about:about
+ toolkit/about (%toolkit/about/*About.ftl)
+#about:mozilla
+ toolkit/about (%toolkit/about/*Mozilla.ftl)
+#about:support
+ toolkit/about (%toolkit/about/*Support.ftl)
+#about:rights
+ toolkit/about (%toolkit/about/*Rights.ftl)
+#about:compat
+ toolkit/about (%toolkit/about/*Compat.ftl)
+#about:webrtc
+ toolkit/about (%toolkit/about/*Webrtc.ftl)
+#endif
+# Do not add files below the endif. Reviewers, expand more context above
+# for comments.
diff --git a/mobile/android/locales/l10n.ini b/mobile/android/locales/l10n.ini
new file mode 100644
index 0000000000..6d4704bc7e
--- /dev/null
+++ b/mobile/android/locales/l10n.ini
@@ -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/.
+
+# Control which directories and modules are part of mobile/android.
+# Changes here should be reflected in mobile/locales/l10n.ini so
+# that the dashboard picks them up.
+
+[general]
+depth = ../../..
+all = mobile/android/locales/all-locales
+
+[compare]
+dirs = mobile mobile/android
+
+[includes]
+toolkit = toolkit/locales/l10n.ini
+services_sync = services/sync/locales/l10n.ini
diff --git a/mobile/android/locales/l10n.toml b/mobile/android/locales/l10n.toml
new file mode 100644
index 0000000000..d494c624c0
--- /dev/null
+++ b/mobile/android/locales/l10n.toml
@@ -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/.
+
+basepath = "../../.."
+
+locales = [
+ "ach",
+ "an",
+ "ar",
+ "ast",
+ "az",
+ "be",
+ "bg",
+ "bn",
+ "br",
+ "bs",
+ "ca",
+ "cak",
+ "cs",
+ "cy",
+ "da",
+ "de",
+ "dsb",
+ "el",
+ "en-CA",
+ "en-GB",
+ "eo",
+ "es-AR",
+ "es-CL",
+ "es-ES",
+ "es-MX",
+ "et",
+ "eu",
+ "fa",
+ "ff",
+ "fi",
+ "fr",
+ "fy-NL",
+ "ga-IE",
+ "gd",
+ "gl",
+ "gn",
+ "gu-IN",
+ "he",
+ "hi-IN",
+ "hr",
+ "hsb",
+ "hu",
+ "hy-AM",
+ "ia",
+ "id",
+ "is",
+ "it",
+ "ja",
+ "ka",
+ "kab",
+ "kk",
+ "km",
+ "kn",
+ "ko",
+ "lij",
+ "lo",
+ "lt",
+ "ltg",
+ "lv",
+ "meh",
+ "mix",
+ "ml",
+ "mr",
+ "ms",
+ "my",
+ "nb-NO",
+ "ne-NP",
+ "nl",
+ "nn-NO",
+ "oc",
+ "pa-IN",
+ "pl",
+ "pt-BR",
+ "pt-PT",
+ "rm",
+ "ro",
+ "ru",
+ "sk",
+ "sl",
+ "son",
+ "sq",
+ "sr",
+ "sv-SE",
+ "ta",
+ "te",
+ "th",
+ "tl",
+ "tr",
+ "trs",
+ "uk",
+ "ur",
+ "uz",
+ "vi",
+ "wo",
+ "xh",
+ "zam",
+ "zh-CN",
+ "zh-TW",
+]
+
+[build]
+exclude-multi-locale = [
+ "ach",
+ "ia",
+ "km",
+ "ltg",
+ "meh",
+ "mix",
+ "tl",
+]
+
+[env]
+ l = "{l10n_base}/{locale}/"
+
+
+[[paths]]
+ reference = "mobile/android/locales/en-US/**"
+ l10n = "{l}mobile/android/**"
+
+# hand-picked paths from toolkit, keep in sync with jar.mn
+[[paths]]
+ reference = "dom/locales/en-US/chrome/accessibility/AccessFu.properties"
+ l10n = "{l}dom/chrome/accessibility/AccessFu.properties"
+
+[[paths]]
+ reference = "dom/locales/en-US/chrome/dom/dom.properties"
+ l10n = "{l}dom/chrome/dom/dom.properties"
+
+[[paths]]
+ reference = "toolkit/locales/en-US/toolkit/about/*Plugins.ftl"
+ l10n = "{l}toolkit/toolkit/about/*Plugins.ftl"
+
+[[paths]]
+ reference = "toolkit/locales/en-US/toolkit/about/*About.ftl"
+ l10n = "{l}toolkit/toolkit/about/*About.ftl"
+
+[[paths]]
+ reference = "toolkit/locales/en-US/toolkit/about/*Mozilla.ftl"
+ l10n = "{l}toolkit/toolkit/about/*Mozilla.ftl"
+
+[[paths]]
+ reference = "toolkit/locales/en-US/toolkit/about/*Rights.ftl"
+ l10n = "{l}toolkit/toolkit/about/*Rights.ftl"
+
+[[paths]]
+ reference = "toolkit/locales/en-US/toolkit/about/*Compat.ftl"
+ l10n = "{l}toolkit/toolkit/about/*Compat.ftl"
+
+[[paths]]
+ reference = "toolkit/locales/en-US/chrome/global/commonDialogs.properties"
+ l10n = "{l}toolkit/chrome/global/commonDialogs.properties"
+
+[[paths]]
+ reference = "toolkit/locales/en-US/chrome/global/intl.properties"
+ l10n = "{l}toolkit/chrome/global/intl.properties"
+
+[[paths]]
+ reference = "toolkit/locales/en-US/chrome/global/intl.css"
+ l10n = "{l}toolkit/chrome/global/intl.css"
+
+[[paths]]
+ reference = "toolkit/locales/en-US/toolkit/about/*Support.ftl"
+ l10n = "{l}toolkit/toolkit/about/*Support.ftl"
+
+[[paths]]
+ reference = "toolkit/locales/en-US/crashreporter/*.ftl"
+ l10n = "{l}toolkit/crashreporter/*.ftl"
+
+[[paths]]
+ reference = "toolkit/locales/en-US/toolkit/about/*Webrtc.ftl"
+ l10n = "{l}toolkit/toolkit/about/*Webrtc.ftl"
+
+[[filters]]
+ path = [
+ "{l}mobile/android/mobile-l10n.js",
+ ]
+ action = "ignore"
diff --git a/mobile/android/locales/maemo-locales b/mobile/android/locales/maemo-locales
new file mode 100644
index 0000000000..83b1ad3195
--- /dev/null
+++ b/mobile/android/locales/maemo-locales
@@ -0,0 +1,91 @@
+an
+ar
+ast
+az
+be
+bg
+bn
+br
+bs
+ca
+cak
+cs
+cy
+da
+de
+dsb
+el
+en-CA
+en-GB
+eo
+es-AR
+es-CL
+es-ES
+es-MX
+et
+eu
+fa
+ff
+fi
+fr
+fy-NL
+ga-IE
+gd
+gl
+gn
+gu-IN
+he
+hi-IN
+hr
+hsb
+hu
+hy-AM
+id
+is
+it
+ja
+ka
+kab
+kk
+kn
+ko
+lij
+lo
+lt
+lv
+ml
+mr
+ms
+my
+nb-NO
+ne-NP
+nl
+nn-NO
+oc
+pa-IN
+pl
+pt-BR
+pt-PT
+rm
+ro
+ru
+sk
+sl
+son
+sq
+sr
+sv-SE
+ta
+te
+th
+tr
+trs
+uk
+ur
+uz
+vi
+wo
+xh
+zam
+zh-CN
+zh-TW
diff --git a/mobile/android/locales/moz.build b/mobile/android/locales/moz.build
new file mode 100644
index 0000000000..8a8407ca4c
--- /dev/null
+++ b/mobile/android/locales/moz.build
@@ -0,0 +1,10 @@
+# -*- 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/.
+
+with Files("**"):
+ BUG_COMPONENT = ("GeckoView", "General")
+
+JAR_MANIFESTS += ["jar.mn"]