Bug 1757407 - Re-run mach vendor rust; r=platform-i18n-reviewers,gregtatum

Differential Revision: https://phabricator.services.mozilla.com/D139855
This commit is contained in:
Dan Minor 2022-03-25 20:39:44 +00:00
Родитель 6553d6bd7f
Коммит f4825ff71f
898 изменённых файлов: 116365 добавлений и 16201 удалений

Просмотреть файл

@ -27,11 +27,6 @@ git = "https://github.com/mozilla/midir.git"
replace-with = "vendored-sources"
rev = "4c11f0ffb5d6a10de4aff40a7b81218b33b94e6f"
[source."https://github.com/mozilla/l10nregistry-rs.git"]
git = "https://github.com/mozilla/l10nregistry-rs.git"
replace-with = "vendored-sources"
rev = "9da98c6e5325a5f2997191727eaa82c0ebc2004c"
[source."https://github.com/mozilla/cubeb-pulse-rs"]
git = "https://github.com/mozilla/cubeb-pulse-rs"
replace-with = "vendored-sources"

86
Cargo.lock сгенерированный
Просмотреть файл

@ -1668,6 +1668,17 @@ dependencies = [
"thiserror",
]
[[package]]
name = "fluent-testing"
version = "0.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e4597df830d853d8a319c9cba05bc62d59288b613f1f445638444e05e4041fdf"
dependencies = [
"fluent-bundle",
"fluent-fallback",
"tokio 1.17.0",
]
[[package]]
name = "fnv"
version = "1.0.7"
@ -2745,15 +2756,17 @@ dependencies = [
[[package]]
name = "l10nregistry"
version = "0.3.0"
source = "git+https://github.com/mozilla/l10nregistry-rs.git?rev=9da98c6e5325a5f2997191727eaa82c0ebc2004c#9da98c6e5325a5f2997191727eaa82c0ebc2004c"
dependencies = [
"async-trait",
"fluent-bundle",
"fluent-fallback",
"fluent-testing",
"futures 0.3.19",
"pin-project-lite 0.2.7",
"replace_with",
"rustc-hash",
"serial_test",
"tokio 1.17.0",
"unic-langid",
]
@ -4677,6 +4690,28 @@ dependencies = [
"yaml-rust",
]
[[package]]
name = "serial_test"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e0bccbcf40c8938196944a3da0e133e031a33f4d6b72db3bda3cc556e361905d"
dependencies = [
"lazy_static",
"parking_lot",
"serial_test_derive",
]
[[package]]
name = "serial_test_derive"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2acd6defeddb41eb60bb468f8825d0cfd0c2a76bc03bfd235b6a1dc4f6a1ad5"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "servo_arc"
version = "0.1.1"
@ -5185,6 +5220,19 @@ dependencies = [
"slab",
]
[[package]]
name = "tokio"
version = "1.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2af73ac49756f3f7c01172e34a23e5d0216f6c32333757c2c61feb2bbff5a5ee"
dependencies = [
"bytes 1.1.0",
"memchr",
"num_cpus",
"pin-project-lite 0.2.7",
"tokio-macros",
]
[[package]]
name = "tokio-codec"
version = "0.1.2"
@ -5238,6 +5286,17 @@ dependencies = [
"log",
]
[[package]]
name = "tokio-macros"
version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "tokio-reactor"
version = "0.1.3"
@ -5409,6 +5468,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73328fcd730a030bdb19ddf23e192187a6b01cd98be6d3140622a89129459ce5"
dependencies = [
"unic-langid-impl",
"unic-langid-macros",
]
[[package]]
@ -5431,6 +5491,30 @@ dependencies = [
"tinystr",
]
[[package]]
name = "unic-langid-macros"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "18f980d6d87e8805f2836d64b4138cc95aa7986fa63b1f51f67d5fbff64dd6e5"
dependencies = [
"proc-macro-hack",
"tinystr",
"unic-langid-impl",
"unic-langid-macros-impl",
]
[[package]]
name = "unic-langid-macros-impl"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29396ffd97e27574c3e01368b1a64267d3064969e4848e2e130ff668be9daa9f"
dependencies = [
"proc-macro-hack",
"quote",
"syn",
"unic-langid-impl",
]
[[package]]
name = "unicase"
version = "2.6.0"

1
third_party/rust/fluent-testing/.cargo-checksum.json поставляемый Normal file

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

39
third_party/rust/fluent-testing/Cargo.toml поставляемый Normal file
Просмотреть файл

@ -0,0 +1,39 @@
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.
[package]
edition = "2018"
name = "fluent-testing"
version = "0.0.2"
authors = ["Zibi Braniecki <zibi@braniecki.net>", "Erik Nordin <enordin@mozilla.com>"]
include = ["src/**/*", "resources/**/*", "Cargo.toml", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
description = "A collection of mock scenarios for testing fluent-rs components.\n"
homepage = "http://www.projectfluent.org"
readme = "README.md"
keywords = ["localization", "l10n", "i18n", "intl", "internationalization"]
categories = ["localization", "internationalization"]
license = "Apache-2.0/MIT"
repository = "https://github.com/projectfluent/fluent-rs"
[dependencies.fluent-bundle]
version = "0.15.2"
[dependencies.fluent-fallback]
version = "0.6.0"
[dependencies.tokio]
version = "1.0"
features = ["fs", "rt-multi-thread", "macros", "io-util"]
optional = true
[features]
async = ["tokio"]
default = ["sync"]
sync = []

Просмотреть файл

Просмотреть файл

74
third_party/rust/fluent-testing/README.md поставляемый Normal file
Просмотреть файл

@ -0,0 +1,74 @@
# Fluent
`fluent-testing` is a collection of mock scenarios for testing fluent-rs components.
Project Fluent keeps simple things simple and makes complex things possible.
The syntax used for describing translations is easy to read and understand. At
the same time it allows, when necessary, to represent complex concepts from
natural languages like gender, plurals, conjugations, and others.
[Documentation][]
[Project Fluent]: http://projectfluent.org
[Documentation]: https://docs.rs/fluent/
Status
------
The implementation is in its early stages and supports only some of the Project
Fluent's spec. Consult the [list of milestones][] for more information about
release planning and scope.
[list of milestones]: https://github.com/projectfluent/fluent-rs/milestones
Local Development
-----------------
cargo build
cargo test
cargo run --example simple-fallback
When submitting a PR please use [`cargo fmt`][] (nightly).
[`cargo fmt`]: https://github.com/rust-lang-nursery/rustfmt
Learn the FTL syntax
--------------------
FTL is a localization file format used for describing translation resources.
FTL stands for _Fluent Translation List_.
FTL is designed to be simple to read, but at the same time allows to represent
complex concepts from natural languages like gender, plurals, conjugations, and
others.
hello-user = Hello, { $username }!
[Read the Fluent Syntax Guide][] in order to learn more about the syntax. If
you're a tool author you may be interested in the formal [EBNF grammar][].
[Read the Fluent Syntax Guide]: http://projectfluent.org/fluent/guide/
[EBNF grammar]: https://github.com/projectfluent/fluent/tree/master/spec
Get Involved
------------
`fluent-rs` is open-source, licensed under the Apache License, Version 2.0. We
encourage everyone to take a look at our code and we'll listen to your
feedback.
Discuss
-------
We'd love to hear your thoughts on Project Fluent! Whether you're a localizer
looking for a better way to express yourself in your language, or a developer
trying to make your app localizable and multilingual, or a hacker looking for
a project to contribute to, please do get in touch on the mailing list and the
IRC channel.
- Discourse: https://discourse.mozilla.org/c/fluent
- IRC channel: [irc://irc.mozilla.org/l20n](irc://irc.mozilla.org/l20n)

8
third_party/rust/fluent-testing/resources/README.md поставляемый Normal file
Просмотреть файл

@ -0,0 +1,8 @@
This is a capture of the state of Firefox localizations from December 28 2020.
It contains `en-US` locale which is complete, and `pl` locale which contains some missing
entries.
An example missing message is in file `toolkit/updates/history.ftl` and has id `history-intro`.
An example of a missing file is `browser/preview/interventions.ftl`.

Просмотреть файл

@ -0,0 +1,26 @@
# # This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
## Firefox and Mozilla Brand
##
## Firefox and Mozilla must be treated as a brand.
##
## They cannot be:
## - Transliterated.
## - Translated.
##
## Declension should be avoided where possible, leaving the original
## brand unaltered in prominent UI positions.
##
## For further details, consult:
## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyright-and-trademark
-brand-shorter-name = Nightly
-brand-short-name = Nightly
-brand-full-name = Nightly
# This brand name can be used in messages where the product name needs to
# remain unchanged across different versions (Nightly, Beta, etc.).
-brand-product-name = Firefox
-vendor-short-name = Mozilla
trademarkInfo = { " " }

Просмотреть файл

@ -0,0 +1,61 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
aboutDialog-title =
.title = About { -brand-full-name }
releaseNotes-link = Whats new
update-checkForUpdatesButton =
.label = Check for updates
.accesskey = C
update-updateButton =
.label = Restart to Update { -brand-shorter-name }
.accesskey = R
update-checkingForUpdates = Checking for updates…
update-downloading = <img data-l10n-name="icon"/>Downloading update — <label data-l10n-name="download-status"/>
update-applying = Applying update…
update-failed = Update failed. <label data-l10n-name="failed-link">Download the latest version</label>
update-failed-main =
Update failed. <a data-l10n-name="failed-link-main">Download the latest version</a>
update-adminDisabled = Updates disabled by your system administrator
update-noUpdatesFound = { -brand-short-name } is up to date
update-otherInstanceHandlingUpdates = { -brand-short-name } is being updated by another instance
update-manual = Updates available at <label data-l10n-name="manual-link"/>
update-unsupported = You can not perform further updates on this system. <label data-l10n-name="unsupported-link">Learn more</label>
update-restarting = Restarting…
channel-description = You are currently on the <label data-l10n-name="current-channel"></label> update channel.
warningDesc-version = { -brand-short-name } is experimental and may be unstable.
community-exp = <label data-l10n-name="community-exp-mozillaLink">{ -vendor-short-name }</label> is a <label data-l10n-name="community-exp-creditsLink">global community</label> working together to keep the Web open, public and accessible to all.
community-2 = { -brand-short-name } is designed by <label data-l10n-name="community-mozillaLink">{ -vendor-short-name }</label>, a <label data-l10n-name="community-creditsLink">global community</label> working together to keep the Web open, public and accessible to all.
helpus = Want to help? <label data-l10n-name="helpus-donateLink">Make a donation</label> or <label data-l10n-name="helpus-getInvolvedLink">get involved!</label>
bottomLinks-license = Licensing Information
bottomLinks-rights = End-User Rights
bottomLinks-privacy = Privacy Policy
# Example of resulting string: 66.0.1 (64-bit)
# Variables:
# $version (String): version of Firefox, e.g. 66.0.1
# $bits (Number): bits of the architecture (32 or 64)
aboutDialog-version = { $version } ({ $bits }-bit)
# Example of resulting string: 66.0a1 (2019-01-16) (64-bit)
# Variables:
# $version (String): version of Firefox for Nightly builds, e.g. 66.0a1
# $isodate (String): date in ISO format, e.g. 2019-01-16
# $bits (Number): bits of the architecture (32 or 64)
aboutDialog-version-nightly = { $version } ({ $isodate }) ({ $bits }-bit)

Просмотреть файл

@ -0,0 +1,24 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
all-tabs-menu-undo-close-tabs =
.label =
{ $tabCount ->
[1] Undo Close Tab
*[other] Undo Close Tabs
}
# "Search" is a verb, as in "Search through tabs".
all-tabs-menu-search-tabs =
.label = Search Tabs
all-tabs-menu-new-user-context =
.label = New Container Tab
all-tabs-menu-hidden-tabs =
.label = Hidden Tabs
all-tabs-menu-manage-user-context =
.label = Manage Containers
.accesskey = o

Просмотреть файл

@ -0,0 +1,33 @@
# 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/.
## App Menu
appmenuitem-update-banner =
.label-update-downloading = Downloading { -brand-shorter-name } update
appmenuitem-protection-dashboard-title = Protections Dashboard
appmenuitem-customize-mode =
.label = Customize…
## Zoom Controls
appmenuitem-zoom-enlarge =
.label = Zoom in
appmenuitem-zoom-reduce =
.label = Zoom out
## Firefox Account toolbar button and Sync panel in App menu.
fxa-toolbar-sync-now =
.label = Sync Now
## What's New panel in App menu.
whatsnew-panel-header = Whats New
# Checkbox displayed at the bottom of the What's New panel, allowing users to
# enable/disable What's New notifications.
whatsnew-panel-footer-checkbox =
.label = Notify about new features
.accesskey = f

Просмотреть файл

@ -0,0 +1,25 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
## The following feature names must be treated as a brand.
##
## They cannot be:
## - Transliterated.
## - Translated.
##
## Declension should be avoided where possible, leaving the original
## brand unaltered in prominent UI positions.
##
## For further details, consult:
## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyright-and-trademark
-facebook-container-brand-name = Facebook Container
-lockwise-brand-name = Firefox Lockwise
-lockwise-brand-short-name = Lockwise
-monitor-brand-name = Firefox Monitor
-monitor-brand-short-name = Monitor
-pocket-brand-name = Pocket
-send-brand-name = Firefox Send
-screenshots-brand-name = Firefox Screenshots
-mozilla-vpn-brand-name = Mozilla VPN

Просмотреть файл

@ -0,0 +1,13 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-sync-brand-short-name = Sync
# “Sync” can be localized, “Firefox” must be treated as a brand,
# and kept in English.
-sync-brand-name = Firefox Sync
# “Account” can be localized, “Firefox” must be treated as a brand,
# and kept in English.
-fxaccount-brand-name = Firefox Account

Просмотреть файл

@ -0,0 +1,593 @@
# 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/.
## The main browser window's title
# These are the default window titles everywhere except macOS. The first two
# attributes are used when the web content opened has no title:
#
# default - "Mozilla Firefox"
# private - "Mozilla Firefox (Private Browsing)"
#
# The last two are for use when there *is* a content title.
# Variables:
# $content-title (String): the title of the web content.
browser-main-window =
.data-title-default = { -brand-full-name }
.data-title-private = { -brand-full-name } (Private Browsing)
.data-content-title-default = { $content-title } — { -brand-full-name }
.data-content-title-private = { $content-title } — { -brand-full-name } (Private Browsing)
# These are the default window titles on macOS. The first two are for use when
# there is no content title:
#
# "default" - "Mozilla Firefox"
# "private" - "Mozilla Firefox — (Private Browsing)"
#
# The last two are for use when there *is* a content title.
# Do not use the brand name in the last two attributes, as we do on non-macOS.
#
# Also note the other subtle difference here: we use a `-` to separate the
# brand name from `(Private Browsing)`, which does not happen on other OSes.
#
# Variables:
# $content-title (String): the title of the web content.
browser-main-window-mac =
.data-title-default = { -brand-full-name }
.data-title-private = { -brand-full-name } — (Private Browsing)
.data-content-title-default = { $content-title }
.data-content-title-private = { $content-title } — (Private Browsing)
# This gets set as the initial title, and is overridden as soon as we start
# updating the titlebar based on loaded tabs or private browsing state.
# This should match the `data-title-default` attribute in both
# `browser-main-window` and `browser-main-window-mac`.
browser-main-window-title = { -brand-full-name }
##
urlbar-identity-button =
.aria-label = View site information
## Tooltips for images appearing in the address bar
urlbar-services-notification-anchor =
.tooltiptext = Open install message panel
urlbar-web-notification-anchor =
.tooltiptext = Change whether you can receive notifications from the site
urlbar-midi-notification-anchor =
.tooltiptext = Open MIDI panel
urlbar-eme-notification-anchor =
.tooltiptext = Manage use of DRM software
urlbar-web-authn-anchor =
.tooltiptext = Open Web Authentication panel
urlbar-canvas-notification-anchor =
.tooltiptext = Manage canvas extraction permission
urlbar-web-rtc-share-microphone-notification-anchor =
.tooltiptext = Manage sharing your microphone with the site
urlbar-default-notification-anchor =
.tooltiptext = Open message panel
urlbar-geolocation-notification-anchor =
.tooltiptext = Open location request panel
urlbar-xr-notification-anchor =
.tooltiptext = Open virtual reality permission panel
urlbar-storage-access-anchor =
.tooltiptext = Open browsing activity permission panel
urlbar-translate-notification-anchor =
.tooltiptext = Translate this page
urlbar-web-rtc-share-screen-notification-anchor =
.tooltiptext = Manage sharing your windows or screen with the site
urlbar-indexed-db-notification-anchor =
.tooltiptext = Open offline storage message panel
urlbar-password-notification-anchor =
.tooltiptext = Open save password message panel
urlbar-translated-notification-anchor =
.tooltiptext = Manage page translation
urlbar-plugins-notification-anchor =
.tooltiptext = Manage plug-in use
urlbar-web-rtc-share-devices-notification-anchor =
.tooltiptext = Manage sharing your camera and/or microphone with the site
urlbar-autoplay-notification-anchor =
.tooltiptext = Open autoplay panel
urlbar-persistent-storage-notification-anchor =
.tooltiptext = Store data in Persistent Storage
urlbar-addons-notification-anchor =
.tooltiptext = Open add-on installation message panel
urlbar-tip-help-icon =
.title = Get help
urlbar-search-tips-confirm = Okay, Got It
# Read out before Urlbar Tip text content so screenreader users know the
# subsequent text is a tip offered by the browser. It should end in a colon or
# localized equivalent.
urlbar-tip-icon-description =
.alt = Tip:
## Prompts users to use the Urlbar when they open a new tab or visit the
## homepage of their default search engine.
## Variables:
## $engineName (String): The name of the user's default search engine. e.g. "Google" or "DuckDuckGo".
urlbar-search-tips-onboard = Type less, find more: Search { $engineName } right from your address bar.
urlbar-search-tips-redirect-2 = Start your search in the address bar to see suggestions from { $engineName } and your browsing history.
# Prompts users to use the Urlbar when they are typing in the domain of a
# search engine, e.g. google.com or amazon.com.
urlbar-tabtosearch-onboard = Select this shortcut to find what you need faster.
## Local search mode indicator labels in the urlbar
urlbar-search-mode-bookmarks = Bookmarks
urlbar-search-mode-tabs = Tabs
urlbar-search-mode-history = History
##
urlbar-geolocation-blocked =
.tooltiptext = You have blocked location information for this website.
urlbar-xr-blocked =
.tooltiptext = You have blocked virtual reality device access for this website.
urlbar-web-notifications-blocked =
.tooltiptext = You have blocked notifications for this website.
urlbar-camera-blocked =
.tooltiptext = You have blocked your camera for this website.
urlbar-microphone-blocked =
.tooltiptext = You have blocked your microphone for this website.
urlbar-screen-blocked =
.tooltiptext = You have blocked this website from sharing your screen.
urlbar-persistent-storage-blocked =
.tooltiptext = You have blocked persistent storage for this website.
urlbar-popup-blocked =
.tooltiptext = You have blocked pop-ups for this website.
urlbar-autoplay-media-blocked =
.tooltiptext = You have blocked autoplay media with sound for this website.
urlbar-canvas-blocked =
.tooltiptext = You have blocked canvas data extraction for this website.
urlbar-midi-blocked =
.tooltiptext = You have blocked MIDI access for this website.
urlbar-install-blocked =
.tooltiptext = You have blocked add-on installation for this website.
# Variables
# $shortcut (String) - A keyboard shortcut for the edit bookmark command.
urlbar-star-edit-bookmark =
.tooltiptext = Edit this bookmark ({ $shortcut })
# Variables
# $shortcut (String) - A keyboard shortcut for the add bookmark command.
urlbar-star-add-bookmark =
.tooltiptext = Bookmark this page ({ $shortcut })
## Page Action Context Menu
page-action-add-to-urlbar =
.label = Add to Address Bar
page-action-manage-extension =
.label = Manage Extension…
page-action-remove-from-urlbar =
.label = Remove from Address Bar
page-action-remove-extension =
.label = Remove Extension
## Page Action menu
# Variables
# $tabCount (integer) - Number of tabs selected
page-action-send-tabs-panel =
.label = { $tabCount ->
[1] Send Tab to Device
*[other] Send { $tabCount } Tabs to Device
}
page-action-send-tabs-urlbar =
.tooltiptext = { $tabCount ->
[1] Send Tab to Device
*[other] Send { $tabCount } Tabs to Device
}
page-action-pocket-panel =
.label = Save Page to { -pocket-brand-name }
page-action-copy-url-panel =
.label = Copy Link
page-action-copy-url-urlbar =
.tooltiptext = Copy Link
page-action-email-link-panel =
.label = Email Link…
page-action-email-link-urlbar =
.tooltiptext = Email Link…
page-action-share-url-panel =
.label = Share
page-action-share-url-urlbar =
.tooltiptext = Share
page-action-share-more-panel =
.label = More…
page-action-send-tab-not-ready =
.label = Syncing Devices…
# "Pin" is being used as a metaphor for expressing the fact that these tabs
# are "pinned" to the left edge of the tabstrip. Really we just want the
# string to express the idea that this is a lightweight and reversible
# action that keeps your tab where you can reach it easily.
page-action-pin-tab-panel =
.label = Pin Tab
page-action-pin-tab-urlbar =
.tooltiptext = Pin Tab
page-action-unpin-tab-panel =
.label = Unpin Tab
page-action-unpin-tab-urlbar =
.tooltiptext = Unpin Tab
## Auto-hide Context Menu
full-screen-autohide =
.label = Hide Toolbars
.accesskey = H
full-screen-exit =
.label = Exit Full Screen Mode
.accesskey = F
## Search Engine selection buttons (one-offs)
# This string prompts the user to use the list of search shortcuts in
# the Urlbar and searchbar.
search-one-offs-with-title = This time, search with:
# This string won't wrap, so if the translated string is longer,
# consider translating it as if it said only "Search Settings".
search-one-offs-change-settings-button =
.label = Change Search Settings
search-one-offs-change-settings-compact-button =
.tooltiptext = Change search settings
search-one-offs-context-open-new-tab =
.label = Search in New Tab
.accesskey = T
search-one-offs-context-set-as-default =
.label = Set as Default Search Engine
.accesskey = D
search-one-offs-context-set-as-default-private =
.label = Set as Default Search Engine for Private Windows
.accesskey = P
# Search engine one-off buttons with an @alias shortcut/keyword.
# Variables:
# $engineName (String): The name of the engine.
# $alias (String): The @alias shortcut/keyword.
search-one-offs-engine-with-alias =
.tooltiptext = { $engineName } ({ $alias })
## Local search mode one-off buttons
## Variables:
## $restrict (String): The restriction token corresponding to the search mode.
## Restriction tokens are special characters users can type in the urlbar to
## restrict their searches to certain sources (e.g., "*" to search only
## bookmarks).
search-one-offs-bookmarks =
.tooltiptext = Bookmarks ({ $restrict })
search-one-offs-tabs =
.tooltiptext = Tabs ({ $restrict })
search-one-offs-history =
.tooltiptext = History ({ $restrict })
## Bookmark Panel
bookmark-panel-show-editor-checkbox =
.label = Show editor when saving
.accesskey = S
bookmark-panel-done-button =
.label = Done
# Width of the bookmark panel.
# Should be large enough to fully display the Done and
# Cancel/Remove Bookmark buttons.
bookmark-panel =
.style = min-width: 23em
## Identity Panel
identity-connection-not-secure = Connection not secure
identity-connection-secure = Connection secure
identity-connection-internal = This is a secure { -brand-short-name } page.
identity-connection-file = This page is stored on your computer.
identity-extension-page = This page is loaded from an extension.
identity-active-blocked = { -brand-short-name } has blocked parts of this page that are not secure.
identity-custom-root = Connection verified by a certificate issuer that is not recognized by Mozilla.
identity-passive-loaded = Parts of this page are not secure (such as images).
identity-active-loaded = You have disabled protection on this page.
identity-weak-encryption = This page uses weak encryption.
identity-insecure-login-forms = Logins entered on this page could be compromised.
identity-https-only-connection-upgraded = (upgraded to HTTPS)
identity-https-only-label = HTTPS-Only Mode
identity-https-only-dropdown-on =
.label = On
identity-https-only-dropdown-off =
.label = Off
identity-https-only-dropdown-off-temporarily =
.label = Off temporarily
identity-https-only-info-turn-on2 = Turn on HTTPS-Only Mode for this site if you want { -brand-short-name } to upgrade the connection when possible.
identity-https-only-info-turn-off2 = If the page seems broken, you may want to turn off HTTPS-Only Mode for this site to reload using insecure HTTP.
identity-https-only-info-no-upgrade = Unable to upgrade connection from HTTP.
identity-permissions =
.value = Permissions
identity-permissions-storage-access-header = Cross-site cookies
identity-permissions-storage-access-hint = These parties can use cross-site cookies and site data while you are on this site.
identity-permissions-reload-hint = You may need to reload the page for changes to apply.
identity-permissions-empty = You have not granted this site any special permissions.
identity-clear-site-data =
.label = Clear Cookies and Site Data…
identity-connection-not-secure-security-view = You are not securely connected to this site.
identity-connection-verified = You are securely connected to this site.
identity-ev-owner-label = Certificate issued to:
identity-description-custom-root = Mozilla does not recognize this certificate issuer. It may have been added from your operating system or by an administrator. <label data-l10n-name="link">Learn More</label>
identity-remove-cert-exception =
.label = Remove Exception
.accesskey = R
identity-description-insecure = Your connection to this site is not private. Information you submit could be viewed by others (like passwords, messages, credit cards, etc.).
identity-description-insecure-login-forms = The login information you enter on this page is not secure and could be compromised.
identity-description-weak-cipher-intro = Your connection to this website uses weak encryption and is not private.
identity-description-weak-cipher-risk = Other people can view your information or modify the websites behavior.
identity-description-active-blocked = { -brand-short-name } has blocked parts of this page that are not secure. <label data-l10n-name="link">Learn More</label>
identity-description-passive-loaded = Your connection is not private and information you share with the site could be viewed by others.
identity-description-passive-loaded-insecure = This website contains content that is not secure (such as images). <label data-l10n-name="link">Learn More</label>
identity-description-passive-loaded-mixed = Although { -brand-short-name } has blocked some content, there is still content on the page that is not secure (such as images). <label data-l10n-name="link">Learn More</label>
identity-description-active-loaded = This website contains content that is not secure (such as scripts) and your connection to it is not private.
identity-description-active-loaded-insecure = Information you share with this site could be viewed by others (like passwords, messages, credit cards, etc.).
identity-learn-more =
.value = Learn More
identity-disable-mixed-content-blocking =
.label = Disable protection for now
.accesskey = D
identity-enable-mixed-content-blocking =
.label = Enable protection
.accesskey = E
identity-more-info-link-text =
.label = More Information
## Window controls
browser-window-minimize-button =
.tooltiptext = Minimize
browser-window-maximize-button =
.tooltiptext = Maximize
browser-window-restore-down-button =
.tooltiptext = Restore Down
browser-window-close-button =
.tooltiptext = Close
## Bookmarks toolbar items
browser-import-button2 =
.label = Import bookmarks…
.tooltiptext = Import bookmarks from another browser to { -brand-short-name }.
bookmarks-toolbar-empty-message = For quick access, place your bookmarks here on the bookmarks toolbar. <a data-l10n-name="manage-bookmarks">Manage bookmarks…</a>
## WebRTC Pop-up notifications
popup-select-camera =
.value = Camera to share:
.accesskey = C
popup-select-microphone =
.value = Microphone to share:
.accesskey = M
popup-all-windows-shared = All visible windows on your screen will be shared.
popup-screen-sharing-not-now =
.label = Not Now
.accesskey = w
popup-screen-sharing-never =
.label = Never Allow
.accesskey = N
popup-silence-notifications-checkbox = Disable notifications from { -brand-short-name } while sharing
popup-silence-notifications-checkbox-warning = { -brand-short-name } will not display notifications while you are sharing.
## WebRTC window or screen share tab switch warning
sharing-warning-window = You are sharing { -brand-short-name }. Other people can see when you switch to a new tab.
sharing-warning-screen = You are sharing your entire screen. Other people can see when you switch to a new tab.
sharing-warning-proceed-to-tab =
.label = Proceed to Tab
sharing-warning-disable-for-session =
.label = Disable sharing protection for this session
## DevTools F12 popup
enable-devtools-popup-description = To use the F12 shortcut, first open DevTools via the Web Developer menu.
## URL Bar
# This placeholder is used when not in search mode and the user's default search
# engine is unknown.
urlbar-placeholder =
.placeholder = Search or enter address
# This placeholder is used in search mode with search engines that search the
# entire web.
# Variables
# $name (String): the name of a search engine that searches the entire Web
# (e.g. Google).
urlbar-placeholder-search-mode-web-2 =
.placeholder = Search the Web
.aria-label = Search with { $name }
# This placeholder is used in search mode with search engines that search a
# specific site (e.g., Amazon).
# Variables
# $name (String): the name of a search engine that searches a specific site
# (e.g. Amazon).
urlbar-placeholder-search-mode-other-engine =
.placeholder = Enter search terms
.aria-label = Search { $name }
# This placeholder is used when searching bookmarks.
urlbar-placeholder-search-mode-other-bookmarks =
.placeholder = Enter search terms
.aria-label = Search bookmarks
# This placeholder is used when searching history.
urlbar-placeholder-search-mode-other-history =
.placeholder = Enter search terms
.aria-label = Search history
# This placeholder is used when searching open tabs.
urlbar-placeholder-search-mode-other-tabs =
.placeholder = Enter search terms
.aria-label = Search tabs
# Variables
# $name (String): the name of the user's default search engine
urlbar-placeholder-with-name =
.placeholder = Search with { $name } or enter address
urlbar-remote-control-notification-anchor =
.tooltiptext = Browser is under remote control
urlbar-permissions-granted =
.tooltiptext = You have granted this website additional permissions.
urlbar-switch-to-tab =
.value = Switch to tab:
# Used to indicate that a selected autocomplete entry is provided by an extension.
urlbar-extension =
.value = Extension:
urlbar-go-button =
.tooltiptext = Go to the address in the Location Bar
urlbar-page-action-button =
.tooltiptext = Page actions
urlbar-pocket-button =
.tooltiptext = Save to { -pocket-brand-name }
## Action text shown in urlbar results, usually appended after the search
## string or the url, like "result value - action text".
# Used when the private browsing engine differs from the default engine.
# The "with" format was chosen because the search engine name can end with
# "Search", and we would like to avoid strings like "Search MSN Search".
# Variables
# $engine (String): the name of a search engine
urlbar-result-action-search-in-private-w-engine = Search with { $engine } in a Private Window
# Used when the private browsing engine is the same as the default engine.
urlbar-result-action-search-in-private = Search in a Private Window
# The "with" format was chosen because the search engine name can end with
# "Search", and we would like to avoid strings like "Search MSN Search".
# Variables
# $engine (String): the name of a search engine
urlbar-result-action-search-w-engine = Search with { $engine }
urlbar-result-action-sponsored = Sponsored
urlbar-result-action-switch-tab = Switch to Tab
urlbar-result-action-visit = Visit
# Directs a user to press the Tab key to perform a search with the specified
# engine.
# Variables
# $engine (String): the name of a search engine that searches the entire Web
# (e.g. Google).
urlbar-result-action-before-tabtosearch-web = Press Tab to search with { $engine }
# Directs a user to press the Tab key to perform a search with the specified
# engine.
# Variables
# $engine (String): the name of a search engine that searches a specific site
# (e.g. Amazon).
urlbar-result-action-before-tabtosearch-other = Press Tab to search { $engine }
# Variables
# $engine (String): the name of a search engine that searches the entire Web
# (e.g. Google).
urlbar-result-action-tabtosearch-web = Search with { $engine } directly from the address bar
# Variables
# $engine (String): the name of a search engine that searches a specific site
# (e.g. Amazon).
urlbar-result-action-tabtosearch-other-engine = Search { $engine } directly from the address bar
## Action text shown in urlbar results, usually appended after the search
## string or the url, like "result value - action text".
## In these actions "Search" is a verb, followed by where the search is performed.
urlbar-result-action-search-bookmarks = Search Bookmarks
urlbar-result-action-search-history = Search History
urlbar-result-action-search-tabs = Search Tabs
## Full Screen and Pointer Lock UI
# Please ensure that the domain stays in the `<span data-l10n-name="domain">` markup.
# Variables
# $domain (String): the domain that is full screen, e.g. "mozilla.org"
fullscreen-warning-domain = <span data-l10n-name="domain">{ $domain }</span> is now full screen
fullscreen-warning-no-domain = This document is now full screen
fullscreen-exit-button = Exit Full Screen (Esc)
# "esc" is lowercase on mac keyboards, but uppercase elsewhere.
fullscreen-exit-mac-button = Exit Full Screen (esc)
# Please ensure that the domain stays in the `<span data-l10n-name="domain">` markup.
# Variables
# $domain (String): the domain that is using pointer-lock, e.g. "mozilla.org"
pointerlock-warning-domain = <span data-l10n-name="domain">{ $domain }</span> has control of your pointer. Press Esc to take back control.
pointerlock-warning-no-domain = This document has control of your pointer. Press Esc to take back control.
## Bookmarks panels, menus and toolbar
bookmarks-show-all-bookmarks =
.label = Show All Bookmarks
bookmarks-recent-bookmarks =
.value = Recently Bookmarked
bookmarks-toolbar-chevron =
.tooltiptext = Show more bookmarks
bookmarks-sidebar-content =
.aria-label = Bookmarks
bookmarks-menu-button =
.label = Bookmarks Menu
bookmarks-other-bookmarks-menu =
.label = Other Bookmarks
bookmarks-mobile-bookmarks-menu =
.label = Mobile Bookmarks
bookmarks-tools-sidebar-visibility =
.label = { $isVisible ->
[true] Hide Bookmarks Sidebar
*[other] View Bookmarks Sidebar
}
bookmarks-tools-toolbar-visibility =
.label = { $isVisible ->
[true] Hide Bookmarks Toolbar
*[other] View Bookmarks Toolbar
}
bookmarks-tools-menu-button-visibility =
.label = { $isVisible ->
[true] Remove Bookmarks Menu from Toolbar
*[other] Add Bookmarks Menu to Toolbar
}
bookmarks-search =
.label = Search Bookmarks
bookmarks-tools =
.label = Bookmarking Tools
# The aria-label is a spoken label that should not include the word "toolbar" or
# such, because screen readers already know that this container is a toolbar.
# This avoids double-speaking.
bookmarks-toolbar =
.toolbarname = Bookmarks Toolbar
.accesskey = B
.aria-label = Bookmarks
bookmarks-toolbar-menu =
.label = Bookmarks Toolbar
bookmarks-toolbar-placeholder =
.title = Bookmarks Toolbar Items
bookmarks-toolbar-placeholder-button =
.label = Bookmarks Toolbar Items
## Library Panel items
library-bookmarks-menu =
.label = Bookmarks
library-bookmarks-bookmark-this-page =
.label = Bookmark This Page
library-bookmarks-bookmark-edit =
.label = Edit This Bookmark
## More items
more-menu-go-offline =
.label = Work Offline
.accesskey = k

Просмотреть файл

@ -0,0 +1,393 @@
# 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/.
navbar-tooltip-instruction =
.value = { PLATFORM() ->
[macos] Pull down to show history
*[other] Right-click or pull down to show history
}
## Back
main-context-menu-back =
.tooltiptext = Go back one page
.aria-label = Back
.accesskey = B
navbar-tooltip-back =
.value = { main-context-menu-back.tooltiptext }
toolbar-button-back =
.label = { main-context-menu-back.aria-label }
## Forward
main-context-menu-forward =
.tooltiptext = Go forward one page
.aria-label = Forward
.accesskey = F
navbar-tooltip-forward =
.value = { main-context-menu-forward.tooltiptext }
toolbar-button-forward =
.label = { main-context-menu-forward.aria-label }
## Reload
main-context-menu-reload =
.aria-label = Reload
.accesskey = R
toolbar-button-reload =
.label = { main-context-menu-reload.aria-label }
## Stop
main-context-menu-stop =
.aria-label = Stop
.accesskey = S
toolbar-button-stop =
.label = { main-context-menu-stop.aria-label }
## Stop-Reload Button
toolbar-button-stop-reload =
.title = { main-context-menu-reload.aria-label }
## Save Page
main-context-menu-page-save =
.label = Save Page As…
.accesskey = P
toolbar-button-page-save =
.label = { main-context-menu-page-save.label }
## Simple menu items
main-context-menu-bookmark-add =
.aria-label = Bookmark This Page
.accesskey = m
.tooltiptext = Bookmark this page
# Variables
# $shortcut (String) - A keyboard shortcut for the add bookmark command.
main-context-menu-bookmark-add-with-shortcut =
.aria-label = Bookmark This Page
.accesskey = m
.tooltiptext = Bookmark this page ({ $shortcut })
main-context-menu-bookmark-change =
.aria-label = Edit This Bookmark
.accesskey = m
.tooltiptext = Edit this bookmark
# Variables
# $shortcut (String) - A keyboard shortcut for the edit bookmark command.
main-context-menu-bookmark-change-with-shortcut =
.aria-label = Edit This Bookmark
.accesskey = m
.tooltiptext = Edit this bookmark ({ $shortcut })
main-context-menu-open-link =
.label = Open Link
.accesskey = O
main-context-menu-open-link-new-tab =
.label = Open Link in New Tab
.accesskey = T
main-context-menu-open-link-container-tab =
.label = Open Link in New Container Tab
.accesskey = b
main-context-menu-open-link-new-window =
.label = Open Link in New Window
.accesskey = W
main-context-menu-open-link-new-private-window =
.label = Open Link in New Private Window
.accesskey = P
main-context-menu-bookmark-this-link =
.label = Bookmark This Link
.accesskey = L
main-context-menu-save-link =
.label = Save Link As…
.accesskey = k
main-context-menu-save-link-to-pocket =
.label = Save Link to { -pocket-brand-name }
.accesskey = o
## The access keys for "Copy Link Location" and "Copy Email Address"
## should be the same if possible; the two context menu items
## are mutually exclusive.
main-context-menu-copy-email =
.label = Copy Email Address
.accesskey = A
main-context-menu-copy-link =
.label = Copy Link Location
.accesskey = a
## Media (video/audio) controls
##
## The accesskey for "Play" and "Pause" are the
## same because the two context-menu items are
## mutually exclusive.
main-context-menu-media-play =
.label = Play
.accesskey = P
main-context-menu-media-pause =
.label = Pause
.accesskey = P
##
main-context-menu-media-mute =
.label = Mute
.accesskey = M
main-context-menu-media-unmute =
.label = Unmute
.accesskey = m
main-context-menu-media-play-speed =
.label = Play Speed
.accesskey = d
main-context-menu-media-play-speed-slow =
.label = Slow (0.5×)
.accesskey = S
main-context-menu-media-play-speed-normal =
.label = Normal
.accesskey = N
main-context-menu-media-play-speed-fast =
.label = Fast (1.25×)
.accesskey = F
main-context-menu-media-play-speed-faster =
.label = Faster (1.5×)
.accesskey = a
# "Ludicrous" is a reference to the movie "Space Balls" and is meant
# to say that this speed is very fast.
main-context-menu-media-play-speed-fastest =
.label = Ludicrous (2×)
.accesskey = L
main-context-menu-media-loop =
.label = Loop
.accesskey = L
## The access keys for "Show Controls" and "Hide Controls" are the same
## because the two context-menu items are mutually exclusive.
main-context-menu-media-show-controls =
.label = Show Controls
.accesskey = C
main-context-menu-media-hide-controls =
.label = Hide Controls
.accesskey = C
##
main-context-menu-media-video-fullscreen =
.label = Full Screen
.accesskey = F
main-context-menu-media-video-leave-fullscreen =
.label = Exit Full Screen
.accesskey = u
# This is used when right-clicking on a video in the
# content area when the Picture-in-Picture feature is enabled.
main-context-menu-media-pip =
.label = Picture-in-Picture
.accesskey = u
main-context-menu-image-reload =
.label = Reload Image
.accesskey = R
main-context-menu-image-view =
.label = View Image
.accesskey = I
main-context-menu-video-view =
.label = View Video
.accesskey = i
main-context-menu-image-copy =
.label = Copy Image
.accesskey = y
main-context-menu-image-copy-location =
.label = Copy Image Location
.accesskey = o
main-context-menu-video-copy-location =
.label = Copy Video Location
.accesskey = o
main-context-menu-audio-copy-location =
.label = Copy Audio Location
.accesskey = o
main-context-menu-image-save-as =
.label = Save Image As…
.accesskey = v
main-context-menu-image-email =
.label = Email Image…
.accesskey = g
main-context-menu-image-set-as-background =
.label = Set As Desktop Background…
.accesskey = S
main-context-menu-image-info =
.label = View Image Info
.accesskey = f
main-context-menu-image-desc =
.label = View Description
.accesskey = D
main-context-menu-video-save-as =
.label = Save Video As…
.accesskey = v
main-context-menu-audio-save-as =
.label = Save Audio As…
.accesskey = v
main-context-menu-video-image-save-as =
.label = Save Snapshot As…
.accesskey = S
main-context-menu-video-email =
.label = Email Video…
.accesskey = a
main-context-menu-audio-email =
.label = Email Audio…
.accesskey = a
main-context-menu-plugin-play =
.label = Activate this plugin
.accesskey = c
main-context-menu-plugin-hide =
.label = Hide this plugin
.accesskey = H
main-context-menu-save-to-pocket =
.label = Save Page to { -pocket-brand-name }
.accesskey = k
main-context-menu-send-to-device =
.label = Send Page to Device
.accesskey = n
main-context-menu-view-background-image =
.label = View Background Image
.accesskey = w
main-context-menu-generate-new-password =
.label = Use Generated Password…
.accesskey = G
main-context-menu-keyword =
.label = Add a Keyword for this Search…
.accesskey = K
main-context-menu-link-send-to-device =
.label = Send Link to Device
.accesskey = n
main-context-menu-frame =
.label = This Frame
.accesskey = h
main-context-menu-frame-show-this =
.label = Show Only This Frame
.accesskey = S
main-context-menu-frame-open-tab =
.label = Open Frame in New Tab
.accesskey = T
main-context-menu-frame-open-window =
.label = Open Frame in New Window
.accesskey = W
main-context-menu-frame-reload =
.label = Reload Frame
.accesskey = R
main-context-menu-frame-bookmark =
.label = Bookmark This Frame
.accesskey = m
main-context-menu-frame-save-as =
.label = Save Frame As…
.accesskey = F
main-context-menu-frame-print =
.label = Print Frame…
.accesskey = P
main-context-menu-frame-view-source =
.label = View Frame Source
.accesskey = V
main-context-menu-frame-view-info =
.label = View Frame Info
.accesskey = I
main-context-menu-print-selection =
.label = Print Selection
.accesskey = r
main-context-menu-view-selection-source =
.label = View Selection Source
.accesskey = e
main-context-menu-view-page-source =
.label = View Page Source
.accesskey = V
main-context-menu-view-page-info =
.label = View Page Info
.accesskey = I
main-context-menu-bidi-switch-text =
.label = Switch Text Direction
.accesskey = w
main-context-menu-bidi-switch-page =
.label = Switch Page Direction
.accesskey = D
main-context-menu-inspect-element =
.label = Inspect Element
.accesskey = Q
main-context-menu-inspect-a11y-properties =
.label = Inspect Accessibility Properties
main-context-menu-eme-learn-more =
.label = Learn more about DRM…
.accesskey = D

Просмотреть файл

@ -0,0 +1,215 @@
# 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/.
window-minimize-command =
.label = Minimize
window-zoom-command =
.label = Zoom
window-new-shortcut =
.key = N
window-minimize-shortcut =
.key = M
close-shortcut =
.key = W
tab-new-shortcut =
.key = T
location-open-shortcut =
.key = L
location-open-shortcut-alt =
.key = D
search-focus-shortcut =
.key = K
# This shortcut is used in two contexts:
# - web search
# - find in page
find-shortcut =
.key = F
search-find-again-shortcut =
.key = G
search-find-again-shortcut-alt =
.keycode = VK_F3
search-find-selection-shortcut =
.key = E
# Verify what shortcut for that operation
# are recommended by the Human Interface Guidelines
# of each platform for your locale.
search-focus-shortcut-alt =
.key = { PLATFORM() ->
[linux] J
*[other] E
}
# Verify what shortcut for that operation
# are recommended by the Human Interface Guidelines
# of each platform for your locale.
downloads-shortcut =
.key = { PLATFORM() ->
[linux] Y
*[other] J
}
addons-shortcut =
.key = A
file-open-shortcut =
.key = O
save-page-shortcut =
.key = S
page-source-shortcut =
.key = U
# This should match the Option+Command keyboard shortcut letter that Safari
# and Chrome use for "View Source" on macOS. `page-source-shortcut` above
# is Firefox's official keyboard shortcut shown in the GUI.
# Safari variant is an alias provided for the convenience of Safari and Chrome
# users on macOS. See bug 1398988.
page-source-shortcut-safari =
.key = U
page-info-shortcut =
.key = I
print-shortcut =
.key = P
mute-toggle-shortcut =
.key = M
nav-back-shortcut-alt =
.key = [
nav-fwd-shortcut-alt =
.key = ]
nav-reload-shortcut =
.key = R
# Shortcut available only on macOS.
nav-stop-shortcut =
.key = .
history-show-all-shortcut =
.key = H
history-show-all-shortcut-mac =
.key = Y
history-sidebar-shortcut =
.key = H
full-screen-shortcut =
.key = F
reader-mode-toggle-shortcut-windows =
.keycode = VK_F9
reader-mode-toggle-shortcut-other =
.key = R
picture-in-picture-toggle-shortcut-mac =
.key = ]
# Pick the key that is commonly present
# in your locale keyboards above the
# `picture-in-picture-toggle-shortcut-mac` key.
picture-in-picture-toggle-shortcut-mac-alt =
.key = {"}"}
picture-in-picture-toggle-shortcut =
.key = ]
# Pick the key that is commonly present
# in your locale keyboards above the
# `picture-in-picture-toggle-shortcut` key.
picture-in-picture-toggle-shortcut-alt =
.key = {"}"}
bookmark-this-page-shortcut =
.key = D
# Verify what shortcut for that operation
# are recommended by the Human Interface Guidelines
# of each platform for your locale.
bookmark-show-library-shortcut =
.key = O
# Verify what shortcut for that operation
# are recommended by the Human Interface Guidelines
# of each platform for your locale.
bookmark-show-sidebar-shortcut =
.key = B
# Verify what shortcut for that operation
# are recommended by the Human Interface Guidelines
# of each platform for your locale.
bookmark-show-toolbar-shortcut =
.key = B
## All `-alt*` messages are alternative acceleration keys for zoom.
## If shift key is needed with your locale popular keyboard for them,
## you can use these alternative items. Otherwise, their values should be empty.
full-zoom-reduce-shortcut =
.key = -
full-zoom-reduce-shortcut-alt-a =
.key = _
full-zoom-reduce-shortcut-alt-b =
.key = {""}
full-zoom-enlarge-shortcut =
.key = +
full-zoom-enlarge-shortcut-alt =
.key = =
full-zoom-enlarge-shortcut-alt2 =
.key = {""}
full-zoom-reset-shortcut =
.key = 0
full-zoom-reset-shortcut-alt =
.key = {""}
##
bidi-switch-direction-shortcut =
.key = X
private-browsing-shortcut =
.key = P
## The shortcuts below are for Mac specific
## global menu.
quit-app-shortcut =
.key = Q
help-shortcut =
.key = ?
preferences-shortcut =
.key = ,
hide-app-shortcut =
.key = H
hide-other-apps-shortcut =
.key = H

Просмотреть файл

@ -0,0 +1,163 @@
# 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/.
## The title and aria-label attributes are used by screen readers to describe
## the Downloads Panel.
downloads-window =
.title = Downloads
downloads-panel =
.aria-label = Downloads
##
# The style attribute has the width of the Downloads Panel expressed using
# a CSS unit. The longest labels that should fit are usually those of
# in-progress and blocked downloads.
downloads-panel-list =
.style = width: 70ch
downloads-cmd-pause =
.label = Pause
.accesskey = P
downloads-cmd-resume =
.label = Resume
.accesskey = R
downloads-cmd-cancel =
.tooltiptext = Cancel
downloads-cmd-cancel-panel =
.aria-label = Cancel
# This message is only displayed on Windows and Linux devices
downloads-cmd-show-menuitem =
.label = Open Containing Folder
.accesskey = F
# This message is only displayed on macOS devices
downloads-cmd-show-menuitem-mac =
.label = Show In Finder
.accesskey = F
downloads-cmd-use-system-default =
.label = Open In System Viewer
.accesskey = V
downloads-cmd-always-use-system-default =
.label = Always Open In System Viewer
.accesskey = w
downloads-cmd-show-button =
.tooltiptext = { PLATFORM() ->
[macos] Show In Finder
*[other] Open Containing Folder
}
downloads-cmd-show-panel =
.aria-label = { PLATFORM() ->
[macos] Show In Finder
*[other] Open Containing Folder
}
downloads-cmd-show-description =
.value = { PLATFORM() ->
[macos] Show In Finder
*[other] Open Containing Folder
}
downloads-cmd-show-downloads =
.label = Show Downloads Folder
downloads-cmd-retry =
.tooltiptext = Retry
downloads-cmd-retry-panel =
.aria-label = Retry
downloads-cmd-go-to-download-page =
.label = Go To Download Page
.accesskey = G
downloads-cmd-copy-download-link =
.label = Copy Download Link
.accesskey = L
downloads-cmd-remove-from-history =
.label = Remove From History
.accesskey = e
downloads-cmd-clear-list =
.label = Clear Preview Panel
.accesskey = a
downloads-cmd-clear-downloads =
.label = Clear Downloads
.accesskey = D
# This command is shown in the context menu when downloads are blocked.
downloads-cmd-unblock =
.label = Allow Download
.accesskey = o
# This is the tooltip of the action button shown when malware is blocked.
downloads-cmd-remove-file =
.tooltiptext = Remove File
downloads-cmd-remove-file-panel =
.aria-label = Remove File
# This is the tooltip of the action button shown when potentially unwanted
# downloads are blocked. This opens a dialog where the user can choose
# whether to unblock or remove the download. Removing is the default option.
downloads-cmd-choose-unblock =
.tooltiptext = Remove File or Allow Download
downloads-cmd-choose-unblock-panel =
.aria-label = Remove File or Allow Download
# This is the tooltip of the action button shown when uncommon downloads are
# blocked.This opens a dialog where the user can choose whether to open the
# file or remove the download. Opening is the default option.
downloads-cmd-choose-open =
.tooltiptext = Open or Remove File
downloads-cmd-choose-open-panel =
.aria-label = Open or Remove File
# Displayed when hovering a blocked download, indicates that it's possible to
# show more information for user to take the next action.
downloads-show-more-information =
.value = Show more information
# Displayed when hovering a complete download, indicates that it's possible to
# open the file using an app available in the system.
downloads-open-file =
.value = Open File
# Displayed when hovering a download which is able to be retried by users,
# indicates that it's possible to download this file again.
downloads-retry-download =
.value = Retry Download
# Displayed when hovering a download which is able to be cancelled by users,
# indicates that it's possible to cancel and stop the download.
downloads-cancel-download =
.value = Cancel Download
# This string is shown at the bottom of the Downloads Panel when all the
# downloads fit in the available space, or when there are no downloads in
# the panel at all.
downloads-history =
.label = Show All Downloads
.accesskey = S
# This string is shown at the top of the Download Details Panel, to indicate
# that we are showing the details of a single download.
downloads-details =
.title = Download Details
downloads-clear-downloads-button =
.label = Clear Downloads
.tooltiptext = Clears completed, canceled and failed downloads
# This string is shown when there are no items in the Downloads view, when it
# is displayed inside a browser tab.
downloads-list-empty =
.value = There are no downloads.
# This string is shown when there are no items in the Downloads Panel.
downloads-panel-empty =
.value = No downloads for this session.

Просмотреть файл

@ -0,0 +1,278 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# NOTE: For English locales, strings in this file should be in APA-style Title Case.
# See https://apastyle.apa.org/style-grammar-guidelines/capitalization/title-case
#
# NOTE: For Engineers, please don't re-use these strings outside of the menubar.
## File Menu
menu-file =
.label = File
.accesskey = F
menu-file-new-tab =
.label = New Tab
.accesskey = T
menu-file-new-container-tab =
.label = New Container Tab
.accesskey = b
menu-file-new-window =
.label = New Window
.accesskey = N
menu-file-new-private-window =
.label = New Private Window
.accesskey = W
# "Open Location" is only displayed on macOS, and only on windows
# that aren't main browser windows, or when there are no windows
# but Firefox is still running.
menu-file-open-location =
.label = Open Location…
menu-file-open-file =
.label = Open File…
.accesskey = O
menu-file-close =
.label = Close
.accesskey = C
menu-file-close-window =
.label = Close Window
.accesskey = d
menu-file-save-page =
.label = Save Page As…
.accesskey = A
menu-file-email-link =
.label = Email Link…
.accesskey = E
menu-file-print-setup =
.label = Page Setup…
.accesskey = u
menu-file-print-preview =
.label = Print Preview
.accesskey = v
menu-file-print =
.label = Print…
.accesskey = P
menu-file-import-from-another-browser =
.label = Import From Another Browser…
.accesskey = I
menu-file-go-offline =
.label = Work Offline
.accesskey = k
## Edit Menu
menu-edit =
.label = Edit
.accesskey = E
menu-edit-find-on =
.label = Find in This Page…
.accesskey = F
menu-edit-find-again =
.label = Find Again
.accesskey = g
menu-edit-bidi-switch-text-direction =
.label = Switch Text Direction
.accesskey = w
## View Menu
menu-view =
.label = View
.accesskey = V
menu-view-toolbars-menu =
.label = Toolbars
.accesskey = T
menu-view-customize-toolbar =
.label = Customize…
.accesskey = C
menu-view-sidebar =
.label = Sidebar
.accesskey = e
menu-view-bookmarks =
.label = Bookmarks
menu-view-history-button =
.label = History
menu-view-synced-tabs-sidebar =
.label = Synced Tabs
menu-view-full-zoom =
.label = Zoom
.accesskey = Z
menu-view-full-zoom-enlarge =
.label = Zoom In
.accesskey = I
menu-view-full-zoom-reduce =
.label = Zoom Out
.accesskey = O
menu-view-full-zoom-actual-size =
.label = Actual Size
.accesskey = A
menu-view-full-zoom-toggle =
.label = Zoom Text Only
.accesskey = T
menu-view-page-style-menu =
.label = Page Style
.accesskey = y
menu-view-page-style-no-style =
.label = No Style
.accesskey = n
menu-view-page-basic-style =
.label = Basic Page Style
.accesskey = B
menu-view-charset =
.label = Text Encoding
.accesskey = c
## These should match what Safari and other Apple applications
## use on macOS.
menu-view-enter-full-screen =
.label = Enter Full Screen
.accesskey = F
menu-view-exit-full-screen =
.label = Exit Full Screen
.accesskey = F
menu-view-full-screen =
.label = Full Screen
.accesskey = F
##
menu-view-show-all-tabs =
.label = Show All Tabs
.accesskey = A
menu-view-bidi-switch-page-direction =
.label = Switch Page Direction
.accesskey = D
## History Menu
menu-history =
.label = History
.accesskey = s
menu-history-show-all-history =
.label = Show All History
menu-history-clear-recent-history =
.label = Clear Recent History…
menu-history-synced-tabs =
.label = Synced Tabs
menu-history-restore-last-session =
.label = Restore Previous Session
menu-history-hidden-tabs =
.label = Hidden Tabs
menu-history-undo-menu =
.label = Recently Closed Tabs
menu-history-undo-window-menu =
.label = Recently Closed Windows
## Bookmarks Menu
menu-bookmarks-menu =
.label = Bookmarks
.accesskey = B
menu-bookmarks-show-all =
.label = Show All Bookmarks
menu-bookmark-this-page =
.label = Bookmark This Page
menu-bookmark-edit =
.label = Edit This Bookmark
menu-bookmarks-all-tabs =
.label = Bookmark All Tabs…
menu-bookmarks-toolbar =
.label = Bookmarks Toolbar
menu-bookmarks-other =
.label = Other Bookmarks
menu-bookmarks-mobile =
.label = Mobile Bookmarks
## Tools Menu
menu-tools =
.label = Tools
.accesskey = T
menu-tools-downloads =
.label = Downloads
.accesskey = D
menu-tools-addons =
.label = Add-ons
.accesskey = A
menu-tools-fxa-sign-in =
.label = Sign In To { -brand-product-name }…
.accesskey = g
menu-tools-turn-on-sync =
.label = Turn on { -sync-brand-short-name }…
.accesskey = n
menu-tools-sync-now =
.label = Sync Now
.accesskey = S
menu-tools-fxa-re-auth =
.label = Reconnect to { -brand-product-name }…
.accesskey = R
menu-tools-web-developer =
.label = Web Developer
.accesskey = W
menu-tools-page-source =
.label = Page Source
.accesskey = o
menu-tools-page-info =
.label = Page Info
.accesskey = I
menu-preferences =
.label =
{ PLATFORM() ->
[windows] Options
*[other] Preferences
}
.accesskey =
{ PLATFORM() ->
[windows] O
*[other] n
}
menu-tools-layout-debugger =
.label = Layout Debugger
.accesskey = L
## Window Menu
menu-window-menu =
.label = Window
menu-window-bring-all-to-front =
.label = Bring All to Front
## Help Menu
menu-help =
.label = Help
.accesskey = H
menu-help-product =
.label = { -brand-shorter-name } Help
.accesskey = H
menu-help-show-tour =
.label = { -brand-shorter-name } Tour
.accesskey = o
menu-help-import-from-another-browser =
.label = Import From Another Browser…
.accesskey = I
menu-help-keyboard-shortcuts =
.label = Keyboard Shortcuts
.accesskey = K
menu-help-troubleshooting-info =
.label = Troubleshooting Information
.accesskey = T
menu-help-feedback-page =
.label = Submit Feedback…
.accesskey = S
menu-help-safe-mode-without-addons =
.label = Restart With Add-ons Disabled…
.accesskey = R
menu-help-safe-mode-with-addons =
.label = Restart With Add-ons Enabled
.accesskey = R
# Label of the Help menu item. Either this or
# menu-help-notdeceptive is shown.
menu-help-report-deceptive-site =
.label = Report Deceptive Site…
.accesskey = D
menu-help-not-deceptive =
.label = This Isnt a Deceptive Site…
.accesskey = D

Просмотреть файл

@ -0,0 +1,77 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
# You can obtain one at http://mozilla.org/MPL/2.0/.
places-open =
.label = Open
.accesskey = O
places-open-tab =
.label = Open in a New Tab
.accesskey = w
places-open-all-in-tabs =
.label = Open All in Tabs
.accesskey = O
places-open-window =
.label = Open in a New Window
.accesskey = N
places-open-private-window =
.label = Open in a New Private Window
.accesskey = P
places-new-bookmark =
.label = New Bookmark…
.accesskey = B
places-new-folder-contextmenu =
.label = New Folder…
.accesskey = F
places-new-folder =
.label = New Folder…
.accesskey = o
places-new-separator =
.label = New Separator
.accesskey = S
places-view =
.label = View
.accesskey = w
places-by-date =
.label = By Date
.accesskey = D
places-by-site =
.label = By Site
.accesskey = S
places-by-most-visited =
.label = By Most Visited
.accesskey = V
places-by-last-visited =
.label = By Last Visited
.accesskey = L
places-by-day-and-site =
.label = By Date and Site
.accesskey = t
places-history-search =
.placeholder = Search history
places-bookmarks-search =
.placeholder = Search bookmarks
places-delete-domain-data =
.label = Forget About This Site
.accesskey = F
places-sortby-name =
.label = Sort By Name
.accesskey = r
places-properties =
.label = Properties
.accesskey = i
# Managed bookmarks are created by an administrator and cannot be changed by the user.
managed-bookmarks =
.label = Managed bookmarks
# This label is used when a managed bookmarks folder doesn't have a name.
managed-bookmarks-subfolder =
.label = Subfolder
# This label is used for the "Other Bookmarks" folder that appears in the bookmarks toolbar.
other-bookmarks-folder =
.label = Other Bookmarks

Просмотреть файл

@ -0,0 +1,22 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
add-engine-window =
.title = Add Search Engine
.style = width: 32em;
add-engine-button = Add Custom Engine
add-engine-name = Search engine name
add-engine-alias = Alias
add-engine-url = Engine URL, use %s in place of the search term
add-engine-dialog=
.buttonlabelaccept = Add Engine
.buttonaccesskeyaccept = A
engine-name-exists = An engine with that name already exists
engine-alias-exists = An engine with that alias already exists

Просмотреть файл

@ -0,0 +1,33 @@
# 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/.
blocklist-window =
.title = Block Lists
.style = width: 55em
blocklist-description = Choose the list { -brand-short-name } uses to block online trackers. Lists provided by <a data-l10n-name="disconnect-link" title="Disconnect">Disconnect</a>.
blocklist-close-key =
.key = w
blocklist-treehead-list =
.label = List
blocklist-dialog=
.buttonlabelaccept = Save Changes
.buttonaccesskeyaccept = S
# This template constructs the name of the block list in the block lists dialog.
# It combines the list name and description.
# e.g. "Standard (Recommended). This list does a pretty good job."
#
# Variables:
# $listName {string, "Standard (Recommended)."} - List name.
# $description {string, "This list does a pretty good job."} - Description of the list.
blocklist-item-list-template = { $listName } { $description }
blocklist-item-moz-std-listName = Level 1 block list (Recommended).
blocklist-item-moz-std-description = Allows some trackers so fewer websites break.
blocklist-item-moz-full-listName = Level 2 block list.
blocklist-item-moz-full-description = Blocks all detected trackers. Some websites or content may not load properly.

Просмотреть файл

@ -0,0 +1,56 @@
# 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/.
clear-site-data-window =
.title = Clear Data
.style = width: 35em
clear-site-data-description = Clearing all cookies and site data stored by { -brand-short-name } may sign you out of websites and remove offline web content. Clearing cache data will not affect your logins.
clear-site-data-close-key =
.key = w
# The parameters in parentheses in this string describe disk usage
# in the format ($amount $unit), e.g. "Cookies and Site Data (24 KB)"
# Variables:
# $amount (Number) - Amount of site data currently stored on disk
# $unit (String) - Abbreviation of the unit that $amount is in, e.g. "MB"
clear-site-data-cookies-with-data =
.label = Cookies and Site Data ({ $amount } { $unit })
.accesskey = S
# This string is a placeholder for while the data used to fill
# clear-site-data-cookies-with-data is loading. This placeholder is usually
# only shown for a very short time (< 1s), so it should be very similar
# or the same as clear-site-data-cookies-with-data (except the amount and unit),
# to avoid flickering.
clear-site-data-cookies-empty =
.label = Cookies and Site Data
.accesskey = S
clear-site-data-cookies-info = You may get signed out of websites if cleared
# The parameters in parentheses in this string describe disk usage
# in the format ($amount $unit), e.g. "Cached Web Content (24 KB)"
# Variables:
# $amount (Number) - Amount of cache currently stored on disk
# $unit (String) - Abbreviation of the unit that $amount is in, e.g. "MB"
clear-site-data-cache-with-data =
.label = Cached Web Content ({ $amount } { $unit })
.accesskey = W
# This string is a placeholder for while the data used to fill
# clear-site-data-cache-with-data is loading. This placeholder is usually
# only shown for a very short time (< 1s), so it should be very similar
# or the same as clear-site-data-cache-with-data (except the amount and unit),
# to avoid flickering.
clear-site-data-cache-empty =
.label = Cached Web Content
.accesskey = W
clear-site-data-cache-info = Will require websites to reload images and data
clear-site-data-dialog =
.buttonlabelaccept = Clear
.buttonaccesskeyaccept = l

Просмотреть файл

@ -0,0 +1,48 @@
# 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/.
colors-window =
.title = Colors
.style =
{ PLATFORM() ->
[macos] width: 41em
*[other] width: 38em
}
colors-close-key =
.key = w
colors-page-override = Override the colors specified by the page with your selections above
.accesskey = O
colors-page-override-option-always =
.label = Always
colors-page-override-option-auto =
.label = Only with High Contrast themes
colors-page-override-option-never =
.label = Never
colors-text-and-background = Text and Background
colors-text-header = Text
.accesskey = T
colors-background = Background
.accesskey = B
colors-use-system =
.label = Use system colors
.accesskey = s
colors-underline-links =
.label = Underline links
.accesskey = U
colors-links-header = Link Colors
colors-unvisited-links = Unvisited Links
.accesskey = L
colors-visited-links = Visited Links
.accesskey = V

Просмотреть файл

@ -0,0 +1,106 @@
# 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/.
connection-window =
.title = Connection Settings
.style =
{ PLATFORM() ->
[macos] width: 44em
*[other] width: 49em
}
connection-close-key =
.key = w
connection-disable-extension =
.label = Disable Extension
connection-proxy-configure = Configure Proxy Access to the Internet
connection-proxy-option-no =
.label = No proxy
.accesskey = y
connection-proxy-option-system =
.label = Use system proxy settings
.accesskey = U
connection-proxy-option-auto =
.label = Auto-detect proxy settings for this network
.accesskey = w
connection-proxy-option-manual =
.label = Manual proxy configuration
.accesskey = M
connection-proxy-http = HTTP Proxy
.accesskey = x
connection-proxy-http-port = Port
.accesskey = P
connection-proxy-http-sharing =
.label = Also use this proxy for FTP and HTTPS
.accesskey = s
connection-proxy-https = HTTPS Proxy
.accesskey = H
connection-proxy-ssl-port = Port
.accesskey = o
connection-proxy-ftp = FTP Proxy
.accesskey = F
connection-proxy-ftp-port = Port
.accesskey = r
connection-proxy-socks = SOCKS Host
.accesskey = C
connection-proxy-socks-port = Port
.accesskey = t
connection-proxy-socks4 =
.label = SOCKS v4
.accesskey = K
connection-proxy-socks5 =
.label = SOCKS v5
.accesskey = v
connection-proxy-noproxy = No proxy for
.accesskey = N
connection-proxy-noproxy-desc = Example: .mozilla.org, .net.nz, 192.168.1.0/24
# Do not translate localhost, 127.0.0.1 and ::1.
connection-proxy-noproxy-localhost-desc = Connections to localhost, 127.0.0.1, and ::1 are never proxied.
connection-proxy-autotype =
.label = Automatic proxy configuration URL
.accesskey = A
connection-proxy-reload =
.label = Reload
.accesskey = e
connection-proxy-autologin =
.label = Do not prompt for authentication if password is saved
.accesskey = i
.tooltip = This option silently authenticates you to proxies when you have saved credentials for them. You will be prompted if authentication fails.
connection-proxy-socks-remote-dns =
.label = Proxy DNS when using SOCKS v5
.accesskey = D
connection-dns-over-https =
.label = Enable DNS over HTTPS
.accesskey = b
connection-dns-over-https-url-resolver = Use Provider
.accesskey = P
# Variables:
# $name (String) - Display name or URL for the DNS over HTTPS provider
connection-dns-over-https-url-item-default =
.label = { $name } (Default)
.tooltiptext = Use the default URL for resolving DNS over HTTPS
connection-dns-over-https-url-custom =
.label = Custom
.accesskey = C
.tooltiptext = Enter your preferred URL for resolving DNS over HTTPS
connection-dns-over-https-custom-label = Custom

Просмотреть файл

@ -0,0 +1,116 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
fonts-window =
.title = Fonts
fonts-window-close =
.key = w
## Font groups by language
fonts-langgroup-header = Fonts for
.accesskey = F
fonts-langgroup-arabic =
.label = Arabic
fonts-langgroup-armenian =
.label = Armenian
fonts-langgroup-bengali =
.label = Bengali
fonts-langgroup-simpl-chinese =
.label = Simplified Chinese
fonts-langgroup-trad-chinese-hk =
.label = Traditional Chinese (Hong Kong)
fonts-langgroup-trad-chinese =
.label = Traditional Chinese (Taiwan)
fonts-langgroup-cyrillic =
.label = Cyrillic
fonts-langgroup-devanagari =
.label = Devanagari
fonts-langgroup-ethiopic =
.label = Ethiopic
fonts-langgroup-georgian =
.label = Georgian
fonts-langgroup-el =
.label = Greek
fonts-langgroup-gujarati =
.label = Gujarati
fonts-langgroup-gurmukhi =
.label = Gurmukhi
fonts-langgroup-japanese =
.label = Japanese
fonts-langgroup-hebrew =
.label = Hebrew
fonts-langgroup-kannada =
.label = Kannada
fonts-langgroup-khmer =
.label = Khmer
fonts-langgroup-korean =
.label = Korean
# Translate "Latin" as the name of Latin (Roman) script, not as the name of the Latin language.
fonts-langgroup-latin =
.label = Latin
fonts-langgroup-malayalam =
.label = Malayalam
fonts-langgroup-math =
.label = Mathematics
fonts-langgroup-odia =
.label = Odia
fonts-langgroup-sinhala =
.label = Sinhala
fonts-langgroup-tamil =
.label = Tamil
fonts-langgroup-telugu =
.label = Telugu
fonts-langgroup-thai =
.label = Thai
fonts-langgroup-tibetan =
.label = Tibetan
fonts-langgroup-canadian =
.label = Unified Canadian Syllabary
fonts-langgroup-other =
.label = Other Writing Systems
## Default fonts and their sizes
fonts-proportional-header = Proportional
.accesskey = P
fonts-default-serif =
.label = Serif
fonts-default-sans-serif =
.label = Sans Serif
fonts-proportional-size = Size
.accesskey = z
fonts-serif = Serif
.accesskey = S
fonts-sans-serif = Sans-serif
.accesskey = n
fonts-monospace = Monospace
.accesskey = M
fonts-monospace-size = Size
.accesskey = e
fonts-minsize = Minimum font size
.accesskey = o
fonts-minsize-none =
.label = None
fonts-allow-own =
.label = Allow pages to choose their own fonts, instead of your selections above
.accesskey = A
# Variables:
# $name {string, "Arial"} - Name of the default font
fonts-label-default =
.label = Default ({ $name })
fonts-label-default-unnamed =
.label = Default

Просмотреть файл

@ -0,0 +1,73 @@
# 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/.
webpage-languages-window =
.title = Webpage Language Settings
.style = width: 40em
languages-close-key =
.key = w
languages-description = Web pages are sometimes offered in more than one language. Choose languages for displaying these web pages, in order of preference
languages-customize-spoof-english =
.label = Request English versions of web pages for enhanced privacy
languages-customize-moveup =
.label = Move Up
.accesskey = U
languages-customize-movedown =
.label = Move Down
.accesskey = D
languages-customize-remove =
.label = Remove
.accesskey = R
languages-customize-select-language =
.placeholder = Select a language to add…
languages-customize-add =
.label = Add
.accesskey = A
# The pattern used to generate strings presented to the user in the
# locale selection list.
#
# Example:
# Icelandic [is]
# Spanish (Chile) [es-CL]
#
# Variables:
# $locale (String) - A name of the locale (for example: "Icelandic", "Spanish (Chile)")
# $code (String) - Locale code of the locale (for example: "is", "es-CL")
languages-code-format =
.label = { $locale } [{ $code }]
languages-active-code-format =
.value = { languages-code-format.label }
browser-languages-window =
.title = { -brand-short-name } Language Settings
.style = width: 40em
browser-languages-description = { -brand-short-name } will display the first language as your default and will display alternate languages if necessary in the order they appear.
browser-languages-search = Search for more languages…
browser-languages-searching =
.label = Searching for languages…
browser-languages-downloading =
.label = Downloading…
browser-languages-select-language =
.label = Select a language to add…
.placeholder = Select a language to add…
browser-languages-installed-label = Installed languages
browser-languages-available-label = Available languages
browser-languages-error = { -brand-short-name } cant update your languages right now. Check that you are connected to the internet or try again.

Просмотреть файл

@ -0,0 +1,166 @@
# 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/.
permissions-window =
.title = Exceptions
.style = width: 45em
permissions-close-key =
.key = w
permissions-address = Address of website
.accesskey = d
permissions-block =
.label = Block
.accesskey = B
permissions-session =
.label = Allow for Session
.accesskey = S
permissions-allow =
.label = Allow
.accesskey = A
permissions-site-name =
.label = Website
permissions-status =
.label = Status
permissions-remove =
.label = Remove Website
.accesskey = R
permissions-remove-all =
.label = Remove All Websites
.accesskey = e
permission-dialog =
.buttonlabelaccept = Save Changes
.buttonaccesskeyaccept = S
permissions-autoplay-menu = Default for all websites:
permissions-searchbox =
.placeholder = Search Website
permissions-capabilities-autoplay-allow =
.label = Allow Audio and Video
permissions-capabilities-autoplay-block =
.label = Block Audio
permissions-capabilities-autoplay-blockall =
.label = Block Audio and Video
permissions-capabilities-allow =
.label = Allow
permissions-capabilities-block =
.label = Block
permissions-capabilities-prompt =
.label = Always Ask
permissions-capabilities-listitem-allow =
.value = Allow
permissions-capabilities-listitem-block =
.value = Block
permissions-capabilities-listitem-allow-session =
.value = Allow for Session
## Invalid Hostname Dialog
permissions-invalid-uri-title = Invalid Hostname Entered
permissions-invalid-uri-label = Please enter a valid hostname
## Exceptions - Tracking Protection
permissions-exceptions-etp-window =
.title = Exceptions for Enhanced Tracking Protection
.style = { permissions-window.style }
permissions-exceptions-etp-desc = Youve turned off protections on these websites.
## Exceptions - Cookies
permissions-exceptions-cookie-window =
.title = Exceptions - Cookies and Site Data
.style = { permissions-window.style }
permissions-exceptions-cookie-desc = You can specify which websites are always or never allowed to use cookies and site data. Type the exact address of the site you want to manage and then click Block, Allow for Session, or Allow.
## Exceptions - Pop-ups
permissions-exceptions-popup-window =
.title = Allowed Websites - Pop-ups
.style = { permissions-window.style }
permissions-exceptions-popup-desc = You can specify which websites are allowed to open pop-up windows. Type the exact address of the site you want to allow and then click Allow.
## Exceptions - Saved Logins
permissions-exceptions-saved-logins-window =
.title = Exceptions - Saved Logins
.style = { permissions-window.style }
permissions-exceptions-saved-logins-desc = Logins for the following websites will not be saved
## Exceptions - Add-ons
permissions-exceptions-addons-window =
.title = Allowed Websites - Add-ons Installation
.style = { permissions-window.style }
permissions-exceptions-addons-desc = You can specify which websites are allowed to install add-ons. Type the exact address of the site you want to allow and then click Allow.
## Site Permissions - Autoplay
permissions-site-autoplay-window =
.title = Settings - Autoplay
.style = { permissions-window.style }
permissions-site-autoplay-desc = You can manage the sites that do not follow your default autoplay settings here.
## Site Permissions - Notifications
permissions-site-notification-window =
.title = Settings - Notification Permissions
.style = { permissions-window.style }
permissions-site-notification-desc = The following websites have requested to send you notifications. You can specify which websites are allowed to send you notifications. You can also block new requests asking to allow notifications.
permissions-site-notification-disable-label =
.label = Block new requests asking to allow notifications
permissions-site-notification-disable-desc = This will prevent any websites not listed above from requesting permission to send notifications. Blocking notifications may break some website features.
## Site Permissions - Location
permissions-site-location-window =
.title = Settings - Location Permissions
.style = { permissions-window.style }
permissions-site-location-desc = The following websites have requested to access your location. You can specify which websites are allowed to access your location. You can also block new requests asking to access your location.
permissions-site-location-disable-label =
.label = Block new requests asking to access your location
permissions-site-location-disable-desc = This will prevent any websites not listed above from requesting permission to access your location. Blocking access to your location may break some website features.
## Site Permissions - Virtual Reality
permissions-site-xr-window =
.title = Settings - Virtual Reality Permissions
.style = { permissions-window.style }
permissions-site-xr-desc = The following websites have requested to access your virtual reality devices. You can specify which websites are allowed to access your virtual reality devices. You can also block new requests asking to access your virtual reality devices.
permissions-site-xr-disable-label =
.label = Block new requests asking to access your virtual reality devices
permissions-site-xr-disable-desc = This will prevent any websites not listed above from requesting permission to access your virtual reality devices. Blocking access to your virtual reality devices may break some website features.
## Site Permissions - Camera
permissions-site-camera-window =
.title = Settings - Camera Permissions
.style = { permissions-window.style }
permissions-site-camera-desc = The following websites have requested to access your camera. You can specify which websites are allowed to access your camera. You can also block new requests asking to access your camera.
permissions-site-camera-disable-label =
.label = Block new requests asking to access your camera
permissions-site-camera-disable-desc = This will prevent any websites not listed above from requesting permission to access your camera. Blocking access to your camera may break some website features.
## Site Permissions - Microphone
permissions-site-microphone-window =
.title = Settings - Microphone Permissions
.style = { permissions-window.style }
permissions-site-microphone-desc = The following websites have requested to access your microphone. You can specify which websites are allowed to access your microphone. You can also block new requests asking to access your microphone.
permissions-site-microphone-disable-label =
.label = Block new requests asking to access your microphone
permissions-site-microphone-disable-desc = This will prevent any websites not listed above from requesting permission to access your microphone. Blocking access to your microphone may break some website features.

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,9 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
select-bookmark-window =
.title = Set Home Page
.style = width: 32em;
select-bookmark-desc = Choose a Bookmark to be your Home Page. If you choose a folder, the Bookmarks in that folder will be opened in Tabs.

Просмотреть файл

@ -0,0 +1,63 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
## Settings
site-data-settings-window =
.title = Manage Cookies and Site Data
site-data-settings-description = The following websites store cookies and site data on your computer. { -brand-short-name } keeps data from websites with persistent storage until you delete it, and deletes data from websites with non-persistent storage as space is needed.
site-data-search-textbox =
.placeholder = Search websites
.accesskey = S
site-data-column-host =
.label = Site
site-data-column-cookies =
.label = Cookies
site-data-column-storage =
.label = Storage
site-data-column-last-used =
.label = Last Used
# This label is used in the "Host" column for local files, which have no host.
site-data-local-file-host = (local file)
site-data-remove-selected =
.label = Remove Selected
.accesskey = R
site-data-settings-dialog =
.buttonlabelaccept = Save Changes
.buttonaccesskeyaccept = a
# Variables:
# $value (Number) - Value of the unit (for example: 4.6, 500)
# $unit (String) - Name of the unit (for example: "bytes", "KB")
site-storage-usage =
.value = { $value } { $unit }
site-storage-persistent =
.value = { site-storage-usage.value } (Persistent)
site-data-remove-all =
.label = Remove All
.accesskey = e
site-data-remove-shown =
.label = Remove All Shown
.accesskey = e
## Removing
site-data-removing-dialog =
.title = { site-data-removing-header }
.buttonlabelaccept = Remove
site-data-removing-header = Removing Cookies and Site Data
site-data-removing-desc = Removing cookies and site data may log you out of websites. Are you sure you want to make the changes?
site-data-removing-table = Cookies and site data for the following websites will be removed

Просмотреть файл

@ -0,0 +1,107 @@
# 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/.
protections-panel-sendreportview-error = There was an error sending the report. Please try again later.
# A link shown when ETP is disabled for a site. Opens the breakage report subview when clicked.
protections-panel-sitefixedsendreport-label = Site fixed? Send report
## These strings are used to define the different levels of
## Enhanced Tracking Protection.
protections-popup-footer-protection-label-strict = Strict
.label = Strict
protections-popup-footer-protection-label-custom = Custom
.label = Custom
protections-popup-footer-protection-label-standard = Standard
.label = Standard
##
# The text a screen reader speaks when focused on the info button.
protections-panel-etp-more-info =
.aria-label = More information about Enhanced Tracking Protection
protections-panel-etp-on-header = Enhanced Tracking Protection is ON for this site
protections-panel-etp-off-header = Enhanced Tracking Protection is OFF for this site
# The link to be clicked to open the sub-panel view
protections-panel-site-not-working = Site not working?
# The heading/title of the sub-panel view
protections-panel-site-not-working-view =
.title = Site Not Working?
## The "Allowed" header also includes a "Why?" link that, when hovered, shows
## a tooltip explaining why these items were not blocked in the page.
protections-panel-not-blocking-why-label = Why?
protections-panel-not-blocking-why-etp-on-tooltip = Blocking these could break elements of some websites. Without trackers, some buttons, forms, and login fields might not work.
protections-panel-not-blocking-why-etp-off-tooltip = All trackers on this site have been loaded because protections are turned off.
##
protections-panel-no-trackers-found = No trackers known to { -brand-short-name } were detected on this page.
protections-panel-content-blocking-tracking-protection = Tracking Content
protections-panel-content-blocking-socialblock = Social Media Trackers
protections-panel-content-blocking-cryptominers-label = Cryptominers
protections-panel-content-blocking-fingerprinters-label = Fingerprinters
## In the protections panel, Content Blocking category items are in three sections:
## "Blocked" for categories being blocked in the current page,
## "Allowed" for categories detected but not blocked in the current page, and
## "None Detected" for categories not detected in the current page.
## These strings are used in the header labels of each of these sections.
protections-panel-blocking-label = Blocked
protections-panel-not-blocking-label = Allowed
protections-panel-not-found-label = None Detected
##
protections-panel-settings-label = Protection Settings
# This should match the "appmenuitem-protection-dashboard-title" string in browser/appmenu.ftl.
protections-panel-protectionsdashboard-label = Protections Dashboard
## In the Site Not Working? view, we suggest turning off protections if
## the user is experiencing issues with any of a variety of functionality.
# The header of the list
protections-panel-site-not-working-view-header = Turn off protections if youre having issues with:
# The list items, shown in a <ul>
protections-panel-site-not-working-view-issue-list-login-fields = Login fields
protections-panel-site-not-working-view-issue-list-forms = Forms
protections-panel-site-not-working-view-issue-list-payments = Payments
protections-panel-site-not-working-view-issue-list-comments = Comments
protections-panel-site-not-working-view-issue-list-videos = Videos
protections-panel-site-not-working-view-send-report = Send a report
##
protections-panel-cross-site-tracking-cookies = These cookies follow you from site to site to gather data about what you do online. They are set by third parties such as advertisers and analytics companies.
protections-panel-cryptominers = Cryptominers use your systems computing power to mine digital money. Cryptomining scripts drain your battery, slow down your computer, and can increase your energy bill.
protections-panel-fingerprinters = Fingerprinters collect settings from your browser and computer to create a profile of you. Using this digital fingerprint, they can track you across different websites.
protections-panel-tracking-content = Websites may load external ads, videos, and other content with tracking code. Blocking tracking content can help sites load faster, but some buttons, forms, and login fields might not work.
protections-panel-social-media-trackers = Social networks place trackers on other websites to follow what you do, see, and watch online. This allows social media companies to learn more about you beyond what you share on your social media profiles.
protections-panel-content-blocking-manage-settings =
.label = Manage Protection Settings
.accesskey = M
protections-panel-content-blocking-breakage-report-view =
.title = Report a Broken Site
protections-panel-content-blocking-breakage-report-view-description = Blocking certain trackers can cause problems with some websites. Reporting these problems helps make { -brand-short-name } better for everyone. Sending this report will send a URL and information about your browser settings to Mozilla. <label data-l10n-name="learn-more">Learn more</label>
protections-panel-content-blocking-breakage-report-view-collection-url = URL
protections-panel-content-blocking-breakage-report-view-collection-url-label =
.aria-label = URL
protections-panel-content-blocking-breakage-report-view-collection-comments = Optional: Describe the problem
protections-panel-content-blocking-breakage-report-view-collection-comments-label =
.aria-label = Optional: Describe the problem
protections-panel-content-blocking-breakage-report-view-cancel =
.label = Cancel
protections-panel-content-blocking-breakage-report-view-send-report =
.label = Send Report

Просмотреть файл

@ -0,0 +1,110 @@
# 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/.
sanitize-prefs =
.title = Settings for Clearing History
.style = width: 34em
sanitize-prefs-style =
.style = width: 17em
dialog-title =
.title = Clear Recent History
.style = width: 34em
# When "Time range to clear" is set to "Everything", this message is used for the
# title instead of dialog-title.
dialog-title-everything =
.title = Clear All History
.style = width: 34em
clear-data-settings-label = When closed, { -brand-short-name } should automatically clear all
## clear-time-duration-prefix is followed by a dropdown list, with
## values localized using clear-time-duration-value-* messages.
## clear-time-duration-suffix is left empty in English, but can be
## used in other languages to change the structure of the message.
##
## This results in English:
## Time range to clear: (Last Hour, Today, etc.)
clear-time-duration-prefix =
.value = Time range to clear:{ " " }
.accesskey = T
clear-time-duration-value-last-hour =
.label = Last Hour
clear-time-duration-value-last-2-hours =
.label = Last Two Hours
clear-time-duration-value-last-4-hours =
.label = Last Four Hours
clear-time-duration-value-today =
.label = Today
clear-time-duration-value-everything =
.label = Everything
clear-time-duration-suffix =
.value = { "" }
## These strings are used as section comments and checkboxes
## to select the items to remove
history-section-label = History
item-history-and-downloads =
.label = Browsing & Download History
.accesskey = B
item-cookies =
.label = Cookies
.accesskey = C
item-active-logins =
.label = Active Logins
.accesskey = L
item-cache =
.label = Cache
.accesskey = a
item-form-search-history =
.label = Form & Search History
.accesskey = F
data-section-label = Data
item-site-preferences =
.label = Site Preferences
.accesskey = S
item-offline-apps =
.label = Offline Website Data
.accesskey = O
sanitize-everything-undo-warning = This action cannot be undone.
window-close =
.key = w
sanitize-button-ok =
.label = Clear Now
# The label for the default button between the user clicking it and the window
# closing. Indicates the items are being cleared.
sanitize-button-clearing =
.label = Clearing
# Warning that appears when "Time range to clear" is set to "Everything" in Clear
# Recent History dialog, provided that the user has not modified the default set
# of history items to clear.
sanitize-everything-warning = All history will be cleared.
# Warning that appears when "Time range to clear" is set to "Everything" in Clear
# Recent History dialog, provided that the user has modified the default set of
# history items to clear.
sanitize-selected-warning = All selected items will be cleared.

Просмотреть файл

@ -0,0 +1,15 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
sidebar-menu-bookmarks =
.label = Bookmarks
sidebar-menu-history =
.label = History
sidebar-menu-synced-tabs =
.label = Synced Tabs
sidebar-menu-close =
.label = Close Sidebar

Просмотреть файл

@ -0,0 +1,40 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
### These strings appear in Urlbar Interventions. Interventions appear in the
### Urlbar in response to the user's query. For example, if we detect that the
### user is searching how to clear their history, we show the Intervention
### described by clear-data.
intervention-clear-data = Clear your cache, cookies, history and more.
intervention-clear-data-confirm = Choose What to Clear…
intervention-refresh-profile = Restore default settings and remove old add-ons for optimal performance.
intervention-refresh-profile-confirm = Refresh { -brand-short-name }…
## These strings describe Interventions helping the user with the Firefox update
## process.
## Shown when an update is available to download.
intervention-update-ask = A new version of { -brand-short-name } is available.
intervention-update-ask-confirm = Install and Restart to Update
## Shown when Firefox does not need to update so instead we offer to refresh
## the user's profile.
intervention-update-refresh = { -brand-short-name } is up to date. Trying to fix a problem? Restore default settings and remove old add-ons for optimal performance.
intervention-update-refresh-confirm = Refresh { -brand-short-name }…
## Shown when an update is downloaded and Firefox is ready to install it.
intervention-update-restart = The latest { -brand-short-name } is downloaded and ready to install.
intervention-update-restart-confirm = Restart to Update
## Shown when Firefox cannot update itself. The button will open the download
## page on the Firefox website.
intervention-update-web = Get the latest { -brand-short-name } browser.
intervention-update-web-confirm = Download Now
##

Просмотреть файл

@ -0,0 +1,37 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
## Firefox Brand
##
## Firefox must be treated as a brand, and kept in English.
## It cannot be:
## - Declined to adapt to grammatical case.
## - Transliterated.
## - Translated.
##
## Reference: https://www.mozilla.org/styleguide/communications/translation/
## Firefox and Mozilla Brand
##
## Firefox and Mozilla must be treated as a brand.
##
## They cannot be:
## - Transliterated.
## - Translated.
##
## Declension should be avoided where possible, leaving the original
## brand unaltered in prominent UI positions.
##
## For further details, consult:
## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyright-and-trademark
-brand-shorter-name = Firefox
-brand-short-name = Firefox
-brand-full-name = Mozilla Firefox
# This brand name can be used in messages where the product name needs to
# remain unchanged across different versions (Nightly, Beta, etc.).
-brand-product-name = Firefox
-vendor-short-name = Mozilla
trademarkInfo = Firefox oraz logotyp Firefox to znaki towarowe Mozilla Foundation.

Просмотреть файл

@ -0,0 +1,60 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
aboutDialog-title =
.title = O programie { -brand-full-name }
releaseNotes-link = Informacje o wydaniu
update-checkForUpdatesButton =
.label = Sprawdź dostępność aktualizacji
.accesskey = S
update-updateButton =
.label = Uruchom ponownie, aby uaktualnić przeglądarkę { -brand-shorter-name }
.accesskey = U
update-checkingForUpdates = Poszukiwanie aktualizacji…
update-downloading = <img data-l10n-name="icon"/> Pobieranie aktualizacji — <label data-l10n-name="download-status"/>
update-applying = Instalowanie aktualizacji…
update-failed = Aktualizacja się nie powiodła. <label data-l10n-name="failed-link">Pobierz najnowszą wersję</label>.
update-failed-main = Aktualizacja się nie powiodła. <a data-l10n-name="failed-link-main">Pobierz najnowszą wersję</a>.
update-adminDisabled = Aktualizacje zablokowane przez administratora komputera.
update-noUpdatesFound = { -brand-short-name } jest aktualny.
update-otherInstanceHandlingUpdates = Inna instancja właśnie aktualizuje program { -brand-short-name }.
update-manual = Aktualizacje dostępne na <label data-l10n-name="manual-link"/>.
update-unsupported = Dalsze aktualizacje na tym systemie nie są możliwe. <label data-l10n-name="unsupported-link">Więcej informacji</label>.
update-restarting = Ponowne uruchamianie…
channel-description = Obecnie korzystasz z kanału aktualizacji „<label data-l10n-name="current-channel"></label>”.
warningDesc-version = { -brand-short-name } jest wersją rozwojową programu i może być niestabilny.
community-exp = <label data-l10n-name="community-exp-mozillaLink">{ -vendor-short-name }</label> jest <label data-l10n-name="community-exp-creditsLink">globalną społecznością</label>, starającą się zapewnić, by Internet pozostał otwarty, publiczny i dostępny dla wszystkich.
community-2 = { -brand-short-name } został opracowany przez <label data-l10n-name="community-mozillaLink">organizację { -vendor-short-name }</label>, która jest <label data-l10n-name="community-creditsLink">globalną społecznością</label>, starającą się zapewnić, by Internet pozostał otwarty, publiczny i dostępny dla wszystkich.
helpus = Chcesz pomóc? <label data-l10n-name="helpus-donateLink">Przekaż datek</label> lub <label data-l10n-name="helpus-getInvolvedLink">dołącz do nas</label>.
bottomLinks-license = Informacje licencyjne
bottomLinks-rights = Prawa użytkownika
bottomLinks-privacy = Zasady ochrony prywatności
# Example of resulting string: 66.0.1 (64-bit)
# Variables:
# $version (String): version of Firefox, e.g. 66.0.1
# $bits (Number): bits of the architecture (32 or 64)
aboutDialog-version = { $version } ({ $bits } bity)
# Example of resulting string: 66.0a1 (2019-01-16) (64-bit)
# Variables:
# $version (String): version of Firefox for Nightly builds, e.g. 66.0a1
# $isodate (String): date in ISO format, e.g. 2019-01-16
# $bits (Number): bits of the architecture (32 or 64)
aboutDialog-version-nightly = { $version } ({ $isodate }) ({ $bits } bity)

Просмотреть файл

@ -0,0 +1,26 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
all-tabs-menu-undo-close-tabs =
.label =
{ $tabCount ->
[1] Przywróć zamkniętą kartę
[one] Przywróć zamkniętą kartę
[few] Przywróć zamknięte karty
*[many] Przywróć zamknięte karty
}
# "Search" is a verb, as in "Search through tabs".
all-tabs-menu-search-tabs =
.label = Przeszukaj karty
all-tabs-menu-new-user-context =
.label = Nowa karta z kontekstem
all-tabs-menu-hidden-tabs =
.label = Ukryte karty
all-tabs-menu-manage-user-context =
.label = Zarządzaj kontekstami
.accesskey = Z

Просмотреть файл

@ -0,0 +1,34 @@
# 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/.
## App Menu
appmenuitem-update-banner =
.label-update-downloading = Pobieranie aktualizacji programu { -brand-shorter-name }
appmenuitem-protection-dashboard-title = Panel ochrony
appmenuitem-customize-mode =
.label = Dostosuj…
## Zoom Controls
appmenuitem-zoom-enlarge =
.label = Powiększ
appmenuitem-zoom-reduce =
.label = Pomniejsz
## Firefox Account toolbar button and Sync panel in App menu.
fxa-toolbar-sync-now =
.label = Synchronizuj teraz
## What's New panel in App menu.
whatsnew-panel-header = Co nowego
# Checkbox displayed at the bottom of the What's New panel, allowing users to
# enable/disable What's New notifications.
whatsnew-panel-footer-checkbox =
.label = Powiadamiaj o nowych funkcjach
.accesskey = P

Просмотреть файл

@ -0,0 +1,31 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
## The following feature names must be treated as a brand, and kept in English.
## They cannot be:
## - Declined to adapt to grammatical case.
## - Transliterated.
## - Translated.
## The following feature names must be treated as a brand.
##
## They cannot be:
## - Transliterated.
## - Translated.
##
## Declension should be avoided where possible, leaving the original
## brand unaltered in prominent UI positions.
##
## For further details, consult:
## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyright-and-trademark
-facebook-container-brand-name = Facebook Container
-lockwise-brand-name = Firefox Lockwise
-lockwise-brand-short-name = Lockwise
-monitor-brand-name = Firefox Monitor
-monitor-brand-short-name = Monitor
-pocket-brand-name = Pocket
-send-brand-name = Firefox Send
-screenshots-brand-name = Firefox Screenshots
-mozilla-vpn-brand-name = Mozilla VPN

Просмотреть файл

@ -0,0 +1,107 @@
# 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/.
-sync-brand-short-name =
{ $case ->
*[nom]
{ $capitalization ->
*[upper] Synchronizacja
[lower] synchronizacja
}
[gen]
{ $capitalization ->
*[upper] Synchronizacji
[lower] synchronizacji
}
[dat]
{ $capitalization ->
*[upper] Synchronizacji
[lower] synchronizacji
}
[acc]
{ $capitalization ->
*[upper] Synchronizację
[lower] synchronizację
}
[ins]
{ $capitalization ->
*[upper] Synchronizacją
[lower] synchronizacją
}
[loc]
{ $capitalization ->
*[upper] Synchronizacji
[lower] synchronizacji
}
}
# “Sync” can be localized, “Firefox” must be treated as a brand,
# and kept in English.
-sync-brand-name =
{ $case ->
*[nom]
{ $capitalization ->
*[upper] Synchronizacja Firefoksa
[lower] synchronizacja Firefoksa
}
[gen]
{ $capitalization ->
*[upper] Synchronizacji Firefoksa
[lower] synchronizacji Firefoksa
}
[dat]
{ $capitalization ->
*[upper] Synchronizacji Firefoksa
[lower] synchronizacji Firefoksa
}
[acc]
{ $capitalization ->
*[upper] Synchronizację Firefoksa
[lower] synchronizację Firefoksa
}
[ins]
{ $capitalization ->
*[upper] Synchronizacją Firefoksa
[lower] synchronizacją Firefoksa
}
[loc]
{ $capitalization ->
*[upper] Synchronizacji Firefoksa
[lower] synchronizacji Firefoksa
}
}
# “Account” can be localized, “Firefox” must be treated as a brand,
# and kept in English.
-fxaccount-brand-name =
{ $case ->
*[nom]
{ $capitalization ->
*[upper] Konto Firefoksa
[lower] konto Firefoksa
}
[gen]
{ $capitalization ->
*[upper] Konta Firefoksa
[lower] konta Firefoksa
}
[dat]
{ $capitalization ->
*[upper] Kontu Firefoksa
[lower] kontu Firefoksa
}
[acc]
{ $capitalization ->
*[upper] Konto Firefoksa
[lower] konto Firefoksa
}
[ins]
{ $capitalization ->
*[upper] Kontem Firefoksa
[lower] kontem Firefoksa
}
[loc]
{ $capitalization ->
*[upper] Koncie Firefoksa
[lower] koncie Firefoksa
}
}

Просмотреть файл

@ -0,0 +1,574 @@
# 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/.
## The main browser window's title
# These are the default window titles everywhere except macOS. The first two
# attributes are used when the web content opened has no title:
#
# default - "Mozilla Firefox"
# private - "Mozilla Firefox (Private Browsing)"
#
# The last two are for use when there *is* a content title.
# Variables:
# $content-title (String): the title of the web content.
browser-main-window =
.data-title-default = { -brand-full-name }
.data-title-private = { -brand-full-name } (tryb prywatny)
.data-content-title-default = { $content-title } — { -brand-full-name }
.data-content-title-private = { $content-title } — { -brand-full-name } (tryb prywatny)
# These are the default window titles on macOS. The first two are for use when
# there is no content title:
#
# "default" - "Mozilla Firefox"
# "private" - "Mozilla Firefox — (Private Browsing)"
#
# The last two are for use when there *is* a content title.
# Do not use the brand name in the last two attributes, as we do on non-macOS.
#
# Also note the other subtle difference here: we use a `-` to separate the
# brand name from `(Private Browsing)`, which does not happen on other OSes.
#
# Variables:
# $content-title (String): the title of the web content.
browser-main-window-mac =
.data-title-default = { -brand-full-name }
.data-title-private = { -brand-full-name } — (tryb prywatny)
.data-content-title-default = { $content-title }
.data-content-title-private = { $content-title } — (tryb prywatny)
# This gets set as the initial title, and is overridden as soon as we start
# updating the titlebar based on loaded tabs or private browsing state.
# This should match the `data-title-default` attribute in both
# `browser-main-window` and `browser-main-window-mac`.
browser-main-window-title = { -brand-full-name }
##
urlbar-identity-button =
.aria-label = Wyświetl informacje o stronie
## Tooltips for images appearing in the address bar
urlbar-services-notification-anchor =
.tooltiptext = Wyświetl zapytanie instalacji usługi
urlbar-web-notification-anchor =
.tooltiptext = Określ, czy witryna ma prawo wyświetlać powiadomienia
urlbar-midi-notification-anchor =
.tooltiptext = Otwórz panel MIDI
urlbar-eme-notification-anchor =
.tooltiptext = Zarządzaj ustawieniami DRM
urlbar-web-authn-anchor =
.tooltiptext = Otwórz panel Web Authentication
urlbar-canvas-notification-anchor =
.tooltiptext = Zarządzaj uprawnieniami odczytu danych canvas
urlbar-web-rtc-share-microphone-notification-anchor =
.tooltiptext = Zarządzaj udostępnianiem mikrofonu tej witrynie
urlbar-default-notification-anchor =
.tooltiptext = Wyświetl powiadomienie
urlbar-geolocation-notification-anchor =
.tooltiptext = Wyświetl zapytanie o położenie
urlbar-xr-notification-anchor =
.tooltiptext = Zarządzaj uprawnieniami rzeczywistości wirtualnej
urlbar-storage-access-anchor =
.tooltiptext = Zarządzaj uprawnieniami śledzenia aktywności przeglądania
urlbar-translate-notification-anchor =
.tooltiptext = Przetłumacz tę stronę
urlbar-web-rtc-share-screen-notification-anchor =
.tooltiptext = Zarządzaj udostępnianiem tej witrynie okien i ekranu
urlbar-indexed-db-notification-anchor =
.tooltiptext = Wyświetl zapytanie o przechowywanie danych offline
urlbar-password-notification-anchor =
.tooltiptext = Określ, czy zachować hasło
urlbar-translated-notification-anchor =
.tooltiptext = Zarządzaj ustawieniami tłumaczenia
urlbar-plugins-notification-anchor =
.tooltiptext = Zarządzaj wtyczkami używanymi na tej stronie
urlbar-web-rtc-share-devices-notification-anchor =
.tooltiptext = Zarządzaj udostępnianiem tej witrynie kamery i mikrofonu
urlbar-autoplay-notification-anchor =
.tooltiptext = Wyświetl zapytanie o automatyczne odtwarzanie
urlbar-persistent-storage-notification-anchor =
.tooltiptext = Przechowywanie danych na komputerze
urlbar-addons-notification-anchor =
.tooltiptext = Wyświetl zapytanie o instalację dodatków
urlbar-tip-help-icon =
.title = Pomoc
urlbar-search-tips-confirm = OK
# Read out before Urlbar Tip text content so screenreader users know the
# subsequent text is a tip offered by the browser. It should end in a colon or
# localized equivalent.
urlbar-tip-icon-description =
.alt = Wskazówka:
## Prompts users to use the Urlbar when they open a new tab or visit the
## homepage of their default search engine.
## Variables:
## $engineName (String): The name of the user's default search engine. e.g. "Google" or "DuckDuckGo".
urlbar-search-tips-onboard = Pisz mniej, wyszukuj więcej: szukaj w { $engineName } prosto z paska adresu
urlbar-search-tips-redirect-2 = Zacznij szukać na pasku adresu, aby uzyskać podpowiedzi od wyszukiwarki { $engineName } i wyniki na podstawie historii przeglądania
# Prompts users to use the Urlbar when they are typing in the domain of a
# search engine, e.g. google.com or amazon.com.
urlbar-tabtosearch-onboard = Kliknij ten skrót, aby szybciej znaleźć to, czego potrzebujesz
## Local search mode indicator labels in the urlbar
urlbar-search-mode-bookmarks = Zakładki
urlbar-search-mode-tabs = Karty
urlbar-search-mode-history = Historia
##
urlbar-geolocation-blocked =
.tooltiptext = Udostępnianie położenia tej witrynie zostało zablokowane
urlbar-xr-blocked =
.tooltiptext = Dostęp do urządzenia rzeczywistości wirtualnej dla tej witryny został zablokowany
urlbar-web-notifications-blocked =
.tooltiptext = Powiadomienia z tej witryny zostały zablokowane
urlbar-camera-blocked =
.tooltiptext = Udostępnianie kamery tej witrynie zostało zablokowane
urlbar-microphone-blocked =
.tooltiptext = Udostępnianie mikrofonu tej witrynie zostało zablokowane
urlbar-screen-blocked =
.tooltiptext = Udostępnianie obrazu ekranu tej witrynie zostało zablokowane
urlbar-persistent-storage-blocked =
.tooltiptext = Przechowywanie danych na komputerze przez tę witrynę zostało zablokowane
urlbar-popup-blocked =
.tooltiptext = Wyskakujące okna na tej witrynie są blokowane
urlbar-autoplay-media-blocked =
.tooltiptext = Automatyczne odtwarzanie treści z dźwiękiem przez tę witrynę zostało zablokowane
urlbar-canvas-blocked =
.tooltiptext = Odczytywanie danych canvas przez witrynę zostało zablokowane
urlbar-midi-blocked =
.tooltiptext = Dostęp do urządzeń MIDI dla tej witryny został zablokowany
urlbar-install-blocked =
.tooltiptext = Instalacja dodatków przez tę witrynę została zablokowana
# Variables
# $shortcut (String) - A keyboard shortcut for the edit bookmark command.
urlbar-star-edit-bookmark =
.tooltiptext = Edytuj zakładkę ({ $shortcut })
# Variables
# $shortcut (String) - A keyboard shortcut for the add bookmark command.
urlbar-star-add-bookmark =
.tooltiptext = Dodaj zakładkę do tej strony ({ $shortcut })
## Page Action Context Menu
page-action-add-to-urlbar =
.label = Dodaj do paska adresu
page-action-manage-extension =
.label = Zarządzaj rozszerzeniem…
page-action-remove-from-urlbar =
.label = Usuń z paska adresu
page-action-remove-extension =
.label = Usuń rozszerzenie
## Page Action menu
# Variables
# $tabCount (integer) - Number of tabs selected
page-action-send-tabs-panel =
.label =
{ $tabCount ->
[one] Wyślij stronę na urządzenie
[few] Wyślij { $tabCount } strony na urządzenie
*[many] Wyślij { $tabCount } stron na urządzenie
}
page-action-send-tabs-urlbar =
.tooltiptext =
{ $tabCount ->
[one] Wyślij stronę na urządzenie
[few] Wyślij { $tabCount } strony na urządzenie
*[many] Wyślij { $tabCount } stron na urządzenie
}
page-action-pocket-panel =
.label = Wyślij stronę do { -pocket-brand-name }
page-action-copy-url-panel =
.label = Kopiuj odnośnik
page-action-copy-url-urlbar =
.tooltiptext = Kopiuj odnośnik
page-action-email-link-panel =
.label = Wyślij odnośnik…
page-action-email-link-urlbar =
.tooltiptext = Wyślij odnośnik…
page-action-share-url-panel =
.label = Udostępnij
page-action-share-url-urlbar =
.tooltiptext = Udostępnij
page-action-share-more-panel =
.label = Więcej…
page-action-send-tab-not-ready =
.label = Synchronizowanie urządzeń…
# "Pin" is being used as a metaphor for expressing the fact that these tabs
# are "pinned" to the left edge of the tabstrip. Really we just want the
# string to express the idea that this is a lightweight and reversible
# action that keeps your tab where you can reach it easily.
page-action-pin-tab-panel =
.label = Przypnij kartę
page-action-pin-tab-urlbar =
.tooltiptext = Przypnij kartę
page-action-unpin-tab-panel =
.label = Odepnij kartę
page-action-unpin-tab-urlbar =
.tooltiptext = Odepnij kartę
## Auto-hide Context Menu
full-screen-autohide =
.label = Ukryj paski narzędzi
.accesskey = U
full-screen-exit =
.label = Opuść tryb pełnoekranowy
.accesskey = O
## Search Engine selection buttons (one-offs)
# This string prompts the user to use the list of search shortcuts in
# the Urlbar and searchbar.
search-one-offs-with-title = Tym razem szukaj w:
# This string won't wrap, so if the translated string is longer,
# consider translating it as if it said only "Search Settings".
search-one-offs-change-settings-button =
.label = Ustawienia wyszukiwania
search-one-offs-change-settings-compact-button =
.tooltiptext = Zmień ustawienia wyszukiwania
search-one-offs-context-open-new-tab =
.label = Szukaj w nowej karcie
.accesskey = S
search-one-offs-context-set-as-default =
.label = Ustaw jako domyślną wyszukiwarkę
.accesskey = U
search-one-offs-context-set-as-default-private =
.label = Ustaw jako domyślną wyszukiwarkę w prywatnych oknach
.accesskey = w
# Search engine one-off buttons with an @alias shortcut/keyword.
# Variables:
# $engineName (String): The name of the engine.
# $alias (String): The @alias shortcut/keyword.
search-one-offs-engine-with-alias =
.tooltiptext = { $engineName } ({ $alias })
## Local search mode one-off buttons
## Variables:
## $restrict (String): The restriction token corresponding to the search mode.
## Restriction tokens are special characters users can type in the urlbar to
## restrict their searches to certain sources (e.g., "*" to search only
## bookmarks).
search-one-offs-bookmarks =
.tooltiptext = Zakładki ({ $restrict })
search-one-offs-tabs =
.tooltiptext = Karty ({ $restrict })
search-one-offs-history =
.tooltiptext = Historia ({ $restrict })
## Bookmark Panel
bookmark-panel-show-editor-checkbox =
.label = Wyświetlanie tego okna podczas dodawania
.accesskey = W
bookmark-panel-done-button =
.label = Gotowe
# Width of the bookmark panel.
# Should be large enough to fully display the Done and
# Cancel/Remove Bookmark buttons.
bookmark-panel =
.style = min-width: 25em
## Identity Panel
identity-connection-not-secure = Niezabezpieczone połączenie
identity-connection-secure = Zabezpieczone połączenie
identity-connection-internal = To jest strona programu { -brand-short-name }.
identity-connection-file = Strona wczytana z tego komputera.
identity-extension-page = Ta strona została wczytana przez rozszerzenie.
identity-active-blocked = { -brand-short-name } zablokował elementy tej strony, które nie były przesłane w sposób bezpieczny.
identity-custom-root = Połączenie zweryfikowane przez wystawcę certyfikatu, który nie jest rozpoznawany przez Mozillę.
identity-passive-loaded = Niektóre elementy tej strony (np. obrazy) nie były przesłane w sposób bezpieczny.
identity-active-loaded = Ochrona na tej stronie została wyłączona przez użytkownika.
identity-weak-encryption = Strona używa słabego szyfrowania.
identity-insecure-login-forms = Dane logowania wprowadzone na tej stronie nie są chronione.
identity-https-only-connection-upgraded = (przełączono na protokół HTTPS)
identity-https-only-label = Tryb używania wyłącznie protokołu HTTPS
identity-https-only-dropdown-on =
.label = Włączony
identity-https-only-dropdown-off =
.label = Wyłączony
identity-https-only-dropdown-off-temporarily =
.label = Tymczasowo wyłączony
identity-https-only-info-turn-on2 = Włącz tryb używania wyłącznie protokołu HTTPS dla tej witryny, jeśli chcesz, aby { -brand-short-name } przełączał na zabezpieczone połączenie, kiedy to możliwe.
identity-https-only-info-turn-off2 = Jeśli strona wydaje się niepoprawnie działać, możesz wyłączyć tryb używania wyłącznie protokołu HTTPS dla tej witryny, aby odświeżyć ją za pomocą niezabezpieczonego protokołu HTTP.
identity-https-only-info-no-upgrade = Nie można przełączyć połączenia z protokołu HTTP.
identity-permissions =
.value = Uprawnienia
identity-permissions-storage-access-header = Ciasteczka między witrynami
identity-permissions-storage-access-hint = Te strony mogą używać ciasteczek i danych między witrynami, kiedy jesteś na tej witrynie.
identity-permissions-reload-hint = Ponowne wczytanie strony może być konieczne, aby wprowadzone zmiany przyniosły skutek.
identity-permissions-empty = Witryna korzysta z domyślnych uprawnień.
identity-clear-site-data =
.label = Wyczyść ciasteczka i dane stron…
identity-connection-not-secure-security-view = Połączenie z tą witryną nie jest zabezpieczone.
identity-connection-verified = Połączenie z tą witryną jest zabezpieczone.
identity-ev-owner-label = Certyfikat wystawiony dla:
identity-description-custom-root = Mozilla nie rozpoznaje tego wystawcy certyfikatu. Mógł zostać dodany przez system operacyjny lub administratora. <label data-l10n-name="link">Więcej informacji</label>
identity-remove-cert-exception =
.label = Usuń wyjątek
.accesskey = U
identity-description-insecure = Prywatność podczas łączenia się z tą witryną nie jest chroniona. Przesyłane informacje (np. hasła, wiadomości, numery kart) mogą być dostępne dla innych.
identity-description-insecure-login-forms = Dane logowania wprowadzone na tej stronie nie są bezpieczne i mogą być dostępne dla innych.
identity-description-weak-cipher-intro = Połączenie z tą witryną nie zapewnia prywatności, ponieważ szyfrowanie nie jest wystarczające.
identity-description-weak-cipher-risk = Informacje na witrynie mogą być dostępne dla innych, a jej działanie modyfikowane.
identity-description-active-blocked = { -brand-short-name } zablokował elementy tej strony, które nie były przesłane w sposób bezpieczny. <label data-l10n-name="link">Więcej informacji</label>
identity-description-passive-loaded = Połączenie z tą witryną nie zapewnia prywatności, a przesyłane informacje mogą być dostępne dla innych.
identity-description-passive-loaded-insecure = Niektóre elementy tej witryny (np. obrazy) nie były przesłane w sposób bezpieczny. <label data-l10n-name="link">Więcej informacji</label>
identity-description-passive-loaded-mixed = { -brand-short-name } zablokował niektóre elementy strony, mimo to nie wszystkie pozostałe elementy były przesłane w sposób bezpieczny (np. obrazy). <label data-l10n-name="link">Więcej informacji</label>
identity-description-active-loaded = Witryna zawiera elementy, które nie były przesłane w sposób bezpieczny (np. skrypty) i połączenie z nią nie zapewnia prywatności.
identity-description-active-loaded-insecure = Przesyłane informacje (np. hasła, wiadomości, numery kart) mogą być dostępne dla innych.
identity-learn-more =
.value = Więcej informacji
identity-disable-mixed-content-blocking =
.label = Tymczasowo wyłącz ochronę
.accesskey = T
identity-enable-mixed-content-blocking =
.label = Włącz ochronę
.accesskey = W
identity-more-info-link-text =
.label = Więcej informacji…
## Window controls
browser-window-minimize-button =
.tooltiptext = Minimalizuj
browser-window-maximize-button =
.tooltiptext = Maksymalizuj
browser-window-restore-down-button =
.tooltiptext = Przywróć w dół
browser-window-close-button =
.tooltiptext = Zamknij
## Bookmarks toolbar items
browser-import-button2 =
.label = Importuj zakładki…
.tooltiptext = Zaimportuj zakładki z innej przeglądarki do przeglądarki { -brand-short-name }
bookmarks-toolbar-empty-message = Umieść swoje zakładki na tym pasku zakładek, aby mieć do nich szybki dostęp. <a data-l10n-name="manage-bookmarks">Zarządzaj zakładkami…</a>
## WebRTC Pop-up notifications
popup-select-camera =
.value = Kamera do udostępnienia:
.accesskey = K
popup-select-microphone =
.value = Mikrofon do udostępnienia:
.accesskey = M
popup-all-windows-shared = Wszystkie widoczne na ekranie okna zostaną udostępnione.
popup-screen-sharing-not-now =
.label = Nie teraz
.accesskey = N
popup-screen-sharing-never =
.label = Nigdy nie pozwalaj
.accesskey = d
popup-silence-notifications-checkbox = Wyłącz powiadomienia przeglądarki { -brand-short-name } podczas udostępniania
popup-silence-notifications-checkbox-warning = { -brand-short-name } nie będzie wyświetlał powiadomień w trakcie udostępniania.
## WebRTC window or screen share tab switch warning
sharing-warning-window = { -brand-short-name } jest udostępniany. Inni będą widzieć, że przechodzisz do nowej karty.
sharing-warning-screen = Cały ekran jest udostępniany. Inni będą widzieć, że przechodzisz do nowej karty.
sharing-warning-proceed-to-tab =
.label = Przejdź do karty
sharing-warning-disable-for-session =
.label = Wyłącz ochronę udostępniania na czas tej sesji
## DevTools F12 popup
enable-devtools-popup-description = Aby móc użyć skrótu F12, najpierw otwórz narzędzia dla programistów w menu „Dla twórców witryn”.
## URL Bar
urlbar-default-placeholder =
.defaultPlaceholder = Wprowadź adres lub szukaj
# This placeholder is used when not in search mode and the user's default search
# engine is unknown.
urlbar-placeholder =
.placeholder = Wprowadź adres lub szukaj
# This placeholder is used in search mode with search engines that search the
# entire web.
# Variables
# $name (String): the name of a search engine that searches the entire Web
# (e.g. Google).
urlbar-placeholder-search-mode-web-2 =
.placeholder = Szukaj w Internecie
.aria-label = Szukaj w { $name }
# This placeholder is used in search mode with search engines that search a
# specific site (e.g., Amazon).
# Variables
# $name (String): the name of a search engine that searches a specific site
# (e.g. Amazon).
urlbar-placeholder-search-mode-other-engine =
.placeholder = Szukaj
.aria-label = Szukaj na witrynie { $name }
# This placeholder is used when searching bookmarks.
urlbar-placeholder-search-mode-other-bookmarks =
.placeholder = Szukaj
.aria-label = Szukaj zakładek
# This placeholder is used when searching history.
urlbar-placeholder-search-mode-other-history =
.placeholder = Szukaj
.aria-label = Szukaj w historii
# This placeholder is used when searching open tabs.
urlbar-placeholder-search-mode-other-tabs =
.placeholder = Szukaj
.aria-label = Szukaj kart
# Variables
# $name (String): the name of the user's default search engine
urlbar-placeholder-with-name =
.placeholder = Wprowadź adres lub szukaj w { $name }
urlbar-remote-control-notification-anchor =
.tooltiptext = Przeglądarka jest zdalnie zarządzana
urlbar-permissions-granted =
.tooltiptext = Witryna korzysta z dodatkowych uprawnień.
urlbar-switch-to-tab =
.value = Przełącz na kartę:
# Used to indicate that a selected autocomplete entry is provided by an extension.
urlbar-extension =
.value = Rozszerzenie:
urlbar-go-button =
.tooltiptext = Przejdź do strony o podanym adresie
urlbar-page-action-button =
.tooltiptext = Interakcje
urlbar-pocket-button =
.tooltiptext = Wyślij do { -pocket-brand-name }
## Action text shown in urlbar results, usually appended after the search
## string or the url, like "result value - action text".
# Used when the private browsing engine differs from the default engine.
# The "with" format was chosen because the search engine name can end with
# "Search", and we would like to avoid strings like "Search MSN Search".
# Variables
# $engine (String): the name of a search engine
urlbar-result-action-search-in-private-w-engine = szukaj w { $engine } w prywatnym oknie
# Used when the private browsing engine is the same as the default engine.
urlbar-result-action-search-in-private = szukaj w prywatnym oknie
# The "with" format was chosen because the search engine name can end with
# "Search", and we would like to avoid strings like "Search MSN Search".
# Variables
# $engine (String): the name of a search engine
urlbar-result-action-search-w-engine = szukaj w { $engine }
urlbar-result-action-sponsored = sponsorowane
urlbar-result-action-switch-tab = przełącz na kartę
urlbar-result-action-visit = otwórz stronę
# Directs a user to press the Tab key to perform a search with the specified
# engine.
# Variables
# $engine (String): the name of a search engine that searches the entire Web
# (e.g. Google).
urlbar-result-action-before-tabtosearch-web = naciśnij Tab, aby szukać w { $engine }
# Directs a user to press the Tab key to perform a search with the specified
# engine.
# Variables
# $engine (String): the name of a search engine that searches a specific site
# (e.g. Amazon).
urlbar-result-action-before-tabtosearch-other = naciśnij Tab, aby szukać na witrynie { $engine }
# Variables
# $engine (String): the name of a search engine that searches the entire Web
# (e.g. Google).
urlbar-result-action-tabtosearch-web = szukaj w { $engine } prosto z paska adresu
# Variables
# $engine (String): the name of a search engine that searches a specific site
# (e.g. Amazon).
urlbar-result-action-tabtosearch-other-engine = szukaj na witrynie { $engine } prosto z paska adresu
## Action text shown in urlbar results, usually appended after the search
## string or the url, like "result value - action text".
## In these actions "Search" is a verb, followed by where the search is performed.
urlbar-result-action-search-bookmarks = szukaj w zakładkach
urlbar-result-action-search-history = szukaj w historii
urlbar-result-action-search-tabs = szukaj w kartach
## Full Screen and Pointer Lock UI
# Please ensure that the domain stays in the `<span data-l10n-name="domain">` markup.
# Variables
# $domain (String): the domain that is full screen, e.g. "mozilla.org"
fullscreen-warning-domain = <span data-l10n-name="domain">{ $domain }</span> jest teraz w trybie pełnoekranowym
fullscreen-warning-no-domain = Dokument jest teraz wyświetlany w trybie pełnoekranowym
fullscreen-exit-button = Opuść tryb pełnoekranowy (Esc)
# "esc" is lowercase on mac keyboards, but uppercase elsewhere.
fullscreen-exit-mac-button = Opuść tryb pełnoekranowy (esc)
# Please ensure that the domain stays in the `<span data-l10n-name="domain">` markup.
# Variables
# $domain (String): the domain that is using pointer-lock, e.g. "mozilla.org"
pointerlock-warning-domain = <span data-l10n-name="domain">{ $domain }</span> kontroluje teraz kursor. Naciśnij klawisz Esc, aby przejąć nad nim kontrolę.
pointerlock-warning-no-domain = Dokument kontroluje teraz kursor. Naciśnij klawisz Esc, aby przejąć nad nim kontrolę.
## Bookmarks panels, menus and toolbar
bookmarks-show-all-bookmarks =
.label = Wyświetl wszystkie zakładki
bookmarks-recent-bookmarks =
.value = Ostatnio dodane
bookmarks-toolbar-chevron =
.tooltiptext = Wyświetl więcej zakładek
bookmarks-sidebar-content =
.aria-label = Zakładki
bookmarks-menu-button =
.label = Menu zakładki
bookmarks-other-bookmarks-menu =
.label = Pozostałe zakładki
bookmarks-mobile-bookmarks-menu =
.label = Zakładki z telefonu
bookmarks-tools-sidebar-visibility =
.label =
{ $isVisible ->
[true] Ukryj panel zakładek
*[other] Wyświetl panel zakładek
}
bookmarks-tools-toolbar-visibility =
.label =
{ $isVisible ->
[true] Ukryj pasek zakładek
*[other] Wyświetl pasek zakładek
}
bookmarks-tools-menu-button-visibility =
.label =
{ $isVisible ->
[true] Usuń menu Zakładki z paska narzędzi
*[other] Dodaj menu Zakładki do paska narzędzi
}
bookmarks-search =
.label = Szukaj w zakładkach
bookmarks-tools =
.label = Narzędzia zakładek
# The aria-label is a spoken label that should not include the word "toolbar" or
# such, because screen readers already know that this container is a toolbar.
# This avoids double-speaking.
bookmarks-toolbar =
.toolbarname = Pasek zakładek
.accesskey = z
.aria-label = Zakładki
bookmarks-toolbar-menu =
.label = Pasek zakładek
bookmarks-toolbar-placeholder =
.title = Elementy paska zakładek
bookmarks-toolbar-placeholder-button =
.label = Elementy paska zakładek
## Library Panel items
library-bookmarks-menu =
.label = Zakładki
library-bookmarks-bookmark-this-page =
.label = Dodaj zakładkę
library-bookmarks-bookmark-edit =
.label = Edytuj zakładkę
## More items
more-menu-go-offline =
.label = Pracuj w trybie offline
.accesskey = c

Просмотреть файл

@ -0,0 +1,319 @@
# 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/.
navbar-tooltip-instruction =
.value =
{ PLATFORM() ->
[macos] Rozwiń, by wyświetlić historię
*[other] Kliknij prawym przyciskiem lub rozwiń, by wyświetlić historię
}
## Back
main-context-menu-back =
.tooltiptext = Przejdź do poprzedniej strony
.aria-label = Wstecz
.accesskey = W
navbar-tooltip-back =
.value = { main-context-menu-back.tooltiptext }
toolbar-button-back =
.label = { main-context-menu-back.aria-label }
## Forward
main-context-menu-forward =
.tooltiptext = Przejdź do następnej strony
.aria-label = Do przodu
.accesskey = D
navbar-tooltip-forward =
.value = { main-context-menu-forward.tooltiptext }
toolbar-button-forward =
.label = { main-context-menu-forward.aria-label }
## Reload
main-context-menu-reload =
.aria-label = Odśwież
.accesskey = O
toolbar-button-reload =
.label = { main-context-menu-reload.aria-label }
## Stop
main-context-menu-stop =
.aria-label = Zatrzymaj
.accesskey = Z
toolbar-button-stop =
.label = { main-context-menu-stop.aria-label }
## Stop-Reload Button
toolbar-button-stop-reload =
.title = { main-context-menu-reload.aria-label }
## Save Page
main-context-menu-page-save =
.label = Zapisz stronę jako…
.accesskey = s
toolbar-button-page-save =
.label = { main-context-menu-page-save.label }
## Simple menu items
main-context-menu-bookmark-add =
.aria-label = Dodaj zakładkę do tej strony
.accesskey = D
.tooltiptext = Dodaj zakładkę do tej strony
# Variables
# $shortcut (String) - A keyboard shortcut for the add bookmark command.
main-context-menu-bookmark-add-with-shortcut =
.aria-label = Dodaj zakładkę do tej strony
.accesskey = D
.tooltiptext = Dodaj zakładkę do tej strony ({ $shortcut })
main-context-menu-bookmark-change =
.aria-label = Edytuj zakładkę
.accesskey = D
.tooltiptext = Edytuj zakładkę
# Variables
# $shortcut (String) - A keyboard shortcut for the edit bookmark command.
main-context-menu-bookmark-change-with-shortcut =
.aria-label = Edytuj zakładkę
.accesskey = D
.tooltiptext = Edytuj zakładkę ({ $shortcut })
main-context-menu-open-link =
.label = Otwórz odnośnik
.accesskey = O
main-context-menu-open-link-new-tab =
.label = Otwórz odnośnik w nowej karcie
.accesskey = j
main-context-menu-open-link-container-tab =
.label = Otwórz odnośnik w nowej karcie w nowym kontekście
.accesskey = k
main-context-menu-open-link-new-window =
.label = Otwórz odnośnik w nowym oknie
.accesskey = n
main-context-menu-open-link-new-private-window =
.label = Otwórz odnośnik w nowym oknie w trybie prywatnym
.accesskey = w
main-context-menu-bookmark-this-link =
.label = Dodaj zakładkę do odnośnika
.accesskey = D
main-context-menu-save-link =
.label = Zapisz element docelowy jako…
.accesskey = s
main-context-menu-save-link-to-pocket =
.label = Wyślij odnośnik do { -pocket-brand-name }
.accesskey = o
## The access keys for "Copy Link Location" and "Copy Email Address"
## should be the same if possible; the two context menu items
## are mutually exclusive.
main-context-menu-copy-email =
.label = Kopiuj adres e-mail
.accesskey = a
main-context-menu-copy-link =
.label = Kopiuj adres odnośnika
.accesskey = a
## Media (video/audio) controls
##
## The accesskey for "Play" and "Pause" are the
## same because the two context-menu items are
## mutually exclusive.
main-context-menu-media-play =
.label = Odtwórz
.accesskey = z
main-context-menu-media-pause =
.label = Wstrzymaj
.accesskey = W
##
main-context-menu-media-mute =
.label = Wycisz
.accesskey = c
main-context-menu-media-unmute =
.label = Włącz dźwięk
.accesskey = c
main-context-menu-media-play-speed =
.label = Szybkość odtwarzania
.accesskey = S
main-context-menu-media-play-speed-slow =
.label = Zmniejszona (0,5×)
.accesskey = Z
main-context-menu-media-play-speed-normal =
.label = Normalna
.accesskey = N
main-context-menu-media-play-speed-fast =
.label = Zwiększona (1,25×)
.accesskey = k
main-context-menu-media-play-speed-faster =
.label = Wysoka (1,5×)
.accesskey = W
# "Ludicrous" is a reference to the movie "Space Balls" and is meant
# to say that this speed is very fast.
main-context-menu-media-play-speed-fastest =
.label = Absurdalna (2×)
.accesskey = A
main-context-menu-media-loop =
.label = Zapętl
.accesskey = Z
## The access keys for "Show Controls" and "Hide Controls" are the same
## because the two context-menu items are mutually exclusive.
main-context-menu-media-show-controls =
.label = Wyświetl elementy sterujące
.accesskey = e
main-context-menu-media-hide-controls =
.label = Ukryj elementy sterujące
.accesskey = e
##
main-context-menu-media-video-fullscreen =
.label = Tryb pełnoekranowy
.accesskey = n
main-context-menu-media-video-leave-fullscreen =
.label = Opuść tryb pełnoekranowy
.accesskey = u
# This is used when right-clicking on a video in the
# content area when the Picture-in-Picture feature is enabled.
main-context-menu-media-pip =
.label = Obraz w obrazie
.accesskey = O
main-context-menu-image-reload =
.label = Odśwież obraz
.accesskey = O
main-context-menu-image-view =
.label = Pokaż obraz
.accesskey = P
main-context-menu-video-view =
.label = Pokaż wideo
.accesskey = k
main-context-menu-image-copy =
.label = Kopiuj obraz
.accesskey = r
main-context-menu-image-copy-location =
.label = Kopiuj adres obrazu
.accesskey = b
main-context-menu-video-copy-location =
.label = Kopiuj adres wideo
.accesskey = u
main-context-menu-audio-copy-location =
.label = Kopiuj adres dźwięku
.accesskey = u
main-context-menu-image-save-as =
.label = Zapisz obraz jako…
.accesskey = Z
main-context-menu-image-email =
.label = Wyślij obraz…
.accesskey = o
main-context-menu-image-set-as-background =
.label = Ustaw jako tapetę…
.accesskey = t
main-context-menu-image-info =
.label = Pokaż informacje o obrazie
.accesskey = f
main-context-menu-image-desc =
.label = Pokaż opis
.accesskey = s
main-context-menu-video-save-as =
.label = Zapisz wideo jako…
.accesskey = s
main-context-menu-audio-save-as =
.label = Zapisz dźwięk jako…
.accesskey = s
main-context-menu-video-image-save-as =
.label = Zapisz klatkę jako…
.accesskey = k
main-context-menu-video-email =
.label = Wyślij wideo…
.accesskey = o
main-context-menu-audio-email =
.label = Wyślij dźwięk…
.accesskey = d
main-context-menu-plugin-play =
.label = Aktywuj tę wtyczkę
.accesskey = w
main-context-menu-plugin-hide =
.label = Ukryj tę wtyczkę
.accesskey = U
main-context-menu-save-to-pocket =
.label = Wyślij stronę do { -pocket-brand-name }
.accesskey = W
main-context-menu-send-to-device =
.label = Wyślij stronę do
.accesskey = W
main-context-menu-view-background-image =
.label = Pokaż obraz tła
.accesskey = t
main-context-menu-generate-new-password =
.label = Użyj wygenerowanego hasła…
.accesskey = h
main-context-menu-keyword =
.label = Utwórz słowo kluczowe dla tej wyszukiwarki…
.accesskey = U
main-context-menu-link-send-to-device =
.label = Wyślij odnośnik do
.accesskey = W
main-context-menu-frame =
.label = Ramka
.accesskey = R
main-context-menu-frame-show-this =
.label = Pokaż tylko tę ramkę
.accesskey = r
main-context-menu-frame-open-tab =
.label = Otwórz ramkę w nowej karcie
.accesskey = j
main-context-menu-frame-open-window =
.label = Otwórz ramkę w nowym oknie
.accesskey = n
main-context-menu-frame-reload =
.label = Odśwież ramkę
.accesskey = O
main-context-menu-frame-bookmark =
.label = Dodaj zakładkę do ramki
.accesskey = D
main-context-menu-frame-save-as =
.label = Zapisz ramkę jako…
.accesskey = Z
main-context-menu-frame-print =
.label = Drukuj ramkę…
.accesskey = u
main-context-menu-frame-view-source =
.label = Pokaż źródło ramki
.accesskey = P
main-context-menu-frame-view-info =
.label = Pokaż informacje o ramce
.accesskey = i
main-context-menu-print-selection =
.label = Drukuj tylko zaznaczenie
.accesskey = u
main-context-menu-view-selection-source =
.label = Pokaż źródło zaznaczenia
.accesskey = d
main-context-menu-view-page-source =
.label = Pokaż źródło strony
.accesskey = y
main-context-menu-view-page-info =
.label = Pokaż informacje o stronie
.accesskey = I
main-context-menu-bidi-switch-text =
.label = Przełącz kierunek tekstu
.accesskey = t
main-context-menu-bidi-switch-page =
.label = Przełącz kierunek strony
.accesskey = s
main-context-menu-inspect-element =
.label = Zbadaj element
.accesskey = t
main-context-menu-inspect-a11y-properties =
.label = Zbadaj własności dostępności
main-context-menu-eme-learn-more =
.label = Więcej informacji o DRM…
.accesskey = D

Просмотреть файл

@ -0,0 +1,180 @@
# 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/.
window-minimize-command =
.label = Miniaturka
window-zoom-command =
.label = Powiększenie
window-new-shortcut =
.key = N
window-minimize-shortcut =
.key = m
close-shortcut =
.key = W
tab-new-shortcut =
.key = t
location-open-shortcut =
.key = l
location-open-shortcut-alt =
.key = d
search-focus-shortcut =
.key = k
# This shortcut is used in two contexts:
# - web search
# - find in page
find-shortcut =
.key = f
search-find-again-shortcut =
.key = g
search-find-again-shortcut-alt =
.keycode = VK_F3
search-find-selection-shortcut =
.key = e
# Verify what shortcut for that operation
# are recommended by the Human Interface Guidelines
# of each platform for your locale.
search-focus-shortcut-alt =
.key =
{ PLATFORM() ->
[linux] j
*[other] e
}
# Verify what shortcut for that operation
# are recommended by the Human Interface Guidelines
# of each platform for your locale.
downloads-shortcut =
.key =
{ PLATFORM() ->
[linux] y
*[other] j
}
addons-shortcut =
.key = A
file-open-shortcut =
.key = o
save-page-shortcut =
.key = s
page-source-shortcut =
.key = u
# This should match the Option+Command keyboard shortcut letter that Safari
# and Chrome use for "View Source" on macOS. `page-source-shortcut` above
# is Firefox's official keyboard shortcut shown in the GUI.
# Safari variant is an alias provided for the convenience of Safari and Chrome
# users on macOS. See bug 1398988.
page-source-shortcut-safari =
.key = u
page-info-shortcut =
.key = i
print-shortcut =
.key = p
mute-toggle-shortcut =
.key = M
nav-back-shortcut-alt =
.key = [
nav-fwd-shortcut-alt =
.key = ]
nav-reload-shortcut =
.key = r
# Shortcut available only on macOS.
nav-stop-shortcut =
.key = .
history-show-all-shortcut =
.key = H
history-show-all-shortcut-mac =
.key = Y
history-sidebar-shortcut =
.key = h
full-screen-shortcut =
.key = f
reader-mode-toggle-shortcut-windows =
.keycode = VK_F9
reader-mode-toggle-shortcut-other =
.key = R
picture-in-picture-toggle-shortcut-mac =
.key = ]
# Pick the key that is commonly present
# in your locale keyboards above the
# `picture-in-picture-toggle-shortcut-mac` key.
picture-in-picture-toggle-shortcut-mac-alt =
.key = { "}" }
picture-in-picture-toggle-shortcut =
.key = ]
# Pick the key that is commonly present
# in your locale keyboards above the
# `picture-in-picture-toggle-shortcut` key.
picture-in-picture-toggle-shortcut-alt =
.key = { "}" }
bookmark-this-page-shortcut =
.key = d
# Verify what shortcut for that operation
# are recommended by the Human Interface Guidelines
# of each platform for your locale.
bookmark-show-all-shortcut =
.key =
{ PLATFORM() ->
[linux] o
*[other] b
}
# Verify what shortcut for that operation
# are recommended by the Human Interface Guidelines
# of each platform for your locale.
bookmark-show-library-shortcut =
.key = o
# Verify what shortcut for that operation
# are recommended by the Human Interface Guidelines
# of each platform for your locale.
bookmark-show-sidebar-shortcut =
.key = b
# Verify what shortcut for that operation
# are recommended by the Human Interface Guidelines
# of each platform for your locale.
bookmark-show-toolbar-shortcut =
.key = b
## All `-alt*` messages are alternative acceleration keys for zoom.
## If shift key is needed with your locale popular keyboard for them,
## you can use these alternative items. Otherwise, their values should be empty.
full-zoom-reduce-shortcut =
.key = -
# If in keyboard layouts popular for your locale you need to use the shift key
# to access the original shortcuts, the following shortcuts can be used.
# Otherwise their values should remain empty.
full-zoom-reduce-shortcut-alt =
.key = { "" }
full-zoom-reduce-shortcut-alt-a =
.key = _
full-zoom-reduce-shortcut-alt-b =
.key = { "" }
full-zoom-enlarge-shortcut =
.key = +
full-zoom-enlarge-shortcut-alt =
.key = =
full-zoom-enlarge-shortcut-alt2 =
.key = { "" }
full-zoom-reset-shortcut =
.key = 0
full-zoom-reset-shortcut-alt =
.key = { "" }
##
bidi-switch-direction-shortcut =
.key = X
private-browsing-shortcut =
.key = P
## The shortcuts below are for Mac specific
## global menu.
quit-app-shortcut =
.key = Q
help-shortcut =
.key = ?
preferences-shortcut =
.key = ,
hide-app-shortcut =
.key = H
hide-other-apps-shortcut =
.key = H

Просмотреть файл

@ -0,0 +1,166 @@
# 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/.
## The title and aria-label attributes are used by screen readers to describe
## the Downloads Panel.
downloads-window =
.title = Pobierane pliki
downloads-panel =
.aria-label = Pobierane pliki
##
# The style attribute has the width of the Downloads Panel expressed using
# a CSS unit. The longest labels that should fit are usually those of
# in-progress and blocked downloads.
downloads-panel-list =
.style = width: 60ch
downloads-cmd-pause =
.label = Wstrzymaj
.accesskey = W
downloads-cmd-resume =
.label = Wznów
.accesskey = z
downloads-cmd-cancel =
.tooltiptext = Anuluj
downloads-cmd-cancel-panel =
.aria-label = Anuluj
# This message is only displayed on Windows and Linux devices
downloads-cmd-show-menuitem =
.label = Otwórz folder nadrzędny
.accesskey = f
# This message is only displayed on macOS devices
downloads-cmd-show-menuitem-mac =
.label = Pokaż w Finderze
.accesskey = F
downloads-cmd-use-system-default =
.label = Otwórz w przeglądarce systemowej
.accesskey = O
downloads-cmd-always-use-system-default =
.label = Zawsze otwieraj w przeglądarce systemowej
.accesskey = Z
downloads-cmd-show-button =
.tooltiptext =
{ PLATFORM() ->
[macos] Pokaż w Finderze
*[other] Otwórz folder nadrzędny
}
downloads-cmd-show-panel =
.aria-label =
{ PLATFORM() ->
[macos] Pokaż w Finderze
*[other] Otwórz folder nadrzędny
}
downloads-cmd-show-description =
.value =
{ PLATFORM() ->
[macos] Pokaż w Finderze
*[other] Otwórz folder nadrzędny
}
downloads-cmd-show-downloads =
.label = Pokaż folder z pobranymi
downloads-cmd-retry =
.tooltiptext = Spróbuj ponownie
downloads-cmd-retry-panel =
.aria-label = Spróbuj ponownie
downloads-cmd-go-to-download-page =
.label = Przejdź do strony pobierania
.accesskey = P
downloads-cmd-copy-download-link =
.label = Kopiuj adres, z którego pobrano plik
.accesskey = K
downloads-cmd-remove-from-history =
.label = Usuń z historii
.accesskey = U
downloads-cmd-clear-list =
.label = Wyczyść listę
.accesskey = c
downloads-cmd-clear-downloads =
.label = Wyczyść listę
.accesskey = c
# This command is shown in the context menu when downloads are blocked.
downloads-cmd-unblock =
.label = Pozwól pobrać
.accesskey = P
# This is the tooltip of the action button shown when malware is blocked.
downloads-cmd-remove-file =
.tooltiptext = Usuń plik
downloads-cmd-remove-file-panel =
.aria-label = Usuń plik
# This is the tooltip of the action button shown when potentially unwanted
# downloads are blocked. This opens a dialog where the user can choose
# whether to unblock or remove the download. Removing is the default option.
downloads-cmd-choose-unblock =
.tooltiptext = Usuń plik lub pozwól go pobrać
downloads-cmd-choose-unblock-panel =
.aria-label = Usuń plik lub pozwól go pobrać
# This is the tooltip of the action button shown when uncommon downloads are
# blocked.This opens a dialog where the user can choose whether to open the
# file or remove the download. Opening is the default option.
downloads-cmd-choose-open =
.tooltiptext = Otwórz lub usuń plik
downloads-cmd-choose-open-panel =
.aria-label = Otwórz lub usuń plik
# Displayed when hovering a blocked download, indicates that it's possible to
# show more information for user to take the next action.
downloads-show-more-information =
.value = Wyświetl więcej informacji
# Displayed when hovering a complete download, indicates that it's possible to
# open the file using an app available in the system.
downloads-open-file =
.value = Otwórz plik
# Displayed when hovering a download which is able to be retried by users,
# indicates that it's possible to download this file again.
downloads-retry-download =
.value = Pobierz ponownie
# Displayed when hovering a download which is able to be cancelled by users,
# indicates that it's possible to cancel and stop the download.
downloads-cancel-download =
.value = Anuluj pobieranie
# This string is shown at the bottom of the Downloads Panel when all the
# downloads fit in the available space, or when there are no downloads in
# the panel at all.
downloads-history =
.label = Wyświetl wszystkie
.accesskey = W
# This string is shown at the top of the Download Details Panel, to indicate
# that we are showing the details of a single download.
downloads-details =
.title = Szczegóły pobieranego pliku
downloads-clear-downloads-button =
.label = Wyczyść listę
.tooltiptext = Ukończone, anulowane i nieudane pobierania zostaną usunięte
# This string is shown when there are no items in the Downloads view, when it
# is displayed inside a browser tab.
downloads-list-empty =
.value = Brak pobranych plików
# This string is shown when there are no items in the Downloads Panel.
downloads-panel-empty =
.value = Brak pobranych podczas tej sesji.

Просмотреть файл

@ -0,0 +1,274 @@
# 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/.
## File Menu
menu-file =
.label = Plik
.accesskey = P
menu-file-new-tab =
.label = Nowa karta
.accesskey = t
menu-file-new-container-tab =
.label = Nowa karta z kontekstem
.accesskey = k
menu-file-new-window =
.label = Nowe okno
.accesskey = N
menu-file-new-private-window =
.label = Nowe okno prywatne
.accesskey = p
# "Open Location" is only displayed on macOS, and only on windows
# that aren't main browser windows, or when there are no windows
# but Firefox is still running.
menu-file-open-location =
.label = Otwórz adres…
menu-file-open-file =
.label = Otwórz plik…
.accesskey = o
menu-file-close =
.label = Zamknij
.accesskey = Z
menu-file-close-window =
.label = Zamknij okno
.accesskey = m
menu-file-save-page =
.label = Zapisz stronę jako…
.accesskey = p
menu-file-email-link =
.label = Wyślij odnośnik…
.accesskey = n
menu-file-print-setup =
.label = Ustawienia strony…
.accesskey = U
menu-file-print-preview =
.label = Podgląd wydruku
.accesskey = g
menu-file-print =
.label = Drukuj…
.accesskey = D
menu-file-import-from-another-browser =
.label = Importuj z innej przeglądarki…
.accesskey = I
menu-file-go-offline =
.label = Pracuj w trybie offline
.accesskey = c
## Edit Menu
menu-edit =
.label = Edycja
.accesskey = E
menu-edit-find-on =
.label = Znajdź na tej stronie…
.accesskey = Z
menu-edit-find-again =
.label = Znajdź następne
.accesskey = n
menu-edit-bidi-switch-text-direction =
.label = Przełącz kierunek tekstu
.accesskey = t
## View Menu
menu-view =
.label = Widok
.accesskey = W
menu-view-toolbars-menu =
.label = Paski narzędzi
.accesskey = P
menu-view-customize-toolbar =
.label = Dostosuj…
.accesskey = t
menu-view-sidebar =
.label = Panel boczny
.accesskey = b
menu-view-bookmarks =
.label = Zakładki
menu-view-history-button =
.label = Historia
menu-view-synced-tabs-sidebar =
.label = Karty z innych urządzeń
menu-view-full-zoom =
.label = Powiększenie
.accesskey = w
menu-view-full-zoom-enlarge =
.label = Powiększ
.accesskey = w
menu-view-full-zoom-reduce =
.label = Pomniejsz
.accesskey = m
menu-view-full-zoom-actual-size =
.label = Rozmiar oryginalny
.accesskey = R
menu-view-full-zoom-toggle =
.label = Powiększaj tylko tekst
.accesskey = k
menu-view-page-style-menu =
.label = Styl strony
.accesskey = S
menu-view-page-style-no-style =
.label = Ignoruj style
.accesskey = n
menu-view-page-basic-style =
.label = Styl podstawowy
.accesskey = S
menu-view-charset =
.label = Kodowanie tekstu
.accesskey = K
## These should match what Safari and other Apple applications
## use on macOS.
menu-view-enter-full-screen =
.label = Tryb pełnoekranowy
.accesskey = T
menu-view-exit-full-screen =
.label = Opuść tryb pełnoekranowy
.accesskey = O
menu-view-full-screen =
.label = Tryb pełnoekranowy
.accesskey = T
##
menu-view-show-all-tabs =
.label = Wyświetl wszystkie karty
.accesskey = W
menu-view-bidi-switch-page-direction =
.label = Przełącz kierunek strony
.accesskey = s
## History Menu
menu-history =
.label = Historia
.accesskey = h
menu-history-show-all-history =
.label = Wyświetl całą historię
menu-history-clear-recent-history =
.label = Wyczyść historię przeglądania…
menu-history-synced-tabs =
.label = Karty z innych urządzeń
menu-history-restore-last-session =
.label = Przywróć poprzednią sesję
menu-history-hidden-tabs =
.label = Ukryte karty
menu-history-undo-menu =
.label = Ostatnio zamknięte karty
menu-history-undo-window-menu =
.label = Ostatnio zamknięte okna
## Bookmarks Menu
menu-bookmarks-menu =
.label = Zakładki
.accesskey = Z
menu-bookmarks-show-all =
.label = Wyświetl wszystkie zakładki
menu-bookmark-this-page =
.label = Dodaj zakładkę
menu-bookmark-edit =
.label = Edytuj zakładkę
menu-bookmarks-all-tabs =
.label = Dodaj zakładki do wszystkich kart…
menu-bookmarks-toolbar =
.label = Pasek zakładek
menu-bookmarks-other =
.label = Pozostałe zakładki
menu-bookmarks-mobile =
.label = Zakładki z telefonu
## Tools Menu
menu-tools =
.label = Narzędzia
.accesskey = N
menu-tools-downloads =
.label = Pobieranie plików
.accesskey = P
menu-tools-addons =
.label = Dodatki
.accesskey = D
menu-tools-fxa-sign-in =
.label = Zaloguj się w przeglądarce { -brand-product-name }…
.accesskey = Z
menu-tools-turn-on-sync =
.label = Włącz { -sync-brand-short-name(case: "acc", capitalization: "lower") }…
.accesskey = W
menu-tools-sync-now =
.label = Synchronizuj teraz
.accesskey = S
menu-tools-fxa-re-auth =
.label = Zaloguj się ponownie w przeglądarce { -brand-product-name }…
.accesskey = Z
menu-tools-web-developer =
.label = Dla twórców witryn
.accesskey = W
menu-tools-page-source =
.label = Źródło strony
.accesskey = d
menu-tools-page-info =
.label = Informacje o stronie
.accesskey = m
menu-preferences =
.label =
{ PLATFORM() ->
[windows] Opcje
*[other] Preferencje
}
.accesskey =
{ PLATFORM() ->
[windows] O
*[other] r
}
menu-tools-layout-debugger =
.label = Debuger układu
.accesskey = r
## Window Menu
menu-window-menu =
.label = Okno
menu-window-bring-all-to-front =
.label = Pokaż wszystko na wierzchu
## Help Menu
menu-help =
.label = Pomoc
.accesskey = c
menu-help-product =
.label = Pomoc programu { -brand-shorter-name }
.accesskey = P
menu-help-show-tour =
.label = Przewodnik po programie { -brand-shorter-name }
.accesskey = r
menu-help-import-from-another-browser =
.label = Importuj z innej przeglądarki…
.accesskey = I
menu-help-keyboard-shortcuts =
.label = Skróty klawiaturowe
.accesskey = S
menu-help-troubleshooting-info =
.label = Informacje dla pomocy technicznej
.accesskey = n
menu-help-feedback-page =
.label = Prześlij swoją opinię…
.accesskey = e
menu-help-safe-mode-without-addons =
.label = Uruchom ponownie z wyłączonymi dodatkami…
.accesskey = U
menu-help-safe-mode-with-addons =
.label = Uruchom ponownie z włączonymi dodatkami
.accesskey = U
# Label of the Help menu item. Either this or
# menu-help-notdeceptive is shown.
menu-help-report-deceptive-site =
.label = Zgłoś oszustwo internetowe…
.accesskey = Z
menu-help-not-deceptive =
.label = To nie jest oszustwo…
.accesskey = n

Просмотреть файл

@ -0,0 +1,68 @@
# 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/.
places-open =
.label = Otwórz
.accesskey = O
places-open-tab =
.label = Otwórz w nowej karcie
.accesskey = w
places-open-all-in-tabs =
.label = Otwórz wszystkie w kartach
.accesskey = O
places-open-window =
.label = Otwórz w nowym oknie
.accesskey = n
places-open-private-window =
.label = Otwórz w nowym oknie prywatnym
.accesskey = p
places-new-bookmark =
.label = Nowa zakładka…
.accesskey = z
places-new-folder-contextmenu =
.label = Nowy folder…
.accesskey = f
places-new-folder =
.label = Nowy folder…
.accesskey = f
places-new-separator =
.label = Nowy separator
.accesskey = S
places-view =
.label = Widok
.accesskey = k
places-by-date =
.label = Według daty
.accesskey = d
places-by-site =
.label = Według witryny
.accesskey = w
places-by-most-visited =
.label = Według liczby wizyt
.accesskey = l
places-by-last-visited =
.label = Według ostatniej wizyty
.accesskey = o
places-by-day-and-site =
.label = Według daty i witryny
.accesskey = t
places-history-search =
.placeholder = Szukaj w historii
places-bookmarks-search =
.placeholder = Szukaj w zakładkach
places-delete-domain-data =
.label = Usuń całą witrynę
.accesskey = w
places-sortby-name =
.label = Sortuj wg nazw
.accesskey = r
places-properties =
.label = Właściwości
.accesskey = i
# Managed bookmarks are created by an administrator and cannot be changed by the user.
managed-bookmarks =
.label = Zakładki zarządzane przez administratora
# This label is used when a managed bookmarks folder doesn't have a name.
managed-bookmarks-subfolder =
.label = Podfolder

Просмотреть файл

@ -0,0 +1,22 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
add-engine-window =
.title = Dodawanie wyszukiwarki
.style = width: 32em;
add-engine-button = Dodaj inną wyszukiwarkę
add-engine-name = Nazwa wyszukiwarki
add-engine-alias = Alias
add-engine-url = Adres wyszukiwarki, wyszukiwany tekst zastąp „%s”
add-engine-cancel =
.label = Anuluj
.accesskey = A
add-engine-ok =
.label = Dodaj wyszukiwarkę
.accesskey = D
add-engine-dialog =
.buttonlabelaccept = Dodaj wyszukiwarkę
.buttonaccesskeyaccept = D
engine-name-exists = Wyszukiwarka o tej nazwie już istnieje
engine-alias-exists = Wyszukiwarka o tym aliasie już istnieje

Просмотреть файл

@ -0,0 +1,33 @@
# 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/.
blocklist-window =
.title = Lista blokowanych elementów
.style = width: 57em
blocklist-description = Wybierz listę używaną przez przeglądarkę { -brand-short-name } do blokowania elementów śledzących użytkownika w Internecie. Listy są dostarczane przez <a data-l10n-name="disconnect-link" title="Disconnect">Disconnect</a>.
blocklist-close-key =
.key = w
blocklist-treehead-list =
.label = Lista
blocklist-button-cancel =
.label = Anuluj
.accesskey = A
blocklist-button-ok =
.label = Zachowaj zmiany
.accesskey = Z
blocklist-dialog =
.buttonlabelaccept = Zachowaj zmiany
.buttonaccesskeyaccept = Z
# This template constructs the name of the block list in the block lists dialog.
# It combines the list name and description.
# e.g. "Standard (Recommended). This list does a pretty good job."
#
# Variables:
# $listName {string, "Standard (Recommended)."} - List name.
# $description {string, "This list does a pretty good job."} - Description of the list.
blocklist-item-list-template = { $listName } { $description }
blocklist-item-moz-std-listName = Lista blokowanych elementów 1. poziomu (zalecana).
blocklist-item-moz-std-description = Zezwala na niektóre elementy śledzące, więc powoduje mniej problemów na stronach.
blocklist-item-moz-full-listName = Lista blokowanych elementów 2. poziomu.
blocklist-item-moz-full-description = Blokuje wszystkie wykryte elementy śledzące. Część stron lub ich treść mogą się niepoprawnie wczytywać.

Просмотреть файл

@ -0,0 +1,53 @@
# 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/.
clear-site-data-window =
.title = Czyszczenie danych
.style = width: 35em
clear-site-data-description = Wyczyszczenie wszystkich ciasteczek i danych stron przechowywanych przez przeglądarkę { -brand-short-name } może spowodować wylogowanie ze stron i usunąć treści offline. Czyszczenie danych pamięci podręcznej nie wpłynie na zachowane dane logowania.
clear-site-data-close-key =
.key = w
# The parameters in parentheses in this string describe disk usage
# in the format ($amount $unit), e.g. "Cookies and Site Data (24 KB)"
# Variables:
# $amount (Number) - Amount of site data currently stored on disk
# $unit (String) - Abbreviation of the unit that $amount is in, e.g. "MB"
clear-site-data-cookies-with-data =
.label = Ciasteczka i dane stron ({ $amount } { $unit })
.accesskey = C
# This string is a placeholder for while the data used to fill
# clear-site-data-cookies-with-data is loading. This placeholder is usually
# only shown for a very short time (< 1s), so it should be very similar
# or the same as clear-site-data-cookies-with-data (except the amount and unit),
# to avoid flickering.
clear-site-data-cookies-empty =
.label = Ciasteczka i dane stron
.accesskey = C
clear-site-data-cookies-info = Może skutkować wylogowaniem ze stron po wyczyszczeniu
# The parameters in parentheses in this string describe disk usage
# in the format ($amount $unit), e.g. "Cached Web Content (24 KB)"
# Variables:
# $amount (Number) - Amount of cache currently stored on disk
# $unit (String) - Abbreviation of the unit that $amount is in, e.g. "MB"
clear-site-data-cache-with-data =
.label = Treści zachowane w pamięci podręcznej ({ $amount } { $unit })
.accesskey = T
# This string is a placeholder for while the data used to fill
# clear-site-data-cache-with-data is loading. This placeholder is usually
# only shown for a very short time (< 1s), so it should be very similar
# or the same as clear-site-data-cache-with-data (except the amount and unit),
# to avoid flickering.
clear-site-data-cache-empty =
.label = Treści zachowane w pamięci podręcznej
.accesskey = T
clear-site-data-cache-info = Skutkuje koniecznością ponownego pobrania obrazów i innych danych przez strony
clear-site-data-cancel =
.label = Anuluj
.accesskey = A
clear-site-data-clear =
.label = Wyczyść
.accesskey = W
clear-site-data-dialog =
.buttonlabelaccept = Wyczyść
.buttonaccesskeyaccept = W

Просмотреть файл

@ -0,0 +1,37 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
colors-window =
.title = Kolory
.style =
{ PLATFORM() ->
[macos] width: 41em
*[other] width: 38em
}
colors-close-key =
.key = w
colors-page-override = Zastępuj kolory określone w treści wybranymi powyżej:
.accesskey = Z
colors-page-override-option-always =
.label = Zawsze
colors-page-override-option-auto =
.label = Tylko w motywach o wysokim kontraście
colors-page-override-option-never =
.label = Nigdy
colors-text-and-background = Tekst i tło
colors-text-header = Tekst
.accesskey = e
colors-background = Tło
.accesskey = T
colors-use-system =
.label = Kolory systemowe
.accesskey = K
colors-underline-links =
.label = Podkreślanie odnośników
.accesskey = P
colors-links-header = Kolory odnośników
colors-unvisited-links = Nieodwiedzone odnośniki
.accesskey = w
colors-visited-links = Odwiedzone odnośniki
.accesskey = O

Просмотреть файл

@ -0,0 +1,107 @@
# 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/.
connection-window =
.title = Ustawienia połączenia
.style =
{ PLATFORM() ->
[macos] width: 45em
*[other] width: 49em
}
connection-close-key =
.key = w
connection-disable-extension =
.label = Wyłącz rozszerzenie
connection-proxy-configure = Konfiguracja proxy do łączenia z Internetem
connection-proxy-option-no =
.label = Bez serwera proxy
.accesskey = B
connection-proxy-option-system =
.label = Używaj systemowych ustawień serwerów proxy
.accesskey = w
connection-proxy-option-auto =
.label = Automatycznie wykrywaj ustawienia serwerów proxy dla tej sieci
.accesskey = A
connection-proxy-option-manual =
.label = Ręczna konfiguracja serwerów proxy:
.accesskey = k
connection-proxy-http = Serwer proxy HTTP:
.accesskey = H
connection-proxy-http-port = Port:
.accesskey = o
connection-proxy-http-sharing =
.label = Użyj tego serwera proxy także dla FTP i HTTPS
.accesskey = U
connection-proxy-https = Serwer proxy HTTPS:
.accesskey = S
connection-proxy-ssl-port = Port:
.accesskey = r
connection-proxy-ftp = Serwer proxy FTP:
.accesskey = F
connection-proxy-ftp-port = Port:
.accesskey = t
connection-proxy-socks = Host SOCKS:
.accesskey = C
connection-proxy-socks-port = Port:
.accesskey = P
connection-proxy-socks4 =
.label = SOCKS v4
.accesskey = 4
connection-proxy-socks5 =
.label = SOCKS v5
.accesskey = 5
connection-proxy-noproxy = Nie używaj proxy dla:
.accesskey = N
connection-proxy-noproxy-desc = Przykład: .mozilla.org, .com.pl, 192.168.1.0/24
# Do not translate localhost, 127.0.0.1 and ::1.
connection-proxy-noproxy-localhost-desc = Połączania z localhost, 127.0.0.1 i ::1 nigdy nie używają serwera proxy.
connection-proxy-autotype =
.label = Adres URL automatycznej konfiguracji proxy:
.accesskey = e
connection-proxy-reload =
.label = Odśwież
.accesskey = d
connection-proxy-autologin =
.label = Nie pytaj o uwierzytelnianie, jeśli istnieje zachowane hasło
.accesskey = j
.tooltip = Umożliwia automatyczne uwierzytelnianie na serwerach proxy, jeśli wcześniej zostały zachowane dane logowania. W przypadku nieudanego uwierzytelniania zostanie wyświetlone standardowe pytanie.
connection-proxy-socks-remote-dns =
.label = Proxy DNS podczas używania SOCKS v5
.accesskey = x
connection-dns-over-https =
.label = DNS poprzez HTTPS
.accesskey = D
connection-dns-over-https-url-resolver = Dostawca
.accesskey = D
# Variables:
# $name (String) - Display name or URL for the DNS over HTTPS provider
connection-dns-over-https-url-item-default =
.label = { $name } (domyślny)
.tooltiptext = Użyj domyślnego adresu serwera DNS udostępnionego poprzez HTTPS
connection-dns-over-https-url-custom =
.label = Własny adres
.accesskey = W
.tooltiptext = Podaj adres wybranego serwera DNS udostępnionego poprzez HTTPS
connection-dns-over-https-custom-label = Własny adres:

Просмотреть файл

@ -0,0 +1,157 @@
# 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/.
fonts-window =
.title = Czcionki
fonts-window-close =
.key = w
## Font groups by language
fonts-langgroup-header = Czcionki:
.accesskey = C
fonts-langgroup-arabic=
.label=arabskie
fonts-langgroup-armenian=
.label=ormiańskie
fonts-langgroup-bengali=
.label=bengalskie
fonts-langgroup-simpl-chinese=
.label=chińskie uproszczone
fonts-langgroup-trad-chinese-hk=
.label=chińskie tradycyjne (Hongkong)
fonts-langgroup-trad-chinese=
.label=chińskie tradycyjne (Tajwan)
fonts-langgroup-cyrillic=
.label=cyryliczne
fonts-langgroup-devanagari=
.label=dewanagari
fonts-langgroup-ethiopic=
.label=etiopskie
fonts-langgroup-georgian=
.label=gruzińskie
fonts-langgroup-el=
.label=greckie
fonts-langgroup-gujarati=
.label=gudżarati
fonts-langgroup-gurmukhi=
.label=gurmukhi
fonts-langgroup-japanese=
.label=japońskie
fonts-langgroup-hebrew=
.label=hebrajskie
fonts-langgroup-kannada=
.label=kannada
fonts-langgroup-khmer=
.label=khmerskie
fonts-langgroup-korean=
.label=koreańskie
fonts-langgroup-latin=
.label=łacińskie
fonts-langgroup-malayalam=
.label=malajalam
fonts-langgroup-math=
.label=matematyczne
fonts-langgroup-odia=
.label=orija
fonts-langgroup-sinhala=
.label=syngaleskie
fonts-langgroup-tamil=
.label=tamilskie
fonts-langgroup-telugu=
.label=telugu
fonts-langgroup-thai=
.label=tajskie
fonts-langgroup-tibetan=
.label=tybetańskie
fonts-langgroup-canadian=
.label=ujednoliconego sylabariusza kanadyjskiego
fonts-langgroup-other=
.label=innych systemów pisma
## Default fonts and their sizes
fonts-proportional-header = Proporcjonalna:
.accesskey = a
fonts-default-serif=
.label=szeryfowa
fonts-default-sans-serif=
.label=bezszeryfowa
fonts-proportional-size = Rozmiar:
.accesskey = R
fonts-serif = Szeryfowa:
.accesskey = S
fonts-sans-serif = Bezszeryfowa:
.accesskey = B
fonts-monospace = O stałej szerokości:
.accesskey = O
fonts-monospace-size = Rozmiar:
.accesskey = z
fonts-minsize = Minimalny rozmiar czcionki:
.accesskey = M
fonts-minsize-none=
.label=brak
fonts-allow-own=
.label=Pozwalaj stronom stosować inne czcionki niż ustawione tutaj
.accesskey=P
## Text Encodings
##
## Translate the encoding names as adjectives for an encoding, not as the name
## of the language.
fonts-languages-fallback-header = Kodowanie tekstu dla przestarzałych treści
fonts-languages-fallback-desc = Kodowanie tekstu używane na stronach, które same go nie określają.
fonts-languages-fallback-label=Rezerwowe kodowanie tekstu:
.accesskey=R
fonts-languages-fallback-name-auto=
.label=domyślne dla obecnej lokalizacji
fonts-languages-fallback-name-arabic=
.label=arabskie
fonts-languages-fallback-name-baltic=
.label=bałtyckie
fonts-languages-fallback-name-ceiso=
.label=środkowoeuropejskie ISO
fonts-languages-fallback-name-cewindows=
.label=środkowoeuropejskie Microsoftu
fonts-languages-fallback-name-simplified=
.label=chińskie uproszczone
fonts-languages-fallback-name-traditional=
.label=chińskie tradycyjne
fonts-languages-fallback-name-cyrillic=
.label=cyryliczne
fonts-languages-fallback-name-greek=
.label=greckie
fonts-languages-fallback-name-hebrew=
.label=hebrajskie
fonts-languages-fallback-name-japanese=
.label=japońskie
fonts-languages-fallback-name-korean=
.label=koreańskie
fonts-languages-fallback-name-thai=
.label=tajskie
fonts-languages-fallback-name-turkish=
.label=tureckie
fonts-languages-fallback-name-vietnamese=
.label=wietnamskie
fonts-languages-fallback-name-other=
.label=inne (łącznie z zachodnioeuropejskimi)
fonts-label-default=
.label=domyślna ({ $name })
fonts-label-default-unnamed=
.label=domyślna

Просмотреть файл

@ -0,0 +1,73 @@
# 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/.
webpage-languages-window =
.title = Ustawienia językowe stron WWW
.style = width: 35em
languages-close-key =
.key = w
languages-description = Niektóre strony internetowe dostępne są w wielu wersjach językowych. Ustal listę kolejno preferowanych języków dla tego rodzaju stron.
languages-customize-spoof-english =
.label = Żądanie angielskich wersji witryn, aby zwiększyć prywatność
languages-customize-moveup =
.label = W górę
.accesskey = g
languages-customize-movedown =
.label = W dół
.accesskey = d
languages-customize-remove =
.label = Usuń
.accesskey = U
languages-customize-select-language =
.placeholder = Wybierz język do dodania…
languages-customize-add =
.label = Dodaj
.accesskey = o
# The pattern used to generate strings presented to the user in the
# locale selection list.
#
# Example:
# Icelandic [is]
# Spanish (Chile) [es-CL]
#
# Variables:
# $locale (String) - A name of the locale (for example: "Icelandic", "Spanish (Chile)")
# $code (String) - Locale code of the locale (for example: "is", "es-CL")
languages-code-format =
.label = { $locale } ({ $code })
languages-active-code-format =
.value = { languages-code-format.label }
browser-languages-window =
.title = Ustawienia języka przeglądarki { -brand-short-name }
.style = width: 37em
browser-languages-description = { -brand-short-name } będzie domyślnie wyświetlał pierwszy język z listy. W razie potrzeby, następne języki będą używane kolejno.
browser-languages-search = Wyszukaj więcej języków…
browser-languages-searching =
.label = Wyszukiwanie języków…
browser-languages-downloading =
.label = Pobieranie…
browser-languages-select-language =
.label = Wybierz język do dodania…
.placeholder = Wybierz język do dodania…
browser-languages-installed-label = Zainstalowane języki
browser-languages-available-label = Dostępne języki
browser-languages-error = { -brand-short-name } obecnie nie może uaktualnić listy języków. Sprawdź połączenie z Internetem lub spróbuj ponownie.

Просмотреть файл

@ -0,0 +1,157 @@
# 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/.
permissions-window =
.title = Wyjątki
.style = width: 35em
permissions-close-key =
.key = w
permissions-address = Adres witryny:
.accesskey = s
permissions-block =
.label = Blokuj
.accesskey = B
permissions-session =
.label = Zezwalaj na czas sesji
.accesskey = c
permissions-allow =
.label = Zezwalaj
.accesskey = Z
permissions-site-name =
.label = Witryna
permissions-status =
.label = Stan
permissions-remove =
.label = Usuń witrynę
.accesskey = U
permissions-remove-all =
.label = Usuń wszystkie witryny
.accesskey = w
permissions-button-cancel =
.label = Anuluj
.accesskey = A
permissions-button-ok =
.label = Zachowaj
.accesskey = h
permission-dialog =
.buttonlabelaccept = Zachowaj
.buttonaccesskeyaccept = h
permissions-autoplay-menu = Domyślne dla wszystkich witryn:
permissions-searchbox =
.placeholder = Szukaj witryn
permissions-capabilities-autoplay-allow =
.label = zezwalanie na dźwięk i wideo
permissions-capabilities-autoplay-block =
.label = blokowanie dźwięku
permissions-capabilities-autoplay-blockall =
.label = blokowanie dźwięku i wideo
permissions-capabilities-allow =
.label = zezwalaj
permissions-capabilities-block =
.label = blokuj
permissions-capabilities-prompt =
.label = zawsze pytaj
permissions-capabilities-listitem-allow =
.value = zezwalaj
permissions-capabilities-listitem-block =
.value = blokuj
permissions-capabilities-listitem-allow-session =
.value = zezwalaj na czas sesji
## Invalid Hostname Dialog
permissions-invalid-uri-title = Wprowadzono nieprawidłową nazwę hosta
permissions-invalid-uri-label = Podaj prawidłową nazwę hosta
## Exceptions - Tracking Protection
permissions-exceptions-etp-window =
.title = Wzmocniona ochrona przed śledzeniem — wyjątki
.style = { permissions-window.style }
permissions-exceptions-etp-desc = Ochrona została wyłączona dla tych witryn.
## Exceptions - Cookies
permissions-exceptions-cookie-window =
.title = Ciasteczka i dane stron — wyjątki
.style = { permissions-window.style }
permissions-exceptions-cookie-desc = Określ zasady akceptacji ciasteczek i danych stron. Podaj dokładny adres witryny, której uprawnienia chcesz zmodyfikować, a następnie naciśnij Zezwalaj, Blokuj lub Zezwalaj na czas sesji.
## Exceptions - Pop-ups
permissions-exceptions-popup-window =
.title = Wyskakujące okna — uprawnione witryny
.style = { permissions-window.style }
permissions-exceptions-popup-desc = Określ, które witryny mogą otwierać wyskakujące okna. Podaj dokładny adres witryny, której chcesz na to zezwolić, i naciśnij Zezwalaj.
## Exceptions - Saved Logins
permissions-exceptions-saved-logins-window =
.title = Zachowywanie danych logowania — wyjątki
.style = { permissions-window.style }
permissions-exceptions-saved-logins-desc = Dane logowania dla następujących witryn nie będą zachowywane.
## Exceptions - Add-ons
permissions-exceptions-addons-window =
.title = Instalacja dodatków — uprawnione witryny
.style = { permissions-window.style }
permissions-exceptions-addons-desc = Określ, które witryny mogą instalować dodatki. Podaj dokładny adres witryny, której chcesz na to zezwolić, i naciśnij Zezwalaj.
## Site Permissions - Autoplay
permissions-site-autoplay-window =
.title = Automatyczne odtwarzanie — uprawnione witryny
.style = { permissions-window.style }
permissions-site-autoplay-desc = Zarządzaj witrynami, które nie korzystają z domyślnych ustawień automatycznego odtwarzania.
## Site Permissions - Notifications
permissions-site-notification-window =
.title = Wyświetlanie powiadomień — uprawnione witryny
.style = { permissions-window.style }
permissions-site-notification-desc = Następujące strony prosiły o możliwość wyświetlania powiadomień. Określ, które witryny mogą je wyświetlać. Można także zablokować nowe prośby.
permissions-site-notification-disable-label =
.label = Blokowanie nowych próśb o możliwość wyświetlania powiadomień
permissions-site-notification-disable-desc = Uniemożliwi to witrynom spoza listy powyżej proszenie o możliwość wysyłania powiadomień. Zablokowanie powiadomień może spowodować, że niektóre funkcje witryny nie będą działać.
## Site Permissions - Location
permissions-site-location-window =
.title = Informowanie o położeniu — uprawnione witryny
.style = { permissions-window.style }
permissions-site-location-desc = Następujące strony prosiły o możliwość uzyskiwania informacji o położeniu. Określ, które witryny mogą je uzyskiwać. Można także zablokować nowe prośby.
permissions-site-location-disable-label =
.label = Blokowanie nowych próśb o możliwość uzyskiwania informacji o położeniu
permissions-site-location-disable-desc = Uniemożliwi to witrynom spoza listy powyżej proszenie o możliwość uzyskiwania informacji o położeniu. Zablokowanie uzyskiwania informacji o położeniu może spowodować, że niektóre funkcje witryny nie będą działać.
## Site Permissions - Virtual Reality
permissions-site-xr-window =
.title = Rzeczywistość wirtualna — uprawnione witryny
.style = { permissions-window.style }
permissions-site-xr-desc = Następujące strony prosiły o dostęp do urządzeń rzeczywistości wirtualnej. Określ, które witryny mogą uzyskiwać do nich dostęp. Można także zablokować nowe prośby.
permissions-site-xr-disable-label =
.label = Blokowanie nowych próśb o dostęp do urządzeń rzeczywistości wirtualnej
permissions-site-xr-disable-desc = Uniemożliwi to witrynom spoza listy powyżej proszenie o dostęp do urządzeń rzeczywistości wirtualnej. Zablokowanie dostępu do urządzeń rzeczywistości wirtualnej może spowodować, że niektóre funkcje witryny nie będą działać.
## Site Permissions - Camera
permissions-site-camera-window =
.title = Udostępnianie kamery — uprawnione witryny
.style = { permissions-window.style }
permissions-site-camera-desc = Następujące strony prosiły o dostęp do kamery. Określ, które witryny mogą uzyskiwać do niej dostęp. Można także zablokować nowe prośby.
permissions-site-camera-disable-label =
.label = Blokowanie nowych próśb o dostęp do kamery
permissions-site-camera-disable-desc = Uniemożliwi to witrynom spoza listy powyżej proszenie o dostęp do kamery. Zablokowanie dostępu do kamery może spowodować, że niektóre funkcje witryny nie będą działać.
## Site Permissions - Microphone
permissions-site-microphone-window =
.title = Udostępnianie mikrofonu — uprawnione witryny
.style = { permissions-window.style }
permissions-site-microphone-desc = Następujące strony prosiły o dostęp do mikrofonu. Określ, które witryny mogą uzyskiwać do niego dostęp. Można także zablokować nowe prośby.
permissions-site-microphone-disable-label =
.label = Blokowanie nowych próśb o dostęp do mikrofonu
permissions-site-microphone-disable-desc = Uniemożliwi to witrynom spoza listy powyżej proszenie o dostęp do mikrofonu. Zablokowanie dostępu do mikrofonu może spowodować, że niektóre funkcje witryny nie będą działać.

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,9 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
select-bookmark-window =
.title = Ustaw stronę startową
.style = width: 32em;
select-bookmark-desc = Wybierz zakładkę, która ma stać się stroną startową. Jeśli wskazany zostanie folder, zakładki z tego folderu zostaną otwarte w kartach.

Просмотреть файл

@ -0,0 +1,57 @@
# 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/.
## Settings
site-data-settings-window =
.title = Zachowane ciasteczka i dane stron
site-data-settings-description = Następujące witryny przechowują ciasteczka i dane na tym komputerze. { -brand-short-name } trwale przechowuje dane do czasu ręcznego ich usunięcia i usuwa nietrwałe dane, jeśli potrzebna jest przestrzeń.
site-data-search-textbox =
.placeholder = Szukaj witryn
.accesskey = S
site-data-column-host =
.label = Witryna
site-data-column-cookies =
.label = Ciasteczka
site-data-column-storage =
.label = Rozmiar
site-data-column-last-used =
.label = Ostatni dostęp
# This label is used in the "Host" column for local files, which have no host.
site-data-local-file-host = (plik lokalny)
site-data-remove-selected =
.label = Usuń zaznaczone
.accesskey = U
site-data-button-cancel =
.label = Anuluj
.accesskey = A
site-data-button-save =
.label = Zapisz zmiany
.accesskey = Z
site-data-settings-dialog =
.buttonlabelaccept = Zapisz zmiany
.buttonaccesskeyaccept = Z
# Variables:
# $value (Number) - Value of the unit (for example: 4.6, 500)
# $unit (String) - Name of the unit (for example: "bytes", "KB")
site-storage-usage =
.value = { $value } { $unit }
site-storage-persistent =
.value = { site-storage-usage.value } (trwałe)
site-data-remove-all =
.label = Usuń wszystkie
.accesskey = U
site-data-remove-shown =
.label = Usuń wszystkie wyświetlane
.accesskey = U
## Removing
site-data-removing-dialog =
.title = { site-data-removing-header }
.buttonlabelaccept = Usuń
site-data-removing-header = Usuwanie ciasteczek i danych stron
site-data-removing-desc = Usunięcie ciasteczek i danych stron może spowodować wylogowanie z niektórych witryn. Czy wprowadzić zmiany?
site-data-removing-table = Ciasteczka i dane stron następujących witryn zostaną usunięte:

Просмотреть файл

@ -0,0 +1,108 @@
# 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/.
protections-panel-sendreportview-error = Wystąpił błąd podczas wysyłania zgłoszenia. Proszę spróbować ponownie później.
# A link shown when ETP is disabled for a site. Opens the breakage report subview when clicked.
protections-panel-sitefixedsendreport-label = Naprawiło to stronę? Wyślij zgłoszenie
## These strings are used to define the different levels of
## Enhanced Tracking Protection.
protections-popup-footer-protection-label-strict = Ścisła
.label = Ścisła
protections-popup-footer-protection-label-custom = Własna
.label = Własna
protections-popup-footer-protection-label-standard = Standardowa
.label = Standardowa
##
# The text a screen reader speaks when focused on the info button.
protections-panel-etp-more-info =
.aria-label = Więcej informacji o wzmocnionej ochronie przed śledzeniem
protections-panel-etp-on-header = Wzmocniona ochrona przed śledzeniem jest włączona na tej witrynie
protections-panel-etp-off-header = Wzmocniona ochrona przed śledzeniem jest wyłączona na tej witrynie
# The link to be clicked to open the sub-panel view
protections-panel-site-not-working = Strona nie działa?
# The heading/title of the sub-panel view
protections-panel-site-not-working-view =
.title = Strona nie działa?
## The "Allowed" header also includes a "Why?" link that, when hovered, shows
## a tooltip explaining why these items were not blocked in the page.
protections-panel-not-blocking-why-label = Dlaczego?
protections-panel-not-blocking-why-etp-on-tooltip = Blokowanie tych elementów może powodować niepoprawne działanie niektórych stron. Bez elementów śledzących niektóre przyciski, formularze i pola logowania mogą nie działać.
protections-panel-not-blocking-why-etp-off-tooltip = Wszystkie elementy śledzące na tej stronie zostały wczytane, ponieważ ochrona jest wyłączona.
##
protections-panel-no-trackers-found = { -brand-short-name } nie wykrył na tej stronie znanych elementów śledzących.
protections-panel-content-blocking-tracking-protection = Treści z elementami śledzącymi
protections-panel-content-blocking-socialblock = Elementy śledzące serwisów społecznościowych
protections-panel-content-blocking-cryptominers-label = Elementy używające komputera użytkownika do generowania kryptowalut
protections-panel-content-blocking-fingerprinters-label = Elementy śledzące przez zbieranie informacji o konfiguracji
## In the protections panel, Content Blocking category items are in three sections:
## "Blocked" for categories being blocked in the current page,
## "Allowed" for categories detected but not blocked in the current page, and
## "None Detected" for categories not detected in the current page.
## These strings are used in the header labels of each of these sections.
protections-panel-blocking-label = Zablokowane
protections-panel-not-blocking-label = Dopuszczone
protections-panel-not-found-label = Niewykryte
##
protections-panel-settings-label = Ustawienia ochrony
# This should match the "appmenuitem-protection-dashboard-title" string in browser/appmenu.ftl.
protections-panel-protectionsdashboard-label = Panel ochrony
## In the Site Not Working? view, we suggest turning off protections if
## the user is experiencing issues with any of a variety of functionality.
# The header of the list
protections-panel-site-not-working-view-header = Wyłącz ochronę, jeśli masz problemy z:
# The list items, shown in a <ul>
protections-panel-site-not-working-view-issue-list-login-fields = polami logowania
protections-panel-site-not-working-view-issue-list-forms = formularzami
protections-panel-site-not-working-view-issue-list-payments = płatnościami
protections-panel-site-not-working-view-issue-list-comments = komentarzami
protections-panel-site-not-working-view-issue-list-videos = filmami
protections-panel-site-not-working-view-send-report = Wyślij zgłoszenie
##
protections-panel-cross-site-tracking-cookies = Te ciasteczka śledzą Cię od strony do strony w celu zbierania danych o tym, co robisz w Internecie. Są umieszczane przez zewnętrzne firmy, takie jak agencje reklamowe i firmy analityczne.
protections-panel-cryptominers = Te elementy wykorzystują moc obliczeniową Twojego komputera do generowania cyfrowych walut. Skrypty generujące kryptowaluty rozładowują baterię, spowalniają komputer i mogą zwiększyć rachunek za prąd.
protections-panel-fingerprinters = Te elementy zbierają ustawienia przeglądarki i komputera, aby utworzyć profil użytkownika. Za pomocą tego cyfrowego odcisku palca mogą śledzić Cię między różnymi witrynami.
protections-panel-tracking-content = Witryny mogą wczytywać zewnętrzne reklamy, filmy i inne treści z elementami śledzącymi. Blokowanie ich może przyspieszyć wczytywanie stron, ale niektóre przyciski, formularze i pola logowania mogą działać niepoprawnie.
protections-panel-social-media-trackers = Serwisy społecznościowe umieszczają elementy śledzące na innych witrynach, aby śledzić co robisz, widzisz i oglądasz w Internecie. Dzięki temu ich właściciele wiedzą o Tobie więcej, niż udostępniasz w ich serwisach.
protections-panel-content-blocking-manage-settings =
.label = Zarządzaj ustawieniami ochrony
.accesskey = Z
protections-panel-content-blocking-breakage-report-view =
.title = Zgłoś niepoprawnie działającą stronę
protections-panel-content-blocking-breakage-report-view-description = Blokowanie pewnych elementów śledzących może powodować problemy z niektórymi stronami. Zgłaszając problemy, pomagasz ulepszać program { -brand-short-name } (adres odwiedzanej strony oraz informacje o ustawieniach przeglądarki zostaną przesłane do Mozilli). <label data-l10n-name="learn-more">Więcej informacji</label>
protections-panel-content-blocking-breakage-report-view-collection-url = Adres URL problematycznej strony
protections-panel-content-blocking-breakage-report-view-collection-url-label =
.aria-label = Adres URL problematycznej strony
protections-panel-content-blocking-breakage-report-view-collection-comments = Opcjonalnie: opisz problem
protections-panel-content-blocking-breakage-report-view-collection-comments-label =
.aria-label = Opcjonalnie: opisz problem
protections-panel-content-blocking-breakage-report-view-cancel =
.label = Anuluj
protections-panel-content-blocking-breakage-report-view-send-report =
.label = Wyślij zgłoszenie

Просмотреть файл

@ -0,0 +1,110 @@
# 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/.
sanitize-prefs =
.title = Ustawienia czyszczenia historii
.style = width: 41em
sanitize-prefs-style =
.style = width: 25em
dialog-title =
.title = Czyszczenie historii
.style = width: 42em
# When "Time range to clear" is set to "Everything", this message is used for the
# title instead of dialog-title.
dialog-title-everything =
.title = Czyszczenie historii
.style = width: 42em
clear-data-settings-label = Rzeczy zaznaczone poniżej będą usuwane podczas zamykania przeglądarki { -brand-short-name }.
## clear-time-duration-prefix is followed by a dropdown list, with
## values localized using clear-time-duration-value-* messages.
## clear-time-duration-suffix is left empty in English, but can be
## used in other languages to change the structure of the message.
##
## This results in English:
## Time range to clear: (Last Hour, Today, etc.)
clear-time-duration-prefix =
.value = Okres do wyczyszczenia:
.accesskey = O
clear-time-duration-value-last-hour =
.label = ostatnia godzina
clear-time-duration-value-last-2-hours =
.label = ostatnie dwie godziny
clear-time-duration-value-last-4-hours =
.label = ostatnie cztery godziny
clear-time-duration-value-today =
.label = dzisiaj
clear-time-duration-value-everything =
.label = wszystko
clear-time-duration-suffix =
.value = { "" }
## These strings are used as section comments and checkboxes
## to select the items to remove
history-section-label = Historia
item-history-and-downloads =
.label = Historia przeglądanych stron i pobranych plików
.accesskey = H
item-cookies =
.label = Ciasteczka
.accesskey = C
item-active-logins =
.label = Aktywne zalogowania
.accesskey = A
item-cache =
.label = Pamięć podręczna
.accesskey = P
item-form-search-history =
.label = Dane formularzy i historia paska wyszukiwania
.accesskey = D
data-section-label = Dane
item-site-preferences =
.label = Ustawienia uprawnień witryn
.accesskey = U
item-offline-apps =
.label = Dane witryn trybu offline
.accesskey = w
sanitize-everything-undo-warning = Tej czynności nie można cofnąć!
window-close =
.key = w
sanitize-button-ok =
.label = Wyczyść
# The label for the default button between the user clicking it and the window
# closing. Indicates the items are being cleared.
sanitize-button-clearing =
.label = Czyszczenie…
# Warning that appears when "Time range to clear" is set to "Everything" in Clear
# Recent History dialog, provided that the user has not modified the default set
# of history items to clear.
sanitize-everything-warning = Cała historia zostanie wyczyszczona.
# Warning that appears when "Time range to clear" is set to "Everything" in Clear
# Recent History dialog, provided that the user has modified the default set of
# history items to clear.
sanitize-selected-warning = Wszystkie zaznaczone elementy zostaną wyczyszczone.

Просмотреть файл

@ -0,0 +1,15 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
sidebar-menu-bookmarks =
.label = Zakładki
sidebar-menu-history =
.label = Historia
sidebar-menu-synced-tabs =
.label = Karty z innych urządzeń
sidebar-menu-close =
.label = Zamknij panel boczny

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

@ -0,0 +1 @@
empty-one = pusty

Просмотреть файл

@ -0,0 +1 @@
missing-one = zaginiony

Просмотреть файл

@ -0,0 +1,225 @@
# 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/.
certmgr-title =
.title = Certificate Manager
certmgr-tab-mine =
.label = Your Certificates
certmgr-tab-remembered =
.label = Authentication Decisions
certmgr-tab-people =
.label = People
certmgr-tab-servers =
.label = Servers
certmgr-tab-ca =
.label = Authorities
certmgr-mine = You have certificates from these organizations that identify you
certmgr-remembered = These certificates are used to identify you to websites
certmgr-people = You have certificates on file that identify these people
certmgr-server = These entries identify server certificate error exceptions
certmgr-ca = You have certificates on file that identify these certificate authorities
certmgr-edit-ca-cert =
.title = Edit CA certificate trust settings
.style = width: 48em;
certmgr-edit-cert-edit-trust = Edit trust settings:
certmgr-edit-cert-trust-ssl =
.label = This certificate can identify websites.
certmgr-edit-cert-trust-email =
.label = This certificate can identify mail users.
certmgr-delete-cert =
.title = Delete Certificate
.style = width: 48em; height: 24em;
certmgr-cert-host =
.label = Host
certmgr-cert-name =
.label = Certificate Name
certmgr-cert-server =
.label = Server
certmgr-override-lifetime =
.label = Lifetime
certmgr-token-name =
.label = Security Device
certmgr-begins-label =
.label = Begins On
certmgr-expires-label =
.label = Expires On
certmgr-email =
.label = E-Mail Address
certmgr-serial =
.label = Serial Number
certmgr-view =
.label = View…
.accesskey = V
certmgr-edit =
.label = Edit Trust…
.accesskey = E
certmgr-export =
.label = Export…
.accesskey = x
certmgr-delete =
.label = Delete…
.accesskey = D
certmgr-delete-builtin =
.label = Delete or Distrust…
.accesskey = D
certmgr-backup =
.label = Backup…
.accesskey = B
certmgr-backup-all =
.label = Backup All…
.accesskey = k
certmgr-restore =
.label = Import…
.accesskey = m
certmgr-add-exception =
.label = Add Exception…
.accesskey = x
exception-mgr =
.title = Add Security Exception
exception-mgr-extra-button =
.label = Confirm Security Exception
.accesskey = C
exception-mgr-supplemental-warning = Legitimate banks, stores, and other public sites will not ask you to do this.
exception-mgr-cert-location-url =
.value = Location:
exception-mgr-cert-location-download =
.label = Get Certificate
.accesskey = G
exception-mgr-cert-status-view-cert =
.label = View…
.accesskey = V
exception-mgr-permanent =
.label = Permanently store this exception
.accesskey = P
pk11-bad-password = The password entered was incorrect.
pkcs12-decode-err = Failed to decode the file. Either it is not in PKCS #12 format, has been corrupted, or the password you entered was incorrect.
pkcs12-unknown-err-restore = Failed to restore the PKCS #12 file for unknown reasons.
pkcs12-unknown-err-backup = Failed to create the PKCS #12 backup file for unknown reasons.
pkcs12-unknown-err = The PKCS #12 operation failed for unknown reasons.
pkcs12-info-no-smartcard-backup = It is not possible to back up certificates from a hardware security device such as a smart card.
pkcs12-dup-data = The certificate and private key already exist on the security device.
## PKCS#12 file dialogs
choose-p12-backup-file-dialog = File Name to Backup
file-browse-pkcs12-spec = PKCS12 Files
choose-p12-restore-file-dialog = Certificate File to Import
## Import certificate(s) file dialog
file-browse-certificate-spec = Certificate Files
import-ca-certs-prompt = Select File containing CA certificate(s) to import
import-email-cert-prompt = Select File containing somebodys Email certificate to import
## For editing certificates trust
# Variables:
# $certName: the name of certificate
edit-trust-ca = The certificate “{ $certName }” represents a Certificate Authority.
## For Deleting Certificates
delete-user-cert-title =
.title = Delete your Certificates
delete-user-cert-confirm = Are you sure you want to delete these certificates?
delete-user-cert-impact = If you delete one of your own certificates, you can no longer use it to identify yourself.
delete-ssl-override-title =
.title = Delete Server Certificate Exception
delete-ssl-override-confirm = Are you sure you want to delete this server exception?
delete-ssl-override-impact = If you delete a server exception, you restore the usual security checks for that server and require it uses a valid certificate.
delete-ca-cert-title =
.title = Delete or Distrust CA Certificates
delete-ca-cert-confirm = You have requested to delete these CA certificates. For built-in certificates all trust will be removed, which has the same effect. Are you sure you want to delete or distrust?
delete-ca-cert-impact = If you delete or distrust a certificate authority (CA) certificate, this application will no longer trust any certificates issued by that CA.
delete-email-cert-title =
.title = Delete E-Mail Certificates
delete-email-cert-confirm = Are you sure you want to delete these peoples e-mail certificates?
delete-email-cert-impact = If you delete a persons e-mail certificate, you will no longer be able to send encrypted e-mail to that person.
# Used for semi-uniquely representing a cert.
#
# Variables:
# $serialNumber : the serial number of the cert in AA:BB:CC hex format.
cert-with-serial =
.value = Certificate with serial number: { $serialNumber }
# Used to indicate that the user chose not to send a client authentication certificate to a server that requested one in a TLS handshake.
send-no-client-certificate = Send no client certificate
# Used when no cert is stored for an override
no-cert-stored-for-override = (Not Stored)
## Used to show whether an override is temporary or permanent
permanent-override = Permanent
temporary-override = Temporary
## Add Security Exception dialog
add-exception-branded-warning = You are about to override how { -brand-short-name } identifies this site.
add-exception-invalid-header = This site attempts to identify itself with invalid information.
add-exception-domain-mismatch-short = Wrong Site
add-exception-domain-mismatch-long = The certificate belongs to a different site, which could mean that someone is trying to impersonate this site.
add-exception-expired-short = Outdated Information
add-exception-expired-long = The certificate is not currently valid. It may have been stolen or lost, and could be used by someone to impersonate this site.
add-exception-unverified-or-bad-signature-short = Unknown Identity
add-exception-unverified-or-bad-signature-long = The certificate is not trusted because it hasnt been verified as issued by a trusted authority using a secure signature.
add-exception-valid-short = Valid Certificate
add-exception-valid-long = This site provides valid, verified identification. There is no need to add an exception.
add-exception-checking-short = Checking Information
add-exception-checking-long = Attempting to identify this site…
add-exception-no-cert-short = No Information Available
add-exception-no-cert-long = Unable to obtain identification status for this site.
## Certificate export "Save as" and error dialogs
save-cert-as = Save Certificate To File
cert-format-base64 = X.509 Certificate (PEM)
cert-format-base64-chain = X.509 Certificate with chain (PEM)
cert-format-der = X.509 Certificate (DER)
cert-format-pkcs7 = X.509 Certificate (PKCS#7)
cert-format-pkcs7-chain = X.509 Certificate with chain (PKCS#7)
write-file-failure = File Error

Просмотреть файл

@ -0,0 +1,130 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
## Strings used for device manager
devmgr =
.title = Device Manager
.style = width: 67em; height: 32em;
devmgr-devlist =
.label = Security Modules and Devices
devmgr-header-details =
.label = Details
devmgr-header-value =
.label = Value
devmgr-button-login =
.label = Log In
.accesskey = n
devmgr-button-logout =
.label = Log Out
.accesskey = O
devmgr-button-changepw =
.label = Change Password
.accesskey = P
devmgr-button-load =
.label = Load
.accesskey = L
devmgr-button-unload =
.label = Unload
.accesskey = U
devmgr-button-enable-fips =
.label = Enable FIPS
.accesskey = F
devmgr-button-disable-fips =
.label = Disable FIPS
.accesskey = F
## Strings used for load device
load-device =
.title = Load PKCS#11 Device Driver
load-device-info = Enter the information for the module you want to add.
load-device-modname =
.value = Module Name
.accesskey = M
load-device-modname-default =
.value = New PKCS#11 Module
load-device-filename =
.value = Module filename
.accesskey = f
load-device-browse =
.label = Browse…
.accesskey = B
## Token Manager
devinfo-status =
.label = Status
devinfo-status-disabled =
.label = Disabled
devinfo-status-not-present =
.label = Not Present
devinfo-status-uninitialized =
.label = Uninitialized
devinfo-status-not-logged-in =
.label = Not Logged In
devinfo-status-logged-in =
.label = Logged In
devinfo-status-ready =
.label = Ready
devinfo-desc =
.label = Description
devinfo-man-id =
.label = Manufacturer
devinfo-hwversion =
.label = HW Version
devinfo-fwversion =
.label = FW Version
devinfo-modname =
.label = Module
devinfo-modpath =
.label = Path
login-failed = Failed to Login
devinfo-label =
.label = Label
devinfo-serialnum =
.label = Serial Number
fips-nonempty-primary-password-required = FIPS mode requires that you have a Primary Password set for each security device. Please set the password before trying to enable FIPS mode.
unable-to-toggle-fips = Unable to change the FIPS mode for the security device. It is recommended that you exit and restart this application.
load-pk11-module-file-picker-title = Choose a PKCS#11 device driver to load
# Load Module Dialog
load-module-help-empty-module-name =
.value = The module name cannot be empty.
# Do not translate 'Root Certs'
load-module-help-root-certs-module-name =
.value = Root Certs is reserved and cannot be used as the module name.
add-module-failure = Unable to add module
del-module-warning = Are you sure you want to delete this security module?
del-module-error = Unable to delete module

Просмотреть файл

@ -0,0 +1,124 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-css-masonry2 =
.label = CSS: Masonry Layout
experimental-features-css-masonry-description = Enables support for the experimental CSS Masonry Layout feature. See the <a data-l10n-name="explainer">explainer</a> for a high level description of the feature. To provide feedback, please comment in <a data-l10n-name="w3c-issue">this GitHub issue</a> or <a data-l10n-name="bug">this bug</a>.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-web-gpu2 =
.label = Web API: WebGPU
experimental-features-web-gpu-description2 = This new API provides low-level support for performing computation and graphics rendering using the <a data-l10n-name="wikipedia">Graphics Processing Unit (GPU)</a> of the users device or computer. The <a data-l10n-name="spec">specification</a> is still a work-in-progress. See <a data-l10n-name="bugzilla">bug 1602129</a> for more details.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-media-avif =
.label = Media: AVIF
experimental-features-media-avif-description = With this feature enabled, { -brand-short-name } supports the AV1 Image File (AVIF) format. This is a still image file format that leverages the capabilities of the AV1 video compression algorithms to reduce image size. See <a data-l10n-name="bugzilla">bug 1443863</a> for more details.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-web-api-inputmode =
.label = Web API: inputmode
# "inputmode" and "contenteditable" are technical terms and shouldn't be translated.
experimental-features-web-api-inputmode-description = Our implementation of the <a data-l10n-name="mdn-inputmode">inputmode</a> global attribute has been updated as per <a data-l10n-name="whatwg">the WHATWG specification</a>, but we still need to make other changes too, like making it available on contenteditable content. See <a data-l10n-name="bugzilla">bug 1205133</a> for more details.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-web-api-link-preload =
.label = Web API: <link rel="preload">
# Do not translate "rel", "preload" or "link" here, as they are all HTML spec
# values that do not get translated.
experimental-features-web-api-link-preload-description = The <a data-l10n-name="rel">rel</a> attribute with value <code>"preload"</code> on a <a data-l10n-name="link">&lt;link&gt;</a> element is intended to help provide performance gains by letting you download resources earlier in the page lifecycle, ensuring that theyre available earlier and are less likely to block page rendering. Read <a data-l10n-name="readmore">“Preloading content with <code>rel="preload"</code>”</a> or see <a data-l10n-name="bugzilla">bug 1583604</a> for more details.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-css-focus-visible =
.label = CSS: Pseudo-class: :focus-visible
experimental-features-css-focus-visible-description = Allows focus styles to be applied to elements like buttons and form controls, only when they are focused using the keyboard (e.g. when tabbing between elements), and not when they are focused using a mouse or other pointing device. See <a data-l10n-name="bugzilla">bug 1617600</a> for more details.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-web-api-beforeinput =
.label = Web API: beforeinput Event
# The terms "beforeinput", "input", "textarea", and "contenteditable" are technical terms
# and shouldn't be translated.
experimental-features-web-api-beforeinput-description = The global <a data-l10n-name="mdn-beforeinput">beforeinput</a> event is fired on an <a data-l10n-name="mdn-input">&lt;input&gt;</a> and <a data-l10n-name="mdn-textarea">&lt;textarea&gt;</a> elements, or any element whose <a data-l10n-name="mdn-contenteditable">contenteditable</a> attribute is enabled, immediately before the elements value changes. The event allows web apps to override the browsers default behavior for user interaction, e.g., web apps can cancel user input only for specific characters or can modify pasting styled text only with approved styles.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-css-constructable-stylesheets =
.label = CSS: Constructable Stylesheets
experimental-features-css-constructable-stylesheets-description = The addition of a constructor to the <a data-l10n-name="mdn-cssstylesheet">CSSStyleSheet</a> interface as well as a variety of related changes makes it possible to directly create new stylesheets without having to add the sheet to the HTML. This makes it much easier to create reusable stylesheets for use with <a data-l10n-name="mdn-shadowdom">Shadow DOM</a>. See <a data-l10n-name="bugzilla">bug 1520690</a> for more details.
experimental-features-devtools-color-scheme-simulation =
.label = Developer Tools: Color Scheme Simulation
experimental-features-devtools-color-scheme-simulation-description = Adds an option to simulate different color schemes allowing you to test <a data-l10n-name="mdn-preferscolorscheme">@prefers-color-scheme</a> media queries. Using this media query lets your stylesheet respond to whether the user prefers a light or dark user interface. This feature lets you test your code without having to change settings in your browser (or operating system, if the browser follows a system-wide color scheme setting). See <a data-l10n-name="bugzilla1">bug 1550804</a> and <a data-l10n-name="bugzilla2">bug 1137699</a> for more details.
experimental-features-devtools-execution-context-selector =
.label = Developer Tools: Execution Context Selector
experimental-features-devtools-execution-context-selector-description = This feature displays a button on the consoles command line that lets you change the context in which the expression you enter will be executed. See <a data-l10n-name="bugzilla1">bug 1605154</a> and <a data-l10n-name="bugzilla2">bug 1605153</a> for more details.
experimental-features-devtools-compatibility-panel =
.label = Developer Tools: Compatibility Panel
experimental-features-devtools-compatibility-panel-description = A side panel for the Page Inspector that shows you information detailing your apps cross-browser compatibility status. See <a data-l10n-name="bugzilla">bug 1584464</a> for more details.
# Do not translate 'SameSite', 'Lax' and 'None'.
experimental-features-cookie-samesite-lax-by-default2 =
.label = Cookies: SameSite=Lax by default
experimental-features-cookie-samesite-lax-by-default2-description = Treat cookies as “SameSite=Lax” by default if no “SameSite” attribute is specified. Developers must opt-in to the current status quo of unrestricted use by explicitly asserting “SameSite=None”.
# Do not translate 'SameSite', 'Lax' and 'None'.
experimental-features-cookie-samesite-none-requires-secure2 =
.label = Cookies: SameSite=None requires secure attribute
experimental-features-cookie-samesite-none-requires-secure2-description = Cookies with “SameSite=None” attribute require the secure attribute. This feature requires “Cookies: SameSite=Lax by default”.
# about:home should be kept in English, as it refers to the the URI for
# the internal default home page.
experimental-features-abouthome-startup-cache =
.label = about:home startup cache
experimental-features-abouthome-startup-cache-description = A cache for the initial about:home document that is loaded by default at startup. The purpose of the cache is to improve startup performance.
experimental-features-print-preview-tab-modal =
.label = Print Preview Redesign
experimental-features-print-preview-tab-modal-description = Introduces the redesigned print preview and makes print preview available on macOS. This potentially introduces breakage and does not include all print-related settings. To access all print-related settings, select “Print using the system dialog…” from within the Print panel.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-cookie-samesite-schemeful =
.label = Cookies: Schemeful SameSite
experimental-features-cookie-samesite-schemeful-description = Treat cookies from the same domain, but with different schemes (e.g. http://example.com and https://example.com) as cross-site instead of same-site. Improves security, but potentially introduces breakage.
# "Service Worker" is an API name and is usually not translated.
experimental-features-devtools-serviceworker-debugger-support =
.label = Developer Tools: Service Worker debugging
# "Service Worker" is an API name and is usually not translated.
experimental-features-devtools-serviceworker-debugger-support-description = Enables experimental support for Service Workers in the Debugger panel. This feature may slow the Developer Tools down and increase memory consumption.
# WebRTC global mute toggle controls
experimental-features-webrtc-global-mute-toggles =
.label = WebRTC Global Mute Toggles
experimental-features-webrtc-global-mute-toggles-description = Add controls to the WebRTC global sharing indicator that allow users to globally mute their microphone and camera feeds.
# JS JIT Warp project
experimental-features-js-warp =
.label = JavaScript JIT: Warp
experimental-features-js-warp-description = Enable Warp, a project to improve JavaScript performance and memory usage.
# Fission is the name of the feature and should not be translated.
experimental-features-fission =
.label = Fission (Site Isolation)
experimental-features-fission-description = Fission (site isolation) is an experimental feature in { -brand-short-name } to provide an additional layer of defense against security bugs. By isolating each site into a separate process, Fission makes it harder for malicious websites to get access to information from other pages you are visiting. This is a major architectural change in { -brand-short-name } and we appreciate you testing and reporting any issues you might encounter. For more details, see <a data-l10n-name="wiki">the wiki</a>.
# Support for having multiple Picture-in-Picture windows open simultaneously
experimental-features-multi-pip =
.label = Multiple Picture-in-Picture Support
experimental-features-multi-pip-description = Experimental support for allowing multiple Picture-in-Picture windows to be open at the same time.
experimental-features-http3 =
.label = HTTP/3 protocol
experimental-features-http3-description = Experimental support for the HTTP/3 protocol.

Просмотреть файл

@ -0,0 +1,49 @@
# 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/.
text-action-undo =
.label = Undo
.accesskey = U
text-action-undo-shortcut =
.key = Z
text-action-redo =
.label = Redo
.accesskey = R
text-action-redo-shortcut =
.key = Y
text-action-cut =
.label = Cut
.accesskey = t
text-action-cut-shortcut =
.key = X
text-action-copy =
.label = Copy
.accesskey = C
text-action-copy-shortcut =
.key = C
text-action-paste =
.label = Paste
.accesskey = P
text-action-paste-shortcut =
.key = V
text-action-delete =
.label = Delete
.accesskey = D
text-action-select-all =
.label = Select All
.accesskey = A
text-action-select-all-shortcut =
.key = A

Просмотреть файл

@ -0,0 +1,120 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
printui-title = Print
# Dialog title to prompt the user for a filename to save print to PDF.
printui-save-to-pdf-title = Save As
# Variables
# $sheetCount (integer) - Number of paper sheets
printui-sheets-count =
{ $sheetCount ->
[one] { $sheetCount } sheet of paper
*[other] { $sheetCount } sheets of paper
}
printui-page-range-all = All
printui-page-range-custom = Custom
printui-page-range-label = Pages
printui-page-range-picker =
.aria-label = Pick page range
printui-page-custom-range-input =
.aria-label = Enter custom page range
.placeholder = e.g. 2-6, 9, 12-16
# Section title for the number of copies to print
printui-copies-label = Copies
printui-orientation = Orientation
printui-landscape = Landscape
printui-portrait = Portrait
# Section title for the printer or destination device to target
printui-destination-label = Destination
printui-destination-pdf-label = Save to PDF
printui-more-settings = More settings
printui-less-settings = Fewer settings
printui-paper-size-label = Paper size
# Section title (noun) for the print scaling options
printui-scale = Scale
printui-scale-fit-to-page-width = Fit to page width
# Label for input control where user can set the scale percentage
printui-scale-pcent = Scale
# Section title (noun) for the two-sided print options
printui-two-sided-printing = Two-sided printing
printui-duplex-checkbox = Print on both sides
# Section title for miscellaneous print options
printui-options = Options
printui-headers-footers-checkbox = Print headers and footers
printui-backgrounds-checkbox = Print backgrounds
printui-selection-checkbox = Print selection only
printui-color-mode-label = Color mode
printui-color-mode-color = Color
printui-color-mode-bw = Black and white
printui-margins = Margins
printui-margins-default = Default
printui-margins-min = Minimum
printui-margins-none = None
printui-margins-custom-inches = Custom (inches)
printui-margins-custom-top = Top
printui-margins-custom-top-inches = Top (inches)
printui-margins-custom-bottom = Bottom
printui-margins-custom-bottom-inches = Bottom (inches)
printui-margins-custom-left = Left
printui-margins-custom-left-inches = Left (inches)
printui-margins-custom-right = Right
printui-margins-custom-right-inches = Right (inches)
printui-system-dialog-link = Print using the system dialog…
printui-primary-button = Print
printui-primary-button-save = Save
printui-cancel-button = Cancel
printui-close-button = Close
printui-loading = Preparing Preview
# Reported by screen readers and other accessibility tools to indicate that
# the print preview has focus.
printui-preview-label =
.aria-label = Print Preview
printui-pages-per-sheet = Pages per sheet
# This is shown next to the Print button with an indefinite loading spinner
# when the user prints a page and it is being sent to the printer.
printui-print-progress-indicator = Printing…
## Paper sizes that may be supported by the Save to PDF destination:
printui-paper-a5 = A5
printui-paper-a4 = A4
printui-paper-a3 = A3
printui-paper-a2 = A2
printui-paper-a1 = A1
printui-paper-a0 = A0
printui-paper-b5 = B5
printui-paper-b4 = B4
printui-paper-jis-b5 = JIS-B5
printui-paper-jis-b4 = JIS-B4
printui-paper-letter = US Letter
printui-paper-legal = US Legal
printui-paper-tabloid = Tabloid
## Error messages shown when a user has an invalid input
printui-error-invalid-scale = Scale must be a number between 10 and 200.
printui-error-invalid-margin = Please enter a valid margin for the selected paper size.
# Variables
# $numPages (integer) - Number of pages
printui-error-invalid-range = Range must be a number between 1 and { $numPages }.
printui-error-invalid-start-overflow = The “from” page number must be smaller than the “to” page number.

Просмотреть файл

@ -0,0 +1,27 @@
# 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/.
history-title = Update History
history-intro = The following updates have been installed
close-button-label =
.buttonlabelcancel = Close
.title = Update History
no-updates-label = No updates installed yet
name-header = Update Name
date-header = Install Date
type-header = Type
state-header = State
# Used to display update history
#
# Variables:
# $name (String): name of the update
# $buildID (String): build identifier from the local updates.xml
update-full-build-name = { $name } ({ $buildID })
update-details = Details
update-installed-on = Installed on: { $date }
update-status = Status: { $status }

Просмотреть файл

@ -0,0 +1,251 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
certmgr-title =
.title = Menedżer certyfikatów
certmgr-tab-mine =
.label = Użytkownik
certmgr-tab-remembered =
.label = Decyzje uwierzytelniania
certmgr-tab-people =
.label = Osoby
certmgr-tab-servers =
.label = Serwery
certmgr-tab-ca =
.label = Organy certyfikacji
certmgr-mine = Masz identyfikujące certyfikaty z następujących organizacji:
certmgr-remembered = Następujące certyfikaty są używane do identyfikowania użytkownika przez witryny:
certmgr-people = Masz certyfikaty, które identyfikują następujące osoby:
certmgr-servers = Masz certyfikaty, które identyfikują następujące serwery:
certmgr-server = Następujące wpisy identyfikują wyjątki błędów certyfikatów serwera:
certmgr-ca = Masz certyfikaty, które identyfikują następujące organy certyfikacji:
certmgr-detail-general-tab-title =
.label = Ogólne
.accesskey = O
certmgr-detail-pretty-print-tab-title =
.label = Szczegóły
.accesskey = S
certmgr-pending-label =
.value = Trwa weryfikacja certyfikatu…
certmgr-subject-label = Wystawiony dla
certmgr-issuer-label = Wystawiony przez
certmgr-period-of-validity = Okres ważności
certmgr-fingerprints = Odciski
certmgr-cert-detail =
.title = Szczegóły certyfikatu
.buttonlabelaccept = Zamknij
.buttonaccesskeyaccept = Z
certmgr-cert-detail-commonname = Nazwa pospolita (CN)
certmgr-cert-detail-org = Organizacja (O)
certmgr-cert-detail-orgunit = Jednostka organizacyjna (OU)
certmgr-cert-detail-serial-number = Numer seryjny
certmgr-cert-detail-sha-256-fingerprint = Odcisk SHA-256
certmgr-cert-detail-sha-1-fingerprint = Odcisk SHA1
certmgr-edit-ca-cert =
.title = Edycja ustawień zaufania certyfikatu CA
.style = width: 40em;
certmgr-edit-cert-edit-trust = Ustawienia zaufania:
certmgr-edit-cert-trust-ssl =
.label = certyfikat identyfikuje witryny
certmgr-edit-cert-trust-email =
.label = certyfikat identyfikuje użytkowników poczty
certmgr-delete-cert =
.title = Usuń certyfikat
.style = width: 48em; height: 24em;
certmgr-cert-host =
.label = Host
certmgr-cert-name =
.label = Nazwa certyfikatu
certmgr-cert-server =
.label = Serwer
certmgr-override-lifetime =
.label = Czas życia
certmgr-token-name =
.label = Urządzenie zabezpieczające
certmgr-begins-on = Ważny od dnia
certmgr-begins-label =
.label = Ważny od dnia:
certmgr-expires-on = Wygasa dnia
certmgr-expires-label =
.label = Wygasa dnia
certmgr-email =
.label = Adres e-mail
certmgr-serial =
.label = Numer seryjny
certmgr-view =
.label = Wyświetl…
.accesskey = W
certmgr-edit =
.label = Edytuj ustawienia zaufania…
.accesskey = d
certmgr-export =
.label = Eksportuj…
.accesskey = E
certmgr-delete =
.label = Usuń…
.accesskey = U
certmgr-delete-builtin =
.label = Usuń lub przestań ufać…
.accesskey = U
certmgr-backup =
.label = Kopia zapasowa…
.accesskey = K
certmgr-backup-all =
.label = Kopia zapasowa wszystkich…
.accesskey = o
certmgr-restore =
.label = Importuj…
.accesskey = m
certmgr-details =
.value = Pola certyfikatu
.accesskey = P
certmgr-fields =
.value = Wartość pola
.accesskey = a
certmgr-hierarchy =
.value = Hierarchia certyfikatu
.accesskey = H
certmgr-add-exception =
.label = Dodaj wyjątek…
.accesskey = o
exception-mgr =
.title = Dodanie wyjątku bezpieczeństwa
exception-mgr-extra-button =
.label = Potwierdź wyjątek bezpieczeństwa
.accesskey = P
exception-mgr-supplemental-warning = Godne zaufania witryny, banki i inne witryny publiczne nie powinny tego żądać.
exception-mgr-cert-location-url =
.value = Adres:
exception-mgr-cert-location-download =
.label = Pobierz certyfikat
.accesskey = b
exception-mgr-cert-status-view-cert =
.label = Wyświetl…
.accesskey = W
exception-mgr-permanent =
.label = Zachowaj ten wyjątek na stałe
.accesskey = Z
pk11-bad-password = Wprowadzone hasło tokenu jest nieprawidłowe.
pkcs12-decode-err = Dekodowanie pliku się nie powiodło. Plik nie jest w formacie PKCS #12, jest uszkodzony lub wprowadzone hasło jest nieprawidłowe.
pkcs12-unknown-err-restore = Nie udało się odtworzyć kopii bezpieczeństwa PKCS #12 z nieznanych powodów.
pkcs12-unknown-err-backup = Nie udało się utworzyć kopii bezpieczeństwa PKCS #12 z nieznanych powodów.
pkcs12-unknown-err = Operacja PKCS #12 się nie powiodła z nieznanych powodów.
pkcs12-info-no-smartcard-backup = Zachowanie kopii certyfikatu zapisanego w urządzeniu zabezpieczającym, jak np. inteligentna karta, jest niemożliwe.
pkcs12-dup-data = To urządzenie zabezpieczające ma już certyfikat oraz klucz prywatny.
## PKCS#12 file dialogs
choose-p12-backup-file-dialog = Nazwa pliku kopii zapasowej
file-browse-pkcs12-spec = Pliki PKCS12
choose-p12-restore-file-dialog = Plik certyfikatu do zaimportowania
## Import certificate(s) file dialog
file-browse-certificate-spec = Pliki certyfikatów
import-ca-certs-prompt = Wybierz plik zawierający certyfikat(y) CA do zaimportowania
import-email-cert-prompt = Wybierz plik zawierający certyfikat e-mail innej osoby do zaimportowania
## For editing certificates trust
# Variables:
# $certName: the name of certificate
edit-trust-ca = Certyfikat „{ $certName }” reprezentuje organ certyfikacji.
## For Deleting Certificates
delete-user-cert-title =
.title = Usuń własne certyfikaty
delete-user-cert-confirm = Czy na pewno usunąć wybrane certyfikaty?
delete-user-cert-impact = Usunięcie jednego z certyfikatów użytkownika spowoduje, że ponowne wykorzystanie go do potwierdzenia tożsamości użytkownika będzie niemożliwe.
delete-ssl-cert-title =
.title = Usuń wyjątki dotyczące certyfikatów serwerów
delete-ssl-cert-confirm = Czy na pewno usunąć te wyjątki dotyczące certyfikatów serwerów?
delete-ssl-cert-impact = Jeżeli wyjątek dotyczący certyfikatu serwera zostanie usunięty, przywrócone zostaną zwykłe procedury bezpieczeństwa dla tego serwera, w tym wymóg stosowania przez niego poprawnego certyfikatu.
delete-ssl-override-title =
.title = Usuń wyjątek dotyczący certyfikatu serwera
delete-ssl-override-confirm = Czy na pewno usunąć ten wyjątek dotyczący certyfikatu serwera?
delete-ssl-override-impact = Jeżeli wyjątek dotyczący certyfikatu serwera zostanie usunięty, przywrócone zostaną zwykłe procedury bezpieczeństwa dla tego serwera, w tym wymóg stosowania przez niego poprawnego certyfikatu.
delete-ca-cert-title =
.title = Usuń lub przestań ufać certyfikatom CA
delete-ca-cert-confirm = Zażądano usunięcia certyfikatów CA. Certyfikaty wbudowane przestaną być zaufane, co ma taki sam skutek. Czy na pewno usunąć lub przestać ufać wybranym certyfikatom CA?
delete-ca-cert-impact = Jeżeli certyfikat organu certyfikacji (CA) zostanie usunięty lub przestanie być zaufany, certyfikaty wydane przez ten CA nie będą uznawane przez program za zaufane.
delete-email-cert-title =
.title = Usuń certyfikaty e-mail
delete-email-cert-confirm = Czy na pewno usunąć certyfikaty e-mail wybranych osób?
delete-email-cert-impact = Jeśli certyfikat e-mail danej osoby zostanie usunięty, nie będzie można do niej wysłać zaszyfrowanych wiadomości.
# Used for semi-uniquely representing a cert.
#
# Variables:
# $serialNumber : the serial number of the cert in AA:BB:CC hex format.
cert-with-serial =
.value = Certyfikat o numerze seryjnym { $serialNumber }
## Cert Viewer
# Title used for the Certificate Viewer.
#
# Variables:
# $certificate : a string representative of the certificate being viewed.
cert-viewer-title =
.title = Podgląd certyfikatu: „{ $certName }”
not-present =
.value = <Nie jest częścią certyfikatu>
# Cert verification
cert-verified = Niniejszy certyfikat został zweryfikowany do wykorzystania przez:
# Add usage
verify-ssl-client =
.value = Certyfikat SSL klienta
verify-ssl-server =
.value = Certyfikat SSL serwera
verify-ssl-ca =
.value = Organ certyfikacji SSL
verify-email-signer =
.value = Certyfikat osoby podpisującej wiadomość
verify-email-recip =
.value = Certyfikat adresata wiadomości
# Cert verification
cert-not-verified-cert-revoked = Nie można sprawdzić tego certyfikatu, ponieważ został on unieważniony.
cert-not-verified-cert-expired = Nie można sprawdzić tego certyfikatu, ponieważ stracił on ważność.
cert-not-verified-cert-not-trusted = Nie można sprawdzić tego certyfikatu, ponieważ nie ma go na liście zaufanych.
cert-not-verified-issuer-not-trusted = Nie można sprawdzić tego certyfikatu: wystawcy nie ma na liście zaufanych.
cert-not-verified-issuer-unknown = Nie można sprawdzić tego certyfikatu, ponieważ jego wystawca jest nieznany.
cert-not-verified-ca-invalid = Nie można sprawdzić tego certyfikatu, ponieważ jego CA jest nieprawidłowy.
cert-not-verified_algorithm-disabled = Nie można sprawdzić tego certyfikatu, ponieważ został podpisany algorytmem, który został zablokowany, ponieważ nie jest bezpieczny.
cert-not-verified-unknown = Nie można sprawdzić tego certyfikatu z nieznanych przyczyn.
# Used to indicate that the user chose not to send a client authentication certificate to a server that requested one in a TLS handshake.
send-no-client-certificate = Nie wysyłaj certyfikatu klienta
# Used when no cert is stored for an override
no-cert-stored-for-override = (nieprzechowywany)
## Used to show whether an override is temporary or permanent
permanent-override = Na stałe
temporary-override = Tymczasowy
## Add Security Exception dialog
add-exception-branded-warning = Próba zmiany sposobu, w jaki { -brand-short-name } identyfikuje tę witrynę.
add-exception-invalid-header = Ta witryna próbuje zidentyfikować się przy użyciu nieprawidłowych informacji.
add-exception-domain-mismatch-short = Niewłaściwa witryna
add-exception-domain-mismatch-long = Certyfikat należy do innej witryny, co może wskazywać na podszywanie się pod stronę.
add-exception-expired-short = Informacje nieaktualne
add-exception-expired-long = Certyfikat nie jest obecnie aktualny. Mógł zostać zagubiony lub skradziony i może być wykorzystywany do podszywania się pod stronę.
add-exception-unverified-or-bad-signature-short = Tożsamość nieznana
add-exception-unverified-or-bad-signature-long = Certyfikat nie jest zaufany, ponieważ nie został zweryfikowany jako wystawiony przez zaufany organ przy użyciu bezpiecznego podpisu.
add-exception-valid-short = Certyfikat prawidłowy
add-exception-valid-long = Ta witryna dostarcza prawidłowych i zweryfikowanych informacji identyfikujących. Nie ma potrzeby dodawania wyjątku.
add-exception-checking-short = Sprawdzanie informacji
add-exception-checking-long = Próba identyfikacji witryny…
add-exception-no-cert-short = Brak dostępnych informacji
add-exception-no-cert-long = Nie udało się pobrać stanu identyfikacji tej witryny.
## Certificate export "Save as" and error dialogs
save-cert-as = Zapisz certyfikat do pliku
cert-format-base64 = Certyfikat X.509 (PEM)
cert-format-base64-chain = Certyfikat X.509 z łańcuchem (PEM)
cert-format-der = Certyfikat X.509 (DER)
cert-format-pkcs7 = Certyfikat X.509 (PKCS#7)
cert-format-pkcs7-chain = Certyfikat X.509 z łańcuchem (PKCS#7)
write-file-failure = Błąd zapisu pliku

Просмотреть файл

@ -0,0 +1,135 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
## Strings used for device manager
devmgr =
.title = Menedżer urządzeń
.style = width: 67em; height: 32em;
devmgr-devlist =
.label = Urządzenia i moduły zabezpieczające
devmgr-header-details =
.label = Szczegóły
devmgr-header-value =
.label = Wartość
devmgr-button-login =
.label = Zaloguj
.accesskey = Z
devmgr-button-logout =
.label = Wyloguj
.accesskey = W
devmgr-button-changepw =
.label = Zmień hasło
.accesskey = h
devmgr-button-load =
.label = Wczytaj
.accesskey = c
devmgr-button-unload =
.label = Usuń z pamięci
.accesskey = U
devmgr-button-enable-fips =
.label = Włącz FIPS
.accesskey = F
devmgr-button-disable-fips =
.label = Wyłącz FIPS
.accesskey = F
## Strings used for load device
load-device =
.title = Wczytaj sterownik urządzenia PKCS#11
load-device-info = Wprowadź informacje dla modułu, który ma zostać dodany.
load-device-modname =
.value = Nazwa modułu:
.accesskey = m
load-device-modname-default =
.value = Nowy moduł PKCS#11
load-device-filename =
.value = Nazwa pliku modułu:
.accesskey = N
load-device-browse =
.label = Przeglądaj…
.accesskey = P
## Token Manager
devinfo-status =
.label = Stan
devinfo-status-disabled =
.label = Wyłączony
devinfo-status-not-present =
.label = Nieobecny
devinfo-status-uninitialized =
.label = Niezainicjowany
devinfo-status-not-logged-in =
.label = Niezalogowany
devinfo-status-logged-in =
.label = Zalogowany
devinfo-status-ready =
.label = Gotowy
devinfo-desc =
.label = Opis
devinfo-man-id =
.label = Producent
devinfo-hwversion =
.label = Wersja HW
devinfo-fwversion =
.label = Wersja FW
devinfo-modname =
.label = Moduł
devinfo-modpath =
.label = Ścieżka
login-failed = Nie można się zalogować
devinfo-label =
.label = Etykieta
devinfo-serialnum =
.label = Numer seryjny
fips-nonempty-password-required = Tryb FIPS wymaga hasła głównego ustawionego dla każdego urządzenia zabezpieczającego. Ustaw hasło przed włączeniem trybu FIPS.
fips-nonempty-primary-password-required = Tryb FIPS wymaga hasła głównego ustawionego dla każdego urządzenia zabezpieczającego. Ustaw hasło przed włączeniem trybu FIPS.
unable-to-toggle-fips = Nie udało się zmienić trybu FIPS dla urządzenia bezpieczeństwa. Zaleca się zakończenie pracy i ponowne uruchomienie tego programu.
load-pk11-module-file-picker-title = Wybierz sterownik urządzenia PKCS#11 do wczytania
# Load Module Dialog
load-module-help-empty-module-name =
.value = Nazwa modułu nie może być pusta.
# Do not translate 'Root Certs'
load-module-help-root-certs-module-name =
.value = Nazwa „Root Certs” jest zarezerwowana i nie może zostać użyta jako nazwa modułu.
add-module-failure = Nie można dodać modułu
del-module-warning = Czy na pewno usunąć wybrany moduł szyfrujący?
del-module-error = Nie można usunąć modułu

Просмотреть файл

@ -0,0 +1,100 @@
# 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/.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-css-masonry2 =
.label = CSS: układ typu „Masonry”
experimental-features-css-masonry-description = Włącza obsługę eksperymentalnego układu CSS typu „Masonry”. Ta <a data-l10n-name="explainer">strona</a> zawiera jego ogólny opis. W <a data-l10n-name="w3c-issue">tym zgłoszeniu w serwisie GitHub</a> lub <a data-l10n-name="bug">tym błędzie</a> można dodać komentarz na jego temat.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-web-gpu2 =
.label = API internetowe: WebGPU
experimental-features-web-gpu-description2 = To nowe API dostarcza niskopoziomową obsługę wykonywania obliczeń i renderowania grafiki za pomocą <a data-l10n-name="wikipedia">procesora graficznego (GPU)</a> urządzenia lub komputera użytkownika. <a data-l10n-name="spec">Specyfikacja</a> jest nadal w trakcie przygotowywania. <a data-l10n-name="bugzilla">Zgłoszenie 1602129</a> zawiera więcej informacji.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-media-avif =
.label = Multimedia: AVIF
experimental-features-media-avif-description = Po włączeniu tej funkcji { -brand-short-name } obsługuje format obrazów AV1 (AVIF). Jest to format dla nieruchomych obrazów wykorzystujący możliwości algorytmów kompresji wideo AV1 w celu zmniejszenia rozmiaru pliku. <a data-l10n-name="bugzilla">Zgłoszenie 1443863</a> zawiera więcej informacji.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-web-api-inputmode =
.label = API internetowe: inputmode
# "inputmode" and "contenteditable" are technical terms and shouldn't be translated.
experimental-features-web-api-inputmode-description = Nasza implementacja globalnego atrybutu <a data-l10n-name="mdn-inputmode">inputmode</a> została zaktualizowana zgodnie ze <a data-l10n-name="whatwg">specyfikacją WHATWG</a>, ale nadal musimy wprowadzić także inne zmiany, na przykład umożliwić działanie w treściach „contenteditable”. <a data-l10n-name="bugzilla">Zgłoszenie 1205133</a> zawiera więcej informacji.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-web-api-link-preload =
.label = API internetowe: <link rel="preload">
# Do not translate "rel", "preload" or "link" here, as they are all HTML spec
# values that do not get translated.
experimental-features-web-api-link-preload-description = Atrybut <a data-l10n-name="rel">rel</a> o wartości <code>"preload"</code> na elemencie <a data-l10n-name="link">&lt;link&gt;</a> ma na celu pomóc zwiększyć wydajność przez umożliwienie użytkownikowi pobrania zasobów wcześniej w cyklu życia strony, zapewniając, że są one dostępne wcześniej i rzadziej blokują wyświetlanie strony. Artykuł <a data-l10n-name="readmore">„Preloading content with <code>rel="preload"</code>”</a> i <a data-l10n-name="bugzilla">zgłoszenie 1583604</a> zawierają więcej informacji.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-css-focus-visible =
.label = CSS: pseudoklasa „:focus-visible”
experimental-features-css-focus-visible-description = Umożliwia stosowanie stylów aktywacji na elementach typu przyciski i formularze tylko wtedy, gdy zostały aktywowane za pomocą klawiatury (np. podczas przełączania między elementami klawiszem Tab), a nie gdy zostały aktywowane za pomocą myszy lub innego urządzenia wskazującego. <a data-l10n-name="bugzilla">Zgłoszenie 1617600</a> zawiera więcej informacji.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-web-api-beforeinput =
.label = API internetowe: zdarzenie „beforeinput”
# The terms "beforeinput", "input", "textarea", and "contenteditable" are technical terms
# and shouldn't be translated.
experimental-features-web-api-beforeinput-description = Globalne zdarzenie <a data-l10n-name="mdn-beforeinput">beforeinput</a> jest wywoływane na elementach <a data-l10n-name="mdn-input">&lt;input&gt;</a> i <a data-l10n-name="mdn-textarea">&lt;textarea&gt;</a> lub dowolnym elemencie, którego atrybut <a data-l10n-name="mdn-contenteditable">contenteditable</a> jest włączony, natychmiast przed zmianą wartości elementu. To zdarzenie umożliwia aplikacjom internetowym zastępowanie domyślnego zachowania przeglądarki podczas działań użytkownika, np. aplikacje internetowe mogą anulować wprowadzane dane przez użytkownika tylko dla określonych znaków lub mogą modyfikować wklejanie tekstu ze stylem tylko za pomocą zatwierdzonych stylów.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-css-constructable-stylesheets =
.label = CSS: arkusze stylów za pomocą konstruktora
experimental-features-css-constructable-stylesheets-description = Dodanie konstruktora do interfejsu <a data-l10n-name="mdn-cssstylesheet">CSSStyleSheet</a>, a także szereg powiązanych zmian umożliwia bezpośrednie tworzenie nowych arkuszy stylów bez konieczności dodawania arkusza do kodu HTML. Znacznie ułatwia to tworzenie arkuszy stylów wielokrotnego użytku do użycia za pomocą <a data-l10n-name="mdn-shadowdom">Shadow DOM</a>. <a data-l10n-name="bugzilla">Zgłoszenie 1520690</a> zawiera więcej informacji.
experimental-features-devtools-color-scheme-simulation =
.label = Narzędzia dla programistów: symulacja schematu kolorów
experimental-features-devtools-color-scheme-simulation-description = Dodaje opcję symulowania różnych schematów kolorów, umożliwiając testowanie zapytań <a data-l10n-name="mdn-preferscolorscheme">@prefers-color-scheme</a>. Użycie tego zapytania umożliwia arkuszowi stylów reagowanie na to, czy użytkownik preferuje jasny lub ciemny interfejs. Ta funkcja umożliwia testowanie kodu bez konieczności zmiany ustawień w przeglądarce (lub systemie operacyjnym, jeśli przeglądarka używa systemowego ustawienia schematu kolorów). Zgłoszenia <a data-l10n-name="bugzilla1">1550804</a> i <a data-l10n-name="bugzilla2">1137699</a> zawierają więcej informacji.
experimental-features-devtools-execution-context-selector =
.label = Narzędzia dla programistów: wybór kontekstu wykonywania
experimental-features-devtools-execution-context-selector-description = Ta funkcja wyświetla przycisk w wierszu poleceń konsoli, umożliwiający zmianę kontekstu, w którym wprowadzane wyrażenie będzie wykonywane. Zgłoszenia <a data-l10n-name="bugzilla1">1605154</a> i <a data-l10n-name="bugzilla2">1605153</a> zawierają więcej informacji.
experimental-features-devtools-compatibility-panel =
.label = Narzędzia dla programistów: panel zgodności
experimental-features-devtools-compatibility-panel-description = Panel boczny inspektora stron, wyświetlający informacje o stanie zgodności aplikacji z różnymi przeglądarkami. <a data-l10n-name="bugzilla">Zgłoszenie 1584464</a> zawiera więcej informacji.
# Do not translate 'SameSite', 'Lax' and 'None'.
experimental-features-cookie-samesite-lax-by-default2 =
.label = Ciasteczka: „SameSite=Lax” jest domyślne
experimental-features-cookie-samesite-lax-by-default2-description = Domyślnie traktuje ciasteczka jako „SameSite=Lax”, jeśli nie określono żadnego atrybutu „SameSite”. Deweloperzy muszą wyrazić zgodę na obecne status quo nieograniczonego użytkowania, bezpośrednio ustawiając „SameSite=None”.
# Do not translate 'SameSite', 'Lax' and 'None'.
experimental-features-cookie-samesite-none-requires-secure2 =
.label = Ciasteczka: „SameSite=None” wymaga atrybutu bezpieczeństwa
experimental-features-cookie-samesite-none-requires-secure2-description = Ciasteczka z atrybutem „SameSite=None” wymagają atrybutu bezpieczeństwa. Ta funkcja wymaga włączenia „Ciasteczka: »SameSite=Lax« jest domyślne”.
# about:home should be kept in English, as it refers to the the URI for
# the internal default home page.
experimental-features-abouthome-startup-cache =
.label = Pamięć podręczna uruchamiania about:home
experimental-features-abouthome-startup-cache-description = Pamięć podręczna dla początkowego dokumentu about:home, który jest domyślnie wczytywany podczas uruchamiania. Celem tej pamięci podręcznej jest przyspieszenie uruchamiania.
experimental-features-print-preview-tab-modal =
.label = Przeprojektowany podgląd wydruku
experimental-features-print-preview-tab-modal-description = Włącza przeprojektowany podgląd wydruku i udostępnia go w systemie macOS. Może nie działać i nie zawiera wszystkich ustawień związanych z drukowaniem. Kliknij „Drukuj za pomocą okna systemowego…” w panelu drukowania, aby móc korzystać ze wszystkich ustawień.
# The title of the experiment should be kept in English as it may be referenced
# by various online articles and is technical in nature.
experimental-features-cookie-samesite-schemeful =
.label = Ciasteczka: SameSite typu „Schemeful”
experimental-features-cookie-samesite-schemeful-description = Traktuje ciasteczka z tej samej domeny, ale o różnych protokołach (np. http://example.com i https://example.com) jako ciasteczka między witrynami, zamiast z tej samej witryny. Zwiększa bezpieczeństwo, ale potencjalnie zakłóca działanie witryn.
# "Service Worker" is an API name and is usually not translated.
experimental-features-devtools-serviceworker-debugger-support =
.label = Narzędzia dla programistów: debugowanie wątków usługowych
# "Service Worker" is an API name and is usually not translated.
experimental-features-devtools-serviceworker-debugger-support-description = Włącza eksperymentalną obsługę wątków usługowych w panelu debugera. Ta funkcja może spowolnić narzędzia dla programistów i zwiększyć zużycie pamięci.
# WebRTC global mute toggle controls
experimental-features-webrtc-global-mute-toggles =
.label = Przełączniki globalnego wyciszania WebRTC
experimental-features-webrtc-global-mute-toggles-description = Dodaje elementy sterujące do globalnego wskaźnika udostępniania WebRTC umożliwiające użytkownikom globalne wyciszanie transmisji dźwięku z mikrofonu i obrazu z kamery.
# JS JIT Warp project
experimental-features-js-warp =
.label = JavaScript JIT: Warp
experimental-features-js-warp-description = Włącza Warp, projekt mający na celu zwiększenie wydajności JavaScriptu i zmniejszenie zużycia pamięci.
# Fission is the name of the feature and should not be translated.
experimental-features-fission =
.label = Fission (izolacja witryn)
experimental-features-fission-description = Fission (izolacja witryn) to eksperymentalna funkcja programu { -brand-short-name }, zapewniająca dodatkową warstwę obrony przed błędami zabezpieczeń. Izolując każdą witrynę w oddzielnym procesie, Fission utrudnia złośliwym witrynom dostęp do informacji z pozostałych odwiedzanych stron. To duża zmiana architektury programu { -brand-short-name } i serdecznie dziękujemy za testowanie i zgłaszanie napotkanych błędów. <a data-l10n-name="wiki">Strona wiki</a> zawiera więcej informacji.
# Support for having multiple Picture-in-Picture windows open simultaneously
experimental-features-multi-pip =
.label = Obsługa wielu okien „Obraz w obrazie”
experimental-features-multi-pip-description = Eksperymentalna obsługa otwierania wielu okien „Obraz w obrazie” jednocześnie.

Просмотреть файл

@ -0,0 +1,49 @@
# 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/.
text-action-undo =
.label = Cofnij
.accesskey = C
text-action-undo-shortcut =
.key = Z
text-action-redo =
.label = Przywróć
.accesskey = P
text-action-redo-shortcut =
.key = Y
text-action-cut =
.label = Wytnij
.accesskey = W
text-action-cut-shortcut =
.key = X
text-action-copy =
.label = Kopiuj
.accesskey = K
text-action-copy-shortcut =
.key = C
text-action-paste =
.label = Wklej
.accesskey = e
text-action-paste-shortcut =
.key = V
text-action-delete =
.label = Usuń
.accesskey = U
text-action-select-all =
.label = Zaznacz wszystko
.accesskey = a
text-action-select-all-shortcut =
.key = A

Просмотреть файл

@ -0,0 +1,97 @@
# 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/.
printui-title = Drukowanie
# Dialog title to prompt the user for a filename to save print to PDF.
printui-save-to-pdf-title = Zapisz jako
# Variables
# $sheetCount (integer) - Number of paper sheets
printui-sheets-count =
{ $sheetCount ->
[one] { $sheetCount } kartka papieru
[few] { $sheetCount } kartki papieru
*[many] { $sheetCount } kartek papieru
}
printui-page-range-all = Wszystkie
printui-page-range-custom = Wybrane
printui-page-range-label = Strony
printui-page-range-picker =
.aria-label = Wybierz zakres stron
printui-page-custom-range =
.aria-label = Wprowadź inny zakres stron
# This label is displayed before the first input field indicating
# the start of the range to print.
printui-range-start = Od
# This label is displayed between the input fields indicating
# the start and end page of the range to print.
printui-range-end = do
# Section title for the number of copies to print
printui-copies-label = Kopie
printui-orientation = Orientacja
printui-landscape = Pozioma
printui-portrait = Pionowa
# Section title for the printer or destination device to target
printui-destination-label = Drukarka
printui-destination-pdf-label = Zapisz jako PDF
printui-more-settings = Więcej ustawień
printui-less-settings = Mniej ustawień
printui-paper-size-label = Rozmiar papieru
# Section title (noun) for the print scaling options
printui-scale = Skalowanie
printui-scale-fit-to-page-width = Dopasuj do szerokości strony
# Label for input control where user can set the scale percentage
printui-scale-pcent = Skala
# Section title (noun) for the two-sided print options
printui-two-sided-printing = Druk dwustronny
printui-duplex-checkbox = Drukuj na obu stronach
# Section title for miscellaneous print options
printui-options = Opcje
printui-headers-footers-checkbox = Drukuj nagłówki i stopki
printui-backgrounds-checkbox = Drukuj tła
printui-color-mode-label = Tryb kolorów
printui-color-mode-color = Kolorowy
printui-color-mode-bw = Czarno-biały
printui-margins = Marginesy
printui-margins-default = Domyślne
printui-margins-min = Minimalne
printui-margins-none = Bez
printui-margins-custom = Niestandardowe
printui-margins-custom-top = Górny
printui-margins-custom-bottom = Dolny
printui-margins-custom-left = Lewy
printui-margins-custom-right = Prawy
printui-system-dialog-link = Drukuj za pomocą okna systemowego…
printui-primary-button = Drukuj
printui-primary-button-save = Zapisz
printui-cancel-button = Anuluj
printui-loading = Przygotowywanie podglądu
# Reported by screen readers and other accessibility tools to indicate that
# the print preview has focus.
printui-preview-label =
.aria-label = Podgląd wydruku
## Paper sizes that may be supported by the Save to PDF destination:
printui-paper-a5 = A5
printui-paper-a4 = A4
printui-paper-a3 = A3
printui-paper-a2 = A2
printui-paper-a1 = A1
printui-paper-a0 = A0
printui-paper-b5 = B5
printui-paper-b4 = B4
printui-paper-jis-b5 = JIS-B5
printui-paper-jis-b4 = JIS-B4
printui-paper-letter = US Letter
printui-paper-legal = US Legal
printui-paper-tabloid = Tabloid
## Error messages shown when a user has an invalid input
printui-error-invalid-scale = Skala musi być liczbą między 10 a 200.
printui-error-invalid-margin = Wprowadź prawidłowy margines dla wybranego rozmiaru papieru.
# Variables
# $numPages (integer) - Number of pages
printui-error-invalid-range = Zakres musi być liczbą między 1 a { $numPages }.
printui-error-invalid-start-overflow = Numer strony „od” musi być mniejszy niż numer strony „do”.

Просмотреть файл

@ -0,0 +1,27 @@
# 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/.
history-title = Historia aktualizacji
# history-intro = Zainstalowane aktualizacje:
close-button-label =
.buttonlabelcancel = Zamknij
.title = Historia aktualizacji
no-updates-label = Jeszcze nie zainstalowano żadnych aktualizacji
name-header = Nazwa aktualizacji
date-header = Data instalacji
type-header = Rodzaj
state-header = Stan
# Used to display update history
#
# Variables:
# $name (String): name of the update
# $buildID (String): build identifier from the local updates.xml
update-full-build-name = { $name } ({ $buildID })
update-details = Szczegóły
update-installed-on = Zainstalowano: { $date }
update-status = Stan: { $status }

41
third_party/rust/fluent-testing/src/fs.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,41 @@
use std::cell::RefCell;
use std::collections::HashMap;
use std::path::PathBuf;
#[derive(Default)]
pub struct MockFileSystem {
files: RefCell<HashMap<String, std::io::Result<String>>>,
}
impl MockFileSystem {
pub fn clear(&self) {
self.files.borrow_mut().clear();
}
fn get_test_file_path() -> PathBuf {
PathBuf::from(std::env!("CARGO_MANIFEST_DIR")).join("resources")
}
fn get_file(&self, path: &str) -> std::io::Result<String> {
let mut tmp = self.files.borrow_mut();
let result = tmp.entry(path.to_string()).or_insert_with(|| {
let root_path = Self::get_test_file_path();
let full_path = root_path.join(path);
std::fs::read_to_string(full_path)
});
match result {
Ok(s) => Ok(s.to_string()),
Err(e) => Err(std::io::Error::new(e.kind(), "Error")),
}
}
#[cfg(feature = "sync")]
pub fn get_test_file_sync(&self, path: &str) -> std::io::Result<String> {
self.get_file(path)
}
#[cfg(feature = "async")]
pub async fn get_test_file_async(&self, path: &str) -> std::io::Result<String> {
self.get_file(path)
}
}

5
third_party/rust/fluent-testing/src/lib.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,5 @@
mod fs;
pub mod scenarios;
pub use fs::MockFileSystem;
pub use scenarios::get_scenarios;

389
third_party/rust/fluent-testing/src/scenarios/browser.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,389 @@
use super::structs::*;
use crate::queries;
pub fn get_scenario() -> Scenario {
Scenario::new(
"browser",
vec![
FileSource::new("toolkit", "toolkit/{locale}/", vec!["en-US", "pl"]),
FileSource::new("browser", "browser/{locale}/", vec!["en-US", "pl"]),
],
vec!["en-US"],
vec![
"branding/brand.ftl",
"browser/branding/sync-brand.ftl",
"browser/branding/brandings.ftl",
"toolkit/global/textActions.ftl",
"browser/browser.ftl",
"browser/browserContext.ftl",
"browser/browserSets.ftl",
"browser/menubar.ftl",
"browser/protectionsPanel.ftl",
"browser/appmenu.ftl",
"preview/interventions.ftl",
"browser/sidebarMenu.ftl",
"browser/allTabsMenu.ftl",
"browser/places.ftl",
"toolkit/printing/printUI.ftl",
"browser/downloads.ftl",
],
queries![
(L10nKey::new("browser-main-window", Some(vec![L10nArgument::new("content-title", "CONTENTTITLE")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("data-title-default", "Nightly"), L10nAttribute::new("data-title-private", "Nightly (Private Browsing)"), L10nAttribute::new("data-content-title-default", "CONTENTTITLE \\u2014 Nightly"), L10nAttribute::new("data-content-title-private", "CONTENTTITLE \\u2014 Nightly (Private Browsing)")]))),
("browser-main-window-title", "Nightly"),
("window-new-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "N")]))),
("tab-new-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "T")]))),
("location-open-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "L")]))),
("location-open-shortcut-alt", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "D")]))),
("search-focus-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "K")]))),
("search-focus-shortcut-alt", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "J")]))),
("downloads-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "Y")]))),
("addons-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "A")]))),
("file-open-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "O")]))),
("save-page-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "S")]))),
("print-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "P")]))),
("close-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "W")]))),
("close-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "W")]))),
("mute-toggle-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "M")]))),
("text-action-undo-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "Z")]))),
("text-action-undo-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "Z")]))),
("text-action-cut-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "X")]))),
("text-action-copy-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "C")]))),
("text-action-paste-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "V")]))),
("text-action-select-all-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "A")]))),
("nav-back-shortcut-alt", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "[")]))),
("nav-fwd-shortcut-alt", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "]")]))),
("history-show-all-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "H")]))),
("reader-mode-toggle-shortcut-other", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "R")]))),
("picture-in-picture-toggle-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "]")]))),
("picture-in-picture-toggle-shortcut-alt", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "}")]))),
("nav-reload-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "R")]))),
("nav-reload-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "R")]))),
("page-source-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "U")]))),
("page-info-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "I")]))),
("find-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "F")]))),
("search-find-again-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "G")]))),
("search-find-again-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "G")]))),
("search-find-again-shortcut-alt", L10nMessage::new(None, Some(vec![L10nAttribute::new("keycode", "VK_F3")]))),
("search-find-again-shortcut-alt", L10nMessage::new(None, Some(vec![L10nAttribute::new("keycode", "VK_F3")]))),
("bookmark-this-page-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "D")]))),
("bookmark-this-page-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "D")]))),
("bookmark-show-library-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "O")]))),
("bookmark-show-sidebar-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "B")]))),
("bookmark-show-toolbar-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "B")]))),
("history-sidebar-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "H")]))),
("full-zoom-reduce-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "-")]))),
("full-zoom-reduce-shortcut-alt-a", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "_")]))),
("full-zoom-reduce-shortcut-alt-b", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "")]))),
("full-zoom-enlarge-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "+")]))),
("full-zoom-enlarge-shortcut-alt", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "=")]))),
("full-zoom-enlarge-shortcut-alt2", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "")]))),
("full-zoom-reset-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "0")]))),
("full-zoom-reset-shortcut-alt", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "")]))),
("bidi-switch-direction-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "X")]))),
("private-browsing-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "P")]))),
("quit-app-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "Q")]))),
("tab-new-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "T")]))),
("window-new-shortcut", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "N")]))),
("sidebar-menu-bookmarks", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Bookmarks")]))),
("sidebar-menu-history", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "History")]))),
("sidebar-menu-synced-tabs", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Synced Tabs")]))),
("sidebar-menu-close", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Close Sidebar")]))),
("full-screen-autohide", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Hide Toolbars"), L10nAttribute::new("accesskey", "H")]))),
("full-screen-exit", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Exit Full Screen Mode"), L10nAttribute::new("accesskey", "F")]))),
("main-context-menu-back", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Go back one page"), L10nAttribute::new("aria-label", "Back"), L10nAttribute::new("accesskey", "B")]))),
("main-context-menu-forward", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Go forward one page"), L10nAttribute::new("aria-label", "Forward"), L10nAttribute::new("accesskey", "F")]))),
("main-context-menu-reload", L10nMessage::new(None, Some(vec![L10nAttribute::new("aria-label", "Reload"), L10nAttribute::new("accesskey", "R")]))),
("main-context-menu-stop", L10nMessage::new(None, Some(vec![L10nAttribute::new("aria-label", "Stop"), L10nAttribute::new("accesskey", "S")]))),
("main-context-menu-bookmark-add", L10nMessage::new(None, Some(vec![L10nAttribute::new("aria-label", "Bookmark This Page"), L10nAttribute::new("accesskey", "m"), L10nAttribute::new("tooltiptext", "Bookmark this page")]))),
("main-context-menu-open-link", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open Link"), L10nAttribute::new("accesskey", "O")]))),
("main-context-menu-open-link-new-tab", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open Link in New Tab"), L10nAttribute::new("accesskey", "T")]))),
("main-context-menu-open-link-container-tab", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open Link in New Container Tab"), L10nAttribute::new("accesskey", "b")]))),
("main-context-menu-open-link-new-window", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open Link in New Window"), L10nAttribute::new("accesskey", "W")]))),
("main-context-menu-open-link-new-private-window", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open Link in New Private Window"), L10nAttribute::new("accesskey", "P")]))),
("main-context-menu-bookmark-this-link", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Bookmark This Link"), L10nAttribute::new("accesskey", "L")]))),
("main-context-menu-save-link", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Save Link As…"), L10nAttribute::new("accesskey", "k")]))),
("main-context-menu-save-link-to-pocket", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Save Link to Pocket"), L10nAttribute::new("accesskey", "o")]))),
("main-context-menu-copy-email", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Copy Email Address"), L10nAttribute::new("accesskey", "A")]))),
("main-context-menu-copy-link", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Copy Link Location"), L10nAttribute::new("accesskey", "a")]))),
("main-context-menu-media-play", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Play"), L10nAttribute::new("accesskey", "P")]))),
("main-context-menu-media-pause", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Pause"), L10nAttribute::new("accesskey", "P")]))),
("main-context-menu-media-mute", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Mute"), L10nAttribute::new("accesskey", "M")]))),
("main-context-menu-media-unmute", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Unmute"), L10nAttribute::new("accesskey", "m")]))),
("main-context-menu-media-play-speed", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Play Speed"), L10nAttribute::new("accesskey", "d")]))),
("main-context-menu-media-play-speed-slow", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Slow (0.5)"), L10nAttribute::new("accesskey", "S")]))),
("main-context-menu-media-play-speed-normal", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Normal"), L10nAttribute::new("accesskey", "N")]))),
("main-context-menu-media-play-speed-fast", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Fast (1.25)"), L10nAttribute::new("accesskey", "F")]))),
("main-context-menu-media-play-speed-faster", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Faster (1.5)"), L10nAttribute::new("accesskey", "a")]))),
("main-context-menu-media-play-speed-fastest", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Ludicrous (2)"), L10nAttribute::new("accesskey", "L")]))),
("main-context-menu-media-loop", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Loop"), L10nAttribute::new("accesskey", "L")]))),
("main-context-menu-media-show-controls", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Show Controls"), L10nAttribute::new("accesskey", "C")]))),
("main-context-menu-media-hide-controls", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Hide Controls"), L10nAttribute::new("accesskey", "C")]))),
("main-context-menu-media-video-fullscreen", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Full Screen"), L10nAttribute::new("accesskey", "F")]))),
("main-context-menu-media-video-leave-fullscreen", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Exit Full Screen"), L10nAttribute::new("accesskey", "u")]))),
("main-context-menu-media-pip", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Picture-in-Picture"), L10nAttribute::new("accesskey", "u")]))),
("main-context-menu-image-reload", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Reload Image"), L10nAttribute::new("accesskey", "R")]))),
("main-context-menu-image-view", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "View Image"), L10nAttribute::new("accesskey", "I")]))),
("main-context-menu-video-view", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "View Video"), L10nAttribute::new("accesskey", "i")]))),
("main-context-menu-image-copy", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Copy Image"), L10nAttribute::new("accesskey", "y")]))),
("main-context-menu-image-copy-location", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Copy Image Location"), L10nAttribute::new("accesskey", "o")]))),
("main-context-menu-video-copy-location", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Copy Video Location"), L10nAttribute::new("accesskey", "o")]))),
("main-context-menu-audio-copy-location", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Copy Audio Location"), L10nAttribute::new("accesskey", "o")]))),
("main-context-menu-image-save-as", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Save Image As…"), L10nAttribute::new("accesskey", "v")]))),
("main-context-menu-image-email", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Email Image…"), L10nAttribute::new("accesskey", "g")]))),
("main-context-menu-image-set-as-background", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Set As Desktop Background…"), L10nAttribute::new("accesskey", "S")]))),
("main-context-menu-image-info", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "View Image Info"), L10nAttribute::new("accesskey", "f")]))),
("main-context-menu-image-desc", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "View Description"), L10nAttribute::new("accesskey", "D")]))),
("main-context-menu-video-save-as", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Save Video As…"), L10nAttribute::new("accesskey", "v")]))),
("main-context-menu-audio-save-as", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Save Audio As…"), L10nAttribute::new("accesskey", "v")]))),
("main-context-menu-video-image-save-as", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Save Snapshot As…"), L10nAttribute::new("accesskey", "S")]))),
("main-context-menu-video-email", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Email Video…"), L10nAttribute::new("accesskey", "a")]))),
("main-context-menu-audio-email", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Email Audio…"), L10nAttribute::new("accesskey", "a")]))),
("main-context-menu-plugin-play", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Activate this plugin"), L10nAttribute::new("accesskey", "c")]))),
("main-context-menu-plugin-hide", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Hide this plugin"), L10nAttribute::new("accesskey", "H")]))),
("main-context-menu-page-save", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Save Page As…"), L10nAttribute::new("accesskey", "P")]))),
("main-context-menu-save-to-pocket", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Save Page to Pocket"), L10nAttribute::new("accesskey", "k")]))),
("main-context-menu-send-to-device", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Send Page to Device"), L10nAttribute::new("accesskey", "n")]))),
("main-context-menu-view-background-image", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "View Background Image"), L10nAttribute::new("accesskey", "w")]))),
("main-context-menu-generate-new-password", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use Generated Password…"), L10nAttribute::new("accesskey", "G")]))),
("text-action-undo", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Undo"), L10nAttribute::new("accesskey", "U")]))),
("text-action-cut", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Cut"), L10nAttribute::new("accesskey", "t")]))),
("text-action-copy", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Copy"), L10nAttribute::new("accesskey", "C")]))),
("text-action-paste", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Paste"), L10nAttribute::new("accesskey", "P")]))),
("text-action-delete", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Delete"), L10nAttribute::new("accesskey", "D")]))),
("text-action-select-all", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Select All"), L10nAttribute::new("accesskey", "A")]))),
("main-context-menu-keyword", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Add a Keyword for this Search…"), L10nAttribute::new("accesskey", "K")]))),
("main-context-menu-link-send-to-device", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Send Link to Device"), L10nAttribute::new("accesskey", "n")]))),
("main-context-menu-frame", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "This Frame"), L10nAttribute::new("accesskey", "h")]))),
("main-context-menu-frame-show-this", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Show Only This Frame"), L10nAttribute::new("accesskey", "S")]))),
("main-context-menu-frame-open-tab", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open Frame in New Tab"), L10nAttribute::new("accesskey", "T")]))),
("main-context-menu-frame-open-window", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open Frame in New Window"), L10nAttribute::new("accesskey", "W")]))),
("main-context-menu-frame-reload", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Reload Frame"), L10nAttribute::new("accesskey", "R")]))),
("main-context-menu-frame-bookmark", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Bookmark This Frame"), L10nAttribute::new("accesskey", "m")]))),
("main-context-menu-frame-save-as", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Save Frame As…"), L10nAttribute::new("accesskey", "F")]))),
("main-context-menu-frame-print", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Print Frame…"), L10nAttribute::new("accesskey", "P")]))),
("main-context-menu-frame-view-source", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "View Frame Source"), L10nAttribute::new("accesskey", "V")]))),
("main-context-menu-frame-view-info", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "View Frame Info"), L10nAttribute::new("accesskey", "I")]))),
("main-context-menu-print-selection", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Print Selection"), L10nAttribute::new("accesskey", "r")]))),
("main-context-menu-view-selection-source", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "View Selection Source"), L10nAttribute::new("accesskey", "e")]))),
("main-context-menu-view-page-source", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "View Page Source"), L10nAttribute::new("accesskey", "V")]))),
("main-context-menu-view-page-info", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "View Page Info"), L10nAttribute::new("accesskey", "I")]))),
("main-context-menu-bidi-switch-text", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Switch Text Direction"), L10nAttribute::new("accesskey", "w")]))),
("main-context-menu-bidi-switch-page", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Switch Page Direction"), L10nAttribute::new("accesskey", "D")]))),
("main-context-menu-inspect-a11y-properties", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Inspect Accessibility Properties")]))),
("main-context-menu-inspect-element", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Inspect Element"), L10nAttribute::new("accesskey", "Q")]))),
("main-context-menu-eme-learn-more", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Learn more about DRM…"), L10nAttribute::new("accesskey", "D")]))),
("places-open", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open"), L10nAttribute::new("accesskey", "O")]))),
("places-open-tab", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open in a New Tab"), L10nAttribute::new("accesskey", "w")]))),
("places-open-all-in-tabs", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open All in Tabs"), L10nAttribute::new("accesskey", "O")]))),
("places-open-all-in-tabs", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open All in Tabs"), L10nAttribute::new("accesskey", "O")]))),
("places-open-window", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open in a New Window"), L10nAttribute::new("accesskey", "N")]))),
("places-open-private-window", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open in a New Private Window"), L10nAttribute::new("accesskey", "P")]))),
("places-new-bookmark", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "New Bookmark…"), L10nAttribute::new("accesskey", "B")]))),
("places-new-folder-contextmenu", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "New Folder…"), L10nAttribute::new("accesskey", "F")]))),
("places-new-separator", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "New Separator"), L10nAttribute::new("accesskey", "S")]))),
("text-action-cut", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Cut"), L10nAttribute::new("accesskey", "t")]))),
("text-action-copy", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Copy"), L10nAttribute::new("accesskey", "C")]))),
("text-action-paste", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Paste"), L10nAttribute::new("accesskey", "P")]))),
("text-action-delete", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Delete"), L10nAttribute::new("accesskey", "D")]))),
("places-delete-domain-data", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Forget About This Site"), L10nAttribute::new("accesskey", "F")]))),
("places-sortby-name", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Sort By Name"), L10nAttribute::new("accesskey", "r")]))),
("places-properties", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Properties"), L10nAttribute::new("accesskey", "i")]))),
("page-action-add-to-urlbar", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Add to Address Bar")]))),
("page-action-remove-from-urlbar", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Remove from Address Bar")]))),
("page-action-add-to-urlbar", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Add to Address Bar")]))),
("page-action-remove-from-urlbar", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Remove from Address Bar")]))),
("page-action-manage-extension", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Manage Extension…")]))),
("page-action-remove-extension", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Remove Extension")]))),
("navbar-tooltip-back", L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Go back one page")]))),
("navbar-tooltip-instruction", L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Right-click or pull down to show history")]))),
("navbar-tooltip-forward", L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Go forward one page")]))),
("navbar-tooltip-instruction", L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Right-click or pull down to show history")]))),
("popup-select-camera", L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Camera to share:"), L10nAttribute::new("accesskey", "C")]))),
("popup-all-windows-shared", "All visible windows on your screen will be shared."),
("popup-select-microphone", L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Microphone to share:"), L10nAttribute::new("accesskey", "M")]))),
("downloads-panel", L10nMessage::new(None, Some(vec![L10nAttribute::new("aria-label", "Downloads")]))),
("downloads-cmd-pause", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Pause"), L10nAttribute::new("accesskey", "P")]))),
("downloads-cmd-resume", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Resume"), L10nAttribute::new("accesskey", "R")]))),
("downloads-cmd-unblock", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Allow Download"), L10nAttribute::new("accesskey", "o")]))),
("downloads-cmd-use-system-default", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open In System Viewer"), L10nAttribute::new("accesskey", "V")]))),
("downloads-cmd-always-use-system-default", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always Open In System Viewer"), L10nAttribute::new("accesskey", "w")]))),
("downloads-cmd-show-menuitem", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open Containing Folder"), L10nAttribute::new("accesskey", "F")]))),
("downloads-cmd-go-to-download-page", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Go To Download Page"), L10nAttribute::new("accesskey", "G")]))),
("downloads-cmd-copy-download-link", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Copy Download Link"), L10nAttribute::new("accesskey", "L")]))),
("downloads-cmd-remove-from-history", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Remove From History"), L10nAttribute::new("accesskey", "e")]))),
("downloads-cmd-clear-list", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Clear Preview Panel"), L10nAttribute::new("accesskey", "a")]))),
("downloads-cmd-clear-downloads", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Clear Downloads"), L10nAttribute::new("accesskey", "D")]))),
("downloads-panel-list", L10nMessage::new(None, Some(vec![L10nAttribute::new("style", "width: 70ch")]))),
("downloads-panel-empty", L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "No downloads for this session.")]))),
("downloads-history", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Show All Downloads"), L10nAttribute::new("accesskey", "S")]))),
("downloads-details", L10nMessage::new(None, Some(vec![L10nAttribute::new("title", "Download Details")]))),
("downloads-cmd-show-downloads", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Show Downloads Folder")]))),
("downloads-history", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Show All Downloads"), L10nAttribute::new("accesskey", "S")]))),
("text-action-undo", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Undo"), L10nAttribute::new("accesskey", "U")]))),
("text-action-cut", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Cut"), L10nAttribute::new("accesskey", "t")]))),
("text-action-copy", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Copy"), L10nAttribute::new("accesskey", "C")]))),
("text-action-paste", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Paste"), L10nAttribute::new("accesskey", "P")]))),
("text-action-delete", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Delete"), L10nAttribute::new("accesskey", "D")]))),
("text-action-select-all", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Select All"), L10nAttribute::new("accesskey", "A")]))),
("menu-file", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "File"), L10nAttribute::new("accesskey", "F")]))),
("menu-file-new-tab", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "New Tab"), L10nAttribute::new("accesskey", "T")]))),
("menu-file-new-container-tab", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "New Container Tab"), L10nAttribute::new("accesskey", "b")]))),
("menu-file-new-window", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "New Window"), L10nAttribute::new("accesskey", "N")]))),
("menu-file-new-private-window", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "New Private Window"), L10nAttribute::new("accesskey", "W")]))),
("menu-file-open-location", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open Location…")]))),
("menu-file-open-file", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open File…"), L10nAttribute::new("accesskey", "O")]))),
("menu-file-close", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Close"), L10nAttribute::new("accesskey", "C")]))),
("menu-file-close-window", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Close Window"), L10nAttribute::new("accesskey", "d")]))),
("menu-file-save-page", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Save Page As…"), L10nAttribute::new("accesskey", "A")]))),
("menu-file-email-link", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Email Link…"), L10nAttribute::new("accesskey", "E")]))),
("menu-file-print-preview", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Print Preview"), L10nAttribute::new("accesskey", "v")]))),
("menu-file-print", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Print…"), L10nAttribute::new("accesskey", "P")]))),
("menu-file-import-from-another-browser", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Import From Another Browser…"), L10nAttribute::new("accesskey", "I")]))),
("menu-file-go-offline", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Work Offline"), L10nAttribute::new("accesskey", "k")]))),
("menu-edit", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Edit"), L10nAttribute::new("accesskey", "E")]))),
("text-action-undo", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Undo"), L10nAttribute::new("accesskey", "U")]))),
("text-action-redo", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Redo"), L10nAttribute::new("accesskey", "R")]))),
("text-action-cut", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Cut"), L10nAttribute::new("accesskey", "t")]))),
("text-action-copy", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Copy"), L10nAttribute::new("accesskey", "C")]))),
("text-action-paste", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Paste"), L10nAttribute::new("accesskey", "P")]))),
("text-action-delete", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Delete"), L10nAttribute::new("accesskey", "D")]))),
("text-action-select-all", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Select All"), L10nAttribute::new("accesskey", "A")]))),
("menu-edit-find-on", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Find in This Page…"), L10nAttribute::new("accesskey", "F")]))),
("menu-edit-find-again", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Find Again"), L10nAttribute::new("accesskey", "g")]))),
("menu-edit-bidi-switch-text-direction", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Switch Text Direction"), L10nAttribute::new("accesskey", "w")]))),
("menu-preferences", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Preferences"), L10nAttribute::new("accesskey", "n")]))),
("menu-view", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "View"), L10nAttribute::new("accesskey", "V")]))),
("menu-view-toolbars-menu", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Toolbars"), L10nAttribute::new("accesskey", "T")]))),
("menu-view-customize-toolbar", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Customize…"), L10nAttribute::new("accesskey", "C")]))),
("menu-view-sidebar", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Sidebar"), L10nAttribute::new("accesskey", "e")]))),
("menu-view-bookmarks", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Bookmarks")]))),
("menu-view-history-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "History")]))),
("menu-view-synced-tabs-sidebar", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Synced Tabs")]))),
("menu-view-full-zoom", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Zoom"), L10nAttribute::new("accesskey", "Z")]))),
("menu-view-full-zoom-enlarge", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Zoom In"), L10nAttribute::new("accesskey", "I")]))),
("menu-view-full-zoom-reduce", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Zoom Out"), L10nAttribute::new("accesskey", "O")]))),
("menu-view-full-zoom-actual-size", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Actual Size"), L10nAttribute::new("accesskey", "A")]))),
("menu-view-full-zoom-toggle", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Zoom Text Only"), L10nAttribute::new("accesskey", "T")]))),
("menu-view-page-style-menu", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Page Style"), L10nAttribute::new("accesskey", "y")]))),
("menu-view-page-style-no-style", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "No Style"), L10nAttribute::new("accesskey", "n")]))),
("menu-view-page-basic-style", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Basic Page Style"), L10nAttribute::new("accesskey", "B")]))),
("menu-view-charset", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Text Encoding"), L10nAttribute::new("accesskey", "c")]))),
("menu-view-full-screen", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Full Screen"), L10nAttribute::new("accesskey", "F")]))),
("menu-view-show-all-tabs", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Show All Tabs"), L10nAttribute::new("accesskey", "A")]))),
("menu-view-bidi-switch-page-direction", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Switch Page Direction"), L10nAttribute::new("accesskey", "D")]))),
("menu-history", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "History"), L10nAttribute::new("accesskey", "s")]))),
("menu-history-show-all-history", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Show All History")]))),
("menu-history-clear-recent-history", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Clear Recent History…")]))),
("menu-history-synced-tabs", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Synced Tabs")]))),
("menu-history-restore-last-session", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Restore Previous Session")]))),
("menu-history-hidden-tabs", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Hidden Tabs")]))),
("menu-history-undo-menu", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Recently Closed Tabs")]))),
("menu-history-undo-window-menu", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Recently Closed Windows")]))),
("menu-bookmarks-menu", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Bookmarks"), L10nAttribute::new("accesskey", "B")]))),
("menu-bookmarks-show-all", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Show All Bookmarks")]))),
("menu-bookmark-this-page", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Bookmark This Page")]))),
("menu-bookmarks-all-tabs", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Bookmark All Tabs…")]))),
("menu-bookmarks-toolbar", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Bookmarks Toolbar")]))),
("menu-bookmarks-other", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Other Bookmarks")]))),
("menu-bookmarks-mobile", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Mobile Bookmarks")]))),
("menu-tools", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Tools"), L10nAttribute::new("accesskey", "T")]))),
("menu-tools-downloads", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Downloads"), L10nAttribute::new("accesskey", "D")]))),
("menu-tools-addons", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Add-ons"), L10nAttribute::new("accesskey", "A")]))),
("menu-tools-fxa-sign-in", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Sign In To Firefox…"), L10nAttribute::new("accesskey", "g")]))),
("menu-tools-turn-on-sync", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Turn on Sync…"), L10nAttribute::new("accesskey", "n")]))),
("menu-tools-fxa-sign-in", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Sign In To Firefox…"), L10nAttribute::new("accesskey", "g")]))),
("menu-tools-sync-now", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Sync Now"), L10nAttribute::new("accesskey", "S")]))),
("menu-tools-fxa-re-auth", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Reconnect to Firefox…"), L10nAttribute::new("accesskey", "R")]))),
("menu-tools-web-developer", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Web Developer"), L10nAttribute::new("accesskey", "W")]))),
("menu-tools-page-source", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Page Source"), L10nAttribute::new("accesskey", "o")]))),
("menu-tools-page-info", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Page Info"), L10nAttribute::new("accesskey", "I")]))),
("menu-help", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Help"), L10nAttribute::new("accesskey", "H")]))),
("menu-help-product", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Nightly Help"), L10nAttribute::new("accesskey", "H")]))),
("menu-help-show-tour", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Nightly Tour"), L10nAttribute::new("accesskey", "o")]))),
("menu-help-import-from-another-browser", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Import From Another Browser…"), L10nAttribute::new("accesskey", "I")]))),
("menu-help-keyboard-shortcuts", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Keyboard Shortcuts"), L10nAttribute::new("accesskey", "K")]))),
("menu-help-troubleshooting-info", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Troubleshooting Information"), L10nAttribute::new("accesskey", "T")]))),
("menu-help-feedback-page", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Submit Feedback…"), L10nAttribute::new("accesskey", "S")]))),
("menu-help-safe-mode-without-addons", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Restart With Add-ons Disabled…"), L10nAttribute::new("accesskey", "R")]))),
("menu-help-report-deceptive-site", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Report Deceptive Site…"), L10nAttribute::new("accesskey", "D")]))),
("menu-help-not-deceptive", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "This Isn\\u2019t a Deceptive Site…"), L10nAttribute::new("accesskey", "D")]))),
("browser-window-minimize-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Minimize")]))),
("browser-window-maximize-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Maximize")]))),
("browser-window-restore-down-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Restore Down")]))),
("browser-window-close-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Close")]))),
("browser-window-minimize-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Minimize")]))),
("browser-window-maximize-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Maximize")]))),
("browser-window-restore-down-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Restore Down")]))),
("browser-window-close-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Close")]))),
("toolbar-button-back", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Back")]))),
("toolbar-button-forward", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Forward")]))),
("toolbar-button-stop-reload", L10nMessage::new(None, Some(vec![L10nAttribute::new("title", "Reload")]))),
("toolbar-button-reload", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Reload")]))),
("toolbar-button-stop", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Stop")]))),
("urlbar-identity-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("aria-label", "View site information")]))),
("urlbar-permissions-granted", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "You have granted this website additional permissions.")]))),
("urlbar-geolocation-blocked", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "You have blocked location information for this website.")]))),
("urlbar-xr-blocked", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "You have blocked virtual reality device access for this website.")]))),
("urlbar-web-notifications-blocked", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "You have blocked notifications for this website.")]))),
("urlbar-camera-blocked", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "You have blocked your camera for this website.")]))),
("urlbar-microphone-blocked", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "You have blocked your microphone for this website.")]))),
("urlbar-screen-blocked", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "You have blocked this website from sharing your screen.")]))),
("urlbar-persistent-storage-blocked", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "You have blocked persistent storage for this website.")]))),
("urlbar-popup-blocked", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "You have blocked pop-ups for this website.")]))),
("urlbar-autoplay-media-blocked", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "You have blocked autoplay media with sound for this website.")]))),
("urlbar-canvas-blocked", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "You have blocked canvas data extraction for this website.")]))),
("urlbar-midi-blocked", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "You have blocked MIDI access for this website.")]))),
("urlbar-install-blocked", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "You have blocked add-on installation for this website.")]))),
("urlbar-default-notification-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Open message panel")]))),
("urlbar-geolocation-notification-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Open location request panel")]))),
("urlbar-xr-notification-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Open virtual reality permission panel")]))),
("urlbar-autoplay-notification-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Open autoplay panel")]))),
("urlbar-addons-notification-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Open add-on installation message panel")]))),
("urlbar-canvas-notification-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Manage canvas extraction permission")]))),
("urlbar-indexed-db-notification-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Open offline storage message panel")]))),
("urlbar-password-notification-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Open save password message panel")]))),
("urlbar-plugins-notification-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Manage plug-in use")]))),
("urlbar-web-notification-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Change whether you can receive notifications from the site")]))),
("urlbar-web-rtc-share-devices-notification-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Manage sharing your camera and/or microphone with the site")]))),
("urlbar-web-rtc-share-microphone-notification-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Manage sharing your microphone with the site")]))),
("urlbar-web-rtc-share-screen-notification-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Manage sharing your windows or screen with the site")]))),
("urlbar-services-notification-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Open install message panel")]))),
("urlbar-translate-notification-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Translate this page")]))),
("urlbar-translated-notification-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Manage page translation")]))),
("urlbar-eme-notification-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Manage use of DRM software")]))),
("urlbar-persistent-storage-notification-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Store data in Persistent Storage")]))),
("urlbar-midi-notification-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Open MIDI panel")]))),
("urlbar-web-authn-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Open Web Authentication panel")]))),
("urlbar-storage-access-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Open browsing activity permission panel")]))),
("urlbar-remote-control-notification-anchor", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Browser is under remote control")]))),
("urlbar-switch-to-tab", L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Switch to tab:")]))),
("urlbar-extension", L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Extension:")]))),
("urlbar-placeholder", L10nMessage::new(None, Some(vec![L10nAttribute::new("placeholder", "Search or enter address")]))),
("urlbar-go-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Go to the address in the Location Bar")]))),
("urlbar-page-action-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Page actions")]))),
("urlbar-pocket-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Save to Pocket")]))),
("browser-window-minimize-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Minimize")]))),
("browser-window-restore-down-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Restore Down")]))),
("browser-window-close-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Close")]))),
("bookmarks-toolbar", L10nMessage::new(None, Some(vec![L10nAttribute::new("toolbarname", "Bookmarks Toolbar"), L10nAttribute::new("accesskey", "B"), L10nAttribute::new("aria-label", "Bookmarks")]))),
("bookmarks-toolbar-empty-message", "For quick access, place your bookmarks here on the bookmarks toolbar. <a data-l10n-name=\"manage-bookmarks\">Manage bookmarks…</a>"),
("bookmarks-toolbar-placeholder", L10nMessage::new(None, Some(vec![L10nAttribute::new("title", "Bookmarks Toolbar Items")]))),
("bookmarks-toolbar-placeholder-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Bookmarks Toolbar Items")]))),
("bookmarks-toolbar-placeholder-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Bookmarks Toolbar Items")]))),
("bookmarks-toolbar-chevron", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Show more bookmarks")]))),
("fullscreen-warning-no-domain", "This document is now full screen"),
("fullscreen-exit-button", "Exit Full Screen (Esc)"),
("pointerlock-warning-no-domain", "This document has control of your pointer. Press Esc to take back control."),
("text-action-undo", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Undo"), L10nAttribute::new("accesskey", "U")]))),
("text-action-cut", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Cut"), L10nAttribute::new("accesskey", "t")]))),
("text-action-copy", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Copy"), L10nAttribute::new("accesskey", "C")]))),
("text-action-paste", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Paste"), L10nAttribute::new("accesskey", "P")]))),
("text-action-delete", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Delete"), L10nAttribute::new("accesskey", "D")]))),
("text-action-select-all", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Select All"), L10nAttribute::new("accesskey", "A")]))),
(L10nKey::new("urlbar-pocket-button", Some(vec![L10nArgument::new("tabCount", "1")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Save to Pocket")]))),
("menu-bookmark-this-page", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Bookmark This Page")]))),
(L10nKey::new("urlbar-star-add-bookmark", Some(vec![L10nArgument::new("shortcut", "Ctrl+D")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Bookmark this page (Ctrl+D)")]))),
(L10nKey::new("main-context-menu-bookmark-add-with-shortcut", Some(vec![L10nArgument::new("shortcut", "Ctrl+D")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("aria-label", "Bookmark This Page"), L10nAttribute::new("accesskey", "m"), L10nAttribute::new("tooltiptext", "Bookmark this page (Ctrl+D)")])))
],
)
}

Просмотреть файл

@ -0,0 +1,25 @@
use super::structs::*;
use crate::queries;
/// Tests bundle generation with a queried value that is missing in all resources
/// in all locales. Despite the fact that the value is missing, this should have no
/// effect on the ability to generate a bundle and look up other present values.
pub fn get_scenario() -> Scenario {
Scenario::new(
"empty_resource_all_locales",
vec![
FileSource::new("browser", "browser/{locale}/", vec!["en-US", "pl"]),
FileSource::new("empty", "empty-resource/{locale}/", vec!["en-US", "pl"]),
],
vec!["en-US", "pl"],
vec!["browser/sanitize.ftl", "empty/empty-all.ftl"],
queries![
("history-section-label", "History", ExceptionalContext::None),
(
"empty-all",
"empty-all",
ExceptionalContext::ValueMissingFromAllResources,
)
],
)
}

Просмотреть файл

@ -0,0 +1,25 @@
use super::structs::*;
use crate::queries;
/// Tests bundle generation with a queried value that is missing in only one resource
/// in the primary locale. This should cause the bundle to fallback to another locale
/// only for that value.
pub fn get_scenario() -> Scenario {
Scenario::new(
"empty_resource_one_locale",
vec![
FileSource::new("browser", "browser/{locale}/", vec!["en-US", "pl"]),
FileSource::new("empty", "empty-resource/{locale}/", vec!["en-US", "pl"]),
],
vec!["en-US", "pl"],
vec!["browser/sanitize.ftl", "empty/empty-one.ftl"],
queries![
("history-section-label", "History", ExceptionalContext::None),
(
"empty-one",
"pusty",
ExceptionalContext::ValueMissingFromResource,
)
],
)
}

Просмотреть файл

@ -0,0 +1,36 @@
use fluent_fallback::types::{ResourceType, ToResourceId};
use super::structs::*;
use crate::queries;
/// Tests bundle generation with an optional resource that is missing from all locales.
/// Since the resource is optional, we should still be able to generate a bundle and
/// look up other present values, but we will fail to look up a value from the missing resource.
pub fn get_scenario() -> Scenario {
Scenario::new(
"missing_optional_all_locales",
vec![
FileSource::new("browser", "browser/{locale}/", vec!["en-US", "pl"]),
FileSource::new("missing", "missing-resource/{locale}/", vec!["en-US", "pl"]),
],
vec!["en-US", "pl"],
vec![
"browser/sanitize.ftl".into(),
"missing/missing-one.ftl".to_resource_id(ResourceType::Optional),
"missing/missing-all.ftl".to_resource_id(ResourceType::Optional),
],
queries![
("history-section-label", "History", ExceptionalContext::None),
(
"missing-one",
"zaginiony",
ExceptionalContext::OptionalResourceMissingFromLocale,
),
(
"missing-all",
"missing-all",
ExceptionalContext::OptionalResourceMissingFromAllLocales,
)
],
)
}

Просмотреть файл

@ -0,0 +1,30 @@
use fluent_fallback::types::{ResourceType, ToResourceId};
use super::structs::*;
use crate::queries;
/// Tests bundle generation with an optional resource that is missing from only the primary locale.
/// Since the resource is optional, we should only fallback to another locale for values in the missing
/// optional resource. We should still be able to use the primary locale for other present values/resources.
pub fn get_scenario() -> Scenario {
Scenario::new(
"missing_optional_one_locale",
vec![
FileSource::new("browser", "browser/{locale}/", vec!["en-US", "pl"]),
FileSource::new("missing", "missing-resource/{locale}/", vec!["en-US", "pl"]),
],
vec!["en-US", "pl"],
vec![
"browser/sanitize.ftl".into(),
"missing/missing-one.ftl".to_resource_id(ResourceType::Optional),
],
queries![
("history-section-label", "History", ExceptionalContext::None),
(
"missing-one",
"zaginiony",
ExceptionalContext::OptionalResourceMissingFromLocale,
)
],
)
}

Просмотреть файл

@ -0,0 +1,38 @@
use super::structs::*;
use crate::queries;
/// Tests bundle generation with a required resource that is missing from all locales.
/// Since the resource is required, we cannot generate a bundle because no solution exists.
/// Lookups for all values should fail, because no bundle will be generated.
pub fn get_scenario() -> Scenario {
Scenario::new(
"missing_required_all_locales",
vec![
FileSource::new("browser", "browser/{locale}/", vec!["en-US", "pl"]),
FileSource::new("missing", "missing-resource/{locale}/", vec!["en-US", "pl"]),
],
vec!["en-US", "pl"],
vec![
"browser/sanitize.ftl",
"missing/missing-one.ftl",
"missing/missing-all.ftl",
],
queries![
(
"history-section-label",
"history-section-label",
ExceptionalContext::None,
),
(
"missing-one",
"missing-one",
ExceptionalContext::RequiredResourceMissingFromLocale,
),
(
"missing-all",
"missing-all",
ExceptionalContext::RequiredResourceMissingFromAllLocales,
)
],
)
}

Просмотреть файл

@ -0,0 +1,28 @@
use super::structs::*;
use crate::queries;
/// Tests bundle generation with a required resource that is missing from only the primary locale.
/// Since the resource is required, we should only fallback entirely to the next locale for all resources.
pub fn get_scenario() -> Scenario {
Scenario::new(
"missing_required_one_locale",
vec![
FileSource::new("browser", "browser/{locale}/", vec!["en-US", "pl"]),
FileSource::new("missing", "missing-resource/{locale}/", vec!["en-US", "pl"]),
],
vec!["en-US", "pl"],
vec!["browser/sanitize.ftl", "missing/missing-one.ftl"],
queries![
(
"history-section-label",
"Historia",
ExceptionalContext::None
),
(
"missing-one",
"zaginiony",
ExceptionalContext::RequiredResourceMissingFromLocale,
)
],
)
}

39
third_party/rust/fluent-testing/src/scenarios/mod.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,39 @@
mod browser;
mod empty_resource_all_locales;
mod empty_resource_one_locale;
mod missing_optional_all_locales;
mod missing_optional_one_locale;
mod missing_required_all_locales;
mod missing_required_one_locale;
mod preferences;
mod simple;
pub mod structs;
use structs::*;
#[macro_export]
macro_rules! queries {
( $( $x:expr ),* ) => {
{
Queries(vec![
$(
$x.into(),
)*
])
}
};
}
pub fn get_scenarios() -> Vec<Scenario> {
vec![
simple::get_scenario(),
browser::get_scenario(),
preferences::get_scenario(),
empty_resource_one_locale::get_scenario(),
empty_resource_all_locales::get_scenario(),
missing_optional_one_locale::get_scenario(),
missing_optional_all_locales::get_scenario(),
missing_required_one_locale::get_scenario(),
missing_required_all_locales::get_scenario(),
]
}

630
third_party/rust/fluent-testing/src/scenarios/preferences.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,630 @@
use super::structs::*;
use crate::queries;
pub fn get_scenario() -> Scenario {
Scenario::new(
"preferences",
vec![
FileSource::new("toolkit", "toolkit/{locale}/", vec!["en-US", "pl"]),
FileSource::new("browser", "browser/{locale}/", vec!["en-US", "pl"]),
],
vec![
"en-US",
],
vec![
"branding/brand.ftl",
"browser/branding/brandings.ftl",
"browser/branding/sync-brand.ftl",
"browser/browser.ftl",
"browser/preferences/preferences.ftl",
"browser/preferences/fonts.ftl",
"toolkit/featuregates/features.ftl",
"browser/preferences/addEngine.ftl",
"browser/preferences/blocklists.ftl",
"browser/preferences/clearSiteData.ftl",
"browser/preferences/colors.ftl",
"browser/preferences/connection.ftl",
"browser/preferences/languages.ftl",
"browser/preferences/permissions.ftl",
"browser/preferences/selectBookmark.ftl",
"browser/preferences/siteDataSettings.ftl",
"browser/aboutDialog.ftl",
"browser/sanitize.ftl",
"toolkit/updates/history.ftl",
"security/certificates/deviceManager.ftl",
"security/certificates/certManager.ftl",
],
queries![
("pref-page-title", "Preferences"),
("category-list", L10nMessage::new(None, Some(vec![L10nAttribute::new("aria-label", "Categories")]))),
("category-general", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "General")]))),
("pane-general-title", "General"),
("category-home", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Home")]))),
("pane-home-title", "Home"),
("category-search", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Search")]))),
("pane-search-title", "Search"),
("category-privacy", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Privacy & Security")]))),
("pane-privacy-title", "Privacy & Security"),
("category-sync2", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Sync")]))),
("pane-sync-title2", "Sync"),
("category-experimental", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Nightly Experiments")]))),
("pane-experimental-title", "Nightly Experiments"),
("addons-button-label", "Extensions & Themes"),
("help-button-label", "Nightly Support"),
("focus-search", L10nMessage::new(None, Some(vec![L10nAttribute::new("key", "f")]))),
("managed-notice", "Your browser is being managed by your organization."),
("search-input-box", L10nMessage::new(None, Some(vec![L10nAttribute::new("style", "width: 15.4em"), L10nAttribute::new("placeholder", "Find in Preferences")]))),
("search-results-header", "Search Results"),
("search-results-empty-message", "Sorry! There are no results in Preferences for “<span data-l10n-name=\"query\"></span>”."),
("search-results-help-link", "Need help? Visit <a data-l10n-name=\"url\">Nightly Support</a>"),
("containers-back-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("aria-label", "Back to Preferences")]))),
("containers-header", "Container Tabs"),
("containers-add-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Add New Container"), L10nAttribute::new("accesskey", "A")]))),
("containers-new-tab-check", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Select a container for each new tab"), L10nAttribute::new("accesskey", "S")]))),
("close-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("aria-label", "Close")]))),
("pane-general-title", "General"),
("startup-header", "Startup"),
("startup-restore-previous-session", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Restore previous session"), L10nAttribute::new("accesskey", "s")]))),
("startup-restore-warn-on-quit", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Warn you when quitting the browser")]))),
("always-check-default", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always check if Nightly is your default browser"), L10nAttribute::new("accesskey", "y")]))),
("is-not-default", "Nightly is not your default browser"),
("set-as-my-default-browser", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Make Default…"), L10nAttribute::new("accesskey", "D")]))),
("is-default", "Nightly is currently your default browser"),
("tabs-group-header", "Tabs"),
("ctrl-tab-recently-used-order", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Ctrl+Tab cycles through tabs in recently used order"), L10nAttribute::new("accesskey", "T")]))),
("open-new-link-as-tabs", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open links in tabs instead of new windows"), L10nAttribute::new("accesskey", "w")]))),
("warn-on-close-multiple-tabs", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Warn you when closing multiple tabs"), L10nAttribute::new("accesskey", "m")]))),
("warn-on-open-many-tabs", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Warn you when opening multiple tabs might slow down Nightly"), L10nAttribute::new("accesskey", "d")]))),
("switch-links-to-new-tabs", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "When you open a link in a new tab, switch to it immediately"), L10nAttribute::new("accesskey", "h")]))),
("disable-extension", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Disable Extension")]))),
("browser-containers-enabled", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Enable Container Tabs"), L10nAttribute::new("accesskey", "n")]))),
("browser-containers-learn-more", "Learn more"),
("browser-containers-settings", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Settings…"), L10nAttribute::new("accesskey", "i")]))),
("language-and-appearance-header", "Language and Appearance"),
("fonts-and-colors-header", "Fonts and Colors"),
("default-font", L10nMessage::new(Some("Default font"), Some(vec![L10nAttribute::new("accesskey", "D")]))),
("default-font-size", L10nMessage::new(Some("Size"), Some(vec![L10nAttribute::new("accesskey", "S")]))),
("advanced-fonts", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Advanced…"), L10nAttribute::new("accesskey", "A")]))),
("colors-settings", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Colors…"), L10nAttribute::new("accesskey", "C")]))),
("preferences-zoom-header", "Zoom"),
("preferences-default-zoom", L10nMessage::new(Some("Default zoom"), Some(vec![L10nAttribute::new("accesskey", "z")]))),
("preferences-zoom-text-only", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Zoom text only"), L10nAttribute::new("accesskey", "t")]))),
("language-header", "Language"),
("choose-browser-language-description", "Choose the languages used to display menus, messages, and notifications from Nightly."),
("manage-browser-languages-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Set Alternatives…"), L10nAttribute::new("accesskey", "l")]))),
("choose-language-description", "Choose your preferred language for displaying pages"),
("choose-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Choose…"), L10nAttribute::new("accesskey", "o")]))),
(L10nKey::new("use-system-locale", Some(vec![L10nArgument::new("localeName", "und")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use your operating system settings for “und” to format dates, times, numbers, and measurements.")]))),
("translate-web-pages", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Translate web content"), L10nAttribute::new("accesskey", "T")]))),
("translate-attribution", "Translations by <img data-l10n-name=\"logo\"/>"),
("translate-exceptions", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Exceptions…"), L10nAttribute::new("accesskey", "x")]))),
("check-user-spelling", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Check your spelling as you type"), L10nAttribute::new("accesskey", "t")]))),
("files-and-applications-title", "Files and Applications"),
("download-header", "Downloads"),
("download-save-to", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Save files to"), L10nAttribute::new("accesskey", "v")]))),
("download-choose-folder", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Browse…"), L10nAttribute::new("accesskey", "o")]))),
("download-always-ask-where", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always ask you where to save files"), L10nAttribute::new("accesskey", "A")]))),
("applications-header", "Applications"),
("applications-description", "Choose how Nightly handles the files you download from the web or the applications you use while browsing."),
("applications-filter", L10nMessage::new(None, Some(vec![L10nAttribute::new("placeholder", "Search file types or applications")]))),
("applications-type-column", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Content Type"), L10nAttribute::new("accesskey", "T")]))),
("applications-action-column", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Action"), L10nAttribute::new("accesskey", "A")]))),
("drm-content-header", "Digital Rights Management (DRM) Content"),
("play-drm-content", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Play DRM-controlled content"), L10nAttribute::new("accesskey", "P")]))),
("play-drm-content-learn-more", "Learn more"),
("update-application-title", "Nightly Updates"),
("update-application-title", "Nightly Updates"),
("update-application-description", "Keep Nightly up to date for the best performance, stability, and security."),
("update-history", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Show Update History…"), L10nAttribute::new("accesskey", "p")]))),
("update-checkForUpdatesButton", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Check for updates"), L10nAttribute::new("accesskey", "C")]))),
("update-updateButton", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Restart to Update Nightly"), L10nAttribute::new("accesskey", "R")]))),
("update-checkingForUpdates", "Checking for updates…"),
("update-checkForUpdatesButton", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Check for updates"), L10nAttribute::new("accesskey", "C")]))),
("update-downloading", "<img data-l10n-name=\"icon\"/>Downloading update — <label data-l10n-name=\"download-status\"/>"),
("update-applying", "Applying update…"),
("update-failed-main", "Update failed. <a data-l10n-name=\"failed-link-main\">Download the latest version</a>"),
("update-checkForUpdatesButton", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Check for updates"), L10nAttribute::new("accesskey", "C")]))),
("update-adminDisabled", "Updates disabled by your system administrator"),
("update-checkForUpdatesButton", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Check for updates"), L10nAttribute::new("accesskey", "C")]))),
("update-noUpdatesFound", "Nightly is up to date"),
("update-checkForUpdatesButton", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Check for updates"), L10nAttribute::new("accesskey", "C")]))),
("update-otherInstanceHandlingUpdates", "Nightly is being updated by another instance"),
("update-checkForUpdatesButton", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Check for updates"), L10nAttribute::new("accesskey", "C")]))),
("update-manual", "Updates available at <label data-l10n-name=\"manual-link\"/>"),
("update-checkForUpdatesButton", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Check for updates"), L10nAttribute::new("accesskey", "C")]))),
("update-unsupported", "You can not perform further updates on this system. <label data-l10n-name=\"unsupported-link\">Learn more</label>"),
("update-checkForUpdatesButton", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Check for updates"), L10nAttribute::new("accesskey", "C")]))),
("update-restarting", "Restarting…"),
("update-updateButton", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Restart to Update Nightly"), L10nAttribute::new("accesskey", "R")]))),
("update-application-allow-description", "Allow Nightly to"),
("update-application-auto", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Automatically install updates (recommended)"), L10nAttribute::new("accesskey", "A")]))),
("update-application-check-choose", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Check for updates but let you choose to install them"), L10nAttribute::new("accesskey", "C")]))),
("update-application-warning-cross-user-setting", "This setting will apply to all Windows accounts and Nightly profiles using this installation of Nightly."),
("performance-title", "Performance"),
("performance-title", "Performance"),
("performance-use-recommended-settings-checkbox", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use recommended performance settings"), L10nAttribute::new("accesskey", "U")]))),
("performance-settings-learn-more", "Learn more"),
("performance-use-recommended-settings-desc", "These settings are tailored to your computers hardware and operating system."),
("performance-allow-hw-accel", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use hardware acceleration when available"), L10nAttribute::new("accesskey", "r")]))),
("performance-limit-content-process-option", L10nMessage::new(Some("Content process limit"), Some(vec![L10nAttribute::new("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 Nightly. <a data-l10n-name=\"learn-more\">Learn how to check if multiprocess is enabled</a>"),
("browsing-title", "Browsing"),
("browsing-title", "Browsing"),
("browsing-use-autoscroll", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use autoscrolling"), L10nAttribute::new("accesskey", "a")]))),
("browsing-use-smooth-scrolling", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use smooth scrolling"), L10nAttribute::new("accesskey", "m")]))),
("browsing-use-cursor-navigation", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always use the cursor keys to navigate within pages"), L10nAttribute::new("accesskey", "k")]))),
("browsing-search-on-start-typing", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Search for text when you start typing"), L10nAttribute::new("accesskey", "x")]))),
("browsing-picture-in-picture-toggle-enabled", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Enable picture-in-picture video controls"), L10nAttribute::new("accesskey", "E")]))),
("browsing-picture-in-picture-learn-more", "Learn more"),
("browsing-media-control", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Control media via keyboard, headset, or virtual interface"), L10nAttribute::new("accesskey", "v")]))),
("browsing-media-control-learn-more", "Learn more"),
("browsing-cfr-recommendations", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Recommend extensions as you browse"), L10nAttribute::new("accesskey", "R")]))),
("browsing-cfr-recommendations-learn-more", "Learn more"),
("browsing-cfr-features", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Recommend features as you browse"), L10nAttribute::new("accesskey", "f")]))),
("browsing-cfr-recommendations-learn-more", "Learn more"),
("network-settings-title", "Network Settings"),
("network-settings-title", "Network Settings"),
("network-proxy-connection-learn-more", "Learn more"),
("network-proxy-connection-settings", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Settings…"), L10nAttribute::new("accesskey", "e")]))),
(L10nKey::new("performance-default-content-process-count", Some(vec![L10nArgument::new("num", "8")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "8 (default)")]))),
(L10nKey::new("update-application-version", Some(vec![L10nArgument::new("version", "86.0a1 (2020-12-27) (64-bit)")])), L10nMessage::new(Some("Version 86.0a1 (2020-12-27) (64-bit) <a data-l10n-name=\"learn-more\">Whats new</a>"), None)),
(L10nKey::new("preferences-default-zoom-value", Some(vec![L10nArgument::new("percentage", "30")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "30%")]))),
(L10nKey::new("preferences-default-zoom-value", Some(vec![L10nArgument::new("percentage", "50")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "50%")]))),
(L10nKey::new("preferences-default-zoom-value", Some(vec![L10nArgument::new("percentage", "67")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "67%")]))),
(L10nKey::new("preferences-default-zoom-value", Some(vec![L10nArgument::new("percentage", "80")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "80%")]))),
(L10nKey::new("preferences-default-zoom-value", Some(vec![L10nArgument::new("percentage", "90")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "90%")]))),
(L10nKey::new("preferences-default-zoom-value", Some(vec![L10nArgument::new("percentage", "100")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "100%")]))),
(L10nKey::new("preferences-default-zoom-value", Some(vec![L10nArgument::new("percentage", "110")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "110%")]))),
(L10nKey::new("preferences-default-zoom-value", Some(vec![L10nArgument::new("percentage", "120")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "120%")]))),
(L10nKey::new("preferences-default-zoom-value", Some(vec![L10nArgument::new("percentage", "133")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "133%")]))),
(L10nKey::new("preferences-default-zoom-value", Some(vec![L10nArgument::new("percentage", "150")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "150%")]))),
(L10nKey::new("preferences-default-zoom-value", Some(vec![L10nArgument::new("percentage", "170")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "170%")]))),
(L10nKey::new("preferences-default-zoom-value", Some(vec![L10nArgument::new("percentage", "200")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "200%")]))),
(L10nKey::new("preferences-default-zoom-value", Some(vec![L10nArgument::new("percentage", "240")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "240%")]))),
(L10nKey::new("preferences-default-zoom-value", Some(vec![L10nArgument::new("percentage", "300")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "300%")]))),
(L10nKey::new("preferences-default-zoom-value", Some(vec![L10nArgument::new("percentage", "400")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "400%")]))),
(L10nKey::new("preferences-default-zoom-value", Some(vec![L10nArgument::new("percentage", "500")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "500%")]))),
("network-proxy-connection-description", "Configure how Nightly connects to the internet."),
(L10nKey::new("fonts-label-default", Some(vec![L10nArgument::new("name", "DejaVu Serif")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Default (DejaVu Serif)")]))),
("applications-open-inapp-label", L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Open in Nightly")]))),
("applications-open-inapp", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open in Nightly")]))),
("applications-open-inapp", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open in Nightly")]))),
("applications-always-ask", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always ask")]))),
("applications-action-save", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Save File")]))),
("applications-use-os-default", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use system default application")]))),
("applications-use-other", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use other…")]))),
("applications-open-inapp-label", L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Open in Nightly")]))),
("applications-open-inapp", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open in Nightly")]))),
("applications-open-inapp", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open in Nightly")]))),
("applications-always-ask", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always ask")]))),
("applications-action-save", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Save File")]))),
("applications-use-os-default", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use system default application")]))),
("applications-use-other", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use other…")]))),
("applications-open-inapp-label", L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Open in Nightly")]))),
("applications-open-inapp", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open in Nightly")]))),
("applications-open-inapp", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open in Nightly")]))),
("applications-always-ask", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always ask")]))),
("applications-action-save", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Save File")]))),
("applications-use-os-default", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use system default application")]))),
("applications-use-other", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use other…")]))),
("applications-open-inapp-label", L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Open in Nightly")]))),
("applications-open-inapp", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open in Nightly")]))),
("applications-open-inapp", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open in Nightly")]))),
("applications-always-ask", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always ask")]))),
("applications-action-save", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Save File")]))),
("applications-use-os-default", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use system default application")]))),
("applications-use-other", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use other…")]))),
("applications-always-ask-label", L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Always ask")]))),
("applications-always-ask", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always ask")]))),
("applications-always-ask", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always ask")]))),
(L10nKey::new("applications-use-app-default", Some(vec![L10nArgument::new("app-name", "Polari")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use Polari (default)")]))),
(L10nKey::new("applications-use-app", Some(vec![L10nArgument::new("app-name", "Mibbit")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use Mibbit")]))),
("applications-use-other", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use other…")]))),
("applications-manage-app", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Application Details…")]))),
("applications-always-ask-label", L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Always ask")]))),
("applications-always-ask", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always ask")]))),
("applications-always-ask", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always ask")]))),
(L10nKey::new("applications-use-app", Some(vec![L10nArgument::new("app-name", "Mibbit")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use Mibbit")]))),
("applications-use-other", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use other…")]))),
("applications-manage-app", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Application Details…")]))),
(L10nKey::new("applications-use-app-default-label", Some(vec![L10nArgument::new("app-name", "Evolution")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Use Evolution (default)")]))),
(L10nKey::new("applications-use-app-default", Some(vec![L10nArgument::new("app-name", "Evolution")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use Evolution (default)")]))),
("applications-always-ask", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always ask")]))),
(L10nKey::new("applications-use-app-default", Some(vec![L10nArgument::new("app-name", "Evolution")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use Evolution (default)")]))),
(L10nKey::new("applications-use-app", Some(vec![L10nArgument::new("app-name", "Yahoo! Mail")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use Yahoo! Mail")]))),
(L10nKey::new("applications-use-app", Some(vec![L10nArgument::new("app-name", "Gmail")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use Gmail")]))),
("applications-use-other", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use other…")]))),
("applications-manage-app", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Application Details…")]))),
("applications-open-inapp-label", L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Open in Nightly")]))),
("applications-open-inapp", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open in Nightly")]))),
("applications-open-inapp", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open in Nightly")]))),
("applications-always-ask", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always ask")]))),
("applications-action-save", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Save File")]))),
("applications-use-os-default", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use system default application")]))),
("applications-use-other", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use other…")]))),
("applications-open-inapp-label", L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Open in Nightly")]))),
("applications-open-inapp", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open in Nightly")]))),
("applications-open-inapp", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open in Nightly")]))),
("applications-always-ask", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always ask")]))),
("applications-action-save", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Save File")]))),
("applications-use-os-default", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use system default application")]))),
("applications-use-other", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use other…")]))),
("applications-open-inapp-label", L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Open in Nightly")]))),
("applications-open-inapp", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open in Nightly")]))),
("applications-open-inapp", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open in Nightly")]))),
("applications-always-ask", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always ask")]))),
("applications-action-save", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Save File")]))),
("applications-use-os-default", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use system default application")]))),
("applications-use-other", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use other…")]))),
("applications-open-inapp-label", L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Open in Nightly")]))),
("applications-open-inapp", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open in Nightly")]))),
("applications-open-inapp", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open in Nightly")]))),
("applications-always-ask", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always ask")]))),
("applications-action-save", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Save File")]))),
("applications-use-os-default", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use system default application")]))),
("applications-use-other", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use other…")]))),
("applications-always-ask-label", L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Always ask")]))),
("applications-always-ask", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always ask")]))),
("applications-always-ask", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always ask")]))),
(L10nKey::new("applications-use-app-default", Some(vec![L10nArgument::new("app-name", "Polari")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use Polari (default)")]))),
(L10nKey::new("applications-use-app", Some(vec![L10nArgument::new("app-name", "Mibbit")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use Mibbit")]))),
("applications-use-other", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use other…")]))),
("applications-manage-app", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Application Details…")]))),
("applications-always-ask-label", L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Always ask")]))),
("applications-always-ask", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always ask")]))),
("applications-always-ask", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always ask")]))),
(L10nKey::new("applications-use-app", Some(vec![L10nArgument::new("app-name", "Mibbit")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use Mibbit")]))),
("applications-use-other", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use other…")]))),
("applications-manage-app", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Application Details…")]))),
(L10nKey::new("applications-use-app-default-label", Some(vec![L10nArgument::new("app-name", "Evolution")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("value", "Use Evolution (default)")]))),
(L10nKey::new("applications-use-app-default", Some(vec![L10nArgument::new("app-name", "Evolution")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use Evolution (default)")]))),
("applications-always-ask", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always ask")]))),
(L10nKey::new("applications-use-app-default", Some(vec![L10nArgument::new("app-name", "Evolution")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use Evolution (default)")]))),
(L10nKey::new("applications-use-app", Some(vec![L10nArgument::new("app-name", "Yahoo! Mail")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use Yahoo! Mail")]))),
(L10nKey::new("applications-use-app", Some(vec![L10nArgument::new("app-name", "Gmail")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use Gmail")]))),
("applications-use-other", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use other…")]))),
("applications-manage-app", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Application Details…")]))),
("pane-home-title", "Home"),
("home-restore-defaults", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Restore Defaults"), L10nAttribute::new("accesskey", "R")]))),
("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-homepage-mode-label", "Homepage and new windows"),
("home-mode-choice-default", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Firefox Home (Default)")]))),
("home-mode-choice-custom", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Custom URLs…")]))),
("home-mode-choice-blank", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Blank Page")]))),
("home-homepage-custom-url", L10nMessage::new(None, Some(vec![L10nAttribute::new("placeholder", "Paste a URL…")]))),
(L10nKey::new("use-current-pages", Some(vec![L10nArgument::new("tabCount", "0")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use Current Pages"), L10nAttribute::new("accesskey", "C")]))),
("choose-bookmark", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use Bookmark…"), L10nAttribute::new("accesskey", "B")]))),
("home-newtabs-mode-label", "New tabs"),
("home-mode-choice-default", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Firefox Home (Default)")]))),
("home-mode-choice-blank", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Blank Page")]))),
("pane-search-title", "Search"),
("search-bar-header", "Search Bar"),
("search-bar-hidden", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use the address bar for search and navigation")]))),
("search-bar-shown", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Add search bar in toolbar")]))),
("search-engine-default-header", "Default Search Engine"),
("search-engine-default-desc-2", "This is your default search engine in the address bar and search bar. You can switch it at any time."),
("search-separate-default-engine", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use this search engine in Private Windows"), L10nAttribute::new("accesskey", "U")]))),
("search-engine-default-private-desc-2", "Choose a different default search engine for Private Windows only"),
("search-suggestions-header", "Search Suggestions"),
("search-suggestions-desc", "Choose how suggestions from search engines appear."),
("search-suggestions-option", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Provide search suggestions"), L10nAttribute::new("accesskey", "s")]))),
("search-show-suggestions-url-bar-option", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Show search suggestions in address bar results"), L10nAttribute::new("accesskey", "l")]))),
("search-show-suggestions-above-history-option", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Show search suggestions ahead of browsing history in address bar results")]))),
("search-show-suggestions-private-windows", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Show search suggestions in Private Windows")]))),
("search-suggestions-cant-show", "Search suggestions will not be shown in location bar results because you have configured Nightly to never remember history."),
("suggestions-addressbar-settings-generic", "Change preferences for other address bar suggestions"),
("search-one-click-header2", "Search Shortcuts"),
("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", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Search Engine")]))),
("search-choose-keyword-column", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Keyword")]))),
("search-restore-default", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Restore Default Search Engines"), L10nAttribute::new("accesskey", "D")]))),
("search-remove-engine", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Remove"), L10nAttribute::new("accesskey", "R")]))),
("search-add-engine", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Add"), L10nAttribute::new("accesskey", "A")]))),
("search-find-more-link", "Find more search engines"),
("privacy-header", "Browser Privacy"),
("content-blocking-enhanced-tracking-protection", "Enhanced Tracking Protection"),
("content-blocking-section-top-level-description", "Trackers follow you around online to collect information about your browsing habits and interests. Nightly blocks many of these trackers and other malicious scripts."),
("content-blocking-learn-more", "Learn more"),
("tracking-manage-exceptions", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Manage Exceptions…"), L10nAttribute::new("accesskey", "x")]))),
("content-blocking-fpi-incompatibility-warning", "You are using First Party Isolation (FPI), which overrides some of Nightlys cookie settings."),
("enhanced-tracking-protection-setting-standard", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Standard"), L10nAttribute::new("accesskey", "d")]))),
("content-blocking-expand-section", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "More information")]))),
("content-blocking-etp-standard-desc", "Balanced for protection and performance. Pages will load normally."),
("content-blocking-social-media-trackers", "Social media trackers"),
("content-blocking-cross-site-cookies", "Cross-site cookies"),
("content-blocking-cross-site-tracking-cookies", "Cross-site tracking cookies"),
("content-blocking-cross-site-tracking-cookies-plus-isolate", "Cross-site tracking cookies, and isolate remaining cookies"),
("content-blocking-private-windows", "Tracking content in Private Windows"),
("content-blocking-all-windows-tracking-content", "Tracking content in all windows"),
("content-blocking-all-third-party-cookies", "All third-party cookies"),
("content-blocking-all-cookies", "All cookies"),
("content-blocking-unvisited-cookies", "Cookies from unvisited sites"),
("content-blocking-cryptominers", "Cryptominers"),
("content-blocking-fingerprinters", "Fingerprinters"),
("content-blocking-reload-description", "You will need to reload your tabs to apply these changes."),
("content-blocking-reload-tabs-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Reload All Tabs"), L10nAttribute::new("accesskey", "R")]))),
("enhanced-tracking-protection-setting-strict", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Strict"), L10nAttribute::new("accesskey", "r")]))),
("content-blocking-expand-section", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "More information")]))),
("content-blocking-etp-strict-desc", "Stronger protection, but may cause some sites or content to break."),
("content-blocking-social-media-trackers", "Social media trackers"),
("content-blocking-cross-site-tracking-cookies", "Cross-site tracking cookies"),
("content-blocking-cross-site-cookies", "Cross-site cookies"),
("content-blocking-private-windows", "Tracking content in Private Windows"),
("content-blocking-all-windows-tracking-content", "Tracking content in all windows"),
("content-blocking-all-third-party-cookies", "All third-party cookies"),
("content-blocking-all-cookies", "All cookies"),
("content-blocking-unvisited-cookies", "Cookies from unvisited sites"),
("content-blocking-cross-site-tracking-cookies", "Cross-site tracking cookies"),
("content-blocking-cross-site-tracking-cookies-plus-isolate", "Cross-site tracking cookies, and isolate remaining cookies"),
("content-blocking-cryptominers", "Cryptominers"),
("content-blocking-fingerprinters", "Fingerprinters"),
("content-blocking-reload-description", "You will need to reload your tabs to apply these changes."),
("content-blocking-reload-tabs-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Reload All Tabs"), L10nAttribute::new("accesskey", "R")]))),
("content-blocking-warning-title", "Heads up!"),
("content-blocking-and-isolating-etp-warning-description", "Blocking trackers and isolating cookies could impact the functionality of some sites. Reload a page with trackers to load all content."),
("content-blocking-warning-learn-how", "Learn how"),
("enhanced-tracking-protection-setting-custom", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Custom"), L10nAttribute::new("accesskey", "C")]))),
("content-blocking-expand-section", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "More information")]))),
("content-blocking-etp-custom-desc", "Choose which trackers and scripts to block."),
("content-blocking-cookies-label", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Cookies"), L10nAttribute::new("accesskey", "C")]))),
("sitedata-option-block-cross-site-trackers", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Cross-site trackers")]))),
("sitedata-option-block-cross-site-and-social-media-trackers-plus-isolate", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Cross-site and social media trackers, and isolate remaining cookies")]))),
("sitedata-option-block-unvisited", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Cookies from unvisited websites")]))),
("sitedata-option-block-all-third-party", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "All third-party cookies (may cause websites to break)")]))),
("sitedata-option-block-all", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "All cookies (will cause websites to break)")]))),
("disable-extension", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Disable Extension")]))),
("content-blocking-tracking-content-label", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Tracking content"), L10nAttribute::new("accesskey", "T")]))),
("content-blocking-option-private", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Only in Private Windows"), L10nAttribute::new("accesskey", "p")]))),
("content-blocking-tracking-protection-option-all-windows", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "In all windows"), L10nAttribute::new("accesskey", "A")]))),
("content-blocking-tracking-protection-change-block-list", "Change block list"),
("content-blocking-cryptominers-label", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Cryptominers"), L10nAttribute::new("accesskey", "y")]))),
("content-blocking-fingerprinters-label", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Fingerprinters"), L10nAttribute::new("accesskey", "F")]))),
("content-blocking-reload-description", "You will need to reload your tabs to apply these changes."),
("content-blocking-reload-tabs-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Reload All Tabs"), L10nAttribute::new("accesskey", "R")]))),
("content-blocking-warning-title", "Heads up!"),
("content-blocking-and-isolating-etp-warning-description", "Blocking trackers and isolating cookies could impact the functionality of some sites. Reload a page with trackers to load all content."),
("content-blocking-warning-learn-how", "Learn how"),
("do-not-track-description", "Send websites a “Do Not Track” signal that you dont want to be tracked"),
("do-not-track-learn-more", "Learn more"),
("do-not-track-option-always", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always")]))),
("do-not-track-option-default-content-blocking-known", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Only when Nightly is set to block known trackers")]))),
("sitedata-header", "Cookies and Site Data"),
("sitedata-learn-more", "Learn more"),
("sitedata-delete-on-close-private-browsing", "In permanent private browsing mode, cookies and site data will always be cleared when Nightly is closed."),
("sitedata-delete-on-close", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Delete cookies and site data when Nightly is closed"), L10nAttribute::new("accesskey", "c")]))),
("sitedata-clear", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Clear Data…"), L10nAttribute::new("accesskey", "l")]))),
("sitedata-settings", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Manage Data…"), L10nAttribute::new("accesskey", "M")]))),
("sitedata-cookies-exceptions", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Manage Exceptions…"), L10nAttribute::new("accesskey", "x")]))),
("pane-privacy-logins-and-passwords-header", L10nMessage::new(Some("Logins and Passwords"), Some(vec![L10nAttribute::new("searchkeywords", "Lockwise")]))),
("disable-extension", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Disable Extension")]))),
("forms-ask-to-save-logins", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Ask to save logins and passwords for websites"), L10nAttribute::new("accesskey", "r")]))),
("forms-fill-logins-and-passwords", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Autofill logins and passwords"), L10nAttribute::new("accesskey", "i")]))),
("forms-generate-passwords", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Suggest and generate strong passwords"), L10nAttribute::new("accesskey", "u")]))),
("forms-exceptions", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Exceptions…"), L10nAttribute::new("accesskey", "x")]))),
("forms-saved-logins", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Saved Logins…"), L10nAttribute::new("accesskey", "L")]))),
("forms-breach-alerts", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Show alerts about passwords for breached websites"), L10nAttribute::new("accesskey", "b")]))),
("forms-breach-alerts-learn-more-link", "Learn more"),
("forms-primary-pw-use", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use a Primary Password"), L10nAttribute::new("accesskey", "U")]))),
("forms-primary-pw-learn-more-link", "Learn more"),
("forms-primary-pw-change", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Change Primary Password…"), L10nAttribute::new("accesskey", "P")]))),
("forms-primary-pw-former-name", "Formerly known as Master Password"),
("forms-primary-pw-fips-title", "You are currently in FIPS mode. FIPS requires a non-empty Primary Password."),
("forms-master-pw-fips-desc", "Password Change Failed"),
("history-header", "History"),
("history-remember-label", L10nMessage::new(Some("Nightly will"), Some(vec![L10nAttribute::new("accesskey", "w")]))),
("history-remember-option-all", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Remember history")]))),
("history-remember-option-never", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Never remember history")]))),
("history-remember-option-custom", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use custom settings for history")]))),
("history-remember-description", "Nightly will remember your browsing, download, form, and search history."),
("history-dontremember-description", "Nightly will use the same settings as private browsing, and will not remember any history as you browse the Web."),
("history-private-browsing-permanent", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Always use private browsing mode"), L10nAttribute::new("accesskey", "p")]))),
("history-remember-browser-option", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Remember browsing and download history"), L10nAttribute::new("accesskey", "b")]))),
("history-remember-search-option", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Remember search and form history"), L10nAttribute::new("accesskey", "f")]))),
("history-clear-on-close-option", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Clear history when Nightly closes"), L10nAttribute::new("accesskey", "r")]))),
("history-clear-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Clear History…"), L10nAttribute::new("accesskey", "s")]))),
("history-clear-on-close-settings", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Settings…"), L10nAttribute::new("accesskey", "t")]))),
("addressbar-header", "Address Bar"),
("addressbar-suggest", "When using the address bar, suggest"),
("addressbar-locbar-history-option", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Browsing history"), L10nAttribute::new("accesskey", "h")]))),
("addressbar-locbar-bookmarks-option", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Bookmarks"), L10nAttribute::new("accesskey", "k")]))),
("addressbar-locbar-openpage-option", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Open tabs"), L10nAttribute::new("accesskey", "O")]))),
("addressbar-locbar-topsites-option", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Top sites"), L10nAttribute::new("accesskey", "T")]))),
("addressbar-locbar-engines-option", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Search engines"), L10nAttribute::new("accesskey", "a")]))),
("addressbar-suggestions-settings", "Change preferences for search engine suggestions"),
("permissions-header", "Permissions"),
("permissions-header", "Permissions"),
("permissions-location", "Location"),
("permissions-location-settings", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Settings…"), L10nAttribute::new("accesskey", "t")]))),
("permissions-camera", "Camera"),
("permissions-camera-settings", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Settings…"), L10nAttribute::new("accesskey", "t")]))),
("permissions-microphone", "Microphone"),
("permissions-microphone-settings", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Settings…"), L10nAttribute::new("accesskey", "t")]))),
("permissions-notification", "Notifications"),
("permissions-notification-link", "Learn more"),
("permissions-notification-settings", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Settings…"), L10nAttribute::new("accesskey", "t")]))),
("permissions-autoplay", "Autoplay"),
("permissions-autoplay-settings", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Settings…"), L10nAttribute::new("accesskey", "t")]))),
("permissions-xr", "Virtual Reality"),
("permissions-xr-settings", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Settings…"), L10nAttribute::new("accesskey", "t")]))),
("permissions-block-popups", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Block pop-up windows"), L10nAttribute::new("accesskey", "B")]))),
("permissions-block-popups-exceptions", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Exceptions…"), L10nAttribute::new("accesskey", "E")]))),
("permissions-addon-install-warning", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Warn you when websites try to install add-ons"), L10nAttribute::new("accesskey", "W")]))),
("permissions-addon-exceptions", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Exceptions…"), L10nAttribute::new("accesskey", "E")]))),
("collection-header", "Nightly Data Collection and Use"),
("collection-header", "Nightly Data Collection and Use"),
("collection-description", "We strive to provide you with choices and collect only what we need to provide and improve Nightly for everyone. We always ask permission before receiving personal information."),
("collection-privacy-notice", "Privacy Notice"),
("collection-health-report-telemetry-disabled", "Youre no longer allowing Mozilla to capture technical and interaction data. All past data will be deleted within 30 days."),
("collection-health-report-telemetry-disabled-link", "Learn more"),
("collection-health-report", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Allow Nightly to send technical and interaction data to Mozilla"), L10nAttribute::new("accesskey", "r")]))),
("collection-health-report-link", "Learn more"),
("addon-recommendations", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Allow Nightly to make personalized extension recommendations")]))),
("addon-recommendations-link", "Learn more"),
("collection-health-report-disabled", "Data reporting is disabled for this build configuration"),
("collection-studies", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Allow Nightly to install and run studies")]))),
("collection-studies-link", "View Nightly studies"),
("collection-backlogged-crash-reports", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Allow Nightly to send backlogged crash reports on your behalf"), L10nAttribute::new("accesskey", "c")]))),
("collection-backlogged-crash-reports-link", "Learn more"),
("security-header", "Security"),
("security-browsing-protection", "Deceptive Content and Dangerous Software Protection"),
("security-enable-safe-browsing", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Block dangerous and deceptive content"), L10nAttribute::new("accesskey", "B")]))),
("security-enable-safe-browsing-link", "Learn more"),
("security-block-downloads", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Block dangerous downloads"), L10nAttribute::new("accesskey", "d")]))),
("security-block-uncommon-software", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Warn you about unwanted and uncommon software"), L10nAttribute::new("accesskey", "c")]))),
("certs-header", "Certificates"),
("certs-enable-ocsp", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Query OCSP responder servers to confirm the current validity of certificates"), L10nAttribute::new("accesskey", "Q")]))),
("certs-view", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "View Certificates…"), L10nAttribute::new("accesskey", "C")]))),
("certs-devices", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Security Devices…"), L10nAttribute::new("accesskey", "D")]))),
("httpsonly-header", "HTTPS-Only Mode"),
("httpsonly-description", "HTTPS provides a secure, encrypted connection between Nightly and the websites you visit. Most websites support HTTPS, and if HTTPS-Only Mode is enabled, then Nightly will upgrade all connections to HTTPS."),
("httpsonly-learn-more", "Learn more"),
("httpsonly-radio-enabled", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Enable HTTPS-Only Mode in all windows")]))),
("httpsonly-radio-enabled-pbm", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Enable HTTPS-Only Mode in private windows only")]))),
("httpsonly-radio-disabled", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Dont enable HTTPS-Only Mode")]))),
("pane-experimental-title", "Nightly Experiments"),
("pane-experimental-subtitle", "Proceed with Caution"),
("pane-experimental-reset", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Restore Defaults"), L10nAttribute::new("accesskey", "R")]))),
("pane-experimental-search-results-header", "Nightly Experiments: Proceed with Caution"),
("pane-experimental-description", "Changing advanced configuration preferences can impact Nightly performance or security."),
("pane-sync-title2", "Sync"),
("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-signin2", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Sign in to Sync…"), L10nAttribute::new("accesskey", "i")]))),
("sync-mobile-promo", "Download Firefox for <img data-l10n-name=\"android-icon\"/> <a data-l10n-name=\"android-link\">Android</a> or <img data-l10n-name=\"ios-icon\"/> <a data-l10n-name=\"ios-link\">iOS</a> to sync with your mobile device."),
("pane-sync-title2", "Sync"),
("sync-profile-picture", L10nMessage::new(None, Some(vec![L10nAttribute::new("tooltiptext", "Change profile picture")]))),
("sync-sign-out", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Sign Out…"), L10nAttribute::new("accesskey", "g")]))),
("sync-manage-account", L10nMessage::new(Some("Manage account"), Some(vec![L10nAttribute::new("accesskey", "o")]))),
(L10nKey::new("sync-signedin-unverified", Some(vec![L10nArgument::new("email", "")])), L10nMessage::new(Some(" is not verified."), None)),
("sync-resend-verification", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Resend Verification"), L10nAttribute::new("accesskey", "d")]))),
("sync-remove-account", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Remove Account"), L10nAttribute::new("accesskey", "R")]))),
(L10nKey::new("sync-signedin-login-failure", Some(vec![L10nArgument::new("email", "")])), L10nMessage::new(Some("Please sign in to reconnect "), None)),
("sync-sign-in", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Sign in"), L10nAttribute::new("accesskey", "g")]))),
("sync-remove-account", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Remove Account"), L10nAttribute::new("accesskey", "R")]))),
("sync-device-name-header", "Device Name"),
("sync-device-name-change", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Change Device Name…"), L10nAttribute::new("accesskey", "h")]))),
("sync-device-name-cancel", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Cancel"), L10nAttribute::new("accesskey", "n")]))),
("sync-device-name-save", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Save"), L10nAttribute::new("accesskey", "v")]))),
("prefs-syncing-off", "Syncing: OFF"),
("prefs-sync-offer-setup-label", "Synchronize your bookmarks, history, tabs, passwords, add-ons, and preferences across all your devices."),
("prefs-sync-setup", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Set Up Sync…"), L10nAttribute::new("accesskey", "S")]))),
("prefs-syncing-on", "Syncing: ON"),
("prefs-sync-now", L10nMessage::new(None, Some(vec![L10nAttribute::new("labelnotsyncing", "Sync Now"), L10nAttribute::new("accesskeynotsyncing", "N"), L10nAttribute::new("labelsyncing", "Syncing…")]))),
("sync-currently-syncing-heading", "You are currently syncing these items:"),
("sync-currently-syncing-bookmarks", "Bookmarks"),
("sync-currently-syncing-history", "History"),
("sync-currently-syncing-tabs", "Open tabs"),
("sync-currently-syncing-logins-passwords", "Logins and passwords"),
("sync-currently-syncing-addresses", "Addresses"),
("sync-currently-syncing-creditcards", "Credit cards"),
("sync-currently-syncing-addons", "Add-ons"),
("sync-currently-syncing-prefs", "Preferences"),
("sync-change-options", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Change…"), L10nAttribute::new("accesskey", "C")]))),
("sync-connect-another-device", "Connect another device"),
("experimental-features-abouthome-startup-cache", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "about:home startup cache")]))),
("experimental-features-cookie-samesite-lax-by-default2", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Cookies: SameSite=Lax by default")]))),
("experimental-features-cookie-samesite-none-requires-secure2", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Cookies: SameSite=None requires secure attribute")]))),
("experimental-features-cookie-samesite-schemeful", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Cookies: Schemeful SameSite")]))),
("experimental-features-css-constructable-stylesheets", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "CSS: Constructable Stylesheets")]))),
("experimental-features-css-focus-visible", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "CSS: Pseudo-class: :focus-visible")]))),
("experimental-features-css-masonry2", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "CSS: Masonry Layout")]))),
("experimental-features-devtools-color-scheme-simulation", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Developer Tools: Color Scheme Simulation")]))),
("experimental-features-devtools-compatibility-panel", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Developer Tools: Compatibility Panel")]))),
("experimental-features-devtools-execution-context-selector", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Developer Tools: Execution Context Selector")]))),
("experimental-features-devtools-serviceworker-debugger-support", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Developer Tools: Service Worker debugging")]))),
("experimental-features-fission", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Fission (Site Isolation)")]))),
("experimental-features-http3", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "HTTP/3 protocol")]))),
("experimental-features-media-avif", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Media: AVIF")]))),
("experimental-features-multi-pip", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Multiple Picture-in-Picture Support")]))),
("experimental-features-print-preview-tab-modal", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Print Preview Redesign")]))),
("experimental-features-web-api-beforeinput", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Web API: beforeinput Event")]))),
("experimental-features-web-api-inputmode", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Web API: inputmode")]))),
("experimental-features-web-api-link-preload", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Web API: <link rel=\"preload\">")]))),
("experimental-features-web-gpu2", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Web API: WebGPU")]))),
("experimental-features-webrtc-global-mute-toggles", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "WebRTC Global Mute Toggles")]))),
(L10nKey::new("use-current-pages", Some(vec![L10nArgument::new("tabCount", "1")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Use Current Page"), L10nAttribute::new("accesskey", "C")]))),
("home-prefs-content-header", "Firefox Home Content"),
("home-prefs-content-description", "Choose what content you want on your Firefox Home screen."),
("home-prefs-search-header", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Web Search")]))),
("home-prefs-topsites-header", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Top Sites")]))),
("home-prefs-topsites-description", "The sites you visit most"),
(L10nKey::new("home-prefs-sections-rows-option", Some(vec![L10nArgument::new("num", "1")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "1 row")]))),
(L10nKey::new("home-prefs-sections-rows-option", Some(vec![L10nArgument::new("num", "2")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "2 rows")]))),
(L10nKey::new("home-prefs-sections-rows-option", Some(vec![L10nArgument::new("num", "3")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "3 rows")]))),
(L10nKey::new("home-prefs-sections-rows-option", Some(vec![L10nArgument::new("num", "4")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "4 rows")]))),
(L10nKey::new("home-prefs-recommended-by-header", Some(vec![L10nArgument::new("provider", "Pocket")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Recommended by Pocket")]))),
("home-prefs-recommended-by-learn-more", "How it works"),
(L10nKey::new("home-prefs-recommended-by-description-update", Some(vec![L10nArgument::new("provider", "Pocket")])), L10nMessage::new(Some("Exceptional content from across the web, curated by Pocket"), None)),
("home-prefs-recommended-by-option-sponsored-stories", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Sponsored Stories")]))),
("home-prefs-highlights-header", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Highlights")]))),
("home-prefs-highlights-description", "A selection of sites that youve saved or visited"),
(L10nKey::new("home-prefs-sections-rows-option", Some(vec![L10nArgument::new("num", "1")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "1 row")]))),
(L10nKey::new("home-prefs-sections-rows-option", Some(vec![L10nArgument::new("num", "2")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "2 rows")]))),
(L10nKey::new("home-prefs-sections-rows-option", Some(vec![L10nArgument::new("num", "3")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "3 rows")]))),
(L10nKey::new("home-prefs-sections-rows-option", Some(vec![L10nArgument::new("num", "4")])), L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "4 rows")]))),
("home-prefs-highlights-option-visited-pages", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Visited Pages")]))),
("home-prefs-highlights-options-bookmarks", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Bookmarks")]))),
("home-prefs-highlights-option-most-recent-download", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Most Recent Download")]))),
("home-prefs-highlights-option-saved-to-pocket", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Pages Saved to Pocket")]))),
("home-prefs-snippets-header", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Snippets")]))),
("home-prefs-snippets-description", "Updates from Mozilla and Firefox"),
("sitedata-option-block-cross-site-and-social-media-trackers", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Cross-site and social media trackers")]))),
("sitedata-total-size-calculating", "Calculating site data and cache size…"),
("containers-preferences-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Preferences")]))),
("containers-remove-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Remove")]))),
("containers-preferences-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Preferences")]))),
("containers-remove-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Remove")]))),
("containers-preferences-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Preferences")]))),
("containers-remove-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Remove")]))),
("containers-preferences-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Preferences")]))),
("containers-remove-button", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Remove")]))),
("experimental-features-abouthome-startup-cache", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "about:home startup cache")]))),
("experimental-features-abouthome-startup-cache-description", "A cache for the initial about:home document that is loaded by default at startup. The purpose of the cache is to improve startup performance."),
("experimental-features-cookie-samesite-lax-by-default2", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Cookies: SameSite=Lax by default")]))),
("experimental-features-cookie-samesite-lax-by-default2-description", "Treat cookies as “SameSite=Lax” by default if no “SameSite” attribute is specified. Developers must opt-in to the current status quo of unrestricted use by explicitly asserting “SameSite=None”."),
("experimental-features-cookie-samesite-none-requires-secure2", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Cookies: SameSite=None requires secure attribute")]))),
("experimental-features-cookie-samesite-none-requires-secure2-description", "Cookies with “SameSite=None” attribute require the secure attribute. This feature requires “Cookies: SameSite=Lax by default”."),
("experimental-features-cookie-samesite-schemeful", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Cookies: Schemeful SameSite")]))),
("experimental-features-cookie-samesite-schemeful-description", "Treat cookies from the same domain, but with different schemes (e.g. http://example.com and https://example.com) as cross-site instead of same-site. Improves security, but potentially introduces breakage."),
("experimental-features-css-constructable-stylesheets", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "CSS: Constructable Stylesheets")]))),
("experimental-features-css-constructable-stylesheets-description", "The addition of a constructor to the <a data-l10n-name=\"mdn-cssstylesheet\">CSSStyleSheet</a> interface as well as a variety of related changes makes it possible to directly create new stylesheets without having to add the sheet to the HTML. This makes it much easier to create reusable stylesheets for use with <a data-l10n-name=\"mdn-shadowdom\">Shadow DOM</a>. See <a data-l10n-name=\"bugzilla\">bug 1520690</a> for more details."),
("experimental-features-css-masonry2", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "CSS: Masonry Layout")]))),
("experimental-features-css-masonry-description", "Enables support for the experimental CSS Masonry Layout feature. See the <a data-l10n-name=\"explainer\">explainer</a> for a high level description of the feature. To provide feedback, please comment in <a data-l10n-name=\"w3c-issue\">this GitHub issue</a> or <a data-l10n-name=\"bug\">this bug</a>."),
("experimental-features-css-focus-visible", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "CSS: Pseudo-class: :focus-visible")]))),
("experimental-features-css-focus-visible-description", "Allows focus styles to be applied to elements like buttons and form controls, only when they are focused using the keyboard (e.g. when tabbing between elements), and not when they are focused using a mouse or other pointing device. See <a data-l10n-name=\"bugzilla\">bug 1617600</a> for more details."),
("experimental-features-devtools-color-scheme-simulation", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Developer Tools: Color Scheme Simulation")]))),
("experimental-features-devtools-color-scheme-simulation-description", "Adds an option to simulate different color schemes allowing you to test <a data-l10n-name=\"mdn-preferscolorscheme\">@prefers-color-scheme</a> media queries. Using this media query lets your stylesheet respond to whether the user prefers a light or dark user interface. This feature lets you test your code without having to change settings in your browser (or operating system, if the browser follows a system-wide color scheme setting). See <a data-l10n-name=\"bugzilla1\">bug 1550804</a> and <a data-l10n-name=\"bugzilla2\">bug 1137699</a> for more details."),
("experimental-features-devtools-compatibility-panel", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Developer Tools: Compatibility Panel")]))),
("experimental-features-devtools-compatibility-panel-description", "A side panel for the Page Inspector that shows you information detailing your apps cross-browser compatibility status. See <a data-l10n-name=\"bugzilla\">bug 1584464</a> for more details."),
("experimental-features-devtools-execution-context-selector", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Developer Tools: Execution Context Selector")]))),
("experimental-features-devtools-execution-context-selector-description", "This feature displays a button on the consoles command line that lets you change the context in which the expression you enter will be executed. See <a data-l10n-name=\"bugzilla1\">bug 1605154</a> and <a data-l10n-name=\"bugzilla2\">bug 1605153</a> for more details."),
("experimental-features-devtools-serviceworker-debugger-support", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Developer Tools: Service Worker debugging")]))),
("experimental-features-devtools-serviceworker-debugger-support-description", "Enables experimental support for Service Workers in the Debugger panel. This feature may slow the Developer Tools down and increase memory consumption."),
("experimental-features-fission", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Fission (Site Isolation)")]))),
("experimental-features-fission-description", "Fission (site isolation) is an experimental feature in Nightly to provide an additional layer of defense against security bugs. By isolating each site into a separate process, Fission makes it harder for malicious websites to get access to information from other pages you are visiting. This is a major architectural change in Nightly and we appreciate you testing and reporting any issues you might encounter. For more details, see <a data-l10n-name=\"wiki\">the wiki</a>."),
("experimental-features-http3", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "HTTP/3 protocol")]))),
("experimental-features-http3-description", "Experimental support for the HTTP/3 protocol."),
("experimental-features-media-avif", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Media: AVIF")]))),
("experimental-features-media-avif-description", "With this feature enabled, Nightly supports the AV1 Image File (AVIF) format. This is a still image file format that leverages the capabilities of the AV1 video compression algorithms to reduce image size. See <a data-l10n-name=\"bugzilla\">bug 1443863</a> for more details."),
("experimental-features-multi-pip", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Multiple Picture-in-Picture Support")]))),
("experimental-features-multi-pip-description", "Experimental support for allowing multiple Picture-in-Picture windows to be open at the same time."),
("experimental-features-print-preview-tab-modal", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Print Preview Redesign")]))),
("experimental-features-print-preview-tab-modal-description", "Introduces the redesigned print preview and makes print preview available on macOS. This potentially introduces breakage and does not include all print-related settings. To access all print-related settings, select “Print using the system dialog…” from within the Print panel."),
("experimental-features-web-api-link-preload", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Web API: <link rel=\"preload\">")]))),
("experimental-features-web-api-link-preload-description", "The <a data-l10n-name=\"rel\">rel</a> attribute with value <code>\"preload\"</code> on a <a data-l10n-name=\"link\">&lt;link&gt;</a> element is intended to help provide performance gains by letting you download resources earlier in the page lifecycle, ensuring that theyre available earlier and are less likely to block page rendering. Read <a data-l10n-name=\"readmore\">“Preloading content with <code>rel=\"preload\"</code>”</a> or see <a data-l10n-name=\"bugzilla\">bug 1583604</a> for more details."),
("experimental-features-web-api-beforeinput", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Web API: beforeinput Event")]))),
("experimental-features-web-api-beforeinput-description", "The global <a data-l10n-name=\"mdn-beforeinput\">beforeinput</a> event is fired on an <a data-l10n-name=\"mdn-input\">&lt;input&gt;</a> and <a data-l10n-name=\"mdn-textarea\">&lt;textarea&gt;</a> elements, or any element whose <a data-l10n-name=\"mdn-contenteditable\">contenteditable</a> attribute is enabled, immediately before the elements value changes. The event allows web apps to override the browsers default behavior for user interaction, e.g., web apps can cancel user input only for specific characters or can modify pasting styled text only with approved styles."),
("experimental-features-web-api-inputmode", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Web API: inputmode")]))),
("experimental-features-web-api-inputmode-description", "Our implementation of the <a data-l10n-name=\"mdn-inputmode\">inputmode</a> global attribute has been updated as per <a data-l10n-name=\"whatwg\">the WHATWG specification</a>, but we still need to make other changes too, like making it available on contenteditable content. See <a data-l10n-name=\"bugzilla\">bug 1205133</a> for more details."),
("experimental-features-web-gpu2", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "Web API: WebGPU")]))),
("experimental-features-web-gpu-description2", "This new API provides low-level support for performing computation and graphics rendering using the <a data-l10n-name=\"wikipedia\">Graphics Processing Unit (GPU)</a> of the users device or computer. The <a data-l10n-name=\"spec\">specification</a> is still a work-in-progress. See <a data-l10n-name=\"bugzilla\">bug 1602129</a> for more details."),
("experimental-features-webrtc-global-mute-toggles", L10nMessage::new(None, Some(vec![L10nAttribute::new("label", "WebRTC Global Mute Toggles")]))),
("experimental-features-webrtc-global-mute-toggles-description", "Add controls to the WebRTC global sharing indicator that allow users to globally mute their microphone and camera feeds."),
(L10nKey::new("sitedata-total-size", Some(vec![L10nArgument::new("value", "2.0"), L10nArgument::new("unit", "MB")])), L10nMessage::new(Some("Your stored cookies, site data, and cache are currently using 2.0 MB of disk space."), None))
],
)
}

16
third_party/rust/fluent-testing/src/scenarios/simple.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,16 @@
use super::structs::*;
use crate::queries;
pub fn get_scenario() -> Scenario {
Scenario::new(
"simple",
vec![FileSource::new(
"browser",
"browser/{locale}/",
vec!["en-US", "pl"],
)],
vec!["en-US"],
vec!["browser/sanitize.ftl"],
queries![("history-section-label", "History")],
)
}

291
third_party/rust/fluent-testing/src/scenarios/structs.rs поставляемый Normal file
Просмотреть файл

@ -0,0 +1,291 @@
use fluent_fallback::types::ResourceId;
pub struct FileSource {
pub name: String,
pub locales: Vec<String>,
pub path_scheme: String,
}
impl Default for FileSource {
fn default() -> Self {
Self {
name: "default".to_string(),
path_scheme: "{locale}/".to_string(),
locales: vec!["en-US".to_string()],
}
}
}
impl FileSource {
pub fn new<S: ToString>(name: S, path_scheme: S, locales: Vec<S>) -> Self {
Self {
name: name.to_string(),
path_scheme: path_scheme.to_string(),
locales: locales
.iter()
.map(|l| l.to_string().parse().unwrap())
.collect(),
}
}
}
#[derive(Debug)]
pub struct L10nAttribute {
pub name: String,
pub value: String,
}
impl L10nAttribute {
pub fn new<S: ToString>(name: S, value: S) -> Self {
Self {
name: name.to_string(),
value: value.to_string(),
}
}
}
#[derive(Debug)]
pub struct L10nMessage {
pub value: Option<String>,
pub attributes: Option<Vec<L10nAttribute>>,
}
impl L10nMessage {
pub fn new(value: Option<&str>, attributes: Option<Vec<L10nAttribute>>) -> Self {
Self {
value: value.map(|v| v.to_string()),
attributes,
}
}
}
impl From<&str> for L10nMessage {
fn from(value: &str) -> Self {
Self {
value: Some(value.to_string()),
attributes: None,
}
}
}
#[derive(Debug)]
pub struct L10nArgument {
pub id: String,
pub value: String,
}
impl L10nArgument {
pub fn new<S: ToString>(id: S, value: S) -> Self {
Self {
id: id.to_string(),
value: value.to_string(),
}
}
}
#[derive(Debug)]
pub struct L10nKey {
pub id: String,
pub args: Option<Vec<L10nArgument>>,
}
impl L10nKey {
pub fn new<S: ToString>(id: S, args: Option<Vec<L10nArgument>>) -> Self {
Self {
id: id.to_string(),
args,
}
}
}
impl From<&str> for L10nKey {
fn from(input: &str) -> Self {
Self {
id: input.to_string(),
args: None,
}
}
}
#[derive(Clone, Copy, Debug)]
pub enum ExceptionalContext {
/// There is no exceptional context for this query (happy path).
None,
/// A value is missing from a resource and should cause a fallback.
ValueMissingFromResource,
/// A value is missing from all resources in all locales.
ValueMissingFromAllResources,
/// An optional resource is missing from the top locale.
OptionalResourceMissingFromLocale,
/// An optional resource is missing from all locales.
OptionalResourceMissingFromAllLocales,
/// A required resource is missing from the top locale.
RequiredResourceMissingFromLocale,
/// A required resource is missing from all locales.
RequiredResourceMissingFromAllLocales,
}
impl ExceptionalContext {
/// This is a query for a value in a missing required resource.
pub fn missing_required_resource(self) -> bool {
matches!(
self,
Self::RequiredResourceMissingFromLocale | Self::RequiredResourceMissingFromAllLocales,
)
}
/// This query should cause a format error to be appended to the errors Vec.
pub fn causes_reported_format_error(self) -> bool {
matches!(
self,
Self::ValueMissingFromResource
| Self::ValueMissingFromAllResources
| Self::OptionalResourceMissingFromLocale
| Self::OptionalResourceMissingFromAllLocales
| Self::RequiredResourceMissingFromAllLocales,
)
}
/// This query should cause a failed value lookup.
pub fn causes_failed_value_lookup(self) -> bool {
matches!(
self,
Self::ValueMissingFromAllResources
| Self::OptionalResourceMissingFromAllLocales
| Self::RequiredResourceMissingFromAllLocales,
)
}
/// This query should result in no bundles being generated.
pub fn blocks_bundle_generation(self) -> bool {
matches!(self, Self::RequiredResourceMissingFromAllLocales,)
}
}
#[derive(Debug)]
pub struct Query {
pub input: L10nKey,
pub output: Option<L10nMessage>,
pub exceptional_context: ExceptionalContext,
}
impl Query {
pub fn new<K: Into<L10nKey>>(input: K, output: Option<L10nMessage>) -> Self {
Self {
input: input.into(),
output,
exceptional_context: ExceptionalContext::None,
}
}
}
impl From<(&str, &str)> for Query {
fn from(i: (&str, &str)) -> Self {
Self {
input: i.0.into(),
output: Some(i.1.into()),
exceptional_context: ExceptionalContext::None,
}
}
}
impl From<(&str, &str, ExceptionalContext)> for Query {
fn from(i: (&str, &str, ExceptionalContext)) -> Self {
Self {
input: i.0.into(),
output: Some(i.1.into()),
exceptional_context: i.2,
}
}
}
impl From<(&str, L10nMessage)> for Query {
fn from(i: (&str, L10nMessage)) -> Self {
Self {
input: i.0.into(),
output: Some(i.1),
exceptional_context: ExceptionalContext::None,
}
}
}
impl From<(L10nKey, L10nMessage)> for Query {
fn from(i: (L10nKey, L10nMessage)) -> Self {
Self {
input: i.0,
output: Some(i.1),
exceptional_context: ExceptionalContext::None,
}
}
}
impl From<&str> for Query {
fn from(i: &str) -> Self {
Self {
input: i.into(),
output: None,
exceptional_context: ExceptionalContext::None,
}
}
}
impl From<L10nKey> for Query {
fn from(key: L10nKey) -> Self {
Self {
input: key,
output: None,
exceptional_context: ExceptionalContext::None,
}
}
}
pub struct Queries(pub Vec<Query>);
impl From<Vec<&str>> for Queries {
fn from(input: Vec<&str>) -> Self {
Self(input.into_iter().map(|q| q.into()).collect())
}
}
impl From<Vec<(&str, &str)>> for Queries {
fn from(input: Vec<(&str, &str)>) -> Self {
Self(input.into_iter().map(|q| q.into()).collect())
}
}
impl std::ops::Deref for Queries {
type Target = Vec<Query>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
pub struct Scenario {
pub name: String,
pub file_sources: Vec<FileSource>,
pub locales: Vec<String>,
pub res_ids: Vec<ResourceId>,
pub queries: Queries,
}
impl Scenario {
pub fn new<S: ToString, R: Into<ResourceId>, Q: Into<Queries>>(
name: S,
file_sources: Vec<FileSource>,
locales: Vec<S>,
res_ids: Vec<R>,
queries: Q,
) -> Self {
Self {
name: name.to_string(),
file_sources,
locales: locales
.into_iter()
.map(|l| l.to_string().parse().unwrap())
.collect(),
res_ids: res_ids.into_iter().map(|id| id.into()).collect(),
queries: queries.into(),
}
}
}

Просмотреть файл

@ -1 +0,0 @@
{"files":{"Cargo.toml":"511b7f2e0d161627b93d7c75f8bd219fdb633d1c04bf81f9e6311c2a784cd3f4","LICENSE-APACHE":"5db2b182453ff32ed40f7da63589c9667a3f8bd8b16b1471b152caae56f77e45","LICENSE-MIT":"49c0b000c03731d9e3970dc059ad4ca345d773681f4a612b0024435b663e0220","benches/localization.rs":"879b46b5cc6b9c8bade51796acb0de0c5dbaa197c24b644592db06f976d39208","benches/preferences.rs":"107ac25053821a343f863bdc9e2ee99375b87ea323ca3f44a65f2441c7c91975","benches/registry.rs":"94abcafbea412ff6980aa77374ab02979e00c4862327e3658723404f713d01d2","benches/solver.rs":"dbffd67c583b76b64499b9bf5163e40b7238afafa7edee5aabb2f04e956a15a6","benches/source.rs":"1db1c142b019e0501538df1b4895e9669e4851ef8a59a40c641fd0c127bb34a4","src/env.rs":"213679dd9ef5d2aa8049f0351c2caa00e8890f788ff8a237cd8fccb01d061cdb","src/errors.rs":"3e1aaa5e040a56d54dfdcd775ffd3c834db8e8c997a40602f2960493ac668ed4","src/fluent.rs":"ccf3ed58e1281e28ab36e75157778452d7c5323f5b08ff48fbea7bb45b70d361","src/lib.rs":"d86bc714c507101766832099587512ae6b4b8c79b0156b1f8dcff305e037b21b","src/registry/asynchronous.rs":"f0091edcd9870aefaf311b9934bfdf07d76096b625e606f3f7c7757436306bd1","src/registry/mod.rs":"3b2cb0cacb7f3875b300b5e46fd643c3718a2f472760b2684a13e3f6fe76deda","src/registry/synchronous.rs":"888a30ee0d577fdae3ca3fec17af1998af3e0f2198cc0acd4e74860d492a5b70","src/solver/README.md":"bd93b3faef6adec5e71f06a7e06ca64b32f3877b513de099638fa86acf1e2d9e","src/solver/mod.rs":"f763519feca67ce6ce42c4387482fb10313f9f33f7d0fe687e0db51ef9592a6b","src/solver/parallel.rs":"34cae8cf80f54d3f9c7e3eb60df6c33ab97a70f0e9ac0306a8d098d24cfe3c6a","src/solver/serial.rs":"dcac1128fc87295b955c11b40b7adca5106a585de9adc2e4361cc6a92c968e27","src/solver/testing/mod.rs":"3e1481bb6a73cd283d544553341df85f5adc88e6f28914ee10615b648bb927ff","src/solver/testing/scenarios.rs":"2a11b2f3a6bbfe0055ea6125cae498391e28a4811c019e2f9479f959798e5767","src/source/fetcher.rs":"eaf36007450fca2db53a0f7fbeb89e5d8e70fb40f7dc3e697665bd2ae1ff32ab","src/source/mod.rs":"582b9e9c575160542b4057b173bf3f4c51bed7034de526e8380248fed14eebb6","src/testing.rs":"98f9dfdddf9cc94a783498ee1fc37a8c06cf4a716db39f9c50b34889cdcf656f","tests/localization.rs":"1c51c3489b45fb67b60f8316b22f49b25b6895587e43b8b6f790d6af7d721777","tests/registry.rs":"aecdc2037a4c25a2e0699758e87bcb3f544e733d32957b86ac062f9da76e8eef","tests/scenarios_async.rs":"5f83ae4f07c28414657f71f5d05de77c9832dd29023e2b5c1c27bbd8fce4a2f7","tests/scenarios_sync.rs":"eca6622539ee4d19b97b9ff57c4efe85e8e2c428d796134d7212a623b91e5b77","tests/source.rs":"aeaae74efc0e40f3ec506bc4a31d6c25a622d0ccf248a7f7792f40449704e2af"},"package":null}

78
third_party/rust/l10nregistry/Cargo.toml поставляемый
Просмотреть файл

@ -1,78 +0,0 @@
[package]
name = "l10nregistry"
version = "0.3.0"
authors = ["Zibi Braniecki <gandalf@mozilla.com>"]
license = "Apache-2.0/MIT"
edition = "2018"
[dependencies]
async-trait = "0.1"
fluent-bundle = "0.15.2"
fluent-fallback = "0.6.0"
fluent-testing = { version = "0.0.2", optional = true, features = ["sync", "async"] }
futures = "0.3"
pin-project-lite = "0.2"
unic-langid = "0.9"
tokio = { version = "1.0", optional = true, features = ["rt-multi-thread", "macros"] }
replace_with = "0.1"
rustc-hash = "1"
[dev-dependencies]
unic-langid = { version = "0.9", features = ["macros"] }
serial_test = "0.5"
criterion = "0.3"
[features]
default = []
tokio-io = ["tokio"]
test-fluent = []
[[bench]]
name = "preferences"
harness = false
required-features = ["tokio", "test-fluent"]
[[bench]]
name = "localization"
harness = false
required-features = ["tokio", "test-fluent"]
[[bench]]
name = "source"
harness = false
required-features = ["tokio", "test-fluent"]
[[bench]]
name = "solver"
harness = false
required-features = ["tokio", "test-fluent"]
[[bench]]
name = "registry"
harness = false
required-features = ["tokio", "test-fluent"]
[[test]]
name = "source"
path = "tests/source.rs"
required-features = ["tokio", "test-fluent"]
[[test]]
name = "registry"
path = "tests/registry.rs"
required-features = ["tokio", "test-fluent"]
[[test]]
name = "localization"
path = "tests/localization.rs"
required-features = ["tokio", "test-fluent"]
[[test]]
name = "scenarios_sync"
path = "tests/scenarios_sync.rs"
required-features = ["test-fluent"]
[[test]]
name = "scenarios_async"
path = "tests/scenarios_async.rs"
required-features = ["tokio", "test-fluent"]

Просмотреть файл

@ -1,70 +0,0 @@
use criterion::criterion_group;
use criterion::criterion_main;
use criterion::Criterion;
use fluent_bundle::FluentArgs;
use fluent_fallback::{types::L10nKey, Localization};
use fluent_testing::get_scenarios;
use l10nregistry::testing::TestFileFetcher;
fn preferences_bench(c: &mut Criterion) {
let fetcher = TestFileFetcher::new();
let mut group = c.benchmark_group("localization/scenarios");
for scenario in get_scenarios() {
let res_ids = scenario.res_ids.clone();
let l10n_keys: Vec<(String, Option<FluentArgs>)> = scenario
.queries
.iter()
.map(|q| {
(
q.input.id.clone(),
q.input.args.as_ref().map(|args| {
let mut result = FluentArgs::new();
for arg in args.as_slice() {
result.set(arg.id.clone(), arg.value.clone());
}
result
}),
)
})
.collect();
group.bench_function(format!("{}/format_value_sync", scenario.name), |b| {
b.iter(|| {
let (env, reg) = fetcher.get_registry_and_environment(&scenario);
let mut errors = vec![];
let loc = Localization::with_env(res_ids.clone(), true, env.clone(), reg.clone());
let bundles = loc.bundles();
for key in l10n_keys.iter() {
bundles.format_value_sync(&key.0, key.1.as_ref(), &mut errors);
}
})
});
let keys: Vec<L10nKey> = l10n_keys
.into_iter()
.map(|key| L10nKey {
id: key.0.into(),
args: key.1,
})
.collect();
group.bench_function(format!("{}/format_messages_sync", scenario.name), |b| {
b.iter(|| {
let (env, reg) = fetcher.get_registry_and_environment(&scenario);
let mut errors = vec![];
let loc = Localization::with_env(res_ids.clone(), true, env.clone(), reg.clone());
let bundles = loc.bundles();
bundles.format_messages_sync(&keys, &mut errors);
})
});
}
group.finish();
}
criterion_group!(benches, preferences_bench);
criterion_main!(benches);

Просмотреть файл

@ -1,65 +0,0 @@
use criterion::criterion_group;
use criterion::criterion_main;
use criterion::Criterion;
use fluent_testing::get_scenarios;
use l10nregistry::testing::TestFileFetcher;
use unic_langid::LanguageIdentifier;
fn preferences_bench(c: &mut Criterion) {
let fetcher = TestFileFetcher::new();
let mut group = c.benchmark_group("registry/scenarios");
for scenario in get_scenarios() {
let res_ids = scenario.res_ids.clone();
let locales: Vec<LanguageIdentifier> = scenario
.locales
.iter()
.map(|l| l.parse().unwrap())
.collect();
group.bench_function(format!("{}/sync/first_bundle", scenario.name), |b| {
b.iter(|| {
let reg = fetcher.get_registry(&scenario);
let mut bundles =
reg.generate_bundles_sync(locales.clone().into_iter(), res_ids.clone());
for _ in 0..locales.len() {
if bundles.next().is_some() {
break;
}
}
})
});
#[cfg(feature = "tokio")]
{
use futures::stream::StreamExt;
let rt = tokio::runtime::Runtime::new().unwrap();
group.bench_function(&format!("{}/async/first_bundle", scenario.name), |b| {
b.iter(|| {
rt.block_on(async {
let reg = fetcher.get_registry(&scenario);
let mut bundles =
reg.generate_bundles(locales.clone().into_iter(), res_ids.clone());
for _ in 0..locales.len() {
if bundles.next().await.is_some() {
break;
}
}
});
})
});
}
}
group.finish();
}
criterion_group!(benches, preferences_bench);
criterion_main!(benches);

Просмотреть файл

@ -1,133 +0,0 @@
use criterion::criterion_group;
use criterion::criterion_main;
use criterion::Criterion;
use futures::stream::StreamExt;
use l10nregistry::source::ResourceId;
use l10nregistry::testing::{FileSource, RegistrySetup, TestFileFetcher};
use unic_langid::LanguageIdentifier;
fn get_paths() -> Vec<ResourceId> {
let paths: Vec<&'static str> = vec![
"branding/brand.ftl",
"browser/sanitize.ftl",
"browser/preferences/blocklists.ftl",
"browser/preferences/colors.ftl",
"browser/preferences/selectBookmark.ftl",
"browser/preferences/connection.ftl",
"browser/preferences/addEngine.ftl",
"browser/preferences/siteDataSettings.ftl",
"browser/preferences/fonts.ftl",
"browser/preferences/languages.ftl",
"browser/preferences/preferences.ftl",
"security/certificates/certManager.ftl",
"security/certificates/deviceManager.ftl",
"toolkit/global/textActions.ftl",
"toolkit/printing/printUI.ftl",
"toolkit/updates/history.ftl",
"toolkit/featuregates/features.ftl",
];
paths.into_iter().map(ResourceId::from).collect()
}
fn registry_bench(c: &mut Criterion) {
let en_us: LanguageIdentifier = "en-US".parse().unwrap();
let mut group = c.benchmark_group("non-metasource");
let setup = RegistrySetup::new(
"test",
vec![
FileSource::new("toolkit", None, vec![en_us.clone()], "toolkit/{locale}/"),
FileSource::new("browser", None, vec![en_us.clone()], "browser/{locale}/"),
FileSource::new("toolkit", None, vec![en_us.clone()], "toolkit/{locale}/"),
FileSource::new("browser", None, vec![en_us.clone()], "browser/{locale}/"),
],
vec![en_us.clone()],
);
let fetcher = TestFileFetcher::new();
let (_, reg) = fetcher.get_registry_and_environment(setup);
group.bench_function(&format!("serial",), |b| {
b.iter(|| {
let lang_ids = vec![en_us.clone()];
let mut i = reg.generate_bundles_sync(lang_ids.into_iter(), get_paths());
while let Some(_) = i.next() {}
})
});
let rt = tokio::runtime::Runtime::new().unwrap();
group.bench_function(&format!("parallel",), |b| {
b.iter(|| {
let lang_ids = vec![en_us.clone()];
let mut i = reg.generate_bundles(lang_ids.into_iter(), get_paths());
rt.block_on(async { while let Some(_) = i.next().await {} });
})
});
group.finish();
}
fn registry_metasource_bench(c: &mut Criterion) {
let en_us: LanguageIdentifier = "en-US".parse().unwrap();
let mut group = c.benchmark_group("metasource");
let setup = RegistrySetup::new(
"test",
vec![
FileSource::new(
"toolkit",
Some("app"),
vec![en_us.clone()],
"toolkit/{locale}/",
),
FileSource::new(
"browser",
Some("app"),
vec![en_us.clone()],
"browser/{locale}/",
),
FileSource::new(
"toolkit",
Some("langpack"),
vec![en_us.clone()],
"toolkit/{locale}/",
),
FileSource::new(
"browser",
Some("langpack"),
vec![en_us.clone()],
"browser/{locale}/",
),
],
vec![en_us.clone()],
);
let fetcher = TestFileFetcher::new();
let (_, reg) = fetcher.get_registry_and_environment(setup);
group.bench_function(&format!("serial",), |b| {
b.iter(|| {
let lang_ids = vec![en_us.clone()];
let mut i = reg.generate_bundles_sync(lang_ids.into_iter(), get_paths());
while let Some(_) = i.next() {}
})
});
let rt = tokio::runtime::Runtime::new().unwrap();
group.bench_function(&format!("parallel",), |b| {
b.iter(|| {
let lang_ids = vec![en_us.clone()];
let mut i = reg.generate_bundles(lang_ids.into_iter(), get_paths());
rt.block_on(async { while let Some(_) = i.next().await {} });
})
});
group.finish();
}
criterion_group!(
name = benches;
config = Criterion::default().sample_size(10);
targets = registry_bench, registry_metasource_bench
);
criterion_main!(benches);

Просмотреть файл

@ -1,120 +0,0 @@
use criterion::criterion_group;
use criterion::criterion_main;
use criterion::Criterion;
use futures::stream::Collect;
use futures::stream::FuturesOrdered;
use futures::StreamExt;
use l10nregistry::solver::testing::get_scenarios;
use l10nregistry::solver::{AsyncTester, ParallelProblemSolver, SerialProblemSolver, SyncTester};
use std::future::Future;
use std::pin::Pin;
use std::task::{Context, Poll};
pub struct MockTester {
values: Vec<Vec<bool>>,
}
impl SyncTester for MockTester {
fn test_sync(&self, res_idx: usize, source_idx: usize) -> bool {
self.values[res_idx][source_idx]
}
}
pub struct SingleTestResult(bool);
impl Future for SingleTestResult {
type Output = bool;
fn poll(self: Pin<&mut Self>, _cx: &mut Context<'_>) -> Poll<Self::Output> {
self.0.into()
}
}
pub type ResourceSetStream = Collect<FuturesOrdered<SingleTestResult>, Vec<bool>>;
pub struct TestResult(ResourceSetStream);
impl std::marker::Unpin for TestResult {}
impl Future for TestResult {
type Output = Vec<bool>;
fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
let pinned = Pin::new(&mut self.0);
pinned.poll(cx)
}
}
impl AsyncTester for MockTester {
type Result = TestResult;
fn test_async(&self, query: Vec<(usize, usize)>) -> Self::Result {
let futures = query
.into_iter()
.map(|(res_idx, source_idx)| SingleTestResult(self.test_sync(res_idx, source_idx)))
.collect::<Vec<_>>();
TestResult(futures.into_iter().collect::<FuturesOrdered<_>>().collect())
}
}
struct TestStream<'t> {
solver: ParallelProblemSolver<MockTester>,
tester: &'t MockTester,
}
impl<'t> TestStream<'t> {
pub fn new(solver: ParallelProblemSolver<MockTester>, tester: &'t MockTester) -> Self {
Self { solver, tester }
}
}
impl<'t> futures::stream::Stream for TestStream<'t> {
type Item = Vec<usize>;
fn poll_next(
mut self: std::pin::Pin<&mut Self>,
cx: &mut std::task::Context<'_>,
) -> std::task::Poll<Option<Self::Item>> {
let tester = self.tester;
let solver = &mut self.solver;
let pinned = std::pin::Pin::new(solver);
pinned
.try_poll_next(cx, tester, false)
.map(|v| v.ok().flatten())
}
}
fn solver_bench(c: &mut Criterion) {
let scenarios = get_scenarios();
let mut group = c.benchmark_group("solver");
for scenario in scenarios {
let tester = MockTester {
values: scenario.values.clone(),
};
group.bench_function(&format!("serial/{}", &scenario.name), |b| {
b.iter(|| {
let mut gen = SerialProblemSolver::new(scenario.width, scenario.depth);
while let Ok(Some(_)) = gen.try_next(&tester, false) {}
})
});
{
let rt = tokio::runtime::Runtime::new().unwrap();
group.bench_function(&format!("parallel/{}", &scenario.name), |b| {
b.iter(|| {
let gen = ParallelProblemSolver::new(scenario.width, scenario.depth);
let mut t = TestStream::new(gen, &tester);
rt.block_on(async { while let Some(_) = t.next().await {} });
})
});
}
}
group.finish();
}
criterion_group!(benches, solver_bench);
criterion_main!(benches);

Просмотреть файл

@ -1,60 +0,0 @@
use criterion::criterion_group;
use criterion::criterion_main;
use criterion::Criterion;
use fluent_testing::get_scenarios;
use l10nregistry::testing::TestFileFetcher;
use unic_langid::LanguageIdentifier;
fn get_locales<S>(input: &[S]) -> Vec<LanguageIdentifier>
where
S: AsRef<str>,
{
input.iter().map(|s| s.as_ref().parse().unwrap()).collect()
}
fn source_bench(c: &mut Criterion) {
let fetcher = TestFileFetcher::new();
let mut group = c.benchmark_group("source/scenarios");
for scenario in get_scenarios() {
let res_ids = scenario.res_ids.clone();
let locales: Vec<LanguageIdentifier> = get_locales(&scenario.locales);
let sources: Vec<_> = scenario
.file_sources
.iter()
.map(|s| {
fetcher.get_test_file_source(&s.name, None, get_locales(&s.locales), &s.path_scheme)
})
.collect();
group.bench_function(format!("{}/has_file", scenario.name), |b| {
b.iter(|| {
for source in &sources {
for res_id in &res_ids {
source.has_file(&locales[0], &res_id);
}
}
})
});
group.bench_function(format!("{}/sync/fetch_file_sync", scenario.name), |b| {
b.iter(|| {
for source in &sources {
for res_id in &res_ids {
source.fetch_file_sync(&locales[0], &res_id, false);
}
}
})
});
}
group.finish();
}
criterion_group!(benches, source_bench);
criterion_main!(benches);

5
third_party/rust/l10nregistry/src/env.rs поставляемый
Просмотреть файл

@ -1,5 +0,0 @@
use crate::errors::L10nRegistryError;
pub trait ErrorReporter {
fn report_errors(&self, errors: Vec<L10nRegistryError>);
}

74
third_party/rust/l10nregistry/src/errors.rs поставляемый
Просмотреть файл

@ -1,74 +0,0 @@
use fluent_bundle::FluentError;
use fluent_fallback::types::ResourceId;
use std::error::Error;
use unic_langid::LanguageIdentifier;
#[derive(Debug, Clone, PartialEq)]
pub enum L10nRegistryError {
FluentError {
resource_id: ResourceId,
loc: Option<(usize, usize)>,
error: FluentError,
},
MissingResource {
locale: LanguageIdentifier,
resource_id: ResourceId,
},
}
impl std::fmt::Display for L10nRegistryError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Self::MissingResource {
locale,
resource_id,
} => {
write!(
f,
"Missing resource in locale {}: {}",
locale, resource_id.value
)
}
Self::FluentError {
resource_id,
loc,
error,
} => {
if let Some(loc) = loc {
write!(
f,
"Fluent Error in {}[line: {}, col: {}]: {}",
resource_id.value, loc.0, loc.1, error
)
} else {
write!(f, "Fluent Error in {}: {}", resource_id.value, error)
}
}
}
}
}
impl Error for L10nRegistryError {}
#[derive(Debug, Clone, PartialEq)]
pub enum L10nRegistrySetupError {
RegistryLocked,
DuplicatedSource { name: String },
MissingSource { name: String },
}
impl std::fmt::Display for L10nRegistrySetupError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Self::RegistryLocked => write!(f, "Can't modify a registry when locked."),
Self::DuplicatedSource { name } => {
write!(f, "Source with a name {} is already registered.", &name)
}
Self::MissingSource { name } => {
write!(f, "Cannot find a source with a name {}.", &name)
}
}
}
}
impl Error for L10nRegistrySetupError {}

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше