bug 708015, support both native and xul l10n, r=stas, dougt

--HG--
rename : mobile/android/locales/Makefile.in => mobile/locales/Makefile.in
rename : mobile/android/locales/en-US/chrome/region.properties => mobile/locales/en-US/chrome/region.properties
rename : mobile/android/locales/en-US/chrome/overrides/appstrings.properties => mobile/locales/en-US/overrides/appstrings.properties
rename : mobile/android/locales/en-US/chrome/overrides/netError.dtd => mobile/locales/en-US/overrides/netError.dtd
rename : mobile/android/locales/en-US/chrome/overrides/passwordmgr.properties => mobile/locales/en-US/overrides/passwordmgr.properties
rename : mobile/android/locales/en-US/profile/bookmarks.inc => mobile/locales/en-US/profile/bookmarks.inc
rename : mobile/android/locales/en-US/searchplugins/amazondotcom.xml => mobile/locales/en-US/searchplugins/amazondotcom.xml
rename : mobile/android/locales/en-US/searchplugins/google.xml => mobile/locales/en-US/searchplugins/google.xml
rename : mobile/android/locales/en-US/searchplugins/list.txt => mobile/locales/en-US/searchplugins/list.txt
rename : mobile/android/locales/en-US/searchplugins/twitter.xml => mobile/locales/en-US/searchplugins/twitter.xml
rename : mobile/android/locales/en-US/searchplugins/wikipedia.xml => mobile/locales/en-US/searchplugins/wikipedia.xml
rename : mobile/android/locales/en-US/searchplugins/yahoo.xml => mobile/locales/en-US/searchplugins/yahoo.xml
rename : mobile/android/locales/filter.py => mobile/locales/filter.py
rename : mobile/android/locales/generic/profile/bookmarks.json.in => mobile/locales/generic/profile/bookmarks.json.in
rename : mobile/android/locales/jar.mn => mobile/locales/jar.mn
rename : mobile/android/locales/l10n.ini => mobile/locales/l10n.ini
This commit is contained in:
Axel Hecht 2011-12-22 00:10:06 +01:00
parent ea1c675935
commit 952d911706
46 changed files with 334 additions and 729 deletions

View File

@ -133,15 +133,8 @@ RES_LAYOUT = \
RES_VALUES = res/values/colors.xml res/values/themes.xml
AB_rCD = $(shell echo $(AB_CD) | sed -e s/-/-r/)
JAVA_CLASSPATH = $(ANDROID_SDK)/android.jar
DEFAULT_BRANDPATH = $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales/en-US/brand.dtd
DEFAULT_STRINGSPATH = locales/en-US/android_strings.dtd
LOCALIZED_BRANDPATH = $(DEPTH)/dist/bin/chrome/$(AB_CD)/locale/branding/brand.dtd
LOCALIZED_STRINGSPATH = $(DEPTH)/dist/bin/chrome/android-res/res/values-$(AB_CD)/android_strings.dtd
ifdef MOZ_CRASHREPORTER
PROCESSEDJAVAFILES += CrashReporter.java
MOZ_ANDROID_DRAWABLES += embedding/android/resources/drawable/crash_reporter.png
@ -154,10 +147,6 @@ MOZ_ANDROID_DRAWABLES += $(shell if test -e $(topsrcdir)/$(MOZ_BRANDING_DIRECTOR
include $(topsrcdir)/config/rules.mk
ifneq ($(AB_CD),en-US)
LOCALIZED_STRINGS_XML = res/values-$(AB_rCD)/strings.xml
endif
# Override the Java settings with some specific android settings
include $(topsrcdir)/config/android-common.mk
@ -200,23 +189,5 @@ R.java: $(MOZ_APP_ICON) $(RES_LAYOUT) $(RES_DRAWABLE) $(RES_VALUES) res/drawable
gecko.ap_: AndroidManifest.xml res/drawable/icon.png res/drawable-hdpi/icon.png $(RES_LAYOUT) $(RES_DRAWABLE) $(RES_VALUES) res/values/strings.xml FORCE
$(AAPT) package -f -M AndroidManifest.xml -I $(ANDROID_SDK)/android.jar -S res -F $@
res/values/strings.xml: $(DEFAULT_BRANDPATH) $(DEFAULT_STRINGSPATH)
mkdir -p res/values
$(PYTHON) $(topsrcdir)/config/Preprocessor.py $(DEFINES) \
-DBRANDPATH="$(DEFAULT_BRANDPATH)" \
-DSTRINGSPATH="$(DEFAULT_STRINGSPATH)" \
$(srcdir)/strings.xml.in \
> $@
res/values-$(AB_rCD)/strings.xml: $(LOCALIZED_BRANDPATH) $(LOCALIZED_STRINGSPATH)
mkdir -p res/values-$(AB_rCD)
$(PYTHON) $(topsrcdir)/config/Preprocessor.py $(DEFINES) \
-DBRANDPATH="$(call core_abspath,$(LOCALIZED_BRANDPATH))" \
-DSTRINGSPATH="$(call core_abspath,$(LOCALIZED_STRINGSPATH))" \
$(srcdir)/strings.xml.in \
> $@
chrome:: $(LOCALIZED_STRINGS_XML)
libs:: classes.dex
$(INSTALL) classes.dex $(FINAL_TARGET)

View File

@ -43,6 +43,33 @@ relativesrcdir = embedding/android/locales
include $(DEPTH)/config/autoconf.mk
# special case some locale codes, he and id
# http://code.google.com/p/android/issues/detail?id=3639
AB_rCD = $(if $(filter he, $(AB_CD)),iw,$(if $(filter id, $(AB_CD)),in,$(subst -,-r,$(AB_CD))))
STRINGSPATH = $(call core_abspath,$(call MERGE_FILE,android_strings.dtd))
ifeq (,$(XPI_NAME))
BRANDPATH = $(call core_abspath,$(DEPTH)/dist/bin/chrome/$(AB_CD)/locale/branding/brand.dtd)
else
BRANDPATH = $(call core_abspath,$(DIST)/xpi-stage/$(XPI_NAME)/chrome/$(AB_CD)/locale/branding/brand.dtd)
endif
DEFINES += -DAB_CD=$(AB_CD)
libs realchrome:: ../res/values/strings.xml ;
chrome-%:: AB_CD=$*
chrome-%::
@$(MAKE) ../res/values-$(AB_rCD)/strings.xml AB_CD=$*
%/strings.xml: FORCE
$(NSINSTALL) -D $*
# we don't have branding yet, but we need it. Call it explicitly
@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales realchrome
$(PYTHON) $(topsrcdir)/config/Preprocessor.py $(DEFINES) \
-DBRANDPATH="$(BRANDPATH)" \
-DSTRINGSPATH="$(STRINGSPATH)" \
$(srcdir)/../strings.xml.in \
> $@
include $(topsrcdir)/config/rules.mk

View File

@ -1,4 +0,0 @@
#filter substitution
android-res.jar:
res/values-@AB_CD@/android_strings.dtd (%android_strings.dtd)

View File

@ -43,7 +43,7 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
DIRS = locales base chrome components modules themes/core app
DIRS = ../locales locales base chrome components modules themes/core app
ifndef LIBXUL_SDK
PARALLEL_DIRS += $(DEPTH)/xulrunner/tools/redit

View File

@ -455,8 +455,6 @@ RES_MENU = \
res/menu/awesomebar_contextmenu.xml \
$(NULL)
AB_rCD = $(shell echo $(AB_CD) | sed -e s/-/-r/)
JAVA_CLASSPATH = $(ANDROID_SDK)/android.jar
ifdef MOZ_CRASHREPORTER

View File

@ -1,5 +0,0 @@
[general]
depth = ../../../..
[compare]
dirs = mobile/android/base

View File

@ -45,55 +45,14 @@ relativesrcdir = mobile/android/locales
include $(DEPTH)/config/autoconf.mk
include $(topsrcdir)/config/config.mk
ifdef LOCALE_MERGEDIR
vpath book%.inc $(LOCALE_MERGEDIR)/mobile/android/profile
endif
vpath book%.inc $(LOCALE_SRCDIR)/profile
ifdef LOCALE_MERGEDIR
vpath book%.inc @srcdir@/en-US/profile
endif
ifdef LOCALE_MERGEDIR
vpath crashreporter%.ini $(LOCALE_MERGEDIR)/mobile/android/crashreporter
endif
vpath crashreporter%.ini $(LOCALE_SRCDIR)/crashreporter
ifdef LOCALE_MERGEDIR
vpath crashreporter%.ini @srcdir@/en-US/crashreporter
endif
SUBMAKEFILES += \
$(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/Makefile \
$(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales/Makefile \
$(NULL)
MOZ_LANGPACK_EID=langpack-$(AB_CD)@firefox-mobile.mozilla.org
PREF_JS_EXPORTS = $(firstword $(wildcard $(LOCALE_SRCDIR)/mobile-l10n.js) \
@srcdir@/en-US/mobile-l10n.js )
# Shouldn't := DEB_BUILD_ARCH despite the $(shell ) as deb isn't everywhere
DEB_BUILD_ARCH = $(shell dpkg-architecture -qDEB_BUILD_ARCH)
DATASTAGE = $(CURDIR)/data-stage
SEARCH_PLUGINS = $(shell cat \
$(firstword $(wildcard $(LOCALE_SRCDIR)/searchplugins/list.txt) \
@srcdir@/en-US/searchplugins/list.txt ) )
tmp-search.jar.mn::
printf "$(AB_CD).jar:" > $@
printf "$(foreach plugin,$(SEARCH_PLUGINS),$(subst __PLUGIN_SUBST__,$(plugin), \n locale/$(AB_CD)/browser/searchplugins/__PLUGIN_SUBST__.xml (__PLUGIN_SUBST__.xml)))" >> $@
@echo >> $@
searchplugins: tmp-search.jar.mn
$(PYTHON) $(MOZILLA_DIR)/config/JarMaker.py \
$(QUIET) -j $(FINAL_TARGET)/chrome \
-s $(topsrcdir)/$(relativesrcdir)/en-US/searchplugins \
-s $(LOCALE_SRCDIR)/searchplugins \
$(MAKE_JARS_FLAGS) tmp-search.jar.mn
export:: searchplugins
GARBAGE += tmp-search.jar.mn
include $(topsrcdir)/config/rules.mk
include $(topsrcdir)/toolkit/locales/l10n.mk
@ -117,24 +76,16 @@ clobber-stage:
$(RM) $(DEPTH)/mobile/android/base/res/values-*/strings.xml
libs-%:
$(NSINSTALL) -D $(DIST)/install
@$(MAKE) -C $(DEPTH)/toolkit/locales libs-$* BOTH_MANIFESTS=1
@$(MAKE) -C $(DEPTH)/services/sync/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
@$(MAKE) -C $(DEPTH)/intl/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
@$(MAKE) -B bookmarks.json AB_CD=$*
@$(MAKE) -B searchplugins AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) -C $(DEPTH)/mobile/locales libs-$* BOTH_MANIFESTS=1
@$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=defaults/pref BOTH_MANIFESTS=1
@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
ifeq ($(OS_TARGET),Android)
@$(MAKE) -C $(DEPTH)/mobile/android/base/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
endif
# Tailored target to just add the chrome processing for multi-locale builds
chrome-%:
@$(MAKE) -C $(DEPTH)/toolkit/locales chrome-$*
@$(MAKE) -C $(DEPTH)/services/sync/locales chrome AB_CD=$*
@$(MAKE) -B bookmarks.json AB_CD=$*
@$(MAKE) -B searchplugins AB_CD=$*
@$(MAKE) -C $(DEPTH)/mobile/locales chrome-$*
@$(MAKE) chrome AB_CD=$*
@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales chrome AB_CD=$*
ifeq ($(OS_TARGET),Android)
@$(MAKE) -C $(DEPTH)/mobile/android/base/locales chrome-$*
endif
@ -145,37 +96,6 @@ endif
installers-%: clobber-stage repackage-zip-%
@echo "repackaging done"
NO_JA_JP_MAC_AB_CD := $(if $(filter ja-JP-mac, $(AB_CD)),ja,$(AB_CD))
bookmarks.json: bookmarks.inc generic/profile/bookmarks.json.in
$(PYTHON) $(topsrcdir)/config/Preprocessor.py \
-I $< \
-DAB_CD=$(NO_JA_JP_MAC_AB_CD) \
$(srcdir)/generic/profile/bookmarks.json.in \
> $@
export:: bookmarks.json
ifdef MOZ_UPDATER
ifdef LOCALE_MERGEDIR
UPDATER_INI := $(firstword $(wildcard $(LOCALE_MERGEDIR)/updater/updater.ini) \
$(wildcard $(LOCALE_SRCDIR)/updater/updater.ini) \
$(srcdir)/en-US/updater/updater.ini )
else
UPDATER_INI := $(addprefix $(LOCALE_SRCDIR)/,updater/updater.ini)
endif
libs:: $(UPDATER_INI)
cat $< | \
sed -e "s/^InfoText=/Info=/" -e "s/^TitleText=/Title=/" | \
sed -e "s/%MOZ_APP_DISPLAYNAME%/$(MOZ_APP_DISPLAYNAME)/" > \
$(FINAL_TARGET)/updater.ini
endif
ifdef MOZ_CRASHREPORTER
libs:: crashreporter-override.ini
$(SYSINSTALL) $(IFLAGS1) $^ $(FINAL_TARGET)
endif
# 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))

View File

@ -1,10 +0,0 @@
# This file is in the UTF-8 encoding
[Strings]
# LOCALIZATION NOTE (CrashReporterProductErrorText2): %s is replaced with another string containing detailed information.
CrashReporterProductErrorText2=Firefox has crashed. Unfortunately the crash reporter is unable to submit a crash report.\n\nDetails: %s
CrashReporterDescriptionText2=Firefox has crashed. Your tabs will be listed on the Firefox Start page when you restart.\n\nPlease help us fix the problem!
# LOCALIZATION NOTE (CheckSendReport): The %s is replaced with the vendor name.
CheckSendReport=Send %s a crash report
CheckIncludeURL=Include the page address
Quit2=Quit Firefox
Restart=Restart Firefox

View File

@ -1,17 +0,0 @@
; This file is in the UTF-8 encoding
[Strings]
AppShortName=%MOZ_APP_DISPLAYNAME%
AppLongName=Mozilla %MOZ_APP_DISPLAYNAME%
WindowCaption=Mozilla %MOZ_APP_DISPLAYNAME% Setup
InstallTo=Install %MOZ_APP_DISPLAYNAME% to
Install=Install
Cancel=Cancel
InstalledSuccessfully=Mozilla %MOZ_APP_DISPLAYNAME% has been installed successfully.
ExtractionError=Archive extraction error:
ThereWereErrors=There were errors during installation:
CreatingUserProfile=Creating user profile. Please wait...
UninstallCaption=Mozilla %MOZ_APP_DISPLAYNAME% Uninstall
FilesWillBeRemoved=All files will be removed from
AreYouSure=Are you sure?
InstallationNotFound=Mozilla %MOZ_APP_DISPLAYNAME% installation not found.
UninstalledSuccessfully=Mozilla %MOZ_APP_DISPLAYNAME% has been uninstalled successfully.

View File

@ -1,4 +0,0 @@
; This file is in the UTF-8 encoding
[Strings]
TitleText=%MOZ_APP_DISPLAYNAME% Update
InfoText=%MOZ_APP_DISPLAYNAME% is installing your updates and will start in a few moments…

View File

@ -35,30 +35,43 @@
#
# ***** END LICENSE BLOCK *****
"""This routine controls which localizable files and entries are
reported and l10n-merged.
It's common to all of mobile, mobile/android and mobile/xul, so
those three versions need to stay in sync.
"""
def test(mod, path, entity = None):
import re
# ignore anything but mobile, which is our local repo checkout name
if mod not in ("netwerk", "dom", "toolkit", "security/manager",
"services/sync", "mobile/android/base",
"mobile/android"):
return False
"services/sync", "mobile",
"mobile/android/base", "mobile/android",
"mobile/xul"):
return "ignore"
if mod != "mobile/android":
# we only have exceptions for mobile
return True
if not entity:
return not (re.match(r"searchplugins\/.+\.xml", path) or
re.match(r"mobile-l10n.js", path) or
re.match(r"defines.inc", path))
if path == "defines.inc":
return entity != "MOZ_LANGPACK_CONTRIBUTORS"
if mod not in ("mobile", "mobile/android", "mobile/xul"):
# we only have exceptions for mobile*
return "error"
if mod in ("mobile/android", "mobile/xul"):
if not entity:
if (re.match(r"mobile-l10n.js", path) or
re.match(r"defines.inc", path)):
return "ignore"
if path == "defines.inc":
if entity == "MOZ_LANGPACK_CONTRIBUTORS":
return "ignore"
return "error"
if path != "chrome/region.properties":
# only region.properties exceptions remain, compare all others
return True
return not (re.match(r"browser\.search\.order\.[1-9]", entity) or
re.match(r"browser\.contentHandlers\.types\.[0-5]", entity) or
re.match(r"gecko\.handlerService\.schemes\.", entity) or
re.match(r"gecko\.handlerService\.defaultHandlersVersion", entity))
# we're in mod == "mobile"
if re.match(r"searchplugins\/.+\.xml", path):
return "ignore"
if path == "chrome/region.properties":
# only region.properties exceptions remain
if (re.match(r"browser\.search\.order\.[1-9]", entity) or
re.match(r"browser\.contentHandlers\.types\.[0-5]", entity) or
re.match(r"gecko\.handlerService\.schemes\.", entity) or
re.match(r"gecko\.handlerService\.defaultHandlersVersion", entity)):
return "ignore"
return "error"

View File

@ -10,7 +10,6 @@
locale/@AB_CD@/browser/config.dtd (%chrome/config.dtd)
locale/@AB_CD@/browser/config.properties (%chrome/config.properties)
locale/@AB_CD@/browser/localepicker.properties (%chrome/localepicker.properties)
locale/@AB_CD@/browser/region.properties (%chrome/region.properties)
locale/@AB_CD@/browser/aboutHome.dtd (%chrome/aboutHome.dtd)
locale/@AB_CD@/browser/checkbox.dtd (%chrome/checkbox.dtd)
locale/@AB_CD@/browser/notification.dtd (%chrome/notification.dtd)
@ -20,13 +19,3 @@
locale/@AB_CD@/browser/webapps.dtd (%chrome/webapps.dtd)
locale/@AB_CD@/browser/feedback.dtd (%chrome/feedback.dtd)
locale/@AB_CD@/browser/phishing.dtd (%chrome/phishing.dtd)
locale/@AB_CD@/browser/bookmarks.json (bookmarks.json)
locale/@AB_CD@/browser/searchplugins/list.txt (%searchplugins/list.txt)
# Fennec-specific overrides of generic strings
* locale/@AB_CD@/browser/netError.dtd (%chrome/overrides/netError.dtd)
% override chrome://global/locale/netError.dtd chrome://browser/locale/netError.dtd
* locale/@AB_CD@/browser/appstrings.properties (%chrome/overrides/appstrings.properties)
% override chrome://global/locale/appstrings.properties chrome://browser/locale/appstrings.properties
* locale/@AB_CD@/browser/passwordmgr.properties (%chrome/overrides/passwordmgr.properties)
% override chrome://passwordmgr/locale/passwordmgr.properties chrome://browser/locale/passwordmgr.properties

View File

@ -1,11 +1,14 @@
# 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/android
dirs = mobile mobile/android mobile/android/base
[includes]
toolkit = toolkit/locales/l10n.ini
services_sync = services/sync/locales/l10n.ini
android_base = mobile/android/base/locales/l10n.ini

117
mobile/locales/Makefile.in Normal file
View File

@ -0,0 +1,117 @@
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla.
#
# The Initial Developer of the Original Code is
# the Mozilla Foundation <http://www.mozilla.org/>.
# Portions created by the Initial Developer are Copyright (C) 2007
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Mark Finkle <mfinkle@mozilla.com>
# Axel Hecht <l10n@mozilla.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
DEPTH = ../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
relativesrcdir = mobile/locales
include $(DEPTH)/config/autoconf.mk
include $(topsrcdir)/config/config.mk
ifdef LOCALE_MERGEDIR
vpath book%.inc $(LOCALE_MERGEDIR)/mobile/profile
endif
vpath book%.inc $(LOCALE_SRCDIR)/profile
ifdef LOCALE_MERGEDIR
vpath book%.inc @srcdir@/en-US/profile
endif
SUBMAKEFILES += \
$(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/Makefile \
$(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales/Makefile \
$(NULL)
DEFINES += \
-DAB_CD=$(AB_CD) \
$(NULL)
SEARCH_PLUGINS = $(shell cat \
$(firstword $(wildcard $(LOCALE_SRCDIR)/searchplugins/list.txt) \
@srcdir@/en-US/searchplugins/list.txt ) )
tmp-search.jar.mn::
printf "$(AB_CD).jar:" > $@
printf "$(foreach plugin,$(SEARCH_PLUGINS),$(subst __PLUGIN_SUBST__,$(plugin), \n locale/$(AB_CD)/browser/searchplugins/__PLUGIN_SUBST__.xml (__PLUGIN_SUBST__.xml)))" >> $@
@echo >> $@
searchplugins: tmp-search.jar.mn
$(PYTHON) $(MOZILLA_DIR)/config/JarMaker.py \
$(QUIET) -j $(FINAL_TARGET)/chrome \
-s $(topsrcdir)/$(relativesrcdir)/en-US/searchplugins \
-s $(LOCALE_SRCDIR)/searchplugins \
$(MAKE_JARS_FLAGS) tmp-search.jar.mn
export:: searchplugins
GARBAGE += tmp-search.jar.mn
include $(topsrcdir)/config/rules.mk
libs-%:
$(NSINSTALL) -D $(DIST)/install
@$(MAKE) -C $(DEPTH)/toolkit/locales libs-$* BOTH_MANIFESTS=1
@$(MAKE) -C $(DEPTH)/services/sync/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
@$(MAKE) -C $(DEPTH)/intl/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
@$(MAKE) -B bookmarks.json AB_CD=$*
@$(MAKE) -B searchplugins AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=defaults/pref BOTH_MANIFESTS=1
@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
# Tailored target to just add the chrome processing for multi-locale builds
chrome-%:
@$(MAKE) -C $(DEPTH)/toolkit/locales chrome-$*
@$(MAKE) -C $(DEPTH)/services/sync/locales chrome AB_CD=$*
@$(MAKE) -B bookmarks.json AB_CD=$*
@$(MAKE) -B searchplugins AB_CD=$*
@$(MAKE) chrome AB_CD=$*
@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales chrome AB_CD=$*
NO_JA_JP_MAC_AB_CD := $(if $(filter ja-JP-mac, $(AB_CD)),ja,$(AB_CD))
bookmarks.json: bookmarks.inc generic/profile/bookmarks.json.in
$(PYTHON) $(topsrcdir)/config/Preprocessor.py \
-I $< \
-DAB_CD=$(NO_JA_JP_MAC_AB_CD) \
$(srcdir)/generic/profile/bookmarks.json.in \
> $@
export:: bookmarks.json
GARBAGE += bookmarks.json

77
mobile/locales/filter.py Normal file
View File

@ -0,0 +1,77 @@
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla.
#
# The Initial Developer of the Original Code is
# Mozilla Foundation.
# Portions created by the Initial Developer are Copyright (C) 2009
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Axel Hecht <l10n@mozilla.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
"""This routine controls which localizable files and entries are
reported and l10n-merged.
It's common to all of mobile, mobile/android and mobile/xul, so
those three versions need to stay in sync.
"""
def test(mod, path, entity = None):
import re
# ignore anything but mobile, which is our local repo checkout name
if mod not in ("netwerk", "dom", "toolkit", "security/manager",
"services/sync", "mobile",
"mobile/android/base", "mobile/android",
"mobile/xul"):
return "ignore"
if mod not in ("mobile", "mobile/android", "mobile/xul"):
# we only have exceptions for mobile*
return "error"
if mod in ("mobile/android", "mobile/xul"):
if not entity:
if (re.match(r"mobile-l10n.js", path) or
re.match(r"defines.inc", path)):
return "ignore"
if path == "defines.inc":
if entity == "MOZ_LANGPACK_CONTRIBUTORS":
return "ignore"
return "error"
# we're in mod == "mobile"
if re.match(r"searchplugins\/.+\.xml", path):
return "ignore"
if path == "chrome/region.properties":
# only region.properties exceptions remain
if (re.match(r"browser\.search\.order\.[1-9]", entity) or
re.match(r"browser\.contentHandlers\.types\.[0-5]", entity) or
re.match(r"gecko\.handlerService\.schemes\.", entity) or
re.match(r"gecko\.handlerService\.defaultHandlersVersion", entity)):
return "ignore"
return "error"

15
mobile/locales/jar.mn Normal file
View File

@ -0,0 +1,15 @@
#filter substitution
@AB_CD@.jar:
% locale browser @AB_CD@ %locale/@AB_CD@/browser/
locale/@AB_CD@/browser/region.properties (%chrome/region.properties)
locale/@AB_CD@/browser/bookmarks.json (bookmarks.json)
locale/@AB_CD@/browser/searchplugins/list.txt (%searchplugins/list.txt)
# Fennec-specific overrides of generic strings
* locale/@AB_CD@/browser/netError.dtd (%overrides/netError.dtd)
% override chrome://global/locale/netError.dtd chrome://browser/locale/netError.dtd
* locale/@AB_CD@/browser/appstrings.properties (%overrides/appstrings.properties)
% override chrome://global/locale/appstrings.properties chrome://browser/locale/appstrings.properties
* locale/@AB_CD@/browser/passwordmgr.properties (%overrides/passwordmgr.properties)
% override chrome://passwordmgr/locale/passwordmgr.properties chrome://browser/locale/passwordmgr.properties

16
mobile/locales/l10n.ini Normal file
View File

@ -0,0 +1,16 @@
# Control which directories and modules are part of mobile
# on the l10n dashboard.
# Changes here should be triggered by changes in either
# mobile/android/locales/l10n.ini or mobile/xul/locales/l10n.ini.
[general]
depth = ../..
all = mobile/android/locales/all-locales
[compare]
dirs = mobile mobile/android mobile/android/base mobile/xul
[includes]
toolkit = toolkit/locales/l10n.ini
services_sync = services/sync/locales/l10n.ini
embedding_android = embedding/android/locales/l10n.ini

View File

@ -43,7 +43,7 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
DIRS = chrome locales components modules themes/core app
DIRS = ../locales chrome locales components modules themes/core app
ifndef LIBXUL_SDK
PARALLEL_DIRS += $(DEPTH)/xulrunner/tools/redit

View File

@ -45,14 +45,6 @@ relativesrcdir = mobile/xul/locales
include $(DEPTH)/config/autoconf.mk
include $(topsrcdir)/config/config.mk
ifdef LOCALE_MERGEDIR
vpath book%.inc $(LOCALE_MERGEDIR)/mobile/profile
endif
vpath book%.inc $(LOCALE_SRCDIR)/profile
ifdef LOCALE_MERGEDIR
vpath book%.inc @srcdir@/en-US/profile
endif
ifdef LOCALE_MERGEDIR
vpath crashreporter%.ini $(LOCALE_MERGEDIR)/mobile/crashreporter
endif
@ -74,26 +66,6 @@ PREF_JS_EXPORTS = $(firstword $(wildcard $(LOCALE_SRCDIR)/mobile-l10n.js) \
DEB_BUILD_ARCH = $(shell dpkg-architecture -qDEB_BUILD_ARCH)
DATASTAGE = $(CURDIR)/data-stage
SEARCH_PLUGINS = $(shell cat \
$(firstword $(wildcard $(LOCALE_SRCDIR)/searchplugins/list.txt) \
@srcdir@/en-US/searchplugins/list.txt ) )
tmp-search.jar.mn::
printf "$(AB_CD).jar:" > $@
printf "$(foreach plugin,$(SEARCH_PLUGINS),$(subst __PLUGIN_SUBST__,$(plugin), \n locale/$(AB_CD)/browser/searchplugins/__PLUGIN_SUBST__.xml (__PLUGIN_SUBST__.xml)))" >> $@
@echo >> $@
searchplugins: tmp-search.jar.mn
$(PYTHON) $(MOZILLA_DIR)/config/JarMaker.py \
$(QUIET) -j $(FINAL_TARGET)/chrome \
-s $(topsrcdir)/$(relativesrcdir)/en-US/searchplugins \
-s $(LOCALE_SRCDIR)/searchplugins \
$(MAKE_JARS_FLAGS) tmp-search.jar.mn
export:: searchplugins
GARBAGE += tmp-search.jar.mn
include $(topsrcdir)/config/rules.mk
include $(topsrcdir)/toolkit/locales/l10n.mk
@ -108,23 +80,13 @@ clobber-zip:
$(STAGEDIST)/chrome/$(AB_CD)
libs-%:
$(NSINSTALL) -D $(DIST)/install
@$(MAKE) -C ../../toolkit/locales libs-$* BOTH_MANIFESTS=1
@$(MAKE) -C ../../services/sync/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
@$(MAKE) -C ../../intl/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
@$(MAKE) -B bookmarks.json AB_CD=$*
@$(MAKE) -B searchplugins AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) -C $(DEPTH)/mobile/locales libs-$* BOTH_MANIFESTS=1
@$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=defaults/preferences BOTH_MANIFESTS=1
@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
# Tailored target to just add the chrome processing for multi-locale builds
chrome-%:
@$(MAKE) -C $(DEPTH)/toolkit/locales chrome-$*
@$(MAKE) -C $(DEPTH)/services/sync/locales chrome AB_CD=$*
@$(MAKE) -B bookmarks.json AB_CD=$*
@$(MAKE) -B searchplugins AB_CD=$*
@$(MAKE) -C $(DEPTH)/mobile/locales chrome-$*
@$(MAKE) chrome AB_CD=$*
@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales chrome AB_CD=$*
ifeq ($(OS_TARGET),Android)
@$(MAKE) -C $(DEPTH)/embedding/android chrome AB_CD=$*
endif
@ -135,17 +97,6 @@ endif
installers-%: clobber-% langpack-% repackage-zip-%
@echo "repackaging done"
NO_JA_JP_MAC_AB_CD := $(if $(filter ja-JP-mac, $(AB_CD)),ja,$(AB_CD))
bookmarks.json: bookmarks.inc generic/profile/bookmarks.json.in
$(PYTHON) $(topsrcdir)/config/Preprocessor.py \
-I $< \
-DAB_CD=$(NO_JA_JP_MAC_AB_CD) \
$(srcdir)/generic/profile/bookmarks.json.in \
> $@
export:: bookmarks.json
ifdef MOZ_UPDATER
ifdef LOCALE_MERGEDIR
UPDATER_INI := $(firstword $(wildcard $(LOCALE_MERGEDIR)/updater/updater.ini) \

View File

@ -1,68 +0,0 @@
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either of the GNU General Public License Version 2 or later (the "GPL"),
# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
malformedURI=The URL is not valid and cannot be loaded.
fileNotFound=Firefox can't find the file at %S.
dnsNotFound=Firefox can't find the server at %S.
protocolNotFound=Firefox doesn't know how to open this address, because the protocol (%S) isn't associated with any program.
connectionFailure=Firefox can't establish a connection to the server at %S.
netInterrupt=The connection to %S was interrupted while the page was loading.
netTimeout=The server at %S is taking too long to respond.
redirectLoop=Firefox has detected that the server is redirecting the request for this address in a way that will never complete.
## LOCALIZATION NOTE (confirmRepostPrompt): In this item, don't translate "%S"
confirmRepostPrompt=To display this page, %S must send information that will repeat any action (such as a search or order confirmation) that was performed earlier.
resendButton.label=Resend
unknownSocketType=Firefox doesn't know how to communicate with the server.
netReset=The connection to the server was reset while the page was loading.
notCached=This document is no longer available.
netOffline=Firefox is currently in offline mode and can't browse the Web.
isprinting=The document cannot change while Printing or in Print Preview.
deniedPortAccess=This address uses a network port which is normally used for purposes other than Web browsing. Firefox has canceled the request for your protection.
proxyResolveFailure=Firefox is configured to use a proxy server that can't be found.
proxyConnectFailure=Firefox is configured to use a proxy server that is refusing connections.
contentEncodingError=The page you are trying to view cannot be shown because it uses an invalid or unsupported form of compression.
unsafeContentType=The page you are trying to view cannot be shown because it is contained in a file type that may not be safe to open. Please contact the website owners to inform them of this problem.
externalProtocolTitle=External Protocol Request
externalProtocolPrompt=An external application must be launched to handle %1$S: links.\n\n\nRequested link:\n\n%2$S\n\nApplication: %3$S\n\n\nIf you were not expecting this request it may be an attempt to exploit a weakness in that other program. Cancel this request unless you are sure it is not malicious.\n
#LOCALIZATION NOTE (externalProtocolUnknown): The following string is shown if the application name can't be determined
externalProtocolUnknown=<Unknown>
externalProtocolChkMsg=Remember my choice for all links of this type.
externalProtocolLaunchBtn=Launch application
malwareBlocked=The site at %S has been reported as an attack site and has been blocked based on your security preferences.
phishingBlocked=The website at %S has been reported as a web forgery designed to trick users into sharing personal or financial information.
cspFrameAncestorBlocked=This page has a content security policy that prevents it from being embedded in this way.
corruptedContentError=The page you are trying to view cannot be shown because an error in the data transmission was detected.
remoteXUL=This page uses an unsupported technology that is no longer available by default in Firefox.

View File

@ -1,172 +0,0 @@
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY loadError.label "Problem loading page">
<!ENTITY retry.label "Try Again">
<!-- Specific error messages -->
<!ENTITY connectionFailure.title "Unable to connect">
<!ENTITY connectionFailure.longDesc "&sharedLongDesc2;">
<!ENTITY deniedPortAccess.title "This address is restricted">
<!ENTITY deniedPortAccess.longDesc "">
<!ENTITY dnsNotFound.title "Server not found">
<!ENTITY dnsNotFound.longDesc2 "
<ul>
<li>Check the address for typing errors such as
<strong>ww</strong>.example.com instead of
<strong>www</strong>.example.com</li>
<li>If you are unable to load any pages, check your device's data or Wi-Fi connection.</li>
</ul>
">
<!ENTITY fileNotFound.title "File not found">
<!ENTITY fileNotFound.longDesc "
<ul>
<li>Check the file name for capitalization or other typing errors.</li>
<li>Check to see if the file was moved, renamed or deleted.</li>
</ul>
">
<!ENTITY generic.title "Oops.">
<!ENTITY generic.longDesc "
<p>&brandShortName; can't load this page for some reason.</p>
">
<!ENTITY malformedURI.title "The address isn't valid">
<!ENTITY malformedURI.longDesc "
<ul>
<li>Web addresses are usually written like
<strong>http://www.example.com/</strong></li>
<li>Make sure that you're using forward slashes (i.e.
<strong>/</strong>).</li>
</ul>
">
<!ENTITY netInterrupt.title "The connection was interrupted">
<!ENTITY netInterrupt.longDesc "&sharedLongDesc2;">
<!ENTITY notCached.title "Document Expired">
<!ENTITY notCached.longDesc "<p>The requested document is not available in &brandShortName;'s cache.</p><ul><li>As a security precaution, &brandShortName; does not automatically re-request sensitive documents.</li><li>Click Try Again to re-request the document from the website.</li></ul>">
<!ENTITY netOffline.title "Offline mode">
<!ENTITY netOffline.longDesc2 "
<ul>
<li>Try again. &brandShortName; will attempt to open a connection and reload the page.</li>
</ul>
">
<!ENTITY contentEncodingError.title "Content Encoding Error">
<!ENTITY contentEncodingError.longDesc "
<ul>
<li>Please contact the website owners to inform them of this problem.</li>
</ul>
">
<!ENTITY unsafeContentType.title "Unsafe File Type">
<!ENTITY unsafeContentType.longDesc "
<ul>
<li>Please contact the website owners to inform them of this problem.</li>
</ul>
">
<!ENTITY netReset.title "The connection was reset">
<!ENTITY netReset.longDesc "&sharedLongDesc2;">
<!ENTITY netTimeout.title "The connection has timed out">
<!ENTITY netTimeout.longDesc "&sharedLongDesc2;">
<!ENTITY protocolNotFound.title "The address wasn't understood">
<!ENTITY protocolNotFound.longDesc "
<ul>
<li>You might need to install other software to open this address.</li>
</ul>
">
<!ENTITY proxyConnectFailure.title "The proxy server is refusing connections">
<!ENTITY proxyConnectFailure.longDesc "
<ul>
<li>Check the proxy settings to make sure that they are correct.</li>
<li>Contact your network administrator to make sure the proxy server is
working.</li>
</ul>
">
<!ENTITY proxyResolveFailure.title "Unable to find the proxy server">
<!ENTITY proxyResolveFailure.longDesc2 "
<ul>
<li>Check the proxy settings to make sure that they are correct.</li>
<li>Check to make sure your device has a working data or Wi-Fi connection.</li>
</ul>
">
<!ENTITY redirectLoop.title "The page isn't redirecting properly">
<!ENTITY redirectLoop.longDesc "
<ul>
<li>This problem can sometimes be caused by disabling or refusing to accept
cookies.</li>
</ul>
">
<!ENTITY unknownSocketType.title "Unexpected response from server">
<!ENTITY unknownSocketType.longDesc "
<ul>
<li>Check to make sure your system has the Personal Security Manager
installed.</li>
<li>This might be due to a non-standard configuration on the server.</li>
</ul>
">
<!ENTITY nssFailure2.title "Secure Connection Failed">
<!ENTITY nssFailure2.longDesc "
<ul>
<li>The page you are trying to view can not be shown because the authenticity of the received data could not be verified.</li>
<li>Please contact the website owners to inform them of this problem. Alternatively, use the command found in the help menu to report this broken site.</li>
</ul>
">
<!ENTITY nssBadCert.title "Secure Connection Failed">
<!ENTITY nssBadCert.longDesc2 "
<ul>
<li>This could be a problem with the server's configuration, or it could be
someone trying to impersonate the server.</li>
<li>If you have connected to this server successfully in the past, the error may
be temporary, and you can try again later.</li>
</ul>
">
<!ENTITY sharedLongDesc2 "
<ul>
<li>The site could be temporarily unavailable or too busy. Try again in a few moments.</li>
<li>If you are unable to load any pages, check your mobile device's data or Wi-Fi connection.</li>
</ul>
">
<!ENTITY cspFrameAncestorBlocked.title "Blocked by Content Security Policy">
<!ENTITY cspFrameAncestorBlocked.longDesc "<p>&brandShortName; prevented this page from loading in this way because the page has a content security policy that disallows it.</p>">
<!ENTITY corruptedContentError.title "Corrupted Content Error">
<!ENTITY corruptedContentError.longDesc "<p>The page you are trying to view cannot be shown because an error in the data transmission was detected.</p><ul><li>Please contact the website owners to inform them of this problem.</li></ul>">
<!ENTITY securityOverride.linkText "Or you can add an exception…">
<!ENTITY securityOverride.getMeOutOfHereButton "Get me out of here!">
<!ENTITY securityOverride.exceptionButtonLabel "Add Exception…">
<!-- LOCALIZATION NOTE (securityOverride.warningContent) - Do not translate the
contents of the <xul:button> tags. The only language content is the label= field,
which uses strings already defined above. The button is included here (instead of
netError.xhtml) because it exposes functionality specific to firefox. -->
<!ENTITY securityOverride.warningContent "
<p>You should not add an exception if you are using an internet connection that you do not trust completely or if you are not used to seeing a warning for this server.</p>
<button id='getMeOutOfHereButton'>&securityOverride.getMeOutOfHereButton;</button>
<button id='exceptionDialogButton'>&securityOverride.exceptionButtonLabel;</button>
">
<!ENTITY remoteXUL.title "Remote XUL">
<!ENTITY remoteXUL.longDesc "<p><ul><li>Please contact the website owners to inform them of this problem.</li></ul></p>">

View File

@ -1,72 +0,0 @@
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Password Manager.
#
# The Initial Developer of the Original Code is
# Brian Ryner.
# Portions created by the Initial Developer are Copyright (C) 2003
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Brian Ryner <bryner@brianryner.com>
# Ehsan Akhgari <ehsan.akhgari@gmail.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
rememberValue = Use Password Manager to remember this value.
rememberPassword = Use Password Manager to remember this password.
savePasswordTitle = Confirm
# 1st string is product name, 2nd is the username for the login, 3rd is the
# login's hostname. Note that long usernames may be truncated.
saveLoginText = Do you want %1$S to remember the password for "%2$S" on %3$S?
# 1st string is product name, 2nd is the login's hostname
saveLoginTextNoUsername = Do you want %1$S to remember this password on %2$S?
notNowButtonText = &Not Now
notifyBarNotNowButtonText = Not Now
notifyBarNotNowButtonAccessKey =
neverForSiteButtonText = Ne&ver for This Site
notifyBarNeverForSiteButtonText = Never
notifyBarNeverForSiteButtonAccessKey =
rememberButtonText = &Remember
notifyBarRememberButtonText = Remember
notifyBarRememberButtonAccessKey =
passwordChangeTitle = Confirm Password Change
passwordChangeText = Would you like to change the stored password for %S?
passwordChangeTextNoUser = Would you like to change the stored password for this login?
notifyBarChangeButtonText = Change
notifyBarChangeButtonAccessKey =
notifyBarDontChangeButtonText = Don't Change
notifyBarDontChangeButtonAccessKey =
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
loginsSpielAll=Passwords for the following sites are stored on your computer:
loginsSpielFiltered=The following passwords match your search:

View File

@ -1,32 +0,0 @@
# Default search engine
browser.search.defaultenginename=Google
# Search engine order (order displayed in the search bar dropdown)s
browser.search.order.1=Google
# This is the default set of web based feed handlers shown in the reader
# selection UI
browser.contentHandlers.types.0.title=My Yahoo
browser.contentHandlers.types.0.uri=http://add.my.yahoo.com/rss?url=%s
browser.contentHandlers.types.1.title=Google
browser.contentHandlers.types.1.uri=http://fusion.google.com/add?feedurl=%s
# Keyword URL (for location bar searches)
keyword.URL=http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=
# increment this number when anything gets changed in the list below. This will
# cause Firefox to re-read these prefs and inject any new handlers into the
# profile database. Note that "new" is defined as "has a different URL"; this
# means that it's not possible to update the name of existing handler, so
# don't make any spelling errors here.
gecko.handlerService.defaultHandlersVersion=2
# The default set of protocol handlers for webcal:
gecko.handlerService.schemes.webcal.0.name=30 Boxes
gecko.handlerService.schemes.webcal.0.uriTemplate=http://30boxes.com/external/widget?refer=ff&url=%s
# The default set of protocol handlers for mailto:
gecko.handlerService.schemes.mailto.0.name=Yahoo! Mail
gecko.handlerService.schemes.mailto.0.uriTemplate=http://compose.mail.yahoo.com/?To=%s
gecko.handlerService.schemes.mailto.1.name=Gmail
gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s

View File

@ -1,17 +0,0 @@
; This file is in the UTF-8 encoding
[Strings]
AppShortName=%MOZ_APP_DISPLAYNAME%
AppLongName=Mozilla %MOZ_APP_DISPLAYNAME%
WindowCaption=Mozilla %MOZ_APP_DISPLAYNAME% Setup
InstallTo=Install %MOZ_APP_DISPLAYNAME% to
Install=Install
Cancel=Cancel
InstalledSuccessfully=Mozilla %MOZ_APP_DISPLAYNAME% has been installed successfully.
ExtractionError=Archive extraction error:
ThereWereErrors=There were errors during installation:
CreatingUserProfile=Creating user profile. Please wait...
UninstallCaption=Mozilla %MOZ_APP_DISPLAYNAME% Uninstall
FilesWillBeRemoved=All files will be removed from
AreYouSure=Are you sure?
InstallationNotFound=Mozilla %MOZ_APP_DISPLAYNAME% installation not found.
UninstalledSuccessfully=Mozilla %MOZ_APP_DISPLAYNAME% has been uninstalled successfully.

View File

@ -1,30 +0,0 @@
#filter emptyLines
# LOCALIZATION NOTE: The 'en-US' strings in the URLs will be replaced with
# your locale code, and link to your translated pages as soon as they're
# live.
# LOCALIZATION NOTE: Some of these URLs are currently 404s, but should be coming
# online shortly.
# LOCALIZATION NOTE (bookmarks_title):
# title for the folder that will contains the default bookmarks
#define bookmarks_title Mobile
# LOCALIZATION NOTE (bookmarks_aboutBrowser):
# link title for about:fennec
#define bookmarks_aboutBrowser Firefox: About your browser
# LOCALIZATION NOTE (bookmarks_addons):
# link title for https://addons.mozilla.org/en-US/mobile
#define bookmarks_addons Firefox: Customize with add-ons
# LOCALIZATION NOTE (bookmarks_support):
# link title for https://support.mozilla.com/mobile
#define bookmarks_support Firefox: Support
# LOCALIZATION NOTE (bookmarks_aboutHome):
# link title for about:home
#define bookmarks_aboutHome Firefox Start
#unfilter emptyLines

View File

@ -1,12 +0,0 @@
<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
<ShortName>Amazon.com</ShortName>
<InputEncoding>ISO-8859-1</InputEncoding>
<Image width="16" height="16">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZJREFUeNrEV01IFGEYfndXNzq0QdalJOoUbQiBUuopD2k/GFSG/Vxyq0OHbCUjwn7AEooUzUNRkdkhS1o9JBVaUDctKqhoRQi0WjtlxG6XVtfpfb6Z2caZ2ZnZXZdeeJxvx+973+f9+775XJIkkUaWMcoYG5TxfMpvxlvGMGM8+RYEFOxn/JJyLzOMiwwv7LqUCNQwHjpxIxKJ0Gg4LABZUVhIfr+f1jLSlNuMwyCwEHoZS6xmvxoZoc6Oq+JpJoVMpOncWdpcWZkOiRIQ2MKDp1az+kIhOtV40pHG6zdvpEOixc1/VtqFvKX5gmOX0pkL2yDgsZpxt+sORaPROe8Q6ncf3tPAk8eG3Ks14lA8brsZYZ2yukBAwOfzCeMHA3WGNXrCVpLnJKeqRyhAfX5RfNmILQF4urG0VIzxBBkU5aQI9agIeU4JqNLZ0UH9ob6sDWZE4MDefSn7P1txO/FcbxypQG18nhinew/u5zYC3dyG+qLL1qjjCKDg9C21q2a3oe9zRsCsn2PR2JzfKEy9PB96Nj8E0IJm54IaGZwPZsWJOU4jY1kD2OlAQhsJjKu3bSe7yPUzifpgMPsuOBY8brtR1evmyFt0IL0IzH4fJtcCH7kK1hn2/hh71G1yKKEdz/DBBIOTkUkRemzVl1uvCGKzE4OMIaFbiv1LSX51L7mXl4kxvgeO8vMaJk0PHiHvjl4DCTWs2lMOX0L6cwD/Bxlp6hNNv2gUT9MjsLiB8koaMOxJRgCMgPijWsqvaCP3qqqUZ4JVzUASYyFyL/WTqyggPxWH4qGtBlJzagCGIYjEzJv2zHe38vOUt6mNPGv20OyPMMV7yuVwL5IjBlLmRej1UX7VLdmLt+2CMVKTiSDn0wO1NPPyBOtdLL+MyzWkTbGhC5AGsBdKkEtWAjglgjUwCq/FGjhV0ZosdOhXI5FyH0DoIIK9slB0CS8UCgr8AlpvpamwqHpttcO4WtSqA57ioKENE05IqIYSY46uD4Is0qmGG2s9RYeS7adI3Paz3K6lTMmzIdFmXp/d1Gb1YvLF7i4IzxMfu1ITYWOe1VWix7U5tlKpXkzwYycONqfVLcW+cU7lQ0jePf360DqRS4zT/+Ny+ofRxPBoL6fa6zmu5uvtbkwZyE/lev6a8VV9+VeAAQADg36zc4GRNAAAAABJRU5ErkJggg==</Image>
<Url type="text/html" method="GET" template="http://www.amazon.com/exec/obidos/external-search/">
<Param name="field-keywords" value="{searchTerms}"/>
<Param name="mode" value="blended"/>
<Param name="tag" value="mozilla-20"/>
<Param name="sourceid" value="Mozilla-search"/>
</Url>
<SearchForm>http://www.amazon.com/</SearchForm>
</SearchPlugin>

View File

@ -1,15 +0,0 @@
<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
<ShortName>Google</ShortName>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16">data:image/png;base64,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</Image>
<Url type="application/x-suggestions+json" method="GET" template="http://suggestqueries.google.com/complete/search?output=firefox&amp;client=firefox&amp;hl={moz:locale}&amp;q={searchTerms}"/>
<Url type="text/html" method="GET" template="http://www.google.com/m">
<Param name="q" value="{searchTerms}"/>
<Param name="ie" value="utf-8"/>
<Param name="oe" value="utf-8"/>
<Param name="aq" value="t"/>
<!-- Dynamic parameters -->
<Param name="rls" value="{moz:distributionID}:{moz:locale}:{moz:official}"/>
</Url>
<SearchForm>http://www.google.com/m</SearchForm>
</SearchPlugin>

View File

@ -1,4 +0,0 @@
amazondotcom
google
twitter
wikipedia

File diff suppressed because one or more lines are too long

View File

@ -1,14 +0,0 @@
<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
<ShortName>Wikipedia</ShortName>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAACXBIWXMAAAsTAAALEwEAmpwYAAADGGlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjaY2BgnuDo4uTKJMDAUFBUUuQe5BgZERmlwH6egY2BmYGBgYGBITG5uMAxIMCHgYGBIS8/L5UBFTAyMHy7xsDIwMDAcFnX0cXJlYE0wJpcUFTCwMBwgIGBwSgltTiZgYHhCwMDQ3p5SUEJAwNjDAMDg0hSdkEJAwNjAQMDg0h2SJAzAwNjCwMDE09JakUJAwMDg3N+QWVRZnpGiYKhpaWlgmNKflKqQnBlcUlqbrGCZ15yflFBflFiSWoKAwMD1A4GBgYGXpf8EgX3xMw8BSMDVQYqg4jIKAUICxE+CDEESC4tKoMHJQODAIMCgwGDA0MAQyJDPcMChqMMbxjFGV0YSxlXMN5jEmMKYprAdIFZmDmSeSHzGxZLlg6WW6x6rK2s99gs2aaxfWMPZ9/NocTRxfGFM5HzApcj1xZuTe4FPFI8U3mFeCfxCfNN45fhXyygI7BD0FXwilCq0A/hXhEVkb2i4aJfxCaJG4lfkaiQlJM8JpUvLS19QqZMVl32llyfvIv8H4WtioVKekpvldeqFKiaqP5UO6jepRGqqaT5QeuA9iSdVF0rPUG9V/pHDBYY1hrFGNuayJsym740u2C+02KJ5QSrOutcmzjbQDtXe2sHY0cdJzVnJRcFV3k3BXdlD3VPXS8Tbxsfd99gvwT//ID6wIlBS4N3hVwMfRnOFCEXaRUVEV0RMzN2T9yDBLZE3aSw5IaUNak30zkyLDIzs+ZmX8xlz7PPryjYVPiuWLskq3RV2ZsK/cqSql01jLVedVPrHzbqNdU0n22VaytsP9op3VXUfbpXta+x/+5Em0mzJ/+dGj/t8AyNmf2zvs9JmHt6vvmCpYtEFrcu+bYsc/m9lSGrTq9xWbtvveWGbZtMNm/ZarJt+w6rnft3u+45uy9s/4ODOYd+Hmk/Jn58xUnrU+fOJJ/9dX7SRe1LR68kXv13fc5Nm1t379TfU75/4mHeY7En+59lvhB5efB1/lv5dxc+NH0y/fzq64Lv4T8Ffp360/rP8f9/AA0ADzT6lvFdAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAHqSURBVHjapJUxb9NQFIW/JAip2xNS1/J+goeqUqeajdGVmFgwI1OcmYEgITFG7EgJQ+b2HzgbElJF+QU2iBl7YAFRnQ5+fnFcB0J8Jp/r53vPu+f6vYEA4JBTTjhkN/zkio9kAAihpyr1v/ijN7ovEHqiffFeDHTAdx6wL46HnPX4HM6HHNEHR0NGvRKMhvRE7wT3ACYssBggpyThIRMCAFaEzHhOiQWumfGFBQGQY0kB9EKSCsVCyKpQxUMhdOEMj4Vi91wIGX2uyNJtwTDHAgbjOUBJ/T50ETDAzCn0CiRpLkSd2VW1rqZR6uOpzHoWl40EkmkIlTIhNJc0bUSlSNNtCaZCKGtpyDZimXB92uhBhTEAHzx/BuQ8Isb62Dti16c7PahrNnbovFhXLGQaau4oqDSULDx/BcCl55cEDTUdCqqagWcXbjpqWD8ZWxRUGq5ZOTYhAXLHV0DU/qCtQLJCkZuM0PHQGThvL152JJh5M61SP2CpMpmmgdsTFDJCiaaubq0haQ7Q3xLUZq4NqzS0DNzWxNq8ksgbFmGgwf95oFgijJuB6v9L3Fx2HSg3XeExZxv1xuSEXQt/o8fqg9cDHfB15zuxjRuOETrfu/5b9bhcf+mlRmLgr/cTgp1vqR9c8YlvALcDAPr5jIx+4LKcAAAAAElFTkSuQmCC</Image>
<Url type="application/x-suggestions+json" method="GET" template="http://en.wikipedia.org/w/api.php">
<Param name="action" value="opensearch"/>
<Param name="search" value="{searchTerms}"/>
</Url>
<Url type="text/html" method="GET" template="http://en.m.wikipedia.org/wiki">
<Param name="search" value="{searchTerms}"/>
<Param name="sourceid" value="Mozilla-search"/>
</Url>
<SearchForm>http://en.wikipedia.org/wiki/Special:Search</SearchForm>
</SearchPlugin>

File diff suppressed because one or more lines are too long

View File

@ -35,30 +35,43 @@
#
# ***** END LICENSE BLOCK *****
"""This routine controls which localizable files and entries are
reported and l10n-merged.
It's common to all of mobile, mobile/android and mobile/xul, so
those three versions need to stay in sync.
"""
def test(mod, path, entity = None):
import re
# ignore anything but mobile, which is our local repo checkout name
if mod not in ("netwerk", "dom", "toolkit", "security/manager",
"services/sync", "embedding/android",
"services/sync", "mobile",
"mobile/android/base", "mobile/android",
"mobile/xul"):
return False
return "ignore"
if mod != "mobile/xul":
# we only have exceptions for mobile
return True
if not entity:
return not (re.match(r"searchplugins\/.+\.xml", path) or
re.match(r"mobile-l10n.js", path) or
re.match(r"defines.inc", path))
if path == "defines.inc":
return entity != "MOZ_LANGPACK_CONTRIBUTORS"
if mod not in ("mobile", "mobile/android", "mobile/xul"):
# we only have exceptions for mobile*
return "error"
if mod in ("mobile/android", "mobile/xul"):
if not entity:
if (re.match(r"mobile-l10n.js", path) or
re.match(r"defines.inc", path)):
return "ignore"
if path == "defines.inc":
if entity == "MOZ_LANGPACK_CONTRIBUTORS":
return "ignore"
return "error"
if path != "chrome/region.properties":
# only region.properties exceptions remain, compare all others
return True
return not (re.match(r"browser\.search\.order\.[1-9]", entity) or
re.match(r"browser\.contentHandlers\.types\.[0-5]", entity) or
re.match(r"gecko\.handlerService\.schemes\.", entity) or
re.match(r"gecko\.handlerService\.defaultHandlersVersion", entity))
# we're in mod == "mobile"
if re.match(r"searchplugins\/.+\.xml", path):
return "ignore"
if path == "chrome/region.properties":
# only region.properties exceptions remain
if (re.match(r"browser\.search\.order\.[1-9]", entity) or
re.match(r"browser\.contentHandlers\.types\.[0-5]", entity) or
re.match(r"gecko\.handlerService\.schemes\.", entity) or
re.match(r"gecko\.handlerService\.defaultHandlersVersion", entity)):
return "ignore"
return "error"

View File

@ -9,7 +9,6 @@
locale/@AB_CD@/browser/browser.properties (%chrome/browser.properties)
locale/@AB_CD@/browser/config.dtd (%chrome/config.dtd)
locale/@AB_CD@/browser/localepicker.properties (%chrome/localepicker.properties)
locale/@AB_CD@/browser/region.properties (%chrome/region.properties)
locale/@AB_CD@/browser/preferences.dtd (%chrome/preferences.dtd)
locale/@AB_CD@/browser/checkbox.dtd (%chrome/checkbox.dtd)
locale/@AB_CD@/browser/notification.dtd (%chrome/notification.dtd)
@ -19,13 +18,3 @@
locale/@AB_CD@/browser/webapps.dtd (%chrome/webapps.dtd)
locale/@AB_CD@/browser/feedback.dtd (%chrome/feedback.dtd)
locale/@AB_CD@/browser/phishing.dtd (%chrome/phishing.dtd)
locale/@AB_CD@/browser/bookmarks.json (bookmarks.json)
locale/@AB_CD@/browser/searchplugins/list.txt (%searchplugins/list.txt)
# Fennec-specific overrides of generic strings
* locale/@AB_CD@/browser/netError.dtd (%chrome/overrides/netError.dtd)
% override chrome://global/locale/netError.dtd chrome://browser/locale/netError.dtd
* locale/@AB_CD@/browser/appstrings.properties (%chrome/overrides/appstrings.properties)
% override chrome://global/locale/appstrings.properties chrome://browser/locale/appstrings.properties
* locale/@AB_CD@/browser/passwordmgr.properties (%chrome/overrides/passwordmgr.properties)
% override chrome://passwordmgr/locale/passwordmgr.properties chrome://browser/locale/passwordmgr.properties

View File

@ -1,3 +1,7 @@
# Control which directories and modules are part of mobile/xul.
# Changes here should be reflected in mobile/locales/l10n.ini so
# that the dashboard picks them up.
[general]
depth = ../../..
all = mobile/xul/locales/all-locales