diff options
Diffstat (limited to 'mobile/android/locales')
-rw-r--r-- | mobile/android/locales/Makefile.in | 82 | ||||
-rw-r--r-- | mobile/android/locales/all-locales | 98 | ||||
-rw-r--r-- | mobile/android/locales/en-US/chrome/browser.properties | 477 | ||||
-rw-r--r-- | mobile/android/locales/en-US/chrome/config.dtd | 21 | ||||
-rw-r--r-- | mobile/android/locales/en-US/chrome/config.properties | 9 | ||||
-rw-r--r-- | mobile/android/locales/en-US/chrome/passwordmgr.properties | 22 | ||||
-rw-r--r-- | mobile/android/locales/en-US/defines.inc | 12 | ||||
-rw-r--r-- | mobile/android/locales/en-US/mobile-l10n.js | 9 | ||||
-rw-r--r-- | mobile/android/locales/filter.py | 87 | ||||
-rw-r--r-- | mobile/android/locales/jar.mn | 62 | ||||
-rw-r--r-- | mobile/android/locales/l10n.ini | 18 | ||||
-rw-r--r-- | mobile/android/locales/l10n.toml | 256 | ||||
-rw-r--r-- | mobile/android/locales/maemo-locales | 91 | ||||
-rw-r--r-- | mobile/android/locales/moz.build | 10 |
14 files changed, 1254 insertions, 0 deletions
diff --git a/mobile/android/locales/Makefile.in b/mobile/android/locales/Makefile.in new file mode 100644 index 0000000000..e205bc8d31 --- /dev/null +++ b/mobile/android/locales/Makefile.in @@ -0,0 +1,82 @@ +# 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=$* + +langpack: langpack-$(AB_CD) + +# This is a generic target that will make a langpack and repack tarball +# builds. It is called from the tinderbox scripts. Alter it with caution. + +installers-%: IS_LANGUAGE_REPACK=1 +installers-%: + $(MAKE) clobber-stage + $(MAKE) l10n-$* + $(MAKE) package-langpack-$* + $(MAKE) repackage-zip-$* + @echo 'repackaging done' + +# 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..3c91d32b5f --- /dev/null +++ b/mobile/android/locales/en-US/chrome/browser.properties @@ -0,0 +1,477 @@ +# 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/. + +addonsConfirmInstall.title=Installing Add-on +addonsConfirmInstall.install=Install + +addonsConfirmInstallUnsigned.title=Unverified add-on +addonsConfirmInstallUnsigned.message=This site would like to install an unverified add-on. Proceed at your own risk. + +# Alerts +alertAddonsDownloading=Downloading add-on +alertAddonsInstalledNoRestart.message=Installation complete + +# LOCALIZATION NOTE (alertAddonsInstalledNoRestart.action2): Ideally, this string is short (it's a +# button label) and upper-case, to match Google and Android's convention. +alertAddonsInstalledNoRestart.action2=ADD-ONS + +alertDownloadsStart2=Download starting +alertDownloadsDone2=Download complete +alertDownloadsToast=Download started… +alertDownloadsPause=Pause +alertDownloadsResume=Resume +alertDownloadsCancel=Cancel +# LOCALIZATION NOTE (alertDownloadSucceeded): This text is shown as a snackbar inside the app after a +# successful download. %S will be replaced by the file name of the download. +alertDownloadSucceeded=%S downloaded +# LOCALIZATION NOTE (downloads.disabledInGuest): This message appears in a toast +# when the user tries to download something in Guest mode. +downloads.disabledInGuest=Downloads are disabled in guest sessions + +# LOCALIZATION NOTE (alertSearchEngineAddedToast, alertSearchEngineErrorToast, alertSearchEngineDuplicateToast) +# %S will be replaced by the name of the search engine (exposed by the current page) +# that has been added; for example, 'Google'. +alertSearchEngineAddedToast='%S' has been added as a search engine +alertSearchEngineErrorToast=Couldn't add '%S' as a search engine +alertSearchEngineDuplicateToast='%S' is already one of your search engines + +# LOCALIZATION NOTE (alertShutdownSanitize): This text is shown as a snackbar during shutdown if the +# user has enabled "Clear private data on exit". +alertShutdownSanitize=Clearing private data… + +alertPrintjobToast=Printing… + +download.blocked=Unable to download file + +addonError.titleError=Error +addonError.titleBlocked=Blocked add-on +addonError.learnMore=Learn more + +# LOCALIZATION NOTE (unsignedAddonsDisabled.title, unsignedAddonsDisabled.message): +# These strings will appear in a dialog when Firefox detects that installed add-ons cannot be verified. +unsignedAddonsDisabled.title=Unverified add-ons +unsignedAddonsDisabled.message=One or more installed add-ons cannot be verified and have been disabled. +unsignedAddonsDisabled.dismiss=Dismiss +unsignedAddonsDisabled.viewAddons=View add-ons + +# LOCALIZATION NOTE (addonError-1, addonError-2, addonError-3, addonError-4, addonError-5): +# #1 is the add-on name, #2 is the add-on host, #3 is the application name +addonError-1=The add-on could not be downloaded because of a connection failure on #2. +addonError-2=The add-on from #2 could not be installed because it does not match the add-on #3 expected. +addonError-3=The add-on downloaded from #2 could not be installed because it appears to be corrupt. +addonError-4=#1 could not be installed because #3 cannot modify the needed file. +addonError-5=#3 has prevented #2 from installing an unverified add-on. + +# LOCALIZATION NOTE (addonLocalError-1, addonLocalError-2, addonLocalError-3, addonLocalError-4, addonLocalError-5, addonErrorIncompatible, addonErrorBlocklisted): +# #1 is the add-on name, #3 is the application name, #4 is the application version +addonLocalError-1=This add-on could not be installed because of a filesystem error. +addonLocalError-2=This add-on could not be installed because it does not match the add-on #3 expected. +addonLocalError-3=This add-on could not be installed because it appears to be corrupt. +addonLocalError-4=#1 could not be installed because #3 cannot modify the needed file. +addonLocalError-5=This add-on could not be installed because it has not been verified. +addonErrorIncompatible=#1 could not be installed because it is not compatible with #3 #4. +addonErrorBlocklisted=#1 could not be installed because it has a high risk of causing stability or security problems. + +# Notifications +notificationRestart.normal=Restart to complete changes. +notificationRestart.blocked=Unsafe add-ons installed. Restart to disable. +notificationRestart.button=Restart +doorhanger.learnMore=Learn more + +# Popup Blocker + +# LOCALIZATION NOTE (popup.message): Semicolon-separated list of plural forms. +# #1 is brandShortName and #2 is the number of pop-ups blocked. +popup.message=#1 prevented this site from opening a pop-up window. Would you like to show it?;#1 prevented this site from opening #2 pop-up windows. Would you like to show them? +popup.dontAskAgain=Don't ask again for this site +popup.show=Show +popup.dontShow=Don't show + +# SafeBrowsing +safeBrowsingDoorhanger=This site has been identified as containing malware or a phishing attempt. Be careful. + +# LOCALIZATION NOTE (blockPopups.label2): Label that will be used in +# site settings dialog. +blockPopups.label2=Popups + +# XPInstall +xpinstallPromptWarning2=%S prevented this site (%S) from asking you to install software on your device. +xpinstallPromptWarningLocal=%S prevented this add-on (%S) from installing on your device. +xpinstallPromptWarningDirect=%S prevented an add-on from installing on your device. +xpinstallPromptAllowButton=Allow +xpinstallDisabledMessageLocked=Software installation has been disabled by your system administrator. +xpinstallDisabledMessage2=Software installation is currently disabled. Press Enable and try again. +xpinstallDisabledButton=Enable + +# 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? + +# LOCALIZATION NOTE (webextPerms.listIntro) +# This string will be followed by a list of permissions requested +# by the webextension. +webextPerms.listIntro=It requires your permission to: +webextPerms.add.label=Add +webextPerms.cancel.label=Cancel + +# 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.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 + + +# Site Identity +identity.identified.verifier=Verified by: %S +identity.identified.verified_by_you=You have added a security exception for this site +identity.identified.state_and_country=%S, %S + +# Geolocation UI +geolocation.allow=Share +geolocation.dontAllow=Don't share +# LOCALIZATION NOTE (geolocation.location): Label that will be used in +# site settings dialog. +geolocation.location=Location + +# Desktop notification UI +desktopNotification2.allow=Always +desktopNotification2.dontAllow=Never +# LOCALIZATION NOTE (desktopNotification.notifications): Label that will be +# used in site settings dialog. +desktopNotification.notifications=Notifications + +# Imageblocking +imageblocking.downloadedImage=Image unblocked +imageblocking.showAllImages=Show All + +# New Tab Popup +# LOCALIZATION NOTE (newtabpopup, newprivatetabpopup): Semicolon-separated list of plural forms. +# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +# #1 number of tabs +newtabpopup.opened=New tab opened;#1 new tabs opened +newprivatetabpopup.opened=New private tab opened;#1 new private tabs opened + +# LOCALIZATION NOTE (newtabpopup.switch): Ideally, this string is short (it's a +# button label) and upper-case, to match Google and Android's convention. +newtabpopup.switch=SWITCH + +# Undo close tab toast +# LOCALIZATION NOTE (undoCloseToast.message): This message appears in a toast +# when the user closes a tab. %S is the title of the tab that was closed. +undoCloseToast.message=Closed %S + +# Private Tab closed message +# LOCALIZATION NOTE (privateClosedMessage.message): This message appears +# when the user closes a private tab. +privateClosedMessage.message=Closed Private Browsing + +# LOCALIZATION NOTE (undoCloseToast.messageDefault): This message appears in a +# toast when the user closes a tab if there is no title to display. +undoCloseToast.messageDefault=Closed tab + +# LOCALIZATION NOTE (undoCloseToast.action2): Ideally, this string is short (it's a +# button label) and upper-case, to match Google and Android's convention. +undoCloseToast.action2=UNDO + +# Offline web applications +offlineApps.ask=Allow %S to store data on your device for offline use? +offlineApps.dontAskAgain=Don't ask again for this site +offlineApps.allow=Allow +offlineApps.dontAllow2=Don't allow + +# LOCALIZATION NOTE (offlineApps.offlineData): Label that will be used in +# site settings dialog. +offlineApps.offlineData=Offline Data + +# LOCALIZATION NOTE (password.logins): Label that will be used in + # site settings dialog. +password.logins=Logins +# LOCALIZATION NOTE (password.save): This should match +# saveButton in passwordmgr.properties +password.save=Save +# LOCALIZATION NOTE (password.dontSave): This should match +# dontSaveButton in passwordmgr.properties +password.dontSave=Don't save + +# LOCALIZATION NOTE (browser.menu.showCharacterEncoding): Set to the string +# "true" (spelled and capitalized exactly that way) to show the "Character +# Encoding" menu in the site menu. Any other value will hide it. Without this +# setting, the "Character Encoding" menu must be enabled via Preferences. +# This is not a string to translate. If users frequently use the "Character Encoding" +# menu, set this to "true". Otherwise, you can leave it as "false". +browser.menu.showCharacterEncoding=false + +# Text Selection +selectionHelper.textCopied=Text copied to clipboard + +# Casting +# LOCALIZATION NOTE (casting.sendToDevice): Label that will be used in the +# dialog/prompt. +casting.sendToDevice=Send to Device + +# Context menu +contextmenu.openInNewTab=Open Link in New Tab +contextmenu.openInPrivateTab=Open Link in Private Tab +contextmenu.share=Share +contextmenu.copyLink=Copy Link +contextmenu.shareLink=Share Link +contextmenu.bookmarkLink=Bookmark Link +contextmenu.copyEmailAddress=Copy Email Address +contextmenu.shareEmailAddress=Share Email Address +contextmenu.copyPhoneNumber=Copy Phone Number +contextmenu.sharePhoneNumber=Share Phone Number +contextmenu.fullScreen=Full Screen +contextmenu.viewImage=View Image +contextmenu.copyImageLocation=Copy Image Location +contextmenu.shareImage=Share Image +# LOCALIZATION NOTE (contextmenu.search): +# The label of the contextmenu item which allows you to search with your default search engine for +# the text you have selected. %S is the name of the search engine. For example, "Google". +contextmenu.search=%S Search +contextmenu.saveImage=Save Image +contextmenu.showImage=Show Image +contextmenu.setImageAs=Set Image As +# LOCALIZATION NOTE (contextmenu.addSearchEngine3): This string should be rather short. If it is +# significantly longer than the translation for the "Paste" action then this might trigger an +# Android bug positioning the floating text selection partially off the screen. This issue heavily +# depends on the screen size and the specific translations. For English "Paste" / "Add search engine" +# is working while "Paste" / "Add as search engine" triggers the bug. See bug 1262098 for more details. +# Manual testing the scenario described in bug 1262098 is highly recommended. +contextmenu.addSearchEngine3=Add Search Engine +contextmenu.playMedia=Play +contextmenu.pauseMedia=Pause +contextmenu.showControls2=Show Controls +contextmenu.mute=Mute +contextmenu.unmute=Unmute +contextmenu.saveVideo=Save Video +contextmenu.saveAudio=Save Audio +contextmenu.addToContacts=Add to Contacts +# LOCALIZATION NOTE (contextmenu.sendToDevice): +# The label that will be used in the contextmenu and the pageaction +contextmenu.sendToDevice=Send to Device + +contextmenu.copy=Copy +contextmenu.cut=Cut +contextmenu.selectAll=Select All +contextmenu.paste=Paste + +contextmenu.call=Call + +#Input widgets UI +inputWidgetHelper.date=Pick a date +inputWidgetHelper.datetime-local=Pick a date and a time +inputWidgetHelper.time=Pick a time +inputWidgetHelper.week=Pick a week +inputWidgetHelper.month=Pick a month +inputWidgetHelper.cancel=Cancel +inputWidgetHelper.set=Set +inputWidgetHelper.clear=Clear + +# Web Console API +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 + +# Click to play plugins +clickToPlayPlugins.activate=Activate +clickToPlayPlugins.dontActivate=Don't activate +# LOCALIZATION NOTE (clickToPlayPlugins.plugins): Label that +# will be used in site settings dialog. +clickToPlayPlugins.plugins=Plugins + +# Site settings dialog + +masterPassword.incorrect=Incorrect password + +# Debugger +# LOCALIZATION NOTE (remoteIncomingPromptTitle): The title displayed on the +# dialog that prompts the user to allow the incoming connection. +remoteIncomingPromptTitle=Incoming Connection +# LOCALIZATION NOTE (remoteIncomingPromptUSB): The message displayed on the +# dialog that prompts the user to allow an incoming USB connection. +remoteIncomingPromptUSB=Allow USB debugging connection? +# LOCALIZATION NOTE (remoteIncomingPromptUSB): The message displayed on the +# dialog that prompts the user to allow an incoming TCP connection. +remoteIncomingPromptTCP=Allow remote debugging connection from %1$S:%2$S? This connection requires a QR code to be scanned in order to authenticate the remote device's certificate. You can avoid future scans by remembering the device. +# LOCALIZATION NOTE (remoteIncomingPromptDeny): This button will deny an +# an incoming remote debugger connection. +remoteIncomingPromptDeny=Deny +# LOCALIZATION NOTE (remoteIncomingPromptAllow): This button will allow an +# an incoming remote debugger connection. +remoteIncomingPromptAllow=Allow +# LOCALIZATION NOTE (remoteIncomingPromptScan): This button will start a QR +# code scanner to authenticate an incoming remote debugger connection. The +# connection will be allowed assuming the scan succeeds. +remoteIncomingPromptScan=Scan +# LOCALIZATION NOTE (remoteIncomingPromptScanAndRemember): This button will +# start a QR code scanner to authenticate an incoming remote debugger +# connection. The connection will be allowed assuming the scan succeeds, and +# the other endpoint's certificate will be saved to skip future scans for this +# client. +remoteIncomingPromptScanAndRemember=Scan and Remember +# LOCALIZATION NOTE (remoteQRScanFailedPromptTitle): The title displayed in a +# dialog when we are unable to complete the QR code scan for an incoming remote +# debugging connection. +remoteQRScanFailedPromptTitle=QR Scan Failed +# LOCALIZATION NOTE (remoteQRScanFailedPromptMessage): The message displayed in +# a dialog when we are unable to complete the QR code scan for an incoming +# remote debugging connection. +remoteQRScanFailedPromptMessage=Unable to scan QR code for remote debugging. Verify that the Barcode Scanner app is installed and retry connecting. +# LOCALIZATION NOTE (remoteQRScanFailedPromptOK): This button dismisses the +# dialog that appears when we are unable to complete the QR code scan for an +# incoming remote debugging connection. +remoteQRScanFailedPromptOK=OK + +# Helper apps +helperapps.open=Open +helperapps.openWithApp2=Open With %S App +helperapps.openWithList2=Open With an App +helperapps.always=Always +helperapps.never=Never +helperapps.pick=Complete action using +helperapps.saveToDisk=Download +helperapps.alwaysUse=Always +helperapps.useJustOnce=Just once + +# LOCALIZATION NOTE (getUserMedia.shareCamera.message, getUserMedia.shareMicrophone.message, getUserMedia.shareCameraAndMicrophone.message, getUserMedia.sharingCamera.message, getUserMedia.sharingMicrophone.message, getUserMedia.sharingCameraAndMicrophone.message): %S is the website origin (e.g. www.mozilla.org) +getUserMedia.shareCamera.message = Would you like to share your camera with %S? +getUserMedia.shareMicrophone.message = Would you like to share your microphone with %S? +getUserMedia.shareCameraAndMicrophone.message = Would you like to share your camera and microphone with %S? +getUserMedia.denyRequest.label = Don't Share +getUserMedia.shareRequest.label = Share +getUserMedia.videoSource.default = Camera %S +getUserMedia.videoSource.frontCamera = Front facing camera +getUserMedia.videoSource.backCamera = Back facing camera +getUserMedia.videoSource.none = No Video +getUserMedia.videoSource.tabShare = Choose a tab to stream +getUserMedia.videoSource.prompt = Video source +getUserMedia.audioDevice.default = Microphone %S +getUserMedia.audioDevice.none = No Audio +getUserMedia.audioDevice.prompt = Microphone to use +getUserMedia.sharingCamera.message2 = Camera is on +getUserMedia.sharingMicrophone.message2 = Microphone is on +getUserMedia.sharingCameraAndMicrophone.message2 = Camera and microphone are on +getUserMedia.blockedCameraAccess = Camera has been blocked. +getUserMedia.blockedMicrophoneAccess = Microphone has been blocked. +getUserMedia.blockedCameraAndMicrophoneAccess = Camera and microphone have been blocked. + +# 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 + +# LOCALIZATION NOTE (readerMode.toolbarTip): +# Tip shown to users the first time we hide the reader mode toolbar. +readerMode.toolbarTip=Tap the screen to show reader options + +#Open in App +openInApp.pageAction = Open in App +openInApp.ok = OK +openInApp.cancel = Cancel + +#Tab sharing +tabshare.title = "Choose a tab to stream" +#Tabs in context menus +browser.menu.context.default = Link +browser.menu.context.img = Image +browser.menu.context.video = Video +browser.menu.context.audio = Audio +browser.menu.context.tel = Phone +browser.menu.context.mailto = Mail + +# "Subscribe to page" prompts created in FeedHandler.js +feedHandler.chooseFeed=Choose feed +feedHandler.subscribeWith=Subscribe with + +# LOCALIZATION NOTE (nativeWindow.deprecated): +# This string is shown in the console when someone uses deprecated NativeWindow apis. +# %1$S=name of the api that's deprecated, %2$S=New API to use. This may be a url to +# a file they should import or the name of an api. +nativeWindow.deprecated=%1$S is deprecated. Please use %2$S instead + +# Vibration API permission prompt +vibrationRequest.message = Allow this site to vibrate your device? +vibrationRequest.denyButton = Don't allow +vibrationRequest.allowButton = Allow diff --git a/mobile/android/locales/en-US/chrome/config.dtd b/mobile/android/locales/en-US/chrome/config.dtd new file mode 100644 index 0000000000..95502af40e --- /dev/null +++ b/mobile/android/locales/en-US/chrome/config.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 toolbar.searchPlaceholder "Search"> + +<!ENTITY newPref.namePlaceholder "Name"> + +<!ENTITY newPref.valueBoolean "Boolean"> +<!ENTITY newPref.valueString "String"> +<!ENTITY newPref.valueInteger "Integer"> + +<!ENTITY newPref.stringPlaceholder "Enter a string"> +<!ENTITY newPref.numberPlaceholder "Enter a number"> + +<!ENTITY newPref.toggleButton "Toggle"> +<!ENTITY newPref.cancelButton "Cancel"> + +<!ENTITY contextMenu.copyPrefName "Copy Name"> +<!ENTITY contextMenu.copyPrefValue "Copy Value"> diff --git a/mobile/android/locales/en-US/chrome/config.properties b/mobile/android/locales/en-US/chrome/config.properties new file mode 100644 index 0000000000..61fdf73b32 --- /dev/null +++ b/mobile/android/locales/en-US/chrome/config.properties @@ -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/. + +newPref.createButton=Create +newPref.changeButton=Change + +pref.toggleButton=Toggle +pref.resetButton=Reset 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/defines.inc b/mobile/android/locales/en-US/defines.inc new file mode 100644 index 0000000000..fb7fe4c937 --- /dev/null +++ b/mobile/android/locales/en-US/defines.inc @@ -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/. +#filter emptyLines + +#define MOZ_LANGPACK_CREATOR mozilla.org + +# If non-English locales wish to credit multiple contributors, uncomment this +# variable definition and use the format specified. +# #define MOZ_LANGPACK_CONTRIBUTORS <em:contributor>Joe Solon</em:contributor> <em:contributor>Suzy Solon</em:contributor> + +#unfilter emptyLines 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/filter.py b/mobile/android/locales/filter.py new file mode 100644 index 0000000000..1e815893a0 --- /dev/null +++ b/mobile/android/locales/filter.py @@ -0,0 +1,87 @@ +# 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. +""" + +from __future__ import absolute_import + + +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/base", "mobile/android"): + return "ignore" + + if mod == "toolkit": + # keep this file list in sync with jar.mn + if path in ( + "chrome/global/aboutReader.properties", + "chrome/global/commonDialogs.properties", + "chrome/global/intl.properties", + "chrome/global/intl.css", + "chrome/global/aboutWebrtc.properties", + ): + 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" + return "ignore" + + if mod == "dom": + # keep this file list in sync with jar.mn + if path in ( + "chrome/global.dtd", + "chrome/accessibility/AccessFu.properties", + "chrome/dom/dom.properties", + "chrome/plugins.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) 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 path == "chrome/region.properties": + # only region.properties exceptions remain + if ( + 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) + or re.match(r"browser\.suggestedsites\.", entity) + ): + return "ignore" + + return "error" diff --git a/mobile/android/locales/jar.mn b/mobile/android/locales/jar.mn new file mode 100644 index 0000000000..04f123501b --- /dev/null +++ b/mobile/android/locales/jar.mn @@ -0,0 +1,62 @@ +#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. + +@AB_CD@.jar: +% locale browser @AB_CD@ %locale/@AB_CD@/browser/ + locale/@AB_CD@/browser/browser.properties (%chrome/browser.properties) + locale/@AB_CD@/browser/config.dtd (%chrome/config.dtd) + locale/@AB_CD@/browser/config.properties (%chrome/config.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/aboutReader.properties (%chrome/global/aboutReader.properties) + 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) +#about:webrtc + locale/@AB_CD@/browser/overrides/global/aboutWebrtc.properties (%chrome/global/aboutWebrtc.properties) + +# 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/global.dtd (%chrome/global.dtd) + locale/@AB_CD@/browser/overrides/AccessFu.properties (%chrome/accessibility/AccessFu.properties) + locale/@AB_CD@/browser/overrides/dom/dom.properties (%chrome/dom/dom.properties) +#about:plugins + locale/@AB_CD@/browser/overrides/plugins.properties (%chrome/plugins.properties) + +# Fluent files +# Note: All rules must be wildcards, as localized files are optional +# Only run this if we're not en-US, as en-US is already built +# by toolkit/locales/jar.mn. +# 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. + +#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) +#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..1d6afa4a15 --- /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 mobile/android/base + +[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..013fd9c230 --- /dev/null +++ b/mobile/android/locales/l10n.toml @@ -0,0 +1,256 @@ +# 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/locales/en-US/**" + l10n = "{l}mobile/**" + +[[paths]] + reference = "mobile/android/locales/en-US/**" + l10n = "{l}mobile/android/**" + +[[paths]] + reference = "mobile/android/base/locales/en-US/**" + l10n = "{l}mobile/android/base/**" + test = [ + "android-dtd", + ] + +# hand-picked paths from toolkit, keep in sync with jar.mn +[[paths]] + reference = "dom/locales/en-US/chrome/global.dtd" + l10n = "{l}dom/chrome/global.dtd" + +[[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 = "dom/locales/en-US/chrome/plugins.properties" + l10n = "{l}dom/chrome/plugins.properties" + +[[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/chrome/global/aboutAbout.dtd" + l10n = "{l}toolkit/chrome/global/aboutAbout.dtd" + +[[paths]] + reference = "toolkit/locales/en-US/chrome/global/aboutReader.properties" + l10n = "{l}toolkit/chrome/global/aboutReader.properties" + +[[paths]] + reference = "toolkit/locales/en-US/chrome/global/aboutRights.dtd" + l10n = "{l}toolkit/chrome/global/aboutRights.dtd" + +[[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/charsetMenu.properties" + l10n = "{l}toolkit/chrome/global/charsetMenu.properties" + +[[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/chrome/global/aboutSupport.dtd" + l10n = "{l}toolkit/chrome/global/aboutSupport.dtd" + +[[paths]] + reference = "toolkit/locales/en-US/chrome/global/aboutSupport.properties" + l10n = "{l}toolkit/chrome/global/aboutSupport.properties" + +[[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/crashreporter/crashes.dtd" + l10n = "{l}toolkit/crashreporter/crashes.dtd" + +[[paths]] + reference = "toolkit/locales/en-US/crashreporter/crashes.properties" + l10n = "{l}toolkit/crashreporter/crashes.properties" + +[[paths]] + reference = "toolkit/locales/en-US/chrome/global/mozilla.dtd" + l10n = "{l}toolkit/chrome/global/mozilla.dtd" + +[[paths]] + reference = "toolkit/locales/en-US/chrome/global/aboutWebrtc.properties" + l10n = "{l}toolkit/chrome/global/aboutWebrtc.properties" + + +[[filters]] + path = [ + "{l}mobile/android/mobile-l10n.js", + "{l}mobile/android/defines.inc", + ] + action = "ignore" + +[[filters]] + path = "{l}mobile/android/defines.inc" + key = "MOZ_LANGPACK_CONTRIBUTORS" + action = "ignore" + +[[filters]] + path = "{l}mobile/chrome/region.properties" + key = [ + "re:^browser\\.contentHandlers\\.types\\.[0-5]\\..*$", + "re:^gecko\\.handlerService\\.schemes\\..+$", + "re:^gecko\\.handlerService\\.defaultHandlersVersion$", + "re:^browser\\.suggestedsites\\..+$", + ] + 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"] |