From ec8b223cf03a33374cd954fcea4fd36d468cc5d7 Mon Sep 17 00:00:00 2001 From: Zibi Braniecki Date: Sun, 10 Mar 2019 16:55:34 -0700 Subject: [PATCH] Update benchmark menubar.ftl and add preferences.ftl --- fluent-bundle/benches/menubar.ftl | 570 ++++++------- fluent-bundle/benches/preferences.ftl | 1076 +++++++++++++++++++++++++ fluent-bundle/benches/resolver.rs | 46 +- fluent-bundle/benches/simple.ftl | 100 +++ fluent-bundle/src/bundle.rs | 17 +- fluent-syntax/benches/menubar.ftl | 944 ++++++---------------- fluent-syntax/benches/parser.rs | 2 +- fluent-syntax/benches/preferences.ftl | 1076 +++++++++++++++++++++++++ fluent-syntax/benches/simple.ftl | 202 ++--- 9 files changed, 2916 insertions(+), 1117 deletions(-) create mode 100644 fluent-bundle/benches/preferences.ftl create mode 100644 fluent-syntax/benches/preferences.ftl diff --git a/fluent-bundle/benches/menubar.ftl b/fluent-bundle/benches/menubar.ftl index 6de6abf5..5aa2b232 100644 --- a/fluent-bundle/benches/menubar.ftl +++ b/fluent-bundle/benches/menubar.ftl @@ -2,377 +2,317 @@ # 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/. - -# browser/locales/en-US/browser/menubar.ftl +## browser/locales/en-US/browser/menubar.ftl ## File menu file-menu = - .label = File + .label = File .accesskey = F -tab-menuitem = - .label = New Tab - .accesskey = T -tab-key = - .key = t -new-user-context-menu = - .label = New Container Tab - .accesskey = C -new-navigator-menuitem = - .label = New Window - .accesskey = N -new-navigator-key = - .key = N -new-private-window-menuitem = - .label = New Private Window - .accesskey = W -new-non-remote-window-menuitem = - .label = New Non-e10s Window +tab-cmd = + .label = New Tab + .accesskey = T +new-user-context = + .label = New Container Tab + .accesskey = B +new-navigator-cmd = + .label = New Window + .accesskey = N +new-private-window = + .label = New Private Window + .accesskey = W # Only displayed on OS X, and only on windows that aren't main browser windows, # or when there are no windows but Firefox is still running. -open-location-menuitem = - .label = Open Location… -open-file-menuitem = - .label = Open File… - .accesskey = O -open-file-key = - .key = o - -close-menuitem = - .label = Close - .accesskey = C -close-key = - .key = W -close-window-menuitem = - .label = Close Window - .accesskey = d - -# .accesskey2 = is for content area context menu = -save-page-menuitem = - .label = Save Page As… - .accesskey = A - .accesskey2 = P -save-page-key = - .key = s - -email-page-menuitem = - .label = Email Link… - .accesskey = E - -print-setup-menuitem = - .label = Page Setup… - .accesskey = u -print-preview-menuitem = - .label = Print Preview… - .accesskey = v -print-menuitem = - .label = Print… - .accesskey = P -print-key = - .key = p - -go-offline-menuitem = - .label = Work Offline - .accesskey = k - -quit-application-menuitem = - .label = Quit - .accesskey = Q -quit-application-menuitem-win = - .label = Exit - .accesskey = x -quit-application-menuitem-mac = - .label = Quit { brand-shorter-name } -# Used by both Linux and OSX builds -quit-application-key-unix = - .key = Q +open-location-cmd = + .label = Open Location… +open-file-cmd = + .label = Open File… + .accesskey = O +close-cmd = + .label = Close + .accesskey = C +close-window = + .label = Close Window + .accesskey = d +save-page-cmd = + .label = Save Page As… + .accesskey = A +email-page-cmd = + .label = Email Link… + .accesskey = E +print-setup-cmd = + .label = Page Setup… + .accesskey = u +print-preview-cmd = + .label = Print Preview + .accesskey = v +print-cmd = + .label = Print… + .accesskey = P +go-offline-cmd = + .label = Work Offline + .accesskey = k +quit-application-cmd = + .label = Quit + .accesskey = Q ## Edit menu edit-menu = - .label = Edit - .accesskey = E -undo-menuitem = - .label = Undo - .accesskey = U -undo-key = - .key = Z -redo-menuitem = - .label = Redo - .accesskey = R -redo-key = - .key = Y -cut-menuitem = - .label = Cut - .accesskey = t -cut-key = - .key = X -copy-menuitem = - .label = Copy - .accesskey = C -copy-key = - .key = C -paste-menuitem = - .label = Paste - .accesskey = P -paste-key = - .key = V -delete-menuitem = - .label = Delete - .accesskey = D -delete-key = - .key = D -select-all-menuitem = - .label = Select All - .accesskey = A -select-all-key = - .key = A - -find-on-menuitem = - .label = Find in This Page… - .accesskey = F -find-on-key = - .key = f -find-again-menuitem = - .label = Find Again - .accesskey = g -find-again-key1 = - .key = g -find-again-key2 = - .keycode = VK_F3 -find-selection-key = - .key = e - -bidi-switch-text-direction-menuitem = - .label = Switch Text Direction - .accesskey = w -bidi-switch-text-direction-key = - .key = X - -preferences-menuitem = - .label = Options - .accesskey = O -preferences-menuitem-unix = - .label = Preferences - .accesskey = n - + .label = Edit + .accesskey = E +undo-cmd = + .label = Undo + .accesskey = U +redo-cmd = + .label = Redo + .accesskey = R +cut-cmd = + .label = Cut + .accesskey = t +copy-cmd = + .label = Copy + .accesskey = C +paste-cmd = + .label = Paste + .accesskey = P +delete-cmd = + .label = Delete + .accesskey = D +select-all-cmd = + .label = Select All + .accesskey = A +find-on-cmd = + .label = Find in This Page… + .accesskey = F +find-again-cmd = + .label = Find Again + .accesskey = g +bidi-switch-text-direction-item = + .label = Switch Text Direction + .accesskey = w +preferences-cmd-unix = + .label = Preferences + .accesskey = n ## View menu view-menu = - .label = View - .accesskey = V + .label = View + .accesskey = V view-toolbars-menu = - .label = Toolbars - .accesskey = T + .label = Toolbars + .accesskey = T +view-customize-toolbar = + .label = Customize… + .accesskey = C view-sidebar-menu = - .label = Sidebar - .accesskey = e -view-customize-toolbar-menuitem = - .label = Customize… - .accesskey = C - -full-zoom-menu = - .label = Zoom - .accesskey = Z -full-zoom-enlarge-menuitem = - .label = Zoom In - .accesskey = I -full-zoom-enlarge-key1 = - .key = + -full-zoom-enlarge-key2 = - .key = = -full-zoom-enlarge-key3 = - .key = {""} -full-zoom-reduce-menuitem = - .label = Zoom Out - .accesskey = O -full-zoom-reduce-key1 = - .key = - -full-zoom-reduce-key2 = - .key = {""} -full-zoom-reset-menuitem = - .label = Reset - .accesskey = R -full-zoom-reset-key1 = - .key = 0 -full-zoom-reset-key2 = - .key = {""} -full-zoom-toggle-menuitem = - .label = Zoom Text Only - .accesskey = T - + .label = Sidebar + .accesskey = e +bookmarks-button = + .label = Bookmarks +history-button = + .label = History +synced-tabs = + .label = Synced Tabs +full-zoom = + .label = Zoom + .accesskey = Z +full-zoom-enlarge-cmd = + .label = Zoom In + .accesskey = I +full-zoom-reduce-cmd = + .label = Zoom Out + .accesskey = O +full-zoom-reset-cmd = + .label = Reset + .accesskey = R +full-zoom-toggle-cmd = + .label = Zoom Text Only + .accesskey = T page-style-menu = - .label = Page Style - .accesskey = y -page-style-no-style-menuitem = - .label = No Style - .accesskey = n -page-style-persistent-only-menuitem = - .label = Basic Page Style - .accesskey = b - -show-all-tabs-menuitem = - .label = Show All Tabs - .accesskey = A -bidi-switch-page-direction-menuitem = - .label = Switch Page Direction - .accesskey = D + .label = Page Style + .accesskey = y +page-style-no-style = + .label = No Style + .accesskey = n +page-style-persistent-only = + .label = Basic Page Style + .accesskey = b +charset-menu2 = + .label = Text Encoding + .accesskey = c ## Full Screen controls ## Match what Safari and other Apple applications use on OS X Lion. - -enter-full-screen-menuitem = - .label = Enter Full Screen - .accesskey = F -exit-full-screen-menuitem = - .label = Exit Full Screen - .accesskey = F -full-screen-menuitem = - .label = Full Screen - .accesskey = F -full-screen-key = - .key = f - +# +enter-full-screen-cmd = + .accesskey = F + .label = Enter Full Screen +exit-full-screen-cmd = + .accesskey = F + .label = Exit Full Screen +full-screen-cmd = + .accesskey = F + .label = Full Screen +show-all-tabs-cmd = + .accesskey = A + .label = Show All Tabs +bidi-switch-page-direction-item = + .label = Switch Page Direction + .accesskey = D ## History menu history-menu = - .label = History - .accesskey = s -show-all-history-menuitem = - .label = Show All History -show-all-history-key = - .key = H -clear-recent-history-menuitem = - .label = Clean Recent History… -history-synced-tabs-menuitem = - .label = Synced Tabs -history-restore-last-session-menuitem = - .label = Restore Previous Session + .label = History + .accesskey = s +show-all-history-cmd2 = + .label = Show All History +clear-recent-history = + .label = Clear Recent History… +sync-tabs-menu3 = + .label = Synced Tabs +history-restore-last-session = + .label = Restore Previous Session +hidden-tabs = + .label = Hidden Tabs history-undo-menu = - .label = Recently Closed Tabs + .label = Recently Closed Tabs history-undo-window-menu = - .label = Recently Closed Windows - + .label = Recently Closed Windows -# Bookmarks menu +## Bookmarks menu bookmarks-menu = - .label = Bookmarks - .accesskey = B -show-all-bookmarks-menuitem = - .label = Show All Bookmarks -show-all-bookmarks-key = - .key = b -# .key = should not contain the letters A-F since the are reserved shortcut -# keys on Linux. -show-all-bookmarks-key-gtk = - .key = o -bookmark-this-page-broadcaster = - .label = Bookmark This Page -edit-this-page-broadcaster = - .label = Edit This Page -bookmark-this-page-key = - .key = d -subscribe-to-page-menuitem = - .label = Subscribe to This Page… -subscribe-to-page-menupopup = - .label = Subscribe to This Page… -add-cur-pages-menuitem = - .label = Bookmark All Tabs… -recent-bookmarks-menuitem = - .label = Recently Bookmarked - -other-bookmarks-menu = - .label = Other Bookmarks -personalbar-menu = - .label = Bookmarks Toolbar - .accesskey = B - + .label = Bookmarks + .accesskey = B +show-all-bookmarks2 = + .label = Show All Bookmarks +add-cur-pages-cmd = + .label = Bookmark All Tabs… +personalbar-cmd = + .label = Bookmarks Toolbar +other-bookmarks-cmd = + .label = Other Bookmarks +mobile-bookmarks-cmd = + .label = Mobile Bookmarks ## Tools menu tools-menu = - .label = Tools - .accesskey = T -downloads-menuitem = - .label = Downloads - .accesskey = D -downloads-key = - .key = j -downloads-key-unix = - .key = y -addons-menuitem = - .label = Add-ons - .accesskey = A -addons-key = - .key = A - -sync-sign-in-menuitem = - .label = Sign In To { sync-brand-short-name }… - .accesskey = Y -sync-sync-now-menuitem = - .label = Sync Now - .accesskey = S -sync-re-auth-menuitem = - .label = Reconnect to { sync-brand-short-name }… - .accesskey = R -sync-toolbar-button = - .label = Sync - + .label = Tools + .accesskey = T +downloads = + .label = Downloads + .accesskey = D +addons = + .label = Add-ons + .accesskey = A +sync-sign-in = + .label = Sign In To { -sync-brand-short-name }… + .accesskey = Y +sync-sync-now-item = + .label = Sync Now + .accesskey = S +sync-re-auth-item = + .label = Reconnect to { -sync-brand-short-name }… + .accesskey = R web-developer-menu = - .label = Web Developer - .accesskey = W - -page-source-broadcaster = - .label = Page Source - .accesskey = o -page-source-key = - .key = u -page-info-menuitem = - .label = Page Info - .accesskey = I -page-info-key = - .key = i -mirror-tab-menu = - .label = Mirror Tab - .accesskey = m - + .label = Web Developer + .accesskey = W +page-source-cmd = + .label = Page Source + .accesskey = o +page-info-cmd = + .accesskey = I + .label = Page Info +preferences-cmd2 = + .label = Options + .accesskey = O +preferences-ldb-cmd = + .label = Layout Debugger + .accesskey = L +preferences-cmd-mac = + .label = Preferences… +services-menu-mac = + .label = Services +hide-this-app-cmd-mac2 = + .label = Hide { -brand-shorter-name } +hide-other-apps-cmd-mac = + .label = Hide Others +show-all-apps-cmd-mac = + .label = Show All +window-menu = + .label = Window +bring-all-to-front = + .label = Bring All to Front +help-menu = + .label = Help + .accesskey = H +product-help2 = + .label = { -brand-shorter-name } Help + .accesskey = H +help-show-tour2 = + .label = { -brand-shorter-name } Tour + .accesskey = o +help-keyboard-shortcuts = + .label = Keyboard Shortcuts + .accesskey = K +help-troubleshooting-info = + .accesskey = T + .label = Troubleshooting Information +help-feedback-page = + .accesskey = S + .label = Submit Feedback… +help-safe-mode = + .accesskey = R + .label = Restart with Add-ons Disabled… + .stopaccesskey = R + .stoplabel = Restart with Add-ons Enabled +report-deceptive-site-menu = + .label = Report Deceptive Site… + .accesskey = D +safeb = + .label = This isn’t a deceptive site… + .accesskey = d +about-product2 = + .accesskey = A + .label = About { -brand-shorter-name } # browser/locales/en-US/browser/toolbar.ftl urlbar-textbox = .placeholder = Search or enter address - .accesskey = d + .accesskey = d ## Toolbar items view-bookmarks-broadcaster = - .label = Bookmarks + .label = Bookmarks view-bookmarks-key = - .key = b + .key = b view-bookmarks-key-win = - .key = i + .key = i view-history-broadcaster = - .label = History + .label = History view-history-key = - .key = h + .key = h view-tabs-broadcaster = - .label = Synced Tabs + .label = Synced Tabs # browser/branding/official/locales/en-US/brand.ftl -brand-shorter-name = Firefox -brand-short-name = Firefox -brand-full-name = Mozilla Firefox -vendor-short-name = Mozilla +-brand-shorter-name = Firefox +-brand-short-name = Firefox +-brand-full-name = Mozilla Firefox +-vendor-short-name = Mozilla -trademark-info = +trademark-info = Firefox and the Firefox logos are trademarks of the Mozilla Foundation. -sync-brand-short-name = Sync +-sync-brand-short-name = Sync diff --git a/fluent-bundle/benches/preferences.ftl b/fluent-bundle/benches/preferences.ftl new file mode 100644 index 00000000..f1ea3053 --- /dev/null +++ b/fluent-bundle/benches/preferences.ftl @@ -0,0 +1,1076 @@ +# 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/. + +## browser/locales/en-US/browser/preferences/preferences.ftl + +do-not-track-description = Send websites a “Do Not Track” signal that you don’t want to be tracked +do-not-track-learn-more = Learn more +do-not-track-option-default-content-blocking-known = + .label = Only when { -brand-short-name } is set to block known trackers +do-not-track-option-always = + .label = Always + +pref-page = + .title = + { PLATFORM() -> + [windows] Options + *[other] Preferences + } + +# This is used to determine the width of the search field in about:preferences, +# in order to make the entire placeholder string visible +# +# Please keep the placeholder string short to avoid truncation. +# +# Notice: The value of the `.style` attribute is a CSS string, and the `width` +# is the name of the CSS property. It is intended only to adjust the element's width. +# Do not translate. +search-input-box = + .style = width: 15.4em + .placeholder = + { PLATFORM() -> + [windows] Find in Options + *[other] Find in Preferences + } + +policies-notice = + { PLATFORM() -> + [windows] Your organization has disabled the ability to change some options. + *[other] Your organization has disabled the ability to change some preferences. + } + +pane-general-title = General +category-general = + .tooltiptext = { pane-general-title } + +pane-home-title = Home +category-home = + .tooltiptext = { pane-home-title } + +pane-search-title = Search +category-search = + .tooltiptext = { pane-search-title } + +pane-privacy-title = Privacy & Security +category-privacy = + .tooltiptext = { pane-privacy-title } + +pane-sync-title2 = { -sync-brand-short-name } +category-sync2 = + .tooltiptext = { pane-sync-title2 } + +help-button-label = { -brand-short-name } Support +addons-button-label = Extensions & Themes + +focus-search = + .key = f + +close-button = + .aria-label = Close + +## Browser Restart Dialog + +feature-enable-requires-restart = { -brand-short-name } must restart to enable this feature. +feature-disable-requires-restart = { -brand-short-name } must restart to disable this feature. +should-restart-title = Restart { -brand-short-name } +should-restart-ok = Restart { -brand-short-name } now +cancel-no-restart-button = Cancel +restart-later = Restart Later + +## Extension Control Notifications +## +## These strings are used to inform the user +## about changes made by extensions to browser settings. +## +## is going to be replaced by the extension icon. +## +## Variables: +## $name (String): name of the extension + +# This string is shown to notify the user that their home page +# is being controlled by an extension. +extension-controlled-homepage-override = An extension, { $name }, is controlling your home page. + +# This string is shown to notify the user that their new tab page +# is being controlled by an extension. +extension-controlled-new-tab-url = An extension, { $name }, is controlling your New Tab page. + +# This string is shown to notify the user that their notifications permission +# is being controlled by an extension. +extension-controlled-web-notifications= An extension, { $name }, is controlling this setting. + +# This string is shown to notify the user that the default search engine +# is being controlled by an extension. +extension-controlled-default-search = An extension, { $name }, has set your default search engine. + +# This string is shown to notify the user that Container Tabs +# are being enabled by an extension. +extension-controlled-privacy-containers = An extension, { $name }, requires Container Tabs. + +# This string is shown to notify the user that their content blocking "All Detected Trackers" +# preferences are being controlled by an extension. +extension-controlled-websites-content-blocking-all-trackers = An extension, { $name }, is controlling this setting. + +# This string is shown to notify the user that their proxy configuration preferences +# are being controlled by an extension. +extension-controlled-proxy-config = An extension, { $name }, is controlling how { -brand-short-name } connects to the internet. + +# This string is shown after the user disables an extension to notify the user +# how to enable an extension that they disabled. +# +# will be replaced with Add-ons icon +# will be replaced with Menu icon +extension-controlled-enable = To enable the extension go to Add-ons in the menu. + +## Preferences UI Search Results + +search-results-header = Search Results + +# `` will be replaced by the search term. +search-results-empty-message = + { PLATFORM() -> + [windows] Sorry! There are no results in Options for “”. + *[other] Sorry! There are no results in Preferences for “”. + } + +search-results-help-link = Need help? Visit { -brand-short-name } Support + +## General Section + +startup-header = Startup + +# { -brand-short-name } will be 'Firefox Developer Edition', +# since this setting is only exposed in Firefox Developer Edition +separate-profile-mode = + .label = Allow { -brand-short-name } and Firefox to run at the same time +use-firefox-sync = Tip: This uses separate profiles. Use { -sync-brand-short-name } to share data between them. +get-started-not-logged-in = Sign in to { -sync-brand-short-name }… +get-started-configured = Open { -sync-brand-short-name } preferences + +always-check-default = + .label = Always check if { -brand-short-name } is your default browser + .accesskey = y + +is-default = { -brand-short-name } is currently your default browser +is-not-default = { -brand-short-name } is not your default browser + +set-as-my-default-browser = + .label = Make Default… + .accesskey = D + +startup-restore-previous-session = + .label = Restore previous session + .accesskey = s + +startup-restore-warn-on-quit = + .label = Warn you when quitting the browser + +disable-extension = + .label = Disable Extension + +tabs-group-header = Tabs + +ctrl-tab-recently-used-order = + .label = Ctrl+Tab cycles through tabs in recently used order + .accesskey = T + +open-new-link-as-tabs = + .label = Open links in tabs instead of new windows + .accesskey = w + +warn-on-close-multiple-tabs = + .label = Warn you when closing multiple tabs + .accesskey = m + +warn-on-open-many-tabs = + .label = Warn you when opening multiple tabs might slow down { -brand-short-name } + .accesskey = d + +switch-links-to-new-tabs = + .label = When you open a link in a new tab, switch to it immediately + .accesskey = h + +show-tabs-in-taskbar = + .label = Show tab previews in the Windows taskbar + .accesskey = k + +browser-containers-enabled = + .label = Enable Container Tabs + .accesskey = n + +browser-containers-learn-more = Learn more + +browser-containers-settings = + .label = Settings… + .accesskey = i + +containers-disable-alert-title = Close All Container Tabs? +containers-disable-alert-desc = + { $tabCount -> + [one] If you disable Container Tabs now, { $tabCount } container tab will be closed. Are you sure you want to disable Container Tabs? + *[other] If you disable Container Tabs now, { $tabCount } container tabs will be closed. Are you sure you want to disable Container Tabs? + } + +containers-disable-alert-ok-button = + { $tabCount -> + [one] Close { $tabCount } Container Tab + *[other] Close { $tabCount } Container Tabs + } +containers-disable-alert-cancel-button = Keep enabled + +containers-remove-alert-title = Remove This Container? + +# Variables: +# $count (Number) - Number of tabs that will be closed. +containers-remove-alert-msg = + { $count -> + [one] If you remove this Container now, { $count } container tab will be closed. Are you sure you want to remove this Container? + *[other] If you remove this Container now, { $count } container tabs will be closed. Are you sure you want to remove this Container? + } + +containers-remove-ok-button = Remove this Container +containers-remove-cancel-button = Don’t remove this Container + + +## General Section - Language & Appearance + +language-and-appearance-header = Language and Appearance + +fonts-and-colors-header = Fonts & Colors + +default-font = Default font + .accesskey = D +default-font-size = Size + .accesskey = S + +advanced-fonts = + .label = Advanced… + .accesskey = A + +colors-settings = + .label = Colors… + .accesskey = C + +language-header = Language + +choose-language-description = Choose your preferred language for displaying pages + +choose-button = + .label = Choose… + .accesskey = o + +choose-browser-language-description = Choose the languages used to display menus, messages, and notifications from { -brand-short-name }. +manage-browser-languages-button = + .label = Set Alternatives… + .accesskey = l +confirm-browser-language-change-description = Restart { -brand-short-name } to apply these changes +confirm-browser-language-change-button = Apply and Restart + +translate-web-pages = + .label = Translate web content + .accesskey = T + +# The element is replaced by the logo of the provider +# used to provide machine translations for web pages. +translate-attribution = Translations by + +translate-exceptions = + .label = Exceptions… + .accesskey = x + +check-user-spelling = + .label = Check your spelling as you type + .accesskey = t + +## General Section - Files and Applications + +files-and-applications-title = Files and Applications + +download-header = Downloads + +download-save-to = + .label = Save files to + .accesskey = v + +download-choose-folder = + .label = + { PLATFORM() -> + [macos] Choose… + *[other] Browse… + } + .accesskey = + { PLATFORM() -> + [macos] e + *[other] o + } + +download-always-ask-where = + .label = Always ask you where to save files + .accesskey = A + +applications-header = Applications + +applications-description = Choose how { -brand-short-name } handles the files you download from the web or the applications you use while browsing. + +applications-filter = + .placeholder = Search file types or applications + +applications-type-column = + .label = Content Type + .accesskey = T + +applications-action-column = + .label = Action + .accesskey = A + +drm-content-header = Digital Rights Management (DRM) Content + +play-drm-content = + .label = Play DRM-controlled content + .accesskey = P + +play-drm-content-learn-more = Learn more + +update-application-title = { -brand-short-name } Updates + +update-application-description = Keep { -brand-short-name } up to date for the best performance, stability, and security. + +update-application-version = Version { $version } What’s new + +update-history = + .label = Show Update History… + .accesskey = p + +update-application-allow-description = Allow { -brand-short-name } to + +update-application-auto = + .label = Automatically install updates (recommended) + .accesskey = A + +update-application-check-choose = + .label = Check for updates but let you choose to install them + .accesskey = C + +update-application-manual = + .label = Never check for updates (not recommended) + .accesskey = N + +update-application-warning-cross-user-setting = This setting will apply to all Windows accounts and { -brand-short-name } profiles using this installation of { -brand-short-name }. + +update-application-use-service = + .label = Use a background service to install updates + .accesskey = b + +update-enable-search-update = + .label = Automatically update search engines + .accesskey = e + +update-pref-write-failure-title = Write Failure + +# Variables: +# $path (String) - Path to the configuration file +update-pref-write-failure-message = Unable to save preference. Could not write to file: { $path } + +## General Section - Performance + +performance-title = Performance + +performance-use-recommended-settings-checkbox = + .label = Use recommended performance settings + .accesskey = U + +performance-use-recommended-settings-desc = These settings are tailored to your computer’s hardware and operating system. + +performance-settings-learn-more = Learn more + +performance-allow-hw-accel = + .label = Use hardware acceleration when available + .accesskey = r + +performance-limit-content-process-option = Content process limit + .accesskey = l + +performance-limit-content-process-enabled-desc = Additional content processes can improve performance when using multiple tabs, but will also use more memory. +performance-limit-content-process-blocked-desc = Modifying the number of content processes is only possible with multiprocess { -brand-short-name }. Learn how to check if multiprocess is enabled + +# Variables: +# $num - default value of the `dom.ipc.processCount` pref. +performance-default-content-process-count = + .label = { $num } (default) + +## General Section - Browsing + +browsing-title = Browsing + +browsing-use-autoscroll = + .label = Use autoscrolling + .accesskey = a + +browsing-use-smooth-scrolling = + .label = Use smooth scrolling + .accesskey = m + +browsing-use-onscreen-keyboard = + .label = Show a touch keyboard when necessary + .accesskey = c + +browsing-use-cursor-navigation = + .label = Always use the cursor keys to navigate within pages + .accesskey = k + +browsing-search-on-start-typing = + .label = Search for text when you start typing + .accesskey = x + +browsing-cfr-recommendations = + .label = Recommend extensions as you browse + .accesskey = R +browsing-cfr-features = + .label = Recommend features as you browse + .accesskey = f + +browsing-cfr-recommendations-learn-more = Learn more + +## General Section - Proxy + +network-settings-title = Network Settings + +network-proxy-connection-description = Configure how { -brand-short-name } connects to the internet. + +network-proxy-connection-learn-more = Learn more + +network-proxy-connection-settings = + .label = Settings… + .accesskey = e + +## Home Section + +home-new-windows-tabs-header = New Windows and Tabs + +home-new-windows-tabs-description2 = Choose what you see when you open your homepage, new windows, and new tabs. + +## Home Section - Home Page Customization + +home-homepage-mode-label = Homepage and new windows + +home-newtabs-mode-label = New tabs + +home-restore-defaults = + .label = Restore Defaults + .accesskey = R + +# "Firefox" should be treated as a brand and kept in English, +# while "Home" and "(Default)" can be localized. +home-mode-choice-default = + .label = Firefox Home (Default) + +home-mode-choice-custom = + .label = Custom URLs… + +home-mode-choice-blank = + .label = Blank Page + +home-homepage-custom-url = + .placeholder = Paste a URL… + +# This string has a special case for '1' and [other] (default). If necessary for +# your language, you can add {$tabCount} to your translations and use the +# standard CLDR forms, or only use the form for [other] if both strings should +# be identical. +use-current-pages = + .label = + { $tabCount -> + [1] Use Current Page + *[other] Use Current Pages + } + .accesskey = C + +choose-bookmark = + .label = Use Bookmark… + .accesskey = B + +## Search Section + +search-bar-header = Search Bar +search-bar-hidden = + .label = Use the address bar for search and navigation +search-bar-shown = + .label = Add search bar in toolbar + +search-engine-default-header = Default Search Engine +search-engine-default-desc = Choose the default search engine to use in the address bar and search bar. + +search-suggestions-option = + .label = Provide search suggestions + .accesskey = s + +search-show-suggestions-url-bar-option = + .label = Show search suggestions in address bar results + .accesskey = l + +# This string describes what the user will observe when the system +# prioritizes search suggestions over browsing history in the results +# that extend down from the address bar. In the original English string, +# "ahead" refers to location (appearing most proximate to), not time +# (appearing before). +search-show-suggestions-above-history-option = + .label = Show search suggestions ahead of browsing history in address bar results + +search-suggestions-cant-show = Search suggestions will not be shown in location bar results because you have configured { -brand-short-name } to never remember history. + +search-one-click-header = One-Click Search Engines + +search-one-click-desc = Choose the alternative search engines that appear below the address bar and search bar when you start to enter a keyword. + +search-choose-engine-column = + .label = Search Engine +search-choose-keyword-column = + .label = Keyword + +search-restore-default = + .label = Restore Default Search Engines + .accesskey = D + +search-remove-engine = + .label = Remove + .accesskey = R + +search-find-more-link = Find more search engines + +# This warning is displayed when the chosen keyword is already in use +# ('Duplicate' is an adjective) +search-keyword-warning-title = Duplicate Keyword +# Variables: +# $name (String) - Name of a search engine. +search-keyword-warning-engine = You have chosen a keyword that is currently in use by “{ $name }”. Please select another. +search-keyword-warning-bookmark = You have chosen a keyword that is currently in use by a bookmark. Please select another. + +## Containers Section + +containers-back-link = « Go Back +containers-header = Container Tabs +containers-add-button = + .label = Add New Container + .accesskey = A + +containers-preferences-button = + .label = Preferences +containers-remove-button = + .label = Remove + +## Sync Section - Signed out + +sync-signedout-caption = Take Your Web With You +sync-signedout-description = Synchronize your bookmarks, history, tabs, passwords, add-ons, and preferences across all your devices. + +sync-signedout-account-title = Connect with a { -fxaccount-brand-name } +sync-signedout-account-create = Don’t have an account? Get started + .accesskey = c + +sync-signedout-account-signin = + .label = Sign In… + .accesskey = I + +# This message contains two links and two icon images. +# `` - Android logo icon +# `` - Link to Android Download +# `` - iOS logo icon +# `` - Link to iOS Download +# +# They can be moved within the sentence as needed to adapt +# to your language, but should not be changed or translated. +sync-mobile-promo = Download Firefox for Android or iOS to sync with your mobile device. + +## Sync Section - Signed in + +sync-profile-picture = + .tooltiptext = Change profile picture + +sync-disconnect = + .label = Disconnect… + .accesskey = D + +sync-manage-account = Manage account + .accesskey = o + +sync-signedin-unverified = { $email } is not verified. +sync-signedin-login-failure = Please sign in to reconnect { $email } + +sync-resend-verification = + .label = Resend Verification + .accesskey = d + +sync-remove-account = + .label = Remove Account + .accesskey = R + +sync-sign-in = + .label = Sign in + .accesskey = g + +sync-signedin-settings-header = Sync Settings +sync-signedin-settings-desc = Choose what to synchronize on your devices using { -brand-short-name } + +sync-engine-bookmarks = + .label = Bookmarks + .accesskey = m + +sync-engine-history = + .label = History + .accesskey = r + +sync-engine-tabs = + .label = Open tabs + .tooltiptext = A list of what’s open on all synced devices + .accesskey = t + +sync-engine-logins = + .label = Logins + .tooltiptext = Usernames and passwords you’ve saved + .accesskey = L + +sync-engine-addresses = + .label = Addresses + .tooltiptext = Postal addresses you’ve saved (desktop only) + .accesskey = e + +sync-engine-creditcards = + .label = Credit cards + .tooltiptext = Names, numbers and expiry dates (desktop only) + .accesskey = C + +sync-engine-addons = + .label = Add-ons + .tooltiptext = Extensions and themes for Firefox desktop + .accesskey = A + +sync-engine-prefs = + .label = + { PLATFORM() -> + [windows] Options + *[other] Preferences + } + .tooltiptext = General, Privacy, and Security settings you’ve changed + .accesskey = s + +sync-device-name-header = Device Name + +sync-device-name-change = + .label = Change Device Name… + .accesskey = h + +sync-device-name-cancel = + .label = Cancel + .accesskey = n + +sync-device-name-save = + .label = Save + .accesskey = v + +sync-connect-another-device = Connect another device + +sync-manage-devices = Manage devices + +sync-fxa-begin-pairing = Pair a device + +sync-tos-link = Terms of Service + +sync-fxa-privacy-notice = Privacy Notice + +## Privacy Section + +privacy-header = Browser Privacy + +## Privacy Section - Forms + +logins-header = Logins & Passwords +forms-ask-to-save-logins = + .label = Ask to save logins and passwords for websites + .accesskey = r +forms-exceptions = + .label = Exceptions… + .accesskey = x +forms-saved-logins = + .label = Saved Logins… + .accesskey = L +forms-master-pw-use = + .label = Use a master password + .accesskey = U +forms-master-pw-change = + .label = Change Master Password… + .accesskey = M + +## Privacy Section - History + +history-header = History + +# This label is followed, on the same line, by a dropdown list of options +# (Remember history, etc.). +# In English it visually creates a full sentence, e.g. +# "Firefox will" + "Remember history". +# +# If this doesn't work for your language, you can translate this message: +# - Simply as "Firefox", moving the verb into each option. +# This will result in "Firefox" + "Will remember history", etc. +# - As a stand-alone message, for example "Firefox history settings:". +history-remember-label = { -brand-short-name } will + .accesskey = w + +history-remember-option-all = + .label = Remember history +history-remember-option-never = + .label = Never remember history +history-remember-option-custom = + .label = Use custom settings for history + +history-remember-description = { -brand-short-name } will remember your browsing, download, form and search history. +history-dontremember-description = { -brand-short-name } will use the same settings as private browsing, and will not remember any history as you browse the Web. + +history-private-browsing-permanent = + .label = Always use private browsing mode + .accesskey = p + +history-remember-browser-option = + .label = Remember browsing and download history + .accesskey = b + +history-remember-search-option = + .label = Remember search and form history + .accesskey = f + +history-clear-on-close-option = + .label = Clear history when { -brand-short-name } closes + .accesskey = r + +history-clear-on-close-settings = + .label = Settings… + .accesskey = t + +history-clear-button = + .label = Clear History… + .accesskey = s + +## Privacy Section - Site Data + +sitedata-header = Cookies and Site Data + +sitedata-total-size-calculating = Calculating site data and cache size… + +# Variables: +# $value (Number) - Value of the unit (for example: 4.6, 500) +# $unit (String) - Name of the unit (for example: "bytes", "KB") +sitedata-total-size = Your stored cookies, site data and cache are currently using { $value } { $unit } of disk space. + +sitedata-learn-more = Learn more + +sitedata-delete-on-close = + .label = Delete cookies and site data when { -brand-short-name } is closed + .accesskey = c + +sitedata-delete-on-close-private-browsing = In permanent private browsing mode, cookies and site data will always be cleared when { -brand-short-name } is closed. + +sitedata-allow-cookies-option = + .label = Accept cookies and site data + .accesskey = A + +sitedata-disallow-cookies-option = + .label = Block cookies and site data + .accesskey = B + +# This label means 'type of content that is blocked', and is followed by a drop-down list with content types below. +# The list items are the strings named sitedata-block-*-option*. +sitedata-block-desc = Type blocked + .accesskey = T + +sitedata-option-block-trackers = + .label = Third-party trackers +sitedata-option-block-unvisited = + .label = Cookies from unvisited websites +sitedata-option-block-all-third-party = + .label = All third-party cookies (may cause websites to break) +sitedata-option-block-all = + .label = All cookies (will cause websites to break) + +sitedata-clear = + .label = Clear Data… + .accesskey = l + +sitedata-settings = + .label = Manage Data… + .accesskey = M + +sitedata-cookies-permissions = + .label = Manage Permissions… + .accesskey = P + +## Privacy Section - Address Bar + +addressbar-header = Address Bar + +addressbar-suggest = When using the address bar, suggest + +addressbar-locbar-history-option = + .label = Browsing history + .accesskey = h +addressbar-locbar-bookmarks-option = + .label = Bookmarks + .accesskey = k +addressbar-locbar-openpage-option = + .label = Open tabs + .accesskey = O + +addressbar-suggestions-settings = Change preferences for search engine suggestions + +## Privacy Section - Content Blocking + +content-blocking-header = Content Blocking + +content-blocking-description = Block third-party content that tracks you around the web. Control how much of your online activity gets stored and shared between websites. + +content-blocking-learn-more = Learn more + +# The terminology used to refer to categories of Content Blocking is also used in chrome/browser/browser.properties and should be translated consistently. +# "Standard" in this case is an adjective, meaning "default" or "normal". +content-blocking-setting-standard = + .label = Standard + .accesskey = d +content-blocking-setting-strict = + .label = Strict + .accesskey = r +content-blocking-setting-custom = + .label = Custom + .accesskey = C + +content-blocking-standard-description = Only blocks known trackers in Private Windows. +content-blocking-standard-desc = Balanced for protection and performance. Allows some trackers so websites function properly. +content-blocking-strict-desc = Blocks all trackers { -brand-short-name } detects. May cause some sites to break. +content-blocking-custom-desc = Choose what to block. + +content-blocking-private-trackers = Known trackers only in Private Windows +content-blocking-third-party-cookies = Third-party tracking cookies +content-blocking-all-windows-trackers = Known trackers in all windows +content-blocking-all-third-party-cookies = All third-party cookies + +content-blocking-warning-title = Heads up! +content-blocking-warning-description = Blocking content can cause some websites to break. It’s easy to disable blocking for sites you trust. +content-blocking-learn-how = Learn how + +content-blocking-trackers-label = + .label = Trackers + .accesskey = T +content-blocking-tracking-protection-option-all-windows = + .label = In all windows + .accesskey = A +content-blocking-option-private = + .label = Only in Private Windows + .accesskey = p +content-blocking-tracking-protection-change-block-list = Change block list + +content-blocking-cookies-label = + .label = Cookies + .accesskey = C + +# Cryptomining refers to using scripts on websites that can use a computer’s resources to mine cryptocurrency without a user’s knowledge. +content-blocking-cryptominers-label = + .label = Cryptominers + .accesskey = y + +# Browser fingerprinting is a method of tracking users by the configuration and settings information (their "digital fingerprint") +# that is visible to websites they browse, rather than traditional tracking methods such as IP addresses and unique cookies. +content-blocking-fingerprinters-label = + .label = Fingerprinters + .accesskey = F + +## Privacy Section - Tracking + +tracking-manage-exceptions = + .label = Manage Exceptions… + .accesskey = x + +## Privacy Section - Permissions + +permissions-header = Permissions + +permissions-location = Location +permissions-location-settings = + .label = Settings… + .accesskey = t + +permissions-camera = Camera +permissions-camera-settings = + .label = Settings… + .accesskey = t + +permissions-microphone = Microphone +permissions-microphone-settings = + .label = Settings… + .accesskey = t + +permissions-notification = Notifications +permissions-notification-settings = + .label = Settings… + .accesskey = t +permissions-notification-link = Learn more + +permissions-notification-pause = + .label = Pause notifications until { -brand-short-name } restarts + .accesskey = n + +permissions-block-autoplay-media2 = + .label = Block websites from automatically playing sound + .accesskey = B + +permissions-block-autoplay-media-exceptions = + .label = Exceptions… + .accesskey = E + +permissions-block-popups = + .label = Block pop-up windows + .accesskey = B + +permissions-block-popups-exceptions = + .label = Exceptions… + .accesskey = E + +permissions-addon-install-warning = + .label = Warn you when websites try to install add-ons + .accesskey = W + +permissions-addon-exceptions = + .label = Exceptions… + .accesskey = E + +permissions-a11y-privacy-checkbox = + .label = Prevent accessibility services from accessing your browser + .accesskey = a + +permissions-a11y-privacy-link = Learn more + +## Privacy Section - Data Collection + +collection-header = { -brand-short-name } Data Collection and Use + +collection-description = We strive to provide you with choices and collect only what we need to provide and improve { -brand-short-name } for everyone. We always ask permission before receiving personal information. +collection-privacy-notice = Privacy Notice + +collection-health-report = + .label = Allow { -brand-short-name } to send technical and interaction data to { -vendor-short-name } + .accesskey = r +collection-health-report-link = Learn more + +collection-studies = + .label = Allow { -brand-short-name } to install and run studies +collection-studies-link = View { -brand-short-name } studies + +addon-recommendations = + .label = Allow { -brand-short-name } to make personalized extension recommendations +addon-recommendations-link = Learn more + +# This message is displayed above disabled data sharing options in developer builds +# or builds with no Telemetry support available. +collection-health-report-disabled = Data reporting is disabled for this build configuration + +collection-backlogged-crash-reports = + .label = Allow { -brand-short-name } to send backlogged crash reports on your behalf + .accesskey = c +collection-backlogged-crash-reports-link = Learn more + +## Privacy Section - Security +## +## It is important that wording follows the guidelines outlined on this page: +## https://developers.google.com/safe-browsing/developers_guide_v2#AcceptableUsage + +security-header = Security + +security-browsing-protection = Deceptive Content and Dangerous Software Protection + +security-enable-safe-browsing = + .label = Block dangerous and deceptive content + .accesskey = B +security-enable-safe-browsing-link = Learn more + +security-block-downloads = + .label = Block dangerous downloads + .accesskey = d + +security-block-uncommon-software = + .label = Warn you about unwanted and uncommon software + .accesskey = c + +## Privacy Section - Certificates + +certs-header = Certificates + +certs-personal-label = When a server requests your personal certificate + +certs-select-auto-option = + .label = Select one automatically + .accesskey = S + +certs-select-ask-option = + .label = Ask you every time + .accesskey = A + +certs-enable-ocsp = + .label = Query OCSP responder servers to confirm the current validity of certificates + .accesskey = Q + +certs-view = + .label = View Certificates… + .accesskey = C + +certs-devices = + .label = Security Devices… + .accesskey = D + +space-alert-learn-more-button = + .label = Learn More + .accesskey = L + +space-alert-over-5gb-pref-button = + .label = + { PLATFORM() -> + [windows] Open Options + *[other] Open Preferences + } + .accesskey = + { PLATFORM() -> + [windows] O + *[other] O + } + +space-alert-over-5gb-message = + { PLATFORM() -> + [windows] { -brand-short-name } is running out of disk space. Website contents may not display properly. You can clear stored data in Options > Privacy & Security > Cookies and Site Data. + *[other] { -brand-short-name } is running out of disk space. Website contents may not display properly. You can clear stored data in Preferences > Privacy & Security > Cookies and Site Data. + } + +space-alert-under-5gb-ok-button = + .label = OK, Got it + .accesskey = K + +space-alert-under-5gb-message = { -brand-short-name } is running out of disk space. Website contents may not display properly. Visit “Learn More” to optimize your disk usage for better browsing experience. + +## The following strings are used in the Download section of settings +desktop-folder-name = Desktop +downloads-folder-name = Downloads +choose-download-folder-title = Choose Download Folder: + +# Variables: +# $service-name (String) - Name of a cloud storage provider like Dropbox, Google Drive, etc... +save-files-to-cloud-storage = + .label = Save files to { $service-name } + + +## browser/branding/official/locales/en-US/brand.ftl + +-brand-short-name = Firefox + +## browser/locales/en-US/browser/branding/sync-brand.ftl + +-fxaccount-brand-name = Firefox Account + +## browser/locales/en-US/browser/branding/sync-brand.ftl + +-sync-brand-short-name = Sync diff --git a/fluent-bundle/benches/resolver.rs b/fluent-bundle/benches/resolver.rs index e8cab7c8..9934c782 100644 --- a/fluent-bundle/benches/resolver.rs +++ b/fluent-bundle/benches/resolver.rs @@ -6,7 +6,7 @@ use std::fs::File; use std::io; use std::io::Read; -use fluent_bundle::{FluentBundle, FluentResource}; +use fluent_bundle::{FluentBundle, FluentResource, FluentValue}; use fluent_syntax::ast; fn read_file(path: &str) -> Result { @@ -38,8 +38,41 @@ fn get_ids(res: &FluentResource) -> Vec { .collect() } +fn get_args(name: &str) -> Option> { + match name { + "preferences" => { + let mut prefs_args = HashMap::new(); + prefs_args.insert("name", FluentValue::from("John")); + prefs_args.insert("tabCount", FluentValue::from(5)); + prefs_args.insert("count", FluentValue::from(3)); + prefs_args.insert("version", FluentValue::from("65.0")); + prefs_args.insert("path", FluentValue::from("/tmp")); + prefs_args.insert("num", FluentValue::from(4)); + prefs_args.insert("email", FluentValue::from("john@doe.com")); + prefs_args.insert("value", FluentValue::from(4.5)); + prefs_args.insert("unit", FluentValue::from("mb")); + prefs_args.insert("service-name", FluentValue::from("Mozilla Disk")); + Some(prefs_args) + } + _ => None, + } +} + +fn add_functions(name: &'static str, bundle: &mut FluentBundle) { + match name { + "preferences" => { + bundle + .add_function("PLATFORM", |_args, _named_args| { + return Some("linux".into()); + }) + .expect("Failed to add a function to the bundle."); + } + _ => {} + } +} + fn resolver_bench(c: &mut Criterion) { - let tests = &["simple", "menubar", "unescape"]; + let tests = &["simple", "preferences", "menubar", "unescape"]; let ftl_strings = get_strings(tests); c.bench_function_over_inputs( @@ -53,9 +86,16 @@ fn resolver_bench(c: &mut Criterion) { bundle .add_resource(&res) .expect("Couldn't add FluentResource to the FluentBundle"); + add_functions(name, &mut bundle); + let args = get_args(name); + b.iter(|| { for id in &ids { - bundle.compound(id, None); + let (_msg, errors) = bundle.compound(id, args.as_ref()).expect("Message found"); + if !errors.is_empty() { + println!("{:#?}", errors); + } + assert!(errors.len() == 0); } }) }, diff --git a/fluent-bundle/benches/simple.ftl b/fluent-bundle/benches/simple.ftl index 9ff4c438..223e050a 100644 --- a/fluent-bundle/benches/simple.ftl +++ b/fluent-bundle/benches/simple.ftl @@ -1,2 +1,102 @@ +# Artificial testcase with 100 simple Fluent Messages + +key0 = Value 0 key1 = Value 1 key2 = Value 2 +key3 = Value 3 +key4 = Value 4 +key5 = Value 5 +key6 = Value 6 +key7 = Value 7 +key8 = Value 8 +key9 = Value 9 +key10 = Value 10 +key11 = Value 11 +key12 = Value 12 +key13 = Value 13 +key14 = Value 14 +key15 = Value 15 +key16 = Value 16 +key17 = Value 17 +key18 = Value 18 +key19 = Value 19 +key20 = Value 20 +key21 = Value 21 +key22 = Value 22 +key23 = Value 23 +key24 = Value 24 +key25 = Value 25 +key26 = Value 26 +key27 = Value 27 +key28 = Value 28 +key29 = Value 29 +key30 = Value 30 +key31 = Value 31 +key32 = Value 32 +key33 = Value 33 +key34 = Value 34 +key35 = Value 35 +key36 = Value 36 +key37 = Value 37 +key38 = Value 38 +key39 = Value 39 +key40 = Value 40 +key41 = Value 41 +key42 = Value 42 +key43 = Value 43 +key44 = Value 44 +key45 = Value 45 +key46 = Value 46 +key47 = Value 47 +key48 = Value 48 +key49 = Value 49 +key50 = Value 50 +key51 = Value 51 +key52 = Value 52 +key53 = Value 53 +key54 = Value 54 +key55 = Value 55 +key56 = Value 56 +key57 = Value 57 +key58 = Value 58 +key59 = Value 59 +key60 = Value 60 +key61 = Value 61 +key62 = Value 62 +key63 = Value 63 +key64 = Value 64 +key65 = Value 65 +key66 = Value 66 +key67 = Value 67 +key68 = Value 68 +key69 = Value 69 +key70 = Value 70 +key71 = Value 71 +key72 = Value 72 +key73 = Value 73 +key74 = Value 74 +key75 = Value 75 +key76 = Value 76 +key77 = Value 77 +key78 = Value 78 +key79 = Value 79 +key80 = Value 80 +key81 = Value 81 +key82 = Value 82 +key83 = Value 83 +key84 = Value 84 +key85 = Value 85 +key86 = Value 86 +key87 = Value 87 +key88 = Value 88 +key89 = Value 89 +key90 = Value 90 +key91 = Value 91 +key92 = Value 92 +key93 = Value 93 +key94 = Value 94 +key95 = Value 95 +key96 = Value 96 +key97 = Value 97 +key98 = Value 98 +key99 = Value 99 diff --git a/fluent-bundle/src/bundle.rs b/fluent-bundle/src/bundle.rs index d6a40db7..7d9101b7 100644 --- a/fluent-bundle/src/bundle.rs +++ b/fluent-bundle/src/bundle.rs @@ -439,13 +439,16 @@ impl<'bundle> FluentBundle<'bundle> { let env = Env::new(self, args); let message = self.entries.get_message(message_id)?; - let value = match message.to_value(&env) { - Ok(value) => Some(value.format(self)), - Err(err) => { - errors.push(FluentError::ResolverError(err)); - None - } - }; + let value = message + .value + .as_ref() + .and_then(|value| match value.to_value(&env) { + Ok(value) => Some(value.format(self)), + Err(err) => { + errors.push(FluentError::ResolverError(err)); + None + } + }); let mut attributes = HashMap::new(); diff --git a/fluent-syntax/benches/menubar.ftl b/fluent-syntax/benches/menubar.ftl index 317b0c2f..5aa2b232 100644 --- a/fluent-syntax/benches/menubar.ftl +++ b/fluent-syntax/benches/menubar.ftl @@ -2,755 +2,317 @@ # 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/. - -# browser/locales/en-US/browser/menubar.ftl +## browser/locales/en-US/browser/menubar.ftl ## File menu file-menu = - .label = File + .label = File .accesskey = F -tab-menuitem = - .label = New Tab - .accesskey = T -tab-key = - .key = t -new-user-context-menu = - .label = New Container Tab - .accesskey = C -new-navigator-menuitem = - .label = New Window - .accesskey = N -new-navigator-key = - .key = N -new-private-window-menuitem = - .label = New Private Window - .accesskey = W -new-non-remote-window-menuitem = - .label = New Non-e10s Window +tab-cmd = + .label = New Tab + .accesskey = T +new-user-context = + .label = New Container Tab + .accesskey = B +new-navigator-cmd = + .label = New Window + .accesskey = N +new-private-window = + .label = New Private Window + .accesskey = W # Only displayed on OS X, and only on windows that aren't main browser windows, # or when there are no windows but Firefox is still running. -open-location-menuitem = - .label = Open Location… -open-file-menuitem = - .label = Open File… - .accesskey = O -open-file-key = - .key = o - -close-menuitem = - .label = Close - .accesskey = C -close-key = - .key = W -close-window-menuitem = - .label = Close Window - .accesskey = d - -# .accesskey2 = is for content area context menu = -save-page-menuitem = - .label = Save Page As… - .accesskey = A - .accesskey2 = P -save-page-key = - .key = s - -email-page-menuitem = - .label = Email Link… - .accesskey = E - -print-setup-menuitem = - .label = Page Setup… - .accesskey = u -print-preview-menuitem = - .label = Print Preview… - .accesskey = v -print-menuitem = - .label = Print… - .accesskey = P -print-key = - .key = p - -go-offline-menuitem = - .label = Work Offline - .accesskey = k - -quit-application-menuitem = - .label = Quit - .accesskey = Q -quit-application-menuitem-win = - .label = Exit - .accesskey = x -quit-application-menuitem-mac = - .label = Quit { brand-shorter-name } -# Used by both Linux and OSX builds -quit-application-key-unix = - .key = Q +open-location-cmd = + .label = Open Location… +open-file-cmd = + .label = Open File… + .accesskey = O +close-cmd = + .label = Close + .accesskey = C +close-window = + .label = Close Window + .accesskey = d +save-page-cmd = + .label = Save Page As… + .accesskey = A +email-page-cmd = + .label = Email Link… + .accesskey = E +print-setup-cmd = + .label = Page Setup… + .accesskey = u +print-preview-cmd = + .label = Print Preview + .accesskey = v +print-cmd = + .label = Print… + .accesskey = P +go-offline-cmd = + .label = Work Offline + .accesskey = k +quit-application-cmd = + .label = Quit + .accesskey = Q ## Edit menu edit-menu = - .label = Edit - .accesskey = E -undo-menuitem = - .label = Undo - .accesskey = U -undo-key = - .key = Z -redo-menuitem = - .label = Redo - .accesskey = R -redo-key = - .key = Y -cut-menuitem = - .label = Cut - .accesskey = t -cut-key = - .key = X -copy-menuitem = - .label = Copy - .accesskey = C -copy-key = - .key = C -paste-menuitem = - .label = Paste - .accesskey = P -paste-key = - .key = V -delete-menuitem = - .label = Delete - .accesskey = D -delete-key = - .key = D -select-all-menuitem = - .label = Select All - .accesskey = A -select-all-key = - .key = A - -find-on-menuitem = - .label = Find in This Page… - .accesskey = F -find-on-key = - .key = f -find-again-menuitem = - .label = Find Again - .accesskey = g -find-again-key1 = - .key = g -find-again-key2 = - .keycode = VK_F3 -find-selection-key = - .key = e - -bidi-switch-text-direction-menuitem = - .label = Switch Text Direction - .accesskey = w -bidi-switch-text-direction-key = - .key = X - -preferences-menuitem = - .label = Options - .accesskey = O -preferences-menuitem-unix = - .label = Preferences - .accesskey = n - - -## View menu - -view-menu = - .label = View - .accesskey = V -view-toolbars-menu = - .label = Toolbars - .accesskey = T -view-sidebar-menu = - .label = Sidebar - .accesskey = e -view-customize-toolbar-menuitem = - .label = Customize… - .accesskey = C - -full-zoom-menu = - .label = Zoom - .accesskey = Z -full-zoom-enlarge-menuitem = - .label = Zoom In - .accesskey = I -full-zoom-enlarge-key1 = - .key = + -full-zoom-enlarge-key2 = - .key = = -full-zoom-enlarge-key3 = - .key = {""} -full-zoom-reduce-menuitem = - .label = Zoom Out - .accesskey = O -full-zoom-reduce-key1 = - .key = - -full-zoom-reduce-key2 = - .key = {""} -full-zoom-reset-menuitem = - .label = Reset - .accesskey = R -full-zoom-reset-key1 = - .key = 0 -full-zoom-reset-key2 = - .key = {""} -full-zoom-toggle-menuitem = - .label = Zoom Text Only - .accesskey = T - -page-style-menu = - .label = Page Style - .accesskey = y -page-style-no-style-menuitem = - .label = No Style - .accesskey = n -page-style-persistent-only-menuitem = - .label = Basic Page Style - .accesskey = b - -show-all-tabs-menuitem = - .label = Show All Tabs - .accesskey = A -bidi-switch-page-direction-menuitem = - .label = Switch Page Direction - .accesskey = D - -## Full Screen controls -## Match what Safari and other Apple applications use on OS X Lion. - -enter-full-screen-menuitem = - .label = Enter Full Screen - .accesskey = F -exit-full-screen-menuitem = - .label = Exit Full Screen - .accesskey = F -full-screen-menuitem = - .label = Full Screen - .accesskey = F -full-screen-key = - .key = f - - -## History menu - -history-menu = - .label = History - .accesskey = s -show-all-history-menuitem = - .label = Show All History -show-all-history-key = - .key = H -clear-recent-history-menuitem = - .label = Clean Recent History… -history-synced-tabs-menuitem = - .label = Synced Tabs -history-restore-last-session-menuitem = - .label = Restore Previous Session -history-undo-menu = - .label = Recently Closed Tabs -history-undo-window-menu = - .label = Recently Closed Windows - - -# Bookmarks menu - -bookmarks-menu = - .label = Bookmarks - .accesskey = B -show-all-bookmarks-menuitem = - .label = Show All Bookmarks -show-all-bookmarks-key = - .key = b -# .key = should not contain the letters A-F since the are reserved shortcut -# keys on Linux. -show-all-bookmarks-key-gtk = - .key = o -bookmark-this-page-broadcaster = - .label = Bookmark This Page -edit-this-page-broadcaster = - .label = Edit This Page -bookmark-this-page-key = - .key = d -subscribe-to-page-menuitem = - .label = Subscribe to This Page… -subscribe-to-page-menupopup = - .label = Subscribe to This Page… -add-cur-pages-menuitem = - .label = Bookmark All Tabs… -recent-bookmarks-menuitem = - .label = Recently Bookmarked - -other-bookmarks-menu = - .label = Other Bookmarks -personalbar-menu = - .label = Bookmarks Toolbar - .accesskey = B - - -## Tools menu - -tools-menu = - .label = Tools - .accesskey = T -downloads-menuitem = - .label = Downloads - .accesskey = D -downloads-key = - .key = j -downloads-key-unix = - .key = y -addons-menuitem = - .label = Add-ons - .accesskey = A -addons-key = - .key = A - -sync-sign-in-menuitem = - .label = Sign In To { sync-brand-short-name }… - .accesskey = Y -sync-sync-now-menuitem = - .label = Sync Now - .accesskey = S -sync-re-auth-menuitem = - .label = Reconnect to { sync-brand-short-name }… - .accesskey = R -sync-toolbar-button = - .label = Sync - -web-developer-menu = - .label = Web Developer - .accesskey = W - -page-source-broadcaster = - .label = Page Source - .accesskey = o -page-source-key = - .key = u -page-info-menuitem = - .label = Page Info - .accesskey = I -page-info-key = - .key = i -mirror-tab-menu = - .label = Mirror Tab - .accesskey = m - - -# browser/locales/en-US/browser/toolbar.ftl - -urlbar-textbox = - .placeholder = Search or enter address - .accesskey = d - - -## Toolbar items - -view-bookmarks-broadcaster = - .label = Bookmarks -view-bookmarks-key = - .key = b -view-bookmarks-key-win = - .key = i - -view-history-broadcaster = - .label = History -view-history-key = - .key = h -view-tabs-broadcaster = - .label = Synced Tabs - - -# browser/branding/official/locales/en-US/brand.ftl - -brand-shorter-name = Firefox -brand-short-name = Firefox -brand-full-name = Mozilla Firefox -vendor-short-name = Mozilla - -trademark-info = - Firefox and the Firefox logos are trademarks of the Mozilla Foundation. - -sync-brand-short-name = Sync -# 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/. - - -# browser/locales/en-US/browser/menubar.ftl - -## File menu - -file-menu = - .label = File + .label = Edit + .accesskey = E +undo-cmd = + .label = Undo + .accesskey = U +redo-cmd = + .label = Redo + .accesskey = R +cut-cmd = + .label = Cut + .accesskey = t +copy-cmd = + .label = Copy + .accesskey = C +paste-cmd = + .label = Paste + .accesskey = P +delete-cmd = + .label = Delete + .accesskey = D +select-all-cmd = + .label = Select All + .accesskey = A +find-on-cmd = + .label = Find in This Page… .accesskey = F -tab-menuitem = - .label = New Tab - .accesskey = T -tab-key = - .key = t -new-user-context-menu = - .label = New Container Tab - .accesskey = C -new-navigator-menuitem = - .label = New Window - .accesskey = N -new-navigator-key = - .key = N -new-private-window-menuitem = - .label = New Private Window - .accesskey = W -new-non-remote-window-menuitem = - .label = New Non-e10s Window - -# Only displayed on OS X, and only on windows that aren't main browser windows, -# or when there are no windows but Firefox is still running. -open-location-menuitem = - .label = Open Location… -open-file-menuitem = - .label = Open File… - .accesskey = O -open-file-key = - .key = o - -close-menuitem = - .label = Close - .accesskey = C -close-key = - .key = W -close-window-menuitem = - .label = Close Window - .accesskey = d - -# .accesskey2 = is for content area context menu = -save-page-menuitem = - .label = Save Page As… - .accesskey = A - .accesskey2 = P -save-page-key = - .key = s - -email-page-menuitem = - .label = Email Link… - .accesskey = E - -print-setup-menuitem = - .label = Page Setup… - .accesskey = u -print-preview-menuitem = - .label = Print Preview… - .accesskey = v -print-menuitem = - .label = Print… - .accesskey = P -print-key = - .key = p - -go-offline-menuitem = - .label = Work Offline - .accesskey = k - -quit-application-menuitem = - .label = Quit - .accesskey = Q -quit-application-menuitem-win = - .label = Exit - .accesskey = x -quit-application-menuitem-mac = - .label = Quit { brand-shorter-name } -# Used by both Linux and OSX builds -quit-application-key-unix = - .key = Q - -## Edit menu = - -edit-menu = - .label = Edit - .accesskey = E -undo-menuitem = - .label = Undo - .accesskey = U -undo-key = - .key = Z -redo-menuitem = - .label = Redo - .accesskey = R -redo-key = - .key = Y -cut-menuitem = - .label = Cut - .accesskey = t -cut-key = - .key = X -copy-menuitem = - .label = Copy - .accesskey = C -copy-key = - .key = C -paste-menuitem = - .label = Paste - .accesskey = P -paste-key = - .key = V -delete-menuitem = - .label = Delete - .accesskey = D -delete-key = - .key = D -select-all-menuitem = - .label = Select All - .accesskey = A -select-all-key = - .key = A - -find-on-menuitem = - .label = Find in This Page… - .accesskey = F -find-on-key = - .key = f -find-again-menuitem = - .label = Find Again - .accesskey = g -find-again-key1 = - .key = g -find-again-key2 = - .keycode = VK_F3 -find-selection-key = - .key = e - -bidi-switch-text-direction-menuitem = - .label = Switch Text Direction - .accesskey = w -bidi-switch-text-direction-key = - .key = X - -preferences-menuitem = - .label = Options - .accesskey = O -preferences-menuitem-unix = - .label = Preferences - .accesskey = n - +find-again-cmd = + .label = Find Again + .accesskey = g +bidi-switch-text-direction-item = + .label = Switch Text Direction + .accesskey = w +preferences-cmd-unix = + .label = Preferences + .accesskey = n ## View menu view-menu = - .label = View - .accesskey = V + .label = View + .accesskey = V view-toolbars-menu = - .label = Toolbars - .accesskey = T + .label = Toolbars + .accesskey = T +view-customize-toolbar = + .label = Customize… + .accesskey = C view-sidebar-menu = - .label = Sidebar - .accesskey = e -view-customize-toolbar-menuitem = - .label = Customize… - .accesskey = C - -full-zoom-menu = - .label = Zoom - .accesskey = Z -full-zoom-enlarge-menuitem = - .label = Zoom In - .accesskey = I -full-zoom-enlarge-key1 = - .key = + -full-zoom-enlarge-key2 = - .key = = -full-zoom-enlarge-key3 = - .key = {""} -full-zoom-reduce-menuitem = - .label = Zoom Out - .accesskey = O -full-zoom-reduce-key1 = - .key = - -full-zoom-reduce-key2 = - .key = {""} -full-zoom-reset-menuitem = - .label = Reset - .accesskey = R -full-zoom-reset-key1 = - .key = 0 -full-zoom-reset-key2 = - .key = {""} -full-zoom-toggle-menuitem = - .label = Zoom Text Only - .accesskey = T - + .label = Sidebar + .accesskey = e +bookmarks-button = + .label = Bookmarks +history-button = + .label = History +synced-tabs = + .label = Synced Tabs +full-zoom = + .label = Zoom + .accesskey = Z +full-zoom-enlarge-cmd = + .label = Zoom In + .accesskey = I +full-zoom-reduce-cmd = + .label = Zoom Out + .accesskey = O +full-zoom-reset-cmd = + .label = Reset + .accesskey = R +full-zoom-toggle-cmd = + .label = Zoom Text Only + .accesskey = T page-style-menu = - .label = Page Style - .accesskey = y -page-style-no-style-menuitem = - .label = No Style - .accesskey = n -page-style-persistent-only-menuitem = - .label = Basic Page Style - .accesskey = b - -show-all-tabs-menuitem = - .label = Show All Tabs - .accesskey = A -bidi-switch-page-direction-menuitem = - .label = Switch Page Direction - .accesskey = D + .label = Page Style + .accesskey = y +page-style-no-style = + .label = No Style + .accesskey = n +page-style-persistent-only = + .label = Basic Page Style + .accesskey = b +charset-menu2 = + .label = Text Encoding + .accesskey = c ## Full Screen controls ## Match what Safari and other Apple applications use on OS X Lion. - -enter-full-screen-menuitem = - .label = Enter Full Screen - .accesskey = F -exit-full-screen-menuitem = - .label = Exit Full Screen - .accesskey = F -full-screen-menuitem = - .label = Full Screen - .accesskey = F -full-screen-key = - .key = f - +# +enter-full-screen-cmd = + .accesskey = F + .label = Enter Full Screen +exit-full-screen-cmd = + .accesskey = F + .label = Exit Full Screen +full-screen-cmd = + .accesskey = F + .label = Full Screen +show-all-tabs-cmd = + .accesskey = A + .label = Show All Tabs +bidi-switch-page-direction-item = + .label = Switch Page Direction + .accesskey = D ## History menu history-menu = - .label = History - .accesskey = s -show-all-history-menuitem = - .label = Show All History -show-all-history-key = - .key = H -clear-recent-history-menuitem = - .label = Clean Recent History… -history-synced-tabs-menuitem = - .label = Synced Tabs -history-restore-last-session-menuitem = - .label = Restore Previous Session + .label = History + .accesskey = s +show-all-history-cmd2 = + .label = Show All History +clear-recent-history = + .label = Clear Recent History… +sync-tabs-menu3 = + .label = Synced Tabs +history-restore-last-session = + .label = Restore Previous Session +hidden-tabs = + .label = Hidden Tabs history-undo-menu = - .label = Recently Closed Tabs + .label = Recently Closed Tabs history-undo-window-menu = - .label = Recently Closed Windows - + .label = Recently Closed Windows ## Bookmarks menu bookmarks-menu = - .label = Bookmarks - .accesskey = B -show-all-bookmarks-menuitem = - .label = Show All Bookmarks -show-all-bookmarks-key = - .key = b -# .key = should not contain the letters A-F since the are reserved shortcut -# keys on Linux. -show-all-bookmarks-key-gtk = - .key = o -bookmark-this-page-broadcaster = - .label = Bookmark This Page -edit-this-page-broadcaster = - .label = Edit This Page -bookmark-this-page-key = - .key = d -subscribe-to-page-menuitem = - .label = Subscribe to This Page… -subscribe-to-page-menupopup = - .label = Subscribe to This Page… -add-cur-pages-menuitem = - .label = Bookmark All Tabs… -recent-bookmarks-menuitem = - .label = Recently Bookmarked - -other-bookmarks-menu = - .label = Other Bookmarks -personalbar-menu = - .label = Bookmarks Toolbar - .accesskey = B - + .label = Bookmarks + .accesskey = B +show-all-bookmarks2 = + .label = Show All Bookmarks +add-cur-pages-cmd = + .label = Bookmark All Tabs… +personalbar-cmd = + .label = Bookmarks Toolbar +other-bookmarks-cmd = + .label = Other Bookmarks +mobile-bookmarks-cmd = + .label = Mobile Bookmarks ## Tools menu tools-menu = - .label = Tools - .accesskey = T -downloads-menuitem = - .label = Downloads - .accesskey = D -downloads-key = - .key = j -downloads-key-unix = - .key = y -addons-menuitem = - .label = Add-ons - .accesskey = A -addons-key = - .key = A - -sync-sign-in-menuitem = - .label = Sign In To { sync-brand-short-name }… - .accesskey = Y -sync-sync-now-menuitem = - .label = Sync Now - .accesskey = S -sync-re-auth-menuitem = - .label = Reconnect to { sync-brand-short-name }… - .accesskey = R -sync-toolbar-button = - .label = Sync - + .label = Tools + .accesskey = T +downloads = + .label = Downloads + .accesskey = D +addons = + .label = Add-ons + .accesskey = A +sync-sign-in = + .label = Sign In To { -sync-brand-short-name }… + .accesskey = Y +sync-sync-now-item = + .label = Sync Now + .accesskey = S +sync-re-auth-item = + .label = Reconnect to { -sync-brand-short-name }… + .accesskey = R web-developer-menu = - .label = Web Developer - .accesskey = W - -page-source-broadcaster = - .label = Page Source - .accesskey = o -page-source-key = - .key = u -page-info-menuitem = - .label = Page Info - .accesskey = I -page-info-key = - .key = i -mirror-tab-menu = - .label = Mirror Tab - .accesskey = m - + .label = Web Developer + .accesskey = W +page-source-cmd = + .label = Page Source + .accesskey = o +page-info-cmd = + .accesskey = I + .label = Page Info +preferences-cmd2 = + .label = Options + .accesskey = O +preferences-ldb-cmd = + .label = Layout Debugger + .accesskey = L +preferences-cmd-mac = + .label = Preferences… +services-menu-mac = + .label = Services +hide-this-app-cmd-mac2 = + .label = Hide { -brand-shorter-name } +hide-other-apps-cmd-mac = + .label = Hide Others +show-all-apps-cmd-mac = + .label = Show All +window-menu = + .label = Window +bring-all-to-front = + .label = Bring All to Front +help-menu = + .label = Help + .accesskey = H +product-help2 = + .label = { -brand-shorter-name } Help + .accesskey = H +help-show-tour2 = + .label = { -brand-shorter-name } Tour + .accesskey = o +help-keyboard-shortcuts = + .label = Keyboard Shortcuts + .accesskey = K +help-troubleshooting-info = + .accesskey = T + .label = Troubleshooting Information +help-feedback-page = + .accesskey = S + .label = Submit Feedback… +help-safe-mode = + .accesskey = R + .label = Restart with Add-ons Disabled… + .stopaccesskey = R + .stoplabel = Restart with Add-ons Enabled +report-deceptive-site-menu = + .label = Report Deceptive Site… + .accesskey = D +safeb = + .label = This isn’t a deceptive site… + .accesskey = d +about-product2 = + .accesskey = A + .label = About { -brand-shorter-name } # browser/locales/en-US/browser/toolbar.ftl urlbar-textbox = .placeholder = Search or enter address - .accesskey = d + .accesskey = d ## Toolbar items view-bookmarks-broadcaster = - .label = Bookmarks + .label = Bookmarks view-bookmarks-key = - .key = b + .key = b view-bookmarks-key-win = - .key = i + .key = i view-history-broadcaster = - .label = History + .label = History view-history-key = - .key = h + .key = h view-tabs-broadcaster = - .label = Synced Tabs + .label = Synced Tabs # browser/branding/official/locales/en-US/brand.ftl -brand-shorter-name = Firefox -brand-short-name = Firefox -brand-full-name = Mozilla Firefox -vendor-short-name = Mozilla +-brand-shorter-name = Firefox +-brand-short-name = Firefox +-brand-full-name = Mozilla Firefox +-vendor-short-name = Mozilla -trademark-info = +trademark-info = Firefox and the Firefox logos are trademarks of the Mozilla Foundation. -sync-brand-short-name = Sync +-sync-brand-short-name = Sync diff --git a/fluent-syntax/benches/parser.rs b/fluent-syntax/benches/parser.rs index d550976d..4cca88bd 100644 --- a/fluent-syntax/benches/parser.rs +++ b/fluent-syntax/benches/parser.rs @@ -26,7 +26,7 @@ fn get_strings(tests: &[&'static str]) -> HashMap<&'static str, String> { } fn parser_bench(c: &mut Criterion) { - let tests = &["simple", "menubar"]; + let tests = &["simple", "preferences", "menubar"]; let ftl_strings = get_strings(tests); c.bench_function_over_inputs( diff --git a/fluent-syntax/benches/preferences.ftl b/fluent-syntax/benches/preferences.ftl new file mode 100644 index 00000000..f1ea3053 --- /dev/null +++ b/fluent-syntax/benches/preferences.ftl @@ -0,0 +1,1076 @@ +# 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/. + +## browser/locales/en-US/browser/preferences/preferences.ftl + +do-not-track-description = Send websites a “Do Not Track” signal that you don’t want to be tracked +do-not-track-learn-more = Learn more +do-not-track-option-default-content-blocking-known = + .label = Only when { -brand-short-name } is set to block known trackers +do-not-track-option-always = + .label = Always + +pref-page = + .title = + { PLATFORM() -> + [windows] Options + *[other] Preferences + } + +# This is used to determine the width of the search field in about:preferences, +# in order to make the entire placeholder string visible +# +# Please keep the placeholder string short to avoid truncation. +# +# Notice: The value of the `.style` attribute is a CSS string, and the `width` +# is the name of the CSS property. It is intended only to adjust the element's width. +# Do not translate. +search-input-box = + .style = width: 15.4em + .placeholder = + { PLATFORM() -> + [windows] Find in Options + *[other] Find in Preferences + } + +policies-notice = + { PLATFORM() -> + [windows] Your organization has disabled the ability to change some options. + *[other] Your organization has disabled the ability to change some preferences. + } + +pane-general-title = General +category-general = + .tooltiptext = { pane-general-title } + +pane-home-title = Home +category-home = + .tooltiptext = { pane-home-title } + +pane-search-title = Search +category-search = + .tooltiptext = { pane-search-title } + +pane-privacy-title = Privacy & Security +category-privacy = + .tooltiptext = { pane-privacy-title } + +pane-sync-title2 = { -sync-brand-short-name } +category-sync2 = + .tooltiptext = { pane-sync-title2 } + +help-button-label = { -brand-short-name } Support +addons-button-label = Extensions & Themes + +focus-search = + .key = f + +close-button = + .aria-label = Close + +## Browser Restart Dialog + +feature-enable-requires-restart = { -brand-short-name } must restart to enable this feature. +feature-disable-requires-restart = { -brand-short-name } must restart to disable this feature. +should-restart-title = Restart { -brand-short-name } +should-restart-ok = Restart { -brand-short-name } now +cancel-no-restart-button = Cancel +restart-later = Restart Later + +## Extension Control Notifications +## +## These strings are used to inform the user +## about changes made by extensions to browser settings. +## +## is going to be replaced by the extension icon. +## +## Variables: +## $name (String): name of the extension + +# This string is shown to notify the user that their home page +# is being controlled by an extension. +extension-controlled-homepage-override = An extension, { $name }, is controlling your home page. + +# This string is shown to notify the user that their new tab page +# is being controlled by an extension. +extension-controlled-new-tab-url = An extension, { $name }, is controlling your New Tab page. + +# This string is shown to notify the user that their notifications permission +# is being controlled by an extension. +extension-controlled-web-notifications= An extension, { $name }, is controlling this setting. + +# This string is shown to notify the user that the default search engine +# is being controlled by an extension. +extension-controlled-default-search = An extension, { $name }, has set your default search engine. + +# This string is shown to notify the user that Container Tabs +# are being enabled by an extension. +extension-controlled-privacy-containers = An extension, { $name }, requires Container Tabs. + +# This string is shown to notify the user that their content blocking "All Detected Trackers" +# preferences are being controlled by an extension. +extension-controlled-websites-content-blocking-all-trackers = An extension, { $name }, is controlling this setting. + +# This string is shown to notify the user that their proxy configuration preferences +# are being controlled by an extension. +extension-controlled-proxy-config = An extension, { $name }, is controlling how { -brand-short-name } connects to the internet. + +# This string is shown after the user disables an extension to notify the user +# how to enable an extension that they disabled. +# +# will be replaced with Add-ons icon +# will be replaced with Menu icon +extension-controlled-enable = To enable the extension go to Add-ons in the menu. + +## Preferences UI Search Results + +search-results-header = Search Results + +# `` will be replaced by the search term. +search-results-empty-message = + { PLATFORM() -> + [windows] Sorry! There are no results in Options for “”. + *[other] Sorry! There are no results in Preferences for “”. + } + +search-results-help-link = Need help? Visit { -brand-short-name } Support + +## General Section + +startup-header = Startup + +# { -brand-short-name } will be 'Firefox Developer Edition', +# since this setting is only exposed in Firefox Developer Edition +separate-profile-mode = + .label = Allow { -brand-short-name } and Firefox to run at the same time +use-firefox-sync = Tip: This uses separate profiles. Use { -sync-brand-short-name } to share data between them. +get-started-not-logged-in = Sign in to { -sync-brand-short-name }… +get-started-configured = Open { -sync-brand-short-name } preferences + +always-check-default = + .label = Always check if { -brand-short-name } is your default browser + .accesskey = y + +is-default = { -brand-short-name } is currently your default browser +is-not-default = { -brand-short-name } is not your default browser + +set-as-my-default-browser = + .label = Make Default… + .accesskey = D + +startup-restore-previous-session = + .label = Restore previous session + .accesskey = s + +startup-restore-warn-on-quit = + .label = Warn you when quitting the browser + +disable-extension = + .label = Disable Extension + +tabs-group-header = Tabs + +ctrl-tab-recently-used-order = + .label = Ctrl+Tab cycles through tabs in recently used order + .accesskey = T + +open-new-link-as-tabs = + .label = Open links in tabs instead of new windows + .accesskey = w + +warn-on-close-multiple-tabs = + .label = Warn you when closing multiple tabs + .accesskey = m + +warn-on-open-many-tabs = + .label = Warn you when opening multiple tabs might slow down { -brand-short-name } + .accesskey = d + +switch-links-to-new-tabs = + .label = When you open a link in a new tab, switch to it immediately + .accesskey = h + +show-tabs-in-taskbar = + .label = Show tab previews in the Windows taskbar + .accesskey = k + +browser-containers-enabled = + .label = Enable Container Tabs + .accesskey = n + +browser-containers-learn-more = Learn more + +browser-containers-settings = + .label = Settings… + .accesskey = i + +containers-disable-alert-title = Close All Container Tabs? +containers-disable-alert-desc = + { $tabCount -> + [one] If you disable Container Tabs now, { $tabCount } container tab will be closed. Are you sure you want to disable Container Tabs? + *[other] If you disable Container Tabs now, { $tabCount } container tabs will be closed. Are you sure you want to disable Container Tabs? + } + +containers-disable-alert-ok-button = + { $tabCount -> + [one] Close { $tabCount } Container Tab + *[other] Close { $tabCount } Container Tabs + } +containers-disable-alert-cancel-button = Keep enabled + +containers-remove-alert-title = Remove This Container? + +# Variables: +# $count (Number) - Number of tabs that will be closed. +containers-remove-alert-msg = + { $count -> + [one] If you remove this Container now, { $count } container tab will be closed. Are you sure you want to remove this Container? + *[other] If you remove this Container now, { $count } container tabs will be closed. Are you sure you want to remove this Container? + } + +containers-remove-ok-button = Remove this Container +containers-remove-cancel-button = Don’t remove this Container + + +## General Section - Language & Appearance + +language-and-appearance-header = Language and Appearance + +fonts-and-colors-header = Fonts & Colors + +default-font = Default font + .accesskey = D +default-font-size = Size + .accesskey = S + +advanced-fonts = + .label = Advanced… + .accesskey = A + +colors-settings = + .label = Colors… + .accesskey = C + +language-header = Language + +choose-language-description = Choose your preferred language for displaying pages + +choose-button = + .label = Choose… + .accesskey = o + +choose-browser-language-description = Choose the languages used to display menus, messages, and notifications from { -brand-short-name }. +manage-browser-languages-button = + .label = Set Alternatives… + .accesskey = l +confirm-browser-language-change-description = Restart { -brand-short-name } to apply these changes +confirm-browser-language-change-button = Apply and Restart + +translate-web-pages = + .label = Translate web content + .accesskey = T + +# The element is replaced by the logo of the provider +# used to provide machine translations for web pages. +translate-attribution = Translations by + +translate-exceptions = + .label = Exceptions… + .accesskey = x + +check-user-spelling = + .label = Check your spelling as you type + .accesskey = t + +## General Section - Files and Applications + +files-and-applications-title = Files and Applications + +download-header = Downloads + +download-save-to = + .label = Save files to + .accesskey = v + +download-choose-folder = + .label = + { PLATFORM() -> + [macos] Choose… + *[other] Browse… + } + .accesskey = + { PLATFORM() -> + [macos] e + *[other] o + } + +download-always-ask-where = + .label = Always ask you where to save files + .accesskey = A + +applications-header = Applications + +applications-description = Choose how { -brand-short-name } handles the files you download from the web or the applications you use while browsing. + +applications-filter = + .placeholder = Search file types or applications + +applications-type-column = + .label = Content Type + .accesskey = T + +applications-action-column = + .label = Action + .accesskey = A + +drm-content-header = Digital Rights Management (DRM) Content + +play-drm-content = + .label = Play DRM-controlled content + .accesskey = P + +play-drm-content-learn-more = Learn more + +update-application-title = { -brand-short-name } Updates + +update-application-description = Keep { -brand-short-name } up to date for the best performance, stability, and security. + +update-application-version = Version { $version } What’s new + +update-history = + .label = Show Update History… + .accesskey = p + +update-application-allow-description = Allow { -brand-short-name } to + +update-application-auto = + .label = Automatically install updates (recommended) + .accesskey = A + +update-application-check-choose = + .label = Check for updates but let you choose to install them + .accesskey = C + +update-application-manual = + .label = Never check for updates (not recommended) + .accesskey = N + +update-application-warning-cross-user-setting = This setting will apply to all Windows accounts and { -brand-short-name } profiles using this installation of { -brand-short-name }. + +update-application-use-service = + .label = Use a background service to install updates + .accesskey = b + +update-enable-search-update = + .label = Automatically update search engines + .accesskey = e + +update-pref-write-failure-title = Write Failure + +# Variables: +# $path (String) - Path to the configuration file +update-pref-write-failure-message = Unable to save preference. Could not write to file: { $path } + +## General Section - Performance + +performance-title = Performance + +performance-use-recommended-settings-checkbox = + .label = Use recommended performance settings + .accesskey = U + +performance-use-recommended-settings-desc = These settings are tailored to your computer’s hardware and operating system. + +performance-settings-learn-more = Learn more + +performance-allow-hw-accel = + .label = Use hardware acceleration when available + .accesskey = r + +performance-limit-content-process-option = Content process limit + .accesskey = l + +performance-limit-content-process-enabled-desc = Additional content processes can improve performance when using multiple tabs, but will also use more memory. +performance-limit-content-process-blocked-desc = Modifying the number of content processes is only possible with multiprocess { -brand-short-name }. Learn how to check if multiprocess is enabled + +# Variables: +# $num - default value of the `dom.ipc.processCount` pref. +performance-default-content-process-count = + .label = { $num } (default) + +## General Section - Browsing + +browsing-title = Browsing + +browsing-use-autoscroll = + .label = Use autoscrolling + .accesskey = a + +browsing-use-smooth-scrolling = + .label = Use smooth scrolling + .accesskey = m + +browsing-use-onscreen-keyboard = + .label = Show a touch keyboard when necessary + .accesskey = c + +browsing-use-cursor-navigation = + .label = Always use the cursor keys to navigate within pages + .accesskey = k + +browsing-search-on-start-typing = + .label = Search for text when you start typing + .accesskey = x + +browsing-cfr-recommendations = + .label = Recommend extensions as you browse + .accesskey = R +browsing-cfr-features = + .label = Recommend features as you browse + .accesskey = f + +browsing-cfr-recommendations-learn-more = Learn more + +## General Section - Proxy + +network-settings-title = Network Settings + +network-proxy-connection-description = Configure how { -brand-short-name } connects to the internet. + +network-proxy-connection-learn-more = Learn more + +network-proxy-connection-settings = + .label = Settings… + .accesskey = e + +## Home Section + +home-new-windows-tabs-header = New Windows and Tabs + +home-new-windows-tabs-description2 = Choose what you see when you open your homepage, new windows, and new tabs. + +## Home Section - Home Page Customization + +home-homepage-mode-label = Homepage and new windows + +home-newtabs-mode-label = New tabs + +home-restore-defaults = + .label = Restore Defaults + .accesskey = R + +# "Firefox" should be treated as a brand and kept in English, +# while "Home" and "(Default)" can be localized. +home-mode-choice-default = + .label = Firefox Home (Default) + +home-mode-choice-custom = + .label = Custom URLs… + +home-mode-choice-blank = + .label = Blank Page + +home-homepage-custom-url = + .placeholder = Paste a URL… + +# This string has a special case for '1' and [other] (default). If necessary for +# your language, you can add {$tabCount} to your translations and use the +# standard CLDR forms, or only use the form for [other] if both strings should +# be identical. +use-current-pages = + .label = + { $tabCount -> + [1] Use Current Page + *[other] Use Current Pages + } + .accesskey = C + +choose-bookmark = + .label = Use Bookmark… + .accesskey = B + +## Search Section + +search-bar-header = Search Bar +search-bar-hidden = + .label = Use the address bar for search and navigation +search-bar-shown = + .label = Add search bar in toolbar + +search-engine-default-header = Default Search Engine +search-engine-default-desc = Choose the default search engine to use in the address bar and search bar. + +search-suggestions-option = + .label = Provide search suggestions + .accesskey = s + +search-show-suggestions-url-bar-option = + .label = Show search suggestions in address bar results + .accesskey = l + +# This string describes what the user will observe when the system +# prioritizes search suggestions over browsing history in the results +# that extend down from the address bar. In the original English string, +# "ahead" refers to location (appearing most proximate to), not time +# (appearing before). +search-show-suggestions-above-history-option = + .label = Show search suggestions ahead of browsing history in address bar results + +search-suggestions-cant-show = Search suggestions will not be shown in location bar results because you have configured { -brand-short-name } to never remember history. + +search-one-click-header = One-Click Search Engines + +search-one-click-desc = Choose the alternative search engines that appear below the address bar and search bar when you start to enter a keyword. + +search-choose-engine-column = + .label = Search Engine +search-choose-keyword-column = + .label = Keyword + +search-restore-default = + .label = Restore Default Search Engines + .accesskey = D + +search-remove-engine = + .label = Remove + .accesskey = R + +search-find-more-link = Find more search engines + +# This warning is displayed when the chosen keyword is already in use +# ('Duplicate' is an adjective) +search-keyword-warning-title = Duplicate Keyword +# Variables: +# $name (String) - Name of a search engine. +search-keyword-warning-engine = You have chosen a keyword that is currently in use by “{ $name }”. Please select another. +search-keyword-warning-bookmark = You have chosen a keyword that is currently in use by a bookmark. Please select another. + +## Containers Section + +containers-back-link = « Go Back +containers-header = Container Tabs +containers-add-button = + .label = Add New Container + .accesskey = A + +containers-preferences-button = + .label = Preferences +containers-remove-button = + .label = Remove + +## Sync Section - Signed out + +sync-signedout-caption = Take Your Web With You +sync-signedout-description = Synchronize your bookmarks, history, tabs, passwords, add-ons, and preferences across all your devices. + +sync-signedout-account-title = Connect with a { -fxaccount-brand-name } +sync-signedout-account-create = Don’t have an account? Get started + .accesskey = c + +sync-signedout-account-signin = + .label = Sign In… + .accesskey = I + +# This message contains two links and two icon images. +# `` - Android logo icon +# `` - Link to Android Download +# `` - iOS logo icon +# `` - Link to iOS Download +# +# They can be moved within the sentence as needed to adapt +# to your language, but should not be changed or translated. +sync-mobile-promo = Download Firefox for Android or iOS to sync with your mobile device. + +## Sync Section - Signed in + +sync-profile-picture = + .tooltiptext = Change profile picture + +sync-disconnect = + .label = Disconnect… + .accesskey = D + +sync-manage-account = Manage account + .accesskey = o + +sync-signedin-unverified = { $email } is not verified. +sync-signedin-login-failure = Please sign in to reconnect { $email } + +sync-resend-verification = + .label = Resend Verification + .accesskey = d + +sync-remove-account = + .label = Remove Account + .accesskey = R + +sync-sign-in = + .label = Sign in + .accesskey = g + +sync-signedin-settings-header = Sync Settings +sync-signedin-settings-desc = Choose what to synchronize on your devices using { -brand-short-name } + +sync-engine-bookmarks = + .label = Bookmarks + .accesskey = m + +sync-engine-history = + .label = History + .accesskey = r + +sync-engine-tabs = + .label = Open tabs + .tooltiptext = A list of what’s open on all synced devices + .accesskey = t + +sync-engine-logins = + .label = Logins + .tooltiptext = Usernames and passwords you’ve saved + .accesskey = L + +sync-engine-addresses = + .label = Addresses + .tooltiptext = Postal addresses you’ve saved (desktop only) + .accesskey = e + +sync-engine-creditcards = + .label = Credit cards + .tooltiptext = Names, numbers and expiry dates (desktop only) + .accesskey = C + +sync-engine-addons = + .label = Add-ons + .tooltiptext = Extensions and themes for Firefox desktop + .accesskey = A + +sync-engine-prefs = + .label = + { PLATFORM() -> + [windows] Options + *[other] Preferences + } + .tooltiptext = General, Privacy, and Security settings you’ve changed + .accesskey = s + +sync-device-name-header = Device Name + +sync-device-name-change = + .label = Change Device Name… + .accesskey = h + +sync-device-name-cancel = + .label = Cancel + .accesskey = n + +sync-device-name-save = + .label = Save + .accesskey = v + +sync-connect-another-device = Connect another device + +sync-manage-devices = Manage devices + +sync-fxa-begin-pairing = Pair a device + +sync-tos-link = Terms of Service + +sync-fxa-privacy-notice = Privacy Notice + +## Privacy Section + +privacy-header = Browser Privacy + +## Privacy Section - Forms + +logins-header = Logins & Passwords +forms-ask-to-save-logins = + .label = Ask to save logins and passwords for websites + .accesskey = r +forms-exceptions = + .label = Exceptions… + .accesskey = x +forms-saved-logins = + .label = Saved Logins… + .accesskey = L +forms-master-pw-use = + .label = Use a master password + .accesskey = U +forms-master-pw-change = + .label = Change Master Password… + .accesskey = M + +## Privacy Section - History + +history-header = History + +# This label is followed, on the same line, by a dropdown list of options +# (Remember history, etc.). +# In English it visually creates a full sentence, e.g. +# "Firefox will" + "Remember history". +# +# If this doesn't work for your language, you can translate this message: +# - Simply as "Firefox", moving the verb into each option. +# This will result in "Firefox" + "Will remember history", etc. +# - As a stand-alone message, for example "Firefox history settings:". +history-remember-label = { -brand-short-name } will + .accesskey = w + +history-remember-option-all = + .label = Remember history +history-remember-option-never = + .label = Never remember history +history-remember-option-custom = + .label = Use custom settings for history + +history-remember-description = { -brand-short-name } will remember your browsing, download, form and search history. +history-dontremember-description = { -brand-short-name } will use the same settings as private browsing, and will not remember any history as you browse the Web. + +history-private-browsing-permanent = + .label = Always use private browsing mode + .accesskey = p + +history-remember-browser-option = + .label = Remember browsing and download history + .accesskey = b + +history-remember-search-option = + .label = Remember search and form history + .accesskey = f + +history-clear-on-close-option = + .label = Clear history when { -brand-short-name } closes + .accesskey = r + +history-clear-on-close-settings = + .label = Settings… + .accesskey = t + +history-clear-button = + .label = Clear History… + .accesskey = s + +## Privacy Section - Site Data + +sitedata-header = Cookies and Site Data + +sitedata-total-size-calculating = Calculating site data and cache size… + +# Variables: +# $value (Number) - Value of the unit (for example: 4.6, 500) +# $unit (String) - Name of the unit (for example: "bytes", "KB") +sitedata-total-size = Your stored cookies, site data and cache are currently using { $value } { $unit } of disk space. + +sitedata-learn-more = Learn more + +sitedata-delete-on-close = + .label = Delete cookies and site data when { -brand-short-name } is closed + .accesskey = c + +sitedata-delete-on-close-private-browsing = In permanent private browsing mode, cookies and site data will always be cleared when { -brand-short-name } is closed. + +sitedata-allow-cookies-option = + .label = Accept cookies and site data + .accesskey = A + +sitedata-disallow-cookies-option = + .label = Block cookies and site data + .accesskey = B + +# This label means 'type of content that is blocked', and is followed by a drop-down list with content types below. +# The list items are the strings named sitedata-block-*-option*. +sitedata-block-desc = Type blocked + .accesskey = T + +sitedata-option-block-trackers = + .label = Third-party trackers +sitedata-option-block-unvisited = + .label = Cookies from unvisited websites +sitedata-option-block-all-third-party = + .label = All third-party cookies (may cause websites to break) +sitedata-option-block-all = + .label = All cookies (will cause websites to break) + +sitedata-clear = + .label = Clear Data… + .accesskey = l + +sitedata-settings = + .label = Manage Data… + .accesskey = M + +sitedata-cookies-permissions = + .label = Manage Permissions… + .accesskey = P + +## Privacy Section - Address Bar + +addressbar-header = Address Bar + +addressbar-suggest = When using the address bar, suggest + +addressbar-locbar-history-option = + .label = Browsing history + .accesskey = h +addressbar-locbar-bookmarks-option = + .label = Bookmarks + .accesskey = k +addressbar-locbar-openpage-option = + .label = Open tabs + .accesskey = O + +addressbar-suggestions-settings = Change preferences for search engine suggestions + +## Privacy Section - Content Blocking + +content-blocking-header = Content Blocking + +content-blocking-description = Block third-party content that tracks you around the web. Control how much of your online activity gets stored and shared between websites. + +content-blocking-learn-more = Learn more + +# The terminology used to refer to categories of Content Blocking is also used in chrome/browser/browser.properties and should be translated consistently. +# "Standard" in this case is an adjective, meaning "default" or "normal". +content-blocking-setting-standard = + .label = Standard + .accesskey = d +content-blocking-setting-strict = + .label = Strict + .accesskey = r +content-blocking-setting-custom = + .label = Custom + .accesskey = C + +content-blocking-standard-description = Only blocks known trackers in Private Windows. +content-blocking-standard-desc = Balanced for protection and performance. Allows some trackers so websites function properly. +content-blocking-strict-desc = Blocks all trackers { -brand-short-name } detects. May cause some sites to break. +content-blocking-custom-desc = Choose what to block. + +content-blocking-private-trackers = Known trackers only in Private Windows +content-blocking-third-party-cookies = Third-party tracking cookies +content-blocking-all-windows-trackers = Known trackers in all windows +content-blocking-all-third-party-cookies = All third-party cookies + +content-blocking-warning-title = Heads up! +content-blocking-warning-description = Blocking content can cause some websites to break. It’s easy to disable blocking for sites you trust. +content-blocking-learn-how = Learn how + +content-blocking-trackers-label = + .label = Trackers + .accesskey = T +content-blocking-tracking-protection-option-all-windows = + .label = In all windows + .accesskey = A +content-blocking-option-private = + .label = Only in Private Windows + .accesskey = p +content-blocking-tracking-protection-change-block-list = Change block list + +content-blocking-cookies-label = + .label = Cookies + .accesskey = C + +# Cryptomining refers to using scripts on websites that can use a computer’s resources to mine cryptocurrency without a user’s knowledge. +content-blocking-cryptominers-label = + .label = Cryptominers + .accesskey = y + +# Browser fingerprinting is a method of tracking users by the configuration and settings information (their "digital fingerprint") +# that is visible to websites they browse, rather than traditional tracking methods such as IP addresses and unique cookies. +content-blocking-fingerprinters-label = + .label = Fingerprinters + .accesskey = F + +## Privacy Section - Tracking + +tracking-manage-exceptions = + .label = Manage Exceptions… + .accesskey = x + +## Privacy Section - Permissions + +permissions-header = Permissions + +permissions-location = Location +permissions-location-settings = + .label = Settings… + .accesskey = t + +permissions-camera = Camera +permissions-camera-settings = + .label = Settings… + .accesskey = t + +permissions-microphone = Microphone +permissions-microphone-settings = + .label = Settings… + .accesskey = t + +permissions-notification = Notifications +permissions-notification-settings = + .label = Settings… + .accesskey = t +permissions-notification-link = Learn more + +permissions-notification-pause = + .label = Pause notifications until { -brand-short-name } restarts + .accesskey = n + +permissions-block-autoplay-media2 = + .label = Block websites from automatically playing sound + .accesskey = B + +permissions-block-autoplay-media-exceptions = + .label = Exceptions… + .accesskey = E + +permissions-block-popups = + .label = Block pop-up windows + .accesskey = B + +permissions-block-popups-exceptions = + .label = Exceptions… + .accesskey = E + +permissions-addon-install-warning = + .label = Warn you when websites try to install add-ons + .accesskey = W + +permissions-addon-exceptions = + .label = Exceptions… + .accesskey = E + +permissions-a11y-privacy-checkbox = + .label = Prevent accessibility services from accessing your browser + .accesskey = a + +permissions-a11y-privacy-link = Learn more + +## Privacy Section - Data Collection + +collection-header = { -brand-short-name } Data Collection and Use + +collection-description = We strive to provide you with choices and collect only what we need to provide and improve { -brand-short-name } for everyone. We always ask permission before receiving personal information. +collection-privacy-notice = Privacy Notice + +collection-health-report = + .label = Allow { -brand-short-name } to send technical and interaction data to { -vendor-short-name } + .accesskey = r +collection-health-report-link = Learn more + +collection-studies = + .label = Allow { -brand-short-name } to install and run studies +collection-studies-link = View { -brand-short-name } studies + +addon-recommendations = + .label = Allow { -brand-short-name } to make personalized extension recommendations +addon-recommendations-link = Learn more + +# This message is displayed above disabled data sharing options in developer builds +# or builds with no Telemetry support available. +collection-health-report-disabled = Data reporting is disabled for this build configuration + +collection-backlogged-crash-reports = + .label = Allow { -brand-short-name } to send backlogged crash reports on your behalf + .accesskey = c +collection-backlogged-crash-reports-link = Learn more + +## Privacy Section - Security +## +## It is important that wording follows the guidelines outlined on this page: +## https://developers.google.com/safe-browsing/developers_guide_v2#AcceptableUsage + +security-header = Security + +security-browsing-protection = Deceptive Content and Dangerous Software Protection + +security-enable-safe-browsing = + .label = Block dangerous and deceptive content + .accesskey = B +security-enable-safe-browsing-link = Learn more + +security-block-downloads = + .label = Block dangerous downloads + .accesskey = d + +security-block-uncommon-software = + .label = Warn you about unwanted and uncommon software + .accesskey = c + +## Privacy Section - Certificates + +certs-header = Certificates + +certs-personal-label = When a server requests your personal certificate + +certs-select-auto-option = + .label = Select one automatically + .accesskey = S + +certs-select-ask-option = + .label = Ask you every time + .accesskey = A + +certs-enable-ocsp = + .label = Query OCSP responder servers to confirm the current validity of certificates + .accesskey = Q + +certs-view = + .label = View Certificates… + .accesskey = C + +certs-devices = + .label = Security Devices… + .accesskey = D + +space-alert-learn-more-button = + .label = Learn More + .accesskey = L + +space-alert-over-5gb-pref-button = + .label = + { PLATFORM() -> + [windows] Open Options + *[other] Open Preferences + } + .accesskey = + { PLATFORM() -> + [windows] O + *[other] O + } + +space-alert-over-5gb-message = + { PLATFORM() -> + [windows] { -brand-short-name } is running out of disk space. Website contents may not display properly. You can clear stored data in Options > Privacy & Security > Cookies and Site Data. + *[other] { -brand-short-name } is running out of disk space. Website contents may not display properly. You can clear stored data in Preferences > Privacy & Security > Cookies and Site Data. + } + +space-alert-under-5gb-ok-button = + .label = OK, Got it + .accesskey = K + +space-alert-under-5gb-message = { -brand-short-name } is running out of disk space. Website contents may not display properly. Visit “Learn More” to optimize your disk usage for better browsing experience. + +## The following strings are used in the Download section of settings +desktop-folder-name = Desktop +downloads-folder-name = Downloads +choose-download-folder-title = Choose Download Folder: + +# Variables: +# $service-name (String) - Name of a cloud storage provider like Dropbox, Google Drive, etc... +save-files-to-cloud-storage = + .label = Save files to { $service-name } + + +## browser/branding/official/locales/en-US/brand.ftl + +-brand-short-name = Firefox + +## browser/locales/en-US/browser/branding/sync-brand.ftl + +-fxaccount-brand-name = Firefox Account + +## browser/locales/en-US/browser/branding/sync-brand.ftl + +-sync-brand-short-name = Sync diff --git a/fluent-syntax/benches/simple.ftl b/fluent-syntax/benches/simple.ftl index 8d6bf113..223e050a 100644 --- a/fluent-syntax/benches/simple.ftl +++ b/fluent-syntax/benches/simple.ftl @@ -1,100 +1,102 @@ -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key1 = Value 1 -key1 = Value 1 -key1 = Value 1 -key1 = Value 1 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key1 = Value 1 -key1 = Value 1 -key1 = Value 1 -key1 = Value 1 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key1 = Value 1 -key1 = Value 1 -key1 = Value 1 -key1 = Value 1 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key2 = Value 2 -key1 = Value 1 -key2 = Value 2 -key1 = Value 1 +# Artificial testcase with 100 simple Fluent Messages + +key0 = Value 0 +key1 = Value 1 +key2 = Value 2 +key3 = Value 3 +key4 = Value 4 +key5 = Value 5 +key6 = Value 6 +key7 = Value 7 +key8 = Value 8 +key9 = Value 9 +key10 = Value 10 +key11 = Value 11 +key12 = Value 12 +key13 = Value 13 +key14 = Value 14 +key15 = Value 15 +key16 = Value 16 +key17 = Value 17 +key18 = Value 18 +key19 = Value 19 +key20 = Value 20 +key21 = Value 21 +key22 = Value 22 +key23 = Value 23 +key24 = Value 24 +key25 = Value 25 +key26 = Value 26 +key27 = Value 27 +key28 = Value 28 +key29 = Value 29 +key30 = Value 30 +key31 = Value 31 +key32 = Value 32 +key33 = Value 33 +key34 = Value 34 +key35 = Value 35 +key36 = Value 36 +key37 = Value 37 +key38 = Value 38 +key39 = Value 39 +key40 = Value 40 +key41 = Value 41 +key42 = Value 42 +key43 = Value 43 +key44 = Value 44 +key45 = Value 45 +key46 = Value 46 +key47 = Value 47 +key48 = Value 48 +key49 = Value 49 +key50 = Value 50 +key51 = Value 51 +key52 = Value 52 +key53 = Value 53 +key54 = Value 54 +key55 = Value 55 +key56 = Value 56 +key57 = Value 57 +key58 = Value 58 +key59 = Value 59 +key60 = Value 60 +key61 = Value 61 +key62 = Value 62 +key63 = Value 63 +key64 = Value 64 +key65 = Value 65 +key66 = Value 66 +key67 = Value 67 +key68 = Value 68 +key69 = Value 69 +key70 = Value 70 +key71 = Value 71 +key72 = Value 72 +key73 = Value 73 +key74 = Value 74 +key75 = Value 75 +key76 = Value 76 +key77 = Value 77 +key78 = Value 78 +key79 = Value 79 +key80 = Value 80 +key81 = Value 81 +key82 = Value 82 +key83 = Value 83 +key84 = Value 84 +key85 = Value 85 +key86 = Value 86 +key87 = Value 87 +key88 = Value 88 +key89 = Value 89 +key90 = Value 90 +key91 = Value 91 +key92 = Value 92 +key93 = Value 93 +key94 = Value 94 +key95 = Value 95 +key96 = Value 96 +key97 = Value 97 +key98 = Value 98 +key99 = Value 99