зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1268159 - Use GreD in addition to XCurProcD for browser_misused_characters_in_strings.js to cover more string files. r=gijs
MozReview-Commit-ID: IlC170W0nlG * * * [mq]: temp MozReview-Commit-ID: GF0k4zvONPD
This commit is contained in:
Родитель
275983966f
Коммит
e889366796
|
@ -324,7 +324,7 @@ add_task(function* checkAdvancedDetailsForHSTS() {
|
||||||
});
|
});
|
||||||
isnot(message.divDisplay, "none", "Debug information is visible");
|
isnot(message.divDisplay, "none", "Debug information is visible");
|
||||||
ok(message.text.includes(badStsUri.spec), "Correct URL found");
|
ok(message.text.includes(badStsUri.spec), "Correct URL found");
|
||||||
ok(message.text.includes("requested domain name does not match the server's certificate"),
|
ok(message.text.includes("requested domain name does not match the server\u2019s certificate"),
|
||||||
"Correct error message found");
|
"Correct error message found");
|
||||||
ok(message.text.includes("HTTP Strict Transport Security: false"),
|
ok(message.text.includes("HTTP Strict Transport Security: false"),
|
||||||
"Correct HSTS value found");
|
"Correct HSTS value found");
|
||||||
|
|
|
@ -1,168 +1,240 @@
|
||||||
/* Any copyright is dedicated to the Public Domain.
|
/* Any copyright is dedicated to the Public Domain.
|
||||||
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||||
|
|
||||||
/* This list allows pre-existing or 'unfixable' issues to remain, while we
|
/* This list allows pre-existing or 'unfixable' issues to remain, while we
|
||||||
* detect newly occurring issues in shipping files. It is a list of objects
|
* detect newly occurring issues in shipping files. It is a list of objects
|
||||||
* specifying conditions under which an error should be ignored.
|
* specifying conditions under which an error should be ignored.
|
||||||
*
|
*
|
||||||
* As each issue is found in the whitelist, it is removed from the list. At
|
* As each issue is found in the whitelist, it is removed from the list. At
|
||||||
* the end of the test, there is an assertion that all items have been
|
* the end of the test, there is an assertion that all items have been
|
||||||
* removed from the whitelist, thus ensuring there are no stale entries. */
|
* removed from the whitelist, thus ensuring there are no stale entries. */
|
||||||
let gWhitelist = [{
|
let gWhitelist = [{
|
||||||
file: "search.properties",
|
file: "search.properties",
|
||||||
key: "searchForSomethingWith",
|
key: "searchForSomethingWith",
|
||||||
type: "single-quote"
|
type: "single-quote"
|
||||||
}, {
|
}, {
|
||||||
file: "browser.dtd",
|
file: "browser.dtd",
|
||||||
key: "social.activated.description",
|
key: "social.activated.description",
|
||||||
type: "single-quote"
|
type: "single-quote"
|
||||||
}, {
|
}, {
|
||||||
file: "netError.dtd",
|
file: "netError.dtd",
|
||||||
key: "certerror.introPara",
|
key: "certerror.introPara",
|
||||||
type: "single-quote"
|
type: "single-quote"
|
||||||
}, {
|
}, {
|
||||||
file: "netError.dtd",
|
file: "netError.dtd",
|
||||||
key: "weakCryptoAdvanced.longDesc",
|
key: "weakCryptoAdvanced.longDesc",
|
||||||
type: "single-quote"
|
type: "single-quote"
|
||||||
}, {
|
}, {
|
||||||
file: "netError.dtd",
|
file: "netError.dtd",
|
||||||
key: "weakCryptoAdvanced.override",
|
key: "weakCryptoAdvanced.override",
|
||||||
type: "single-quote"
|
type: "single-quote"
|
||||||
}, {
|
}, {
|
||||||
file: "netError.dtd",
|
file: "netError.dtd",
|
||||||
key: "inadequateSecurityError.longDesc",
|
key: "inadequateSecurityError.longDesc",
|
||||||
type: "single-quote"
|
type: "single-quote"
|
||||||
}, {
|
}, {
|
||||||
file: "netError.dtd",
|
file: "netError.dtd",
|
||||||
key: "certerror.wrongSystemTime",
|
key: "certerror.wrongSystemTime",
|
||||||
type: "single-quote"
|
type: "single-quote"
|
||||||
}, {
|
}, {
|
||||||
file: "phishing-afterload-warning-message.dtd",
|
file: "phishing-afterload-warning-message.dtd",
|
||||||
key: "safeb.blocked.malwarePage.shortDesc",
|
key: "safeb.blocked.malwarePage.shortDesc",
|
||||||
type: "single-quote"
|
type: "single-quote"
|
||||||
}, {
|
}, {
|
||||||
file: "phishing-afterload-warning-message.dtd",
|
file: "phishing-afterload-warning-message.dtd",
|
||||||
key: "safeb.blocked.unwantedPage.shortDesc",
|
key: "safeb.blocked.unwantedPage.shortDesc",
|
||||||
type: "single-quote"
|
type: "single-quote"
|
||||||
}, {
|
}, {
|
||||||
file: "phishing-afterload-warning-message.dtd",
|
file: "phishing-afterload-warning-message.dtd",
|
||||||
key: "safeb.blocked.phishingPage.shortDesc2",
|
key: "safeb.blocked.phishingPage.shortDesc2",
|
||||||
type: "single-quote"
|
type: "single-quote"
|
||||||
}, {
|
}, {
|
||||||
file: "phishing-afterload-warning-message.dtd",
|
file: "phishing-afterload-warning-message.dtd",
|
||||||
key: "safeb.blocked.forbiddenPage.shortDesc2",
|
key: "safeb.blocked.forbiddenPage.shortDesc2",
|
||||||
type: "single-quote"
|
type: "single-quote"
|
||||||
}
|
}, {
|
||||||
];
|
file: "mathfont.properties",
|
||||||
|
key: "operator.\\u002E\\u002E\\u002E.postfix",
|
||||||
var moduleLocation = gTestPath.replace(/\/[^\/]*$/i, "/parsingTestHelpers.jsm");
|
type: "ellipsis"
|
||||||
var {generateURIsFromDirTree} = Cu.import(moduleLocation, {});
|
}, {
|
||||||
|
file: "layout_errors.properties",
|
||||||
/**
|
key: "ImageMapRectBoundsError",
|
||||||
* Check if an error should be ignored due to matching one of the whitelist
|
type: "double-quote"
|
||||||
* objects defined in gWhitelist.
|
}, {
|
||||||
*
|
file: "layout_errors.properties",
|
||||||
* @param filepath The URI spec of the locale file
|
key: "ImageMapCircleWrongNumberOfCoords",
|
||||||
* @param key The key of the entity that is being checked
|
type: "double-quote"
|
||||||
* @param type The type of error that has been found
|
}, {
|
||||||
* @return true if the error should be ignored, false otherwise.
|
file: "layout_errors.properties",
|
||||||
*/
|
key: "ImageMapCircleNegativeRadius",
|
||||||
function ignoredError(filepath, key, type) {
|
type: "double-quote"
|
||||||
for (let index in gWhitelist) {
|
}, {
|
||||||
let whitelistItem = gWhitelist[index];
|
file: "layout_errors.properties",
|
||||||
if (filepath.endsWith(whitelistItem.file) &&
|
key: "ImageMapPolyWrongNumberOfCoords",
|
||||||
key == whitelistItem.key &&
|
type: "double-quote"
|
||||||
type == whitelistItem.type) {
|
}, {
|
||||||
gWhitelist.splice(index, 1);
|
file: "layout_errors.properties",
|
||||||
return true;
|
key: "ImageMapPolyOddNumberOfCoords",
|
||||||
}
|
type: "double-quote"
|
||||||
}
|
}, {
|
||||||
return false;
|
file: "xbl.properties",
|
||||||
}
|
key: "CommandNotInChrome",
|
||||||
|
type: "double-quote"
|
||||||
function fetchFile(uri) {
|
}, {
|
||||||
return new Promise((resolve, reject) => {
|
file: "dom.properties",
|
||||||
let xhr = new XMLHttpRequest();
|
key: "PatternAttributeCompileFailure",
|
||||||
xhr.open("GET", uri, true);
|
type: "single-quote"
|
||||||
xhr.onreadystatechange = function() {
|
}, {
|
||||||
if (this.readyState != this.DONE) {
|
file: "pipnss.properties",
|
||||||
return;
|
key: "certErrorMismatchSingle2",
|
||||||
}
|
type: "double-quote"
|
||||||
try {
|
}, {
|
||||||
resolve(this.responseText);
|
file: "pipnss.properties",
|
||||||
} catch (ex) {
|
key: "certErrorCodePrefix2",
|
||||||
ok(false, `Script error reading ${uri}: ${ex}`);
|
type: "double-quote"
|
||||||
resolve("");
|
}, {
|
||||||
}
|
file: "aboutSupport.dtd",
|
||||||
};
|
key: "aboutSupport.pageSubtitle",
|
||||||
xhr.onerror = error => {
|
type: "single-quote"
|
||||||
ok(false, `XHR error reading ${uri}: ${error}`);
|
}, {
|
||||||
resolve("");
|
file: "aboutSupport.dtd",
|
||||||
};
|
key: "aboutSupport.userJSDescription",
|
||||||
xhr.send(null);
|
type: "single-quote"
|
||||||
});
|
}, {
|
||||||
}
|
file: "netError.dtd",
|
||||||
|
key: "inadequateSecurityError.longDesc",
|
||||||
function testForError(filepath, key, str, pattern, type, helpText) {
|
type: "single-quote"
|
||||||
if (str.match(pattern) &&
|
}, {
|
||||||
!ignoredError(filepath, key, type)) {
|
file: "netErrorApp.dtd",
|
||||||
ok(false, `${filepath} with key=${key} has a misused ${type}. ${helpText}`);
|
key: "securityOverride.warningContent",
|
||||||
}
|
type: "single-quote"
|
||||||
}
|
}
|
||||||
|
];
|
||||||
function testForErrors(filepath, key, str) {
|
|
||||||
testForError(filepath, key, str, /\w'\w/, "apostrophe", "Strings with apostrophes should use foo\u2019s instead of foo's.");
|
var moduleLocation = gTestPath.replace(/\/[^\/]*$/i, "/parsingTestHelpers.jsm");
|
||||||
testForError(filepath, key, str, /\w\u2018\w/, "incorrect-apostrophe", "Strings with apostrophes should use foo\u2019s instead of foo\u2018s.");
|
var {generateURIsFromDirTree} = Cu.import(moduleLocation, {});
|
||||||
testForError(filepath, key, str, /'.+'/, "single-quote", "Single-quoted strings should use Unicode \u2018foo\u2019 instead of 'foo'.");
|
|
||||||
testForError(filepath, key, str, /"/, "double-quote", "Double-quoted strings should use Unicode \u201cfoo\u201d instead of \"foo\".");
|
/**
|
||||||
testForError(filepath, key, str, /\.\.\./, "ellipsis", "Strings with an ellipsis should use the Unicode \u2026 character instead of three periods.");
|
* Check if an error should be ignored due to matching one of the whitelist
|
||||||
}
|
* objects defined in gWhitelist.
|
||||||
|
*
|
||||||
add_task(function* checkAllTheProperties() {
|
* @param filepath The URI spec of the locale file
|
||||||
let appDir = Services.dirsvc.get("XCurProcD", Ci.nsIFile);
|
* @param key The key of the entity that is being checked
|
||||||
// This asynchronously produces a list of URLs (sadly, mostly sync on our
|
* @param type The type of error that has been found
|
||||||
// test infrastructure because it runs against jarfiles there, and
|
* @return true if the error should be ignored, false otherwise.
|
||||||
// our zipreader APIs are all sync)
|
*/
|
||||||
let uris = yield generateURIsFromDirTree(appDir, [".properties"]);
|
function ignoredError(filepath, key, type) {
|
||||||
ok(uris.length, `Found ${uris.length} .properties files to scan for misused characters`);
|
for (let index in gWhitelist) {
|
||||||
|
let whitelistItem = gWhitelist[index];
|
||||||
for (let uri of uris) {
|
if (filepath.endsWith(whitelistItem.file) &&
|
||||||
let bundle = new StringBundle(uri.spec);
|
key == whitelistItem.key &&
|
||||||
let entities = bundle.getAll();
|
type == whitelistItem.type) {
|
||||||
for (let entity of entities) {
|
gWhitelist.splice(index, 1);
|
||||||
testForErrors(uri.spec, entity.key, entity.value);
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
return false;
|
||||||
|
}
|
||||||
var checkDTD = Task.async(function* (aURISpec) {
|
|
||||||
let rawContents = yield fetchFile(aURISpec);
|
function fetchFile(uri) {
|
||||||
// The regular expression below is adapted from:
|
return new Promise((resolve, reject) => {
|
||||||
// https://hg.mozilla.org/mozilla-central/file/68c0b7d6f16ce5bb023e08050102b5f2fe4aacd8/python/compare-locales/compare_locales/parser.py#l233
|
let xhr = new XMLHttpRequest();
|
||||||
let entities = rawContents.match(/<!ENTITY\s+([\w\.]*)\s+("[^"]*"|'[^']*')\s*>/g);
|
xhr.open("GET", uri, true);
|
||||||
for (let entity of entities) {
|
xhr.onreadystatechange = function() {
|
||||||
let [, key, str] = entity.match(/<!ENTITY\s+([\w\.]*)\s+("[^"]*"|'[^']*')\s*>/);
|
if (this.readyState != this.DONE) {
|
||||||
// The matched string includes the enclosing quotation marks,
|
return;
|
||||||
// we need to slice them off.
|
}
|
||||||
str = str.slice(1, -1);
|
try {
|
||||||
testForErrors(aURISpec, key, str);
|
resolve(this.responseText);
|
||||||
}
|
} catch (ex) {
|
||||||
});
|
ok(false, `Script error reading ${uri}: ${ex}`);
|
||||||
|
resolve("");
|
||||||
add_task(function* checkAllTheDTDs() {
|
}
|
||||||
let appDir = Services.dirsvc.get("XCurProcD", Ci.nsIFile);
|
};
|
||||||
let uris = yield generateURIsFromDirTree(appDir, [".dtd"]);
|
xhr.onerror = error => {
|
||||||
ok(uris.length, `Found ${uris.length} .dtd files to scan for misused characters`);
|
ok(false, `XHR error reading ${uri}: ${error}`);
|
||||||
for (let uri of uris) {
|
resolve("");
|
||||||
yield checkDTD(uri.spec);
|
};
|
||||||
}
|
xhr.send(null);
|
||||||
|
});
|
||||||
// This support DTD file supplies a string with a newline to make sure
|
}
|
||||||
// the regex in checkDTD works correctly for that case.
|
|
||||||
let dtdLocation = gTestPath.replace(/\/[^\/]*$/i, "/bug1262648_string_with_newlines.dtd");
|
function testForError(filepath, key, str, pattern, type, helpText) {
|
||||||
yield checkDTD(dtdLocation);
|
if (str.match(pattern) &&
|
||||||
});
|
!ignoredError(filepath, key, type)) {
|
||||||
|
ok(false, `${filepath} with key=${key} has a misused ${type}. ${helpText}`);
|
||||||
add_task(function* ensureWhiteListIsEmpty() {
|
}
|
||||||
is(gWhitelist.length, 0, "No remaining whitelist entries exist");
|
}
|
||||||
});
|
|
||||||
|
function testForErrors(filepath, key, str) {
|
||||||
|
testForError(filepath, key, str, /\w'\w/, "apostrophe", "Strings with apostrophes should use foo\u2019s instead of foo's.");
|
||||||
|
testForError(filepath, key, str, /\w\u2018\w/, "incorrect-apostrophe", "Strings with apostrophes should use foo\u2019s instead of foo\u2018s.");
|
||||||
|
testForError(filepath, key, str, /'.+'/, "single-quote", "Single-quoted strings should use Unicode \u2018foo\u2019 instead of 'foo'.");
|
||||||
|
testForError(filepath, key, str, /"/, "double-quote", "Double-quoted strings should use Unicode \u201cfoo\u201d instead of \"foo\".");
|
||||||
|
testForError(filepath, key, str, /\.\.\./, "ellipsis", "Strings with an ellipsis should use the Unicode \u2026 character instead of three periods.");
|
||||||
|
}
|
||||||
|
|
||||||
|
function* getAllTheFiles(extension) {
|
||||||
|
let appDirGreD = Services.dirsvc.get("GreD", Ci.nsIFile);
|
||||||
|
let appDirXCurProcD = Services.dirsvc.get("XCurProcD", Ci.nsIFile);
|
||||||
|
if (appDirGreD.contains(appDirXCurProcD)) {
|
||||||
|
return yield generateURIsFromDirTree(appDirGreD, [extension]);
|
||||||
|
}
|
||||||
|
if (appDirXCurProcD.contains(appDirGreD)) {
|
||||||
|
return yield generateURIsFromDirTree(appDirXCurProcD, [extension]);
|
||||||
|
}
|
||||||
|
let urisGreD = yield generateURIsFromDirTree(appDirGreD, [extension]);
|
||||||
|
let urisXCurProcD = yield generateURIsFromDirTree(appDirXCurProcD, [extension]);
|
||||||
|
return Array.from(new Set(urisGreD.concat(appDirXCurProcD)));
|
||||||
|
}
|
||||||
|
|
||||||
|
add_task(function* checkAllTheProperties() {
|
||||||
|
// This asynchronously produces a list of URLs (sadly, mostly sync on our
|
||||||
|
// test infrastructure because it runs against jarfiles there, and
|
||||||
|
// our zipreader APIs are all sync)
|
||||||
|
let uris = yield getAllTheFiles(".properties");
|
||||||
|
ok(uris.length, `Found ${uris.length} .properties files to scan for misused characters`);
|
||||||
|
|
||||||
|
for (let uri of uris) {
|
||||||
|
let bundle = new StringBundle(uri.spec);
|
||||||
|
let entities = bundle.getAll();
|
||||||
|
for (let entity of entities) {
|
||||||
|
testForErrors(uri.spec, entity.key, entity.value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var checkDTD = Task.async(function* (aURISpec) {
|
||||||
|
let rawContents = yield fetchFile(aURISpec);
|
||||||
|
// The regular expression below is adapted from:
|
||||||
|
// https://hg.mozilla.org/mozilla-central/file/68c0b7d6f16ce5bb023e08050102b5f2fe4aacd8/python/compare-locales/compare_locales/parser.py#l233
|
||||||
|
let entities = rawContents.match(/<!ENTITY\s+([\w\.]*)\s+("[^"]*"|'[^']*')\s*>/g);
|
||||||
|
if (!entities) {
|
||||||
|
// Some files, such as requestAutocomplete.dtd, have no entities defined.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (let entity of entities) {
|
||||||
|
let [, key, str] = entity.match(/<!ENTITY\s+([\w\.]*)\s+("[^"]*"|'[^']*')\s*>/);
|
||||||
|
// The matched string includes the enclosing quotation marks,
|
||||||
|
// we need to slice them off.
|
||||||
|
str = str.slice(1, -1);
|
||||||
|
testForErrors(aURISpec, key, str);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
add_task(function* checkAllTheDTDs() {
|
||||||
|
let uris = yield getAllTheFiles(".dtd");
|
||||||
|
ok(uris.length, `Found ${uris.length} .dtd files to scan for misused characters`);
|
||||||
|
for (let uri of uris) {
|
||||||
|
yield checkDTD(uri.spec);
|
||||||
|
}
|
||||||
|
|
||||||
|
// This support DTD file supplies a string with a newline to make sure
|
||||||
|
// the regex in checkDTD works correctly for that case.
|
||||||
|
let dtdLocation = gTestPath.replace(/\/[^\/]*$/i, "/bug1262648_string_with_newlines.dtd");
|
||||||
|
yield checkDTD(dtdLocation);
|
||||||
|
});
|
||||||
|
|
||||||
|
add_task(function* ensureWhiteListIsEmpty() {
|
||||||
|
is(gWhitelist.length, 0, "No remaining whitelist entries exist");
|
||||||
|
});
|
||||||
|
|
|
@ -8,8 +8,8 @@
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
const EXPECTED_RESULT = "Not supporting directive 'reflected-xss'. Directive " +
|
const EXPECTED_RESULT = "Not supporting directive \u2018reflected-xss\u2019. " +
|
||||||
"and values will be ignored.";
|
"Directive and values will be ignored.";
|
||||||
const TEST_FILE = "http://example.com/browser/devtools/client/webconsole/" +
|
const TEST_FILE = "http://example.com/browser/devtools/client/webconsole/" +
|
||||||
"test/test_bug1045902_console_csp_ignore_reflected_xss_" +
|
"test/test_bug1045902_console_csp_ignore_reflected_xss_" +
|
||||||
"message.html";
|
"message.html";
|
||||||
|
@ -40,13 +40,13 @@ function testViolationMessage() {
|
||||||
let aOutputNode = hud.outputNode;
|
let aOutputNode = hud.outputNode;
|
||||||
|
|
||||||
return waitForSuccess({
|
return waitForSuccess({
|
||||||
name: "Confirming that CSP logs messages to the console when " +
|
name: "Confirming that CSP logs messages to the console when " +
|
||||||
"'reflected-xss' directive is used!",
|
"\u2018reflected-xss\u2019 directive is used!",
|
||||||
validator: function() {
|
validator: function() {
|
||||||
console.log(aOutputNode.textContent);
|
console.log(aOutputNode.textContent);
|
||||||
let success = false;
|
let success = false;
|
||||||
success = aOutputNode.textContent.indexOf(EXPECTED_RESULT) > -1;
|
success = aOutputNode.textContent.indexOf(EXPECTED_RESULT) > -1;
|
||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,7 @@ function test() {
|
||||||
severity: SEVERITY_ERROR,
|
severity: SEVERITY_ERROR,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: "Unknown property 'test-color'",
|
text: "Unknown property \u2018test-color\u2019",
|
||||||
category: CATEGORY_CSS,
|
category: CATEGORY_CSS,
|
||||||
severity: SEVERITY_WARNING,
|
severity: SEVERITY_WARNING,
|
||||||
},
|
},
|
||||||
|
|
|
@ -31,7 +31,7 @@ add_task(function* () {
|
||||||
{
|
{
|
||||||
name: "Logged mixed active content",
|
name: "Logged mixed active content",
|
||||||
text: "Loading mixed (insecure) active content " +
|
text: "Loading mixed (insecure) active content " +
|
||||||
"\"http://example.com/\" on a secure page",
|
"\u201chttp://example.com/\u201d on a secure page",
|
||||||
category: CATEGORY_SECURITY,
|
category: CATEGORY_SECURITY,
|
||||||
severity: SEVERITY_WARNING,
|
severity: SEVERITY_WARNING,
|
||||||
objects: true,
|
objects: true,
|
||||||
|
@ -39,7 +39,7 @@ add_task(function* () {
|
||||||
{
|
{
|
||||||
name: "Logged mixed passive content - image",
|
name: "Logged mixed passive content - image",
|
||||||
text: "Loading mixed (insecure) display content " +
|
text: "Loading mixed (insecure) display content " +
|
||||||
"\"http://example.com/tests/image/test/mochitest/blue.png\" " +
|
"\u201chttp://example.com/tests/image/test/mochitest/blue.png\u201d " +
|
||||||
"on a secure page",
|
"on a secure page",
|
||||||
category: CATEGORY_SECURITY,
|
category: CATEGORY_SECURITY,
|
||||||
severity: SEVERITY_WARNING,
|
severity: SEVERITY_WARNING,
|
||||||
|
|
|
@ -33,14 +33,14 @@ add_task(function* () {
|
||||||
messages: [
|
messages: [
|
||||||
{
|
{
|
||||||
name: "Logged blocking mixed active content",
|
name: "Logged blocking mixed active content",
|
||||||
text: "Blocked loading mixed active content \"http://example.com/\"",
|
text: "Blocked loading mixed active content \u201chttp://example.com/\u201d",
|
||||||
category: CATEGORY_SECURITY,
|
category: CATEGORY_SECURITY,
|
||||||
severity: SEVERITY_ERROR,
|
severity: SEVERITY_ERROR,
|
||||||
objects: true,
|
objects: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Logged blocking mixed passive content - image",
|
name: "Logged blocking mixed passive content - image",
|
||||||
text: "Blocked loading mixed active content \"http://example.com/\"",
|
text: "Blocked loading mixed active content \u201chttp://example.com/\u201d",
|
||||||
category: CATEGORY_SECURITY,
|
category: CATEGORY_SECURITY,
|
||||||
severity: SEVERITY_ERROR,
|
severity: SEVERITY_ERROR,
|
||||||
objects: true,
|
objects: true,
|
||||||
|
@ -78,7 +78,7 @@ function mixedContentOverrideTest2(hud, browser) {
|
||||||
{
|
{
|
||||||
name: "Logged blocking mixed active content",
|
name: "Logged blocking mixed active content",
|
||||||
text: "Loading mixed (insecure) active content " +
|
text: "Loading mixed (insecure) active content " +
|
||||||
"\"http://example.com/\" on a secure page",
|
"\u201chttp://example.com/\u201d on a secure page",
|
||||||
category: CATEGORY_SECURITY,
|
category: CATEGORY_SECURITY,
|
||||||
severity: SEVERITY_WARNING,
|
severity: SEVERITY_WARNING,
|
||||||
objects: true,
|
objects: true,
|
||||||
|
@ -86,7 +86,7 @@ function mixedContentOverrideTest2(hud, browser) {
|
||||||
{
|
{
|
||||||
name: "Logged blocking mixed passive content - image",
|
name: "Logged blocking mixed passive content - image",
|
||||||
text: "Loading mixed (insecure) display content" +
|
text: "Loading mixed (insecure) display content" +
|
||||||
" \"http://example.com/tests/image/test/mochitest/blue.png\"" +
|
" \u201chttp://example.com/tests/image/test/mochitest/blue.png\u201d" +
|
||||||
" on a secure page",
|
" on a secure page",
|
||||||
category: CATEGORY_SECURITY,
|
category: CATEGORY_SECURITY,
|
||||||
severity: SEVERITY_WARNING,
|
severity: SEVERITY_WARNING,
|
||||||
|
|
|
@ -20,14 +20,14 @@ const TEST_URI = "data:text/html;charset=utf8,Web Console CSP report only " +
|
||||||
"test (bug 1010953)";
|
"test (bug 1010953)";
|
||||||
const TEST_VIOLATION = "http://example.com/browser/devtools/client/" +
|
const TEST_VIOLATION = "http://example.com/browser/devtools/client/" +
|
||||||
"webconsole/test/test_bug_1010953_cspro.html";
|
"webconsole/test/test_bug_1010953_cspro.html";
|
||||||
const CSP_VIOLATION_MSG = "Content Security Policy: The page's settings " +
|
const CSP_VIOLATION_MSG = "Content Security Policy: The page\u2019s settings " +
|
||||||
"blocked the loading of a resource at " +
|
"blocked the loading of a resource at " +
|
||||||
"http://some.example.com/test.png " +
|
"http://some.example.com/test.png " +
|
||||||
"(\"img-src http://example.com\").";
|
"(\u201cimg-src http://example.com\u201d).";
|
||||||
const CSP_REPORT_MSG = "Content Security Policy: The page\'s settings " +
|
const CSP_REPORT_MSG = "Content Security Policy: The page\u2019s settings " +
|
||||||
"observed the loading of a resource at " +
|
"observed the loading of a resource at " +
|
||||||
"http://some.example.com/test_bug_1010953_cspro.js " +
|
"http://some.example.com/test_bug_1010953_cspro.js " +
|
||||||
"(\"script-src http://example.com\"). A CSP report is " +
|
"(\u201cscript-src http://example.com\u201d). A CSP report is " +
|
||||||
"being sent.";
|
"being sent.";
|
||||||
|
|
||||||
add_task(function* () {
|
add_task(function* () {
|
||||||
|
|
|
@ -31,7 +31,7 @@ add_task(function* () {
|
||||||
});
|
});
|
||||||
|
|
||||||
function onContentLoaded() {
|
function onContentLoaded() {
|
||||||
let cssWarning = "Unknown property '-moz-opacity'. Declaration dropped.";
|
let cssWarning = "Unknown property \u2018-moz-opacity\u2019. Declaration dropped.";
|
||||||
|
|
||||||
return waitForMessages({
|
return waitForMessages({
|
||||||
webconsole: hud,
|
webconsole: hud,
|
||||||
|
|
|
@ -224,9 +224,9 @@ function testCssLimits2() {
|
||||||
severity: SEVERITY_WARNING,
|
severity: SEVERITY_WARNING,
|
||||||
}],
|
}],
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
testLogEntry(outputNode, "Unknown property '-moz-foobar0'",
|
testLogEntry(outputNode, "Unknown property \u2018-moz-foobar0\u2019",
|
||||||
"first message is pruned", false, true);
|
"first message is pruned", false, true);
|
||||||
findLogEntry("Unknown property '-moz-foobar1'");
|
findLogEntry("Unknown property \u2018-moz-foobar1\u2019");
|
||||||
// Check if the sentinel entry is still there.
|
// Check if the sentinel entry is still there.
|
||||||
findLogEntry("testing CSS limits");
|
findLogEntry("testing CSS limits");
|
||||||
|
|
||||||
|
|
|
@ -10,10 +10,10 @@
|
||||||
const TEST_URI = "data:text/html;charset=utf8,Web Console CSP violation test";
|
const TEST_URI = "data:text/html;charset=utf8,Web Console CSP violation test";
|
||||||
const TEST_VIOLATION = "https://example.com/browser/devtools/client/" +
|
const TEST_VIOLATION = "https://example.com/browser/devtools/client/" +
|
||||||
"webconsole/test/test_bug_770099_violation.html";
|
"webconsole/test/test_bug_770099_violation.html";
|
||||||
const CSP_VIOLATION_MSG = "Content Security Policy: The page's settings " +
|
const CSP_VIOLATION_MSG = "Content Security Policy: The page\u2019s settings " +
|
||||||
"blocked the loading of a resource at " +
|
"blocked the loading of a resource at " +
|
||||||
"http://some.example.com/test.png (\"default-src " +
|
"http://some.example.com/test.png (\u201cdefault-src " +
|
||||||
"https://example.com\").";
|
"https://example.com\u201d).";
|
||||||
|
|
||||||
add_task(function* () {
|
add_task(function* () {
|
||||||
let { browser } = yield loadTab(TEST_URI);
|
let { browser } = yield loadTab(TEST_URI);
|
||||||
|
|
|
@ -27,12 +27,12 @@ function testViewSource() {
|
||||||
waitForMessages({
|
waitForMessages({
|
||||||
webconsole: hud,
|
webconsole: hud,
|
||||||
messages: [{
|
messages: [{
|
||||||
text: "'font-weight'",
|
text: "\u2018font-weight\u2019",
|
||||||
category: CATEGORY_CSS,
|
category: CATEGORY_CSS,
|
||||||
severity: SEVERITY_WARNING,
|
severity: SEVERITY_WARNING,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: "'color'",
|
text: "\u2018color\u2019",
|
||||||
category: CATEGORY_CSS,
|
category: CATEGORY_CSS,
|
||||||
severity: SEVERITY_WARNING,
|
severity: SEVERITY_WARNING,
|
||||||
}],
|
}],
|
||||||
|
|
|
@ -23,7 +23,7 @@ add_task(function* () {
|
||||||
messages: [
|
messages: [
|
||||||
{
|
{
|
||||||
name: "Logged blocking mixed active content",
|
name: "Logged blocking mixed active content",
|
||||||
text: "Blocked loading mixed active content \"http://example.com/\"",
|
text: "Blocked loading mixed active content \u201chttp://example.com/\u201d",
|
||||||
category: CATEGORY_SECURITY,
|
category: CATEGORY_SECURITY,
|
||||||
severity: SEVERITY_ERROR
|
severity: SEVERITY_ERROR
|
||||||
},
|
},
|
||||||
|
|
|
@ -37,42 +37,42 @@ add_task(function* () {
|
||||||
url: SJS_URL + "?noMaxAge",
|
url: SJS_URL + "?noMaxAge",
|
||||||
name: "No max-age error displayed successfully",
|
name: "No max-age error displayed successfully",
|
||||||
text: "Public-Key-Pins: The site specified a header that did not include " +
|
text: "Public-Key-Pins: The site specified a header that did not include " +
|
||||||
"a 'max-age' directive."
|
"a \u2018max-age\u2019 directive."
|
||||||
}, hud);
|
}, hud);
|
||||||
|
|
||||||
yield* checkForMessage({
|
yield* checkForMessage({
|
||||||
url: SJS_URL + "?invalidIncludeSubDomains",
|
url: SJS_URL + "?invalidIncludeSubDomains",
|
||||||
name: "Invalid includeSubDomains error displayed successfully",
|
name: "Invalid includeSubDomains error displayed successfully",
|
||||||
text: "Public-Key-Pins: The site specified a header that included an " +
|
text: "Public-Key-Pins: The site specified a header that included an " +
|
||||||
"invalid 'includeSubDomains' directive."
|
"invalid \u2018includeSubDomains\u2019 directive."
|
||||||
}, hud);
|
}, hud);
|
||||||
|
|
||||||
yield* checkForMessage({
|
yield* checkForMessage({
|
||||||
url: SJS_URL + "?invalidMaxAge",
|
url: SJS_URL + "?invalidMaxAge",
|
||||||
name: "Invalid max-age error displayed successfully",
|
name: "Invalid max-age error displayed successfully",
|
||||||
text: "Public-Key-Pins: The site specified a header that included an " +
|
text: "Public-Key-Pins: The site specified a header that included an " +
|
||||||
"invalid 'max-age' directive."
|
"invalid \u2018max-age\u2019 directive."
|
||||||
}, hud);
|
}, hud);
|
||||||
|
|
||||||
yield* checkForMessage({
|
yield* checkForMessage({
|
||||||
url: SJS_URL + "?multipleIncludeSubDomains",
|
url: SJS_URL + "?multipleIncludeSubDomains",
|
||||||
name: "Multiple includeSubDomains error displayed successfully",
|
name: "Multiple includeSubDomains error displayed successfully",
|
||||||
text: "Public-Key-Pins: The site specified a header that included " +
|
text: "Public-Key-Pins: The site specified a header that included " +
|
||||||
"multiple 'includeSubDomains' directives."
|
"multiple \u2018includeSubDomains\u2019 directives."
|
||||||
}, hud);
|
}, hud);
|
||||||
|
|
||||||
yield* checkForMessage({
|
yield* checkForMessage({
|
||||||
url: SJS_URL + "?multipleMaxAge",
|
url: SJS_URL + "?multipleMaxAge",
|
||||||
name: "Multiple max-age error displayed successfully",
|
name: "Multiple max-age error displayed successfully",
|
||||||
text: "Public-Key-Pins: The site specified a header that included " +
|
text: "Public-Key-Pins: The site specified a header that included " +
|
||||||
"multiple 'max-age' directives."
|
"multiple \u2018max-age\u2019 directives."
|
||||||
}, hud);
|
}, hud);
|
||||||
|
|
||||||
yield* checkForMessage({
|
yield* checkForMessage({
|
||||||
url: SJS_URL + "?multipleReportURIs",
|
url: SJS_URL + "?multipleReportURIs",
|
||||||
name: "Multiple report-uri error displayed successfully",
|
name: "Multiple report-uri error displayed successfully",
|
||||||
text: "Public-Key-Pins: The site specified a header that included " +
|
text: "Public-Key-Pins: The site specified a header that included " +
|
||||||
"multiple 'report-uri' directives."
|
"multiple \u2018report-uri\u2019 directives."
|
||||||
}, hud);
|
}, hud);
|
||||||
|
|
||||||
// The root used for mochitests is not built-in, so set the relevant pref to
|
// The root used for mochitests is not built-in, so set the relevant pref to
|
||||||
|
|
|
@ -31,35 +31,35 @@ add_task(function* () {
|
||||||
url: SJS_URL + "?noMaxAge",
|
url: SJS_URL + "?noMaxAge",
|
||||||
name: "No max-age error displayed successfully",
|
name: "No max-age error displayed successfully",
|
||||||
text: "Strict-Transport-Security: The site specified a header that did " +
|
text: "Strict-Transport-Security: The site specified a header that did " +
|
||||||
"not include a 'max-age' directive."
|
"not include a \u2018max-age\u2019 directive."
|
||||||
}, hud);
|
}, hud);
|
||||||
|
|
||||||
yield* checkForMessage({
|
yield* checkForMessage({
|
||||||
url: SJS_URL + "?invalidIncludeSubDomains",
|
url: SJS_URL + "?invalidIncludeSubDomains",
|
||||||
name: "Invalid includeSubDomains error displayed successfully",
|
name: "Invalid includeSubDomains error displayed successfully",
|
||||||
text: "Strict-Transport-Security: The site specified a header that " +
|
text: "Strict-Transport-Security: The site specified a header that " +
|
||||||
"included an invalid 'includeSubDomains' directive."
|
"included an invalid \u2018includeSubDomains\u2019 directive."
|
||||||
}, hud);
|
}, hud);
|
||||||
|
|
||||||
yield* checkForMessage({
|
yield* checkForMessage({
|
||||||
url: SJS_URL + "?invalidMaxAge",
|
url: SJS_URL + "?invalidMaxAge",
|
||||||
name: "Invalid max-age error displayed successfully",
|
name: "Invalid max-age error displayed successfully",
|
||||||
text: "Strict-Transport-Security: The site specified a header that " +
|
text: "Strict-Transport-Security: The site specified a header that " +
|
||||||
"included an invalid 'max-age' directive."
|
"included an invalid \u2018max-age\u2019 directive."
|
||||||
}, hud);
|
}, hud);
|
||||||
|
|
||||||
yield* checkForMessage({
|
yield* checkForMessage({
|
||||||
url: SJS_URL + "?multipleIncludeSubDomains",
|
url: SJS_URL + "?multipleIncludeSubDomains",
|
||||||
name: "Multiple includeSubDomains error displayed successfully",
|
name: "Multiple includeSubDomains error displayed successfully",
|
||||||
text: "Strict-Transport-Security: The site specified a header that " +
|
text: "Strict-Transport-Security: The site specified a header that " +
|
||||||
"included multiple 'includeSubDomains' directives."
|
"included multiple \u2018includeSubDomains\u2019 directives."
|
||||||
}, hud);
|
}, hud);
|
||||||
|
|
||||||
yield* checkForMessage({
|
yield* checkForMessage({
|
||||||
url: SJS_URL + "?multipleMaxAge",
|
url: SJS_URL + "?multipleMaxAge",
|
||||||
name: "Multiple max-age error displayed successfully",
|
name: "Multiple max-age error displayed successfully",
|
||||||
text: "Strict-Transport-Security: The site specified a header that " +
|
text: "Strict-Transport-Security: The site specified a header that " +
|
||||||
"included multiple 'max-age' directives."
|
"included multiple \u2018max-age\u2019 directives."
|
||||||
}, hud);
|
}, hud);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ add_task(function* testMessagesAppear() {
|
||||||
messages: [
|
messages: [
|
||||||
{
|
{
|
||||||
name: "Was blocked because tracking protection is enabled",
|
name: "Was blocked because tracking protection is enabled",
|
||||||
text: "The resource at \"http://tracking.example.com/\" was blocked because tracking protection is enabled",
|
text: "The resource at \u201chttp://tracking.example.com/\u201d was blocked because tracking protection is enabled",
|
||||||
category: CATEGORY_SECURITY,
|
category: CATEGORY_SECURITY,
|
||||||
severity: SEVERITY_WARNING,
|
severity: SEVERITY_WARNING,
|
||||||
objects: true,
|
objects: true,
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<title>Bug 1045902 - CSP: Log console message for 'reflected-xss'</title>
|
<title>Bug 1045902 - CSP: Log console message for ‘reflected-xss’</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
Bug 1045902 - CSP: Log console message for 'reflected-xss'
|
Bug 1045902 - CSP: Log console message for ‘reflected-xss’
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -9,7 +9,7 @@ KillScriptLocation=Script: %S
|
||||||
StopScriptButton=Stop script
|
StopScriptButton=Stop script
|
||||||
DebugScriptButton=Debug script
|
DebugScriptButton=Debug script
|
||||||
WaitForScriptButton=Continue
|
WaitForScriptButton=Continue
|
||||||
DontAskAgain=&Don't ask me again
|
DontAskAgain=&Don’t ask me again
|
||||||
JSURLLoadBlockedWarning=Attempt to load a javascript: URL from one host\nin a window displaying content from another host\nwas blocked by the security manager.
|
JSURLLoadBlockedWarning=Attempt to load a javascript: URL from one host\nin a window displaying content from another host\nwas blocked by the security manager.
|
||||||
WindowCloseBlockedWarning=Scripts may not close windows that were not opened by script.
|
WindowCloseBlockedWarning=Scripts may not close windows that were not opened by script.
|
||||||
OnBeforeUnloadTitle=Are you sure?
|
OnBeforeUnloadTitle=Are you sure?
|
||||||
|
@ -57,8 +57,8 @@ SetAttributeNodeNSWarning=Use of setAttributeNodeNS() is deprecated. Use setAttr
|
||||||
RemoveAttributeNodeWarning=Use of removeAttributeNode() is deprecated. Use removeAttribute() instead.
|
RemoveAttributeNodeWarning=Use of removeAttributeNode() is deprecated. Use removeAttribute() instead.
|
||||||
CreateAttributeWarning=Use of document.createAttribute() is deprecated. Use element.setAttribute() instead.
|
CreateAttributeWarning=Use of document.createAttribute() is deprecated. Use element.setAttribute() instead.
|
||||||
CreateAttributeNSWarning=Use of document.createAttributeNS() is deprecated. Use element.setAttributeNS() instead.
|
CreateAttributeNSWarning=Use of document.createAttributeNS() is deprecated. Use element.setAttributeNS() instead.
|
||||||
NodeValueWarning=Use of attributes' nodeValue attribute is deprecated. Use value instead.
|
NodeValueWarning=Use of attributes’ nodeValue attribute is deprecated. Use value instead.
|
||||||
TextContentWarning=Use of attributes' textContent attribute is deprecated. Use value instead.
|
TextContentWarning=Use of attributes’ textContent attribute is deprecated. Use value instead.
|
||||||
EnablePrivilegeWarning=Use of enablePrivilege is deprecated. Please use code that runs with the system principal (e.g. an extension) instead.
|
EnablePrivilegeWarning=Use of enablePrivilege is deprecated. Please use code that runs with the system principal (e.g. an extension) instead.
|
||||||
nsIJSONDecodeDeprecatedWarning=nsIJSON.decode is deprecated. Please use JSON.parse instead.
|
nsIJSONDecodeDeprecatedWarning=nsIJSON.decode is deprecated. Please use JSON.parse instead.
|
||||||
nsIJSONEncodeDeprecatedWarning=nsIJSON.encode is deprecated. Please use JSON.stringify instead.
|
nsIJSONEncodeDeprecatedWarning=nsIJSON.encode is deprecated. Please use JSON.stringify instead.
|
||||||
|
@ -66,7 +66,7 @@ nsIDOMWindowInternalWarning=Use of nsIDOMWindowInternal is deprecated. Use nsIDO
|
||||||
FullscreenDeniedDisabled=Request for fullscreen was denied because Fullscreen API is disabled by user preference.
|
FullscreenDeniedDisabled=Request for fullscreen was denied because Fullscreen API is disabled by user preference.
|
||||||
FullscreenDeniedFocusedPlugin=Request for fullscreen was denied because a windowed plugin is focused.
|
FullscreenDeniedFocusedPlugin=Request for fullscreen was denied because a windowed plugin is focused.
|
||||||
FullscreenDeniedHidden=Request for fullscreen was denied because the document is no longer visible.
|
FullscreenDeniedHidden=Request for fullscreen was denied because the document is no longer visible.
|
||||||
FullscreenDeniedContainerNotAllowed=Request for fullscreen was denied because at least one of the document's containing elements is not an iframe or does not have an "allowfullscreen" attribute.
|
FullscreenDeniedContainerNotAllowed=Request for fullscreen was denied because at least one of the document’s containing elements is not an iframe or does not have an “allowfullscreen” attribute.
|
||||||
FullscreenDeniedNotInputDriven=Request for fullscreen was denied because Element.requestFullscreen() was not called from inside a short running user-generated event handler.
|
FullscreenDeniedNotInputDriven=Request for fullscreen was denied because Element.requestFullscreen() was not called from inside a short running user-generated event handler.
|
||||||
FullscreenDeniedNotInDocument=Request for fullscreen was denied because requesting element is no longer in its document.
|
FullscreenDeniedNotInDocument=Request for fullscreen was denied because requesting element is no longer in its document.
|
||||||
FullscreenDeniedMovedDocument=Request for fullscreen was denied because requesting element has moved document.
|
FullscreenDeniedMovedDocument=Request for fullscreen was denied because requesting element has moved document.
|
||||||
|
@ -77,10 +77,10 @@ FullscreenDeniedNotFocusedTab=Request for fullscreen was denied because requesti
|
||||||
RemovedFullscreenElement=Exited fullscreen because fullscreen element was removed from document.
|
RemovedFullscreenElement=Exited fullscreen because fullscreen element was removed from document.
|
||||||
FocusedWindowedPluginWhileFullscreen=Exited fullscreen because windowed plugin was focused.
|
FocusedWindowedPluginWhileFullscreen=Exited fullscreen because windowed plugin was focused.
|
||||||
HTMLSyncXHRWarning=HTML parsing in XMLHttpRequest is not supported in the synchronous mode.
|
HTMLSyncXHRWarning=HTML parsing in XMLHttpRequest is not supported in the synchronous mode.
|
||||||
InvalidRedirectChannelWarning=Unable to redirect to %S because the channel doesn't implement nsIWritablePropertyBag2.
|
InvalidRedirectChannelWarning=Unable to redirect to %S because the channel doesn’t implement nsIWritablePropertyBag2.
|
||||||
ResponseTypeSyncXHRWarning=Use of XMLHttpRequest's responseType attribute is no longer supported in the synchronous mode in window context.
|
ResponseTypeSyncXHRWarning=Use of XMLHttpRequest’s responseType attribute is no longer supported in the synchronous mode in window context.
|
||||||
WithCredentialsSyncXHRWarning=Use of XMLHttpRequest's withCredentials attribute is no longer supported in the synchronous mode in window context.
|
WithCredentialsSyncXHRWarning=Use of XMLHttpRequest’s withCredentials attribute is no longer supported in the synchronous mode in window context.
|
||||||
TimeoutSyncXHRWarning=Use of XMLHttpRequest's timeout attribute is not supported in the synchronous mode in window context.
|
TimeoutSyncXHRWarning=Use of XMLHttpRequest’s timeout attribute is not supported in the synchronous mode in window context.
|
||||||
JSONCharsetWarning=An attempt was made to declare a non-UTF-8 encoding for JSON retrieved using XMLHttpRequest. Only UTF-8 is supported for decoding JSON.
|
JSONCharsetWarning=An attempt was made to declare a non-UTF-8 encoding for JSON retrieved using XMLHttpRequest. Only UTF-8 is supported for decoding JSON.
|
||||||
# LOCALIZATION NOTE: Do not translate AudioBufferSourceNode
|
# LOCALIZATION NOTE: Do not translate AudioBufferSourceNode
|
||||||
MediaBufferSourceNodeResampleOutOfMemory=Insufficient memory to resample the AudioBufferSourceNode for playback.
|
MediaBufferSourceNodeResampleOutOfMemory=Insufficient memory to resample the AudioBufferSourceNode for playback.
|
||||||
|
@ -97,24 +97,24 @@ MediaElementAudioSourceNodeCrossOrigin=The HTMLMediaElement passed to createMedi
|
||||||
# LOCALIZATION NOTE: Do not translate MediaStream and createMediaStreamSource.
|
# LOCALIZATION NOTE: Do not translate MediaStream and createMediaStreamSource.
|
||||||
MediaStreamAudioSourceNodeCrossOrigin=The MediaStream passed to createMediaStreamSource has a cross-origin resource, the node it will output silence.
|
MediaStreamAudioSourceNodeCrossOrigin=The MediaStream passed to createMediaStreamSource has a cross-origin resource, the node it will output silence.
|
||||||
MediaLoadExhaustedCandidates=All candidate resources failed to load. Media load paused.
|
MediaLoadExhaustedCandidates=All candidate resources failed to load. Media load paused.
|
||||||
MediaLoadSourceMissingSrc=<source> element has no "src" attribute. Media resource load failed.
|
MediaLoadSourceMissingSrc=<source> element has no “src” attribute. Media resource load failed.
|
||||||
# LOCALIZATION NOTE: %1$S is the Http error code the server returned (e.g. 404, 500, etc), %2$S is the URL of the media resource which failed to load.
|
# LOCALIZATION NOTE: %1$S is the Http error code the server returned (e.g. 404, 500, etc), %2$S is the URL of the media resource which failed to load.
|
||||||
MediaLoadHttpError=HTTP load failed with status %1$S. Load of media resource %2$S failed.
|
MediaLoadHttpError=HTTP load failed with status %1$S. Load of media resource %2$S failed.
|
||||||
# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load.
|
# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load.
|
||||||
MediaLoadInvalidURI=Invalid URI. Load of media resource %S failed.
|
MediaLoadInvalidURI=Invalid URI. Load of media resource %S failed.
|
||||||
# LOCALIZATION NOTE: %1$S is the media resource's format/codec type (basically equivalent to the file type, e.g. MP4,AVI,WMV,MOV etc), %2$S is the URL of the media resource which failed to load.
|
# LOCALIZATION NOTE: %1$S is the media resource's format/codec type (basically equivalent to the file type, e.g. MP4,AVI,WMV,MOV etc), %2$S is the URL of the media resource which failed to load.
|
||||||
MediaLoadUnsupportedTypeAttribute=Specified "type" attribute of "%1$S" is not supported. Load of media resource %2$S failed.
|
MediaLoadUnsupportedTypeAttribute=Specified “type” attribute of “%1$S” is not supported. Load of media resource %2$S failed.
|
||||||
# LOCALIZATION NOTE: %1$S is the "media" attribute value of the <source> element. It is a media query. %2$S is the URL of the media resource which failed to load.
|
# LOCALIZATION NOTE: %1$S is the "media" attribute value of the <source> element. It is a media query. %2$S is the URL of the media resource which failed to load.
|
||||||
MediaLoadSourceMediaNotMatched=Specified "media" attribute of "%1$S" does not match the environment. Load of media resource %2$S failed.
|
MediaLoadSourceMediaNotMatched=Specified “media” attribute of “%1$S” does not match the environment. Load of media resource %2$S failed.
|
||||||
# LOCALIZATION NOTE: %1$S is the MIME type HTTP header being sent by the web server, %2$S is the URL of the media resource which failed to load.
|
# LOCALIZATION NOTE: %1$S is the MIME type HTTP header being sent by the web server, %2$S is the URL of the media resource which failed to load.
|
||||||
MediaLoadUnsupportedMimeType=HTTP "Content-Type" of "%1$S" is not supported. Load of media resource %2$S failed.
|
MediaLoadUnsupportedMimeType=HTTP “Content-Type” of “%1$S” is not supported. Load of media resource %2$S failed.
|
||||||
# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load because of error in decoding.
|
# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load because of error in decoding.
|
||||||
MediaLoadDecodeError=Media resource %S could not be decoded.
|
MediaLoadDecodeError=Media resource %S could not be decoded.
|
||||||
MediaWidevineNoWMFNoSilverlight=Trying to play Widevine with no Windows Media Foundation (nor Silverlight fallback), see https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
|
MediaWidevineNoWMFNoSilverlight=Trying to play Widevine with no Windows Media Foundation (nor Silverlight fallback), see https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
|
||||||
# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
|
# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
|
||||||
MediaWMFNeeded=To play video formats %S, you need to install extra Microsoft software, see https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
|
MediaWMFNeeded=To play video formats %S, you need to install extra Microsoft software, see https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
|
||||||
# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
|
# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
|
||||||
MediaPlatformDecoderNotFound=The video on this page can't be played. Your system may not have the required video codecs for: %S
|
MediaPlatformDecoderNotFound=The video on this page can’t be played. Your system may not have the required video codecs for: %S
|
||||||
# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
|
# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
|
||||||
MediaCannotPlayNoDecoders=Cannot play media. No decoders for requested formats: %S
|
MediaCannotPlayNoDecoders=Cannot play media. No decoders for requested formats: %S
|
||||||
# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
|
# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
|
||||||
|
@ -126,7 +126,7 @@ MediaStreamAddTrackDifferentAudioChannel=MediaStreamTrack %S could not be added
|
||||||
# LOCALIZATION NOTE: Do not translate "MediaStream", "stop()" and "MediaStreamTrack"
|
# LOCALIZATION NOTE: Do not translate "MediaStream", "stop()" and "MediaStreamTrack"
|
||||||
MediaStreamStopDeprecatedWarning=MediaStream.stop() is deprecated and will soon be removed. Use MediaStreamTrack.stop() instead.
|
MediaStreamStopDeprecatedWarning=MediaStream.stop() is deprecated and will soon be removed. Use MediaStreamTrack.stop() instead.
|
||||||
# LOCALIZATION NOTE: Do not translate "DOMException", "code" and "name"
|
# LOCALIZATION NOTE: Do not translate "DOMException", "code" and "name"
|
||||||
DOMExceptionCodeWarning=Use of DOMException's code attribute is deprecated. Use name instead.
|
DOMExceptionCodeWarning=Use of DOMException’s code attribute is deprecated. Use name instead.
|
||||||
# LOCALIZATION NOTE: Do not translate "__exposedProps__"
|
# LOCALIZATION NOTE: Do not translate "__exposedProps__"
|
||||||
NoExposedPropsWarning=Exposing chrome JS objects to content without __exposedProps__ is insecure and deprecated. See https://developer.mozilla.org/en/XPConnect_wrappers for more information.
|
NoExposedPropsWarning=Exposing chrome JS objects to content without __exposedProps__ is insecure and deprecated. See https://developer.mozilla.org/en/XPConnect_wrappers for more information.
|
||||||
# LOCALIZATION NOTE: Do not translate "Mutation Event" and "MutationObserver"
|
# LOCALIZATION NOTE: Do not translate "Mutation Event" and "MutationObserver"
|
||||||
|
@ -139,11 +139,11 @@ PluginHangUIWaitButton=Continue
|
||||||
PluginHangUIStopButton=Stop plugin
|
PluginHangUIStopButton=Stop plugin
|
||||||
PrefixedFullscreenAPIWarning=Prefixed Fullscreen API is deprecated. Please use unprefixed API for fullscreen. For more help https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API
|
PrefixedFullscreenAPIWarning=Prefixed Fullscreen API is deprecated. Please use unprefixed API for fullscreen. For more help https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API
|
||||||
# LOCALIZATION NOTE: Do not translate "mozHidden", "mozVisibilityState", "hidden", or "visibilityState"
|
# LOCALIZATION NOTE: Do not translate "mozHidden", "mozVisibilityState", "hidden", or "visibilityState"
|
||||||
PrefixedVisibilityAPIWarning='mozHidden' and 'mozVisibilityState' are deprecated. Please use the unprefixed 'hidden' and 'visibilityState' instead.
|
PrefixedVisibilityAPIWarning=‘mozHidden’ and ‘mozVisibilityState’ are deprecated. Please use the unprefixed ‘hidden’ and ‘visibilityState’ instead.
|
||||||
# LOCALIZATION NOTE: Do not translate "NodeIterator" or "detach()".
|
# LOCALIZATION NOTE: Do not translate "NodeIterator" or "detach()".
|
||||||
NodeIteratorDetachWarning=Calling detach() on a NodeIterator no longer has an effect.
|
NodeIteratorDetachWarning=Calling detach() on a NodeIterator no longer has an effect.
|
||||||
# LOCALIZATION NOTE: Do not translate "LenientThis" and "this"
|
# LOCALIZATION NOTE: Do not translate "LenientThis" and "this"
|
||||||
LenientThisWarning=Ignoring get or set of property that has [LenientThis] because the "this" object is incorrect.
|
LenientThisWarning=Ignoring get or set of property that has [LenientThis] because the “this” object is incorrect.
|
||||||
# LOCALIZATION NOTE: Do not translate "nsIDOMWindowUtils", "getWindowWithOuterId", or "nsIWindowMediator"
|
# LOCALIZATION NOTE: Do not translate "nsIDOMWindowUtils", "getWindowWithOuterId", or "nsIWindowMediator"
|
||||||
GetWindowWithOuterIdWarning=Use of nsIDOMWindowUtils.getOuterWindowWithId() is deprecated. Instead, use the nsIWindowMediator method of the same name.
|
GetWindowWithOuterIdWarning=Use of nsIDOMWindowUtils.getOuterWindowWithId() is deprecated. Instead, use the nsIWindowMediator method of the same name.
|
||||||
# LOCALIZATION NOTE: Do not translate "getPreventDefault" or "defaultPrevented".
|
# LOCALIZATION NOTE: Do not translate "getPreventDefault" or "defaultPrevented".
|
||||||
|
@ -163,7 +163,7 @@ ShowModalDialogWarning=Use of window.showModalDialog() is deprecated. Use window
|
||||||
# LOCALIZATION NOTE: Do not translate "window._content" or "window.content"
|
# LOCALIZATION NOTE: Do not translate "window._content" or "window.content"
|
||||||
Window_ContentWarning=window._content is deprecated. Please use window.content instead.
|
Window_ContentWarning=window._content is deprecated. Please use window.content instead.
|
||||||
# LOCALIZATION NOTE: Do not translate "XMLHttpRequest"
|
# LOCALIZATION NOTE: Do not translate "XMLHttpRequest"
|
||||||
SyncXMLHttpRequestWarning=Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help http://xhr.spec.whatwg.org/
|
SyncXMLHttpRequestWarning=Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user’s experience. For more help http://xhr.spec.whatwg.org/
|
||||||
ImplicitMetaViewportTagFallback=No meta-viewport tag found. Please explicitly specify one to prevent unexpected behavioural changes in future versions. For more help https://developer.mozilla.org/en/docs/Mozilla/Mobile/Viewport_meta_tag
|
ImplicitMetaViewportTagFallback=No meta-viewport tag found. Please explicitly specify one to prevent unexpected behavioural changes in future versions. For more help https://developer.mozilla.org/en/docs/Mozilla/Mobile/Viewport_meta_tag
|
||||||
# LOCALIZATION NOTE: Do not translate "DataContainerEvent" or "CustomEvent"
|
# LOCALIZATION NOTE: Do not translate "DataContainerEvent" or "CustomEvent"
|
||||||
DataContainerEventWarning=Use of DataContainerEvent is deprecated. Use CustomEvent instead.
|
DataContainerEventWarning=Use of DataContainerEvent is deprecated. Use CustomEvent instead.
|
||||||
|
@ -183,27 +183,27 @@ PannerNodeDopplerWarning=Use of setVelocity on the PannerNode and AudioListener,
|
||||||
AppCacheWarning=The Application Cache API (AppCache) is deprecated and will be removed at a future date. Please consider using ServiceWorker for offline support.
|
AppCacheWarning=The Application Cache API (AppCache) is deprecated and will be removed at a future date. Please consider using ServiceWorker for offline support.
|
||||||
# LOCALIZATION NOTE: Do not translate "Worker".
|
# LOCALIZATION NOTE: Do not translate "Worker".
|
||||||
EmptyWorkerSourceWarning=Attempting to create a Worker from an empty source. This is probably unintentional.
|
EmptyWorkerSourceWarning=Attempting to create a Worker from an empty source. This is probably unintentional.
|
||||||
WebrtcDeprecatedPrefixWarning=WebRTC interfaces with the "moz" prefix (mozRTCPeerConnection, mozRTCSessionDescription, mozRTCIceCandidate) have been deprecated.
|
WebrtcDeprecatedPrefixWarning=WebRTC interfaces with the “moz” prefix (mozRTCPeerConnection, mozRTCSessionDescription, mozRTCIceCandidate) have been deprecated.
|
||||||
NavigatorGetUserMediaWarning=navigator.mozGetUserMedia has been replaced by navigator.mediaDevices.getUserMedia
|
NavigatorGetUserMediaWarning=navigator.mozGetUserMedia has been replaced by navigator.mediaDevices.getUserMedia
|
||||||
# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL.
|
# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL.
|
||||||
InterceptionFailedWithURL=Failed to load '%S'. A ServiceWorker intercepted the request and encountered an unexpected error.
|
InterceptionFailedWithURL=Failed to load ‘%S’. A ServiceWorker intercepted the request and encountered an unexpected error.
|
||||||
# LOCALIZATION NOTE: Do not translate "ServiceWorker", "FetchEvent.respondWith()", "FetchEvent", "no-cors", "opaque", "Response", or "RequestMode". %1$S is a URL. %2$S is a RequestMode value.
|
# LOCALIZATION NOTE: Do not translate "ServiceWorker", "FetchEvent.respondWith()", "FetchEvent", "no-cors", "opaque", "Response", or "RequestMode". %1$S is a URL. %2$S is a RequestMode value.
|
||||||
BadOpaqueInterceptionRequestModeWithURL=Failed to load '%1$S'. A ServiceWorker passed an opaque Response to FetchEvent.respondWith() while handling a '%2$S' FetchEvent. Opaque Response objects are only valid when the RequestMode is 'no-cors'.
|
BadOpaqueInterceptionRequestModeWithURL=Failed to load ‘%1$S’. A ServiceWorker passed an opaque Response to FetchEvent.respondWith() while handling a ‘%2$S’ FetchEvent. Opaque Response objects are only valid when the RequestMode is ‘no-cors’.
|
||||||
# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Error", "Response", "FetchEvent.respondWith()", or "fetch()". %S is a URL.
|
# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Error", "Response", "FetchEvent.respondWith()", or "fetch()". %S is a URL.
|
||||||
InterceptedErrorResponseWithURL=Failed to load '%S'. A ServiceWorker passed an Error Response to FetchEvent.respondWith(). This typically means the ServiceWorker performed an invalid fetch() call.
|
InterceptedErrorResponseWithURL=Failed to load ‘%S’. A ServiceWorker passed an Error Response to FetchEvent.respondWith(). This typically means the ServiceWorker performed an invalid fetch() call.
|
||||||
# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", or "Response.clone()". %S is a URL.
|
# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", or "Response.clone()". %S is a URL.
|
||||||
InterceptedUsedResponseWithURL=Failed to load '%S'. A ServiceWorker passed a used Response to FetchEvent.respondWith(). The body of a Response may only be read once. Use Response.clone() to access the body multiple times.
|
InterceptedUsedResponseWithURL=Failed to load ‘%S’. A ServiceWorker passed a used Response to FetchEvent.respondWith(). The body of a Response may only be read once. Use Response.clone() to access the body multiple times.
|
||||||
# LOCALIZATION NOTE: Do not translate "ServiceWorker", "opaqueredirect", "Response", "FetchEvent.respondWith()", or "FetchEvent". %s is a URL.
|
# LOCALIZATION NOTE: Do not translate "ServiceWorker", "opaqueredirect", "Response", "FetchEvent.respondWith()", or "FetchEvent". %s is a URL.
|
||||||
BadOpaqueRedirectInterceptionWithURL=Failed to load '%S'. A ServiceWorker passed an opaqueredirect Response to FetchEvent.respondWith() while handling a non-navigation FetchEvent.
|
BadOpaqueRedirectInterceptionWithURL=Failed to load ‘%S’. A ServiceWorker passed an opaqueredirect Response to FetchEvent.respondWith() while handling a non-navigation FetchEvent.
|
||||||
# LOCALIZATION NOTE: Do not translate "ServiceWorker" or "FetchEvent.preventDefault()". %S is a URL.
|
# LOCALIZATION NOTE: Do not translate "ServiceWorker" or "FetchEvent.preventDefault()". %S is a URL.
|
||||||
InterceptionCanceledWithURL=Failed to load '%S'. A ServiceWorker canceled the load by calling FetchEvent.preventDefault().
|
InterceptionCanceledWithURL=Failed to load ‘%S’. A ServiceWorker canceled the load by calling FetchEvent.preventDefault().
|
||||||
# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", or "FetchEvent.respondWith()". %1$S is a URL. %2$S is an error string.
|
# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", or "FetchEvent.respondWith()". %1$S is a URL. %2$S is an error string.
|
||||||
InterceptionRejectedResponseWithURL=Failed to load '%1$S'. A ServiceWorker passed a promise to FetchEvent.respondWith() that rejected with '%2$S'.
|
InterceptionRejectedResponseWithURL=Failed to load ‘%1$S’. A ServiceWorker passed a promise to FetchEvent.respondWith() that rejected with ‘%2$S’.
|
||||||
# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", "FetchEvent.respondWith()", or "Response". %1$S is a URL. %2$S is an error string.
|
# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", "FetchEvent.respondWith()", or "Response". %1$S is a URL. %2$S is an error string.
|
||||||
InterceptedNonResponseWithURL=Failed to load '%1$S'. A ServiceWorker passed a promise to FetchEvent.respondWith() that resolved with non-Response value '%2$S'.
|
InterceptedNonResponseWithURL=Failed to load ‘%1$S’. A ServiceWorker passed a promise to FetchEvent.respondWith() that resolved with non-Response value ‘%2$S’.
|
||||||
# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Service-Worker-Allowed" or "HTTP". %1$S and %2$S are URLs.
|
# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Service-Worker-Allowed" or "HTTP". %1$S and %2$S are URLs.
|
||||||
ServiceWorkerScopePathMismatch=Failed to register a ServiceWorker: The path of the provided scope '%1$S' is not under the max scope allowed '%2$S'. Adjust the scope, move the Service Worker script, or use the Service-Worker-Allowed HTTP header to allow the scope.
|
ServiceWorkerScopePathMismatch=Failed to register a ServiceWorker: The path of the provided scope ‘%1$S’ is not under the max scope allowed ‘%2$S’. Adjust the scope, move the Service Worker script, or use the Service-Worker-Allowed HTTP header to allow the scope.
|
||||||
ExecCommandCutCopyDeniedNotInputDriven=document.execCommand('cut'/'copy') was denied because it was not called from inside a short running user-generated event handler.
|
ExecCommandCutCopyDeniedNotInputDriven=document.execCommand(‘cut’/‘copy’) was denied because it was not called from inside a short running user-generated event handler.
|
||||||
ManifestShouldBeObject=Manifest should be an object.
|
ManifestShouldBeObject=Manifest should be an object.
|
||||||
ManifestScopeURLInvalid=The scope URL is invalid.
|
ManifestScopeURLInvalid=The scope URL is invalid.
|
||||||
ManifestScopeNotSameOrigin=The scope URL must be same origin as document.
|
ManifestScopeNotSameOrigin=The scope URL must be same origin as document.
|
||||||
|
@ -211,15 +211,15 @@ ManifestStartURLOutsideScope=The start URL is outside the scope, so the scope is
|
||||||
ManifestStartURLInvalid=The start URL is invalid.
|
ManifestStartURLInvalid=The start URL is invalid.
|
||||||
ManifestStartURLShouldBeSameOrigin=The start URL must be same origin as document.
|
ManifestStartURLShouldBeSameOrigin=The start URL must be same origin as document.
|
||||||
# LOCALIZATION NOTE: %1$S is the name of the object whose property is invalid. %2$S is the name of the invalid property. %3$S is the expected type of the property value. E.g. "Expected the manifest's start_url member to be a string."
|
# LOCALIZATION NOTE: %1$S is the name of the object whose property is invalid. %2$S is the name of the invalid property. %3$S is the expected type of the property value. E.g. "Expected the manifest's start_url member to be a string."
|
||||||
ManifestInvalidType=Expected the %1$S's %2$S member to be a %3$S.
|
ManifestInvalidType=Expected the %1$S’s %2$S member to be a %3$S.
|
||||||
# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "theme_color: 42 is not a valid CSS color."
|
# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "theme_color: 42 is not a valid CSS color."
|
||||||
ManifestInvalidCSSColor=%1$S: %2$S is not a valid CSS color.
|
ManifestInvalidCSSColor=%1$S: %2$S is not a valid CSS color.
|
||||||
PatternAttributeCompileFailure=Unable to check <input pattern='%S'> because the pattern is not a valid regexp: %S
|
PatternAttributeCompileFailure=Unable to check <input pattern='%S'> because the pattern is not a valid regexp: %S
|
||||||
# LOCALIZATION NOTE: Do not translate "postMessage" or DOMWindow. %S values are origins, like https://domain.com:port
|
# LOCALIZATION NOTE: Do not translate "postMessage" or DOMWindow. %S values are origins, like https://domain.com:port
|
||||||
TargetPrincipalDoesNotMatch=Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('%S') does not match the recipient window's origin ('%S').
|
TargetPrincipalDoesNotMatch=Failed to execute ‘postMessage’ on ‘DOMWindow’: The target origin provided (‘%S’) does not match the recipient window’s origin (‘%S’).
|
||||||
# LOCALIZATION NOTE: Do not translate 'youtube'. %S values are origins, like https://domain.com:port
|
# LOCALIZATION NOTE: Do not translate 'youtube'. %S values are origins, like https://domain.com:port
|
||||||
RewriteYoutubeEmbed=Rewriting old-style Youtube Flash embed (%S) to iframe embed (%S). Please update page to use iframe instead of embed/object, if possible.
|
RewriteYoutubeEmbed=Rewriting old-style Youtube Flash embed (%S) to iframe embed (%S). Please update page to use iframe instead of embed/object, if possible.
|
||||||
# LOCALIZATION NOTE: Do not translate 'youtube'. %S values are origins, like https://domain.com:port
|
# LOCALIZATION NOTE: Do not translate 'youtube'. %S values are origins, like https://domain.com:port
|
||||||
RewriteYoutubeEmbedInvalidQuery=Rewriting old-style Youtube Flash embed (%S) to iframe embed (%S). Query was invalid and removed from URL. Please update page to use iframe instead of embed/object, if possible.
|
RewriteYoutubeEmbedInvalidQuery=Rewriting old-style Youtube Flash embed (%S) to iframe embed (%S). Query was invalid and removed from URL. Please update page to use iframe instead of embed/object, if possible.
|
||||||
# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is the ServiceWorker scope URL. %2$S is an error string.
|
# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is the ServiceWorker scope URL. %2$S is an error string.
|
||||||
PushMessageDecryptionFailure=The ServiceWorker for scope '%1$S' encountered an error decrypting a push message: '%2$S'. For help with encryption, please see https://developer.mozilla.org/en-US/docs/Web/API/Push_API/Using_the_Push_API#Encryption
|
PushMessageDecryptionFailure=The ServiceWorker for scope ‘%1$S’ encountered an error decrypting a push message: ‘%2$S’. For help with encryption, please see https://developer.mozilla.org/en-US/docs/Web/API/Push_API/Using_the_Push_API#Encryption
|
||||||
|
|
|
@ -2,39 +2,39 @@
|
||||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
# 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, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
MimeNotCss=The stylesheet %1$S was not loaded because its MIME type, "%2$S", is not "text/css".
|
MimeNotCss=The stylesheet %1$S was not loaded because its MIME type, “%2$S”, is not “text/css”.
|
||||||
MimeNotCssWarn=The stylesheet %1$S was loaded as CSS even though its MIME type, "%2$S", is not "text/css".
|
MimeNotCssWarn=The stylesheet %1$S was loaded as CSS even though its MIME type, “%2$S”, is not “text/css”.
|
||||||
|
|
||||||
PEUnexpEOF2=Unexpected end of file while searching for %1$S.
|
PEUnexpEOF2=Unexpected end of file while searching for %1$S.
|
||||||
PEParseRuleWSOnly=Whitespace-only string given to be parsed as rule.
|
PEParseRuleWSOnly=Whitespace-only string given to be parsed as rule.
|
||||||
PEDeclDropped=Declaration dropped.
|
PEDeclDropped=Declaration dropped.
|
||||||
PEDeclSkipped=Skipped to next declaration.
|
PEDeclSkipped=Skipped to next declaration.
|
||||||
PEUnknownProperty=Unknown property '%1$S'.
|
PEUnknownProperty=Unknown property ‘%1$S’.
|
||||||
PEValueParsingError=Error in parsing value for '%1$S'.
|
PEValueParsingError=Error in parsing value for ‘%1$S’.
|
||||||
PEExpectEndValue=Expected end of value but found '%1$S'.
|
PEExpectEndValue=Expected end of value but found ‘%1$S’.
|
||||||
PERuleTrailing=Expected end of rule but found '%1$S'.
|
PERuleTrailing=Expected end of rule but found ‘%1$S’.
|
||||||
PESkipAtRuleEOF2=end of at-rule
|
PESkipAtRuleEOF2=end of at-rule
|
||||||
PEUnknownAtRule=Unrecognized at-rule or error parsing at-rule '%1$S'.
|
PEUnknownAtRule=Unrecognized at-rule or error parsing at-rule ‘%1$S’.
|
||||||
PECharsetRuleEOF=charset string in @charset rule
|
PECharsetRuleEOF=charset string in @charset rule
|
||||||
PECharsetRuleNotString=Expected charset string but found '%1$S'.
|
PECharsetRuleNotString=Expected charset string but found ‘%1$S’.
|
||||||
PEGatherMediaEOF=end of media list in @import or @media rule
|
PEGatherMediaEOF=end of media list in @import or @media rule
|
||||||
PEGatherMediaNotComma=Expected ',' in media list but found '%1$S'.
|
PEGatherMediaNotComma=Expected ‘,’ in media list but found ‘%1$S’.
|
||||||
PEGatherMediaNotIdent=Expected identifier in media list but found '%1$S'.
|
PEGatherMediaNotIdent=Expected identifier in media list but found ‘%1$S’.
|
||||||
PEGatherMediaReservedMediaType=Found reserved keyword '%1$S' when looking for media type.
|
PEGatherMediaReservedMediaType=Found reserved keyword ‘%1$S’ when looking for media type.
|
||||||
PEParseSourceSizeListEOF=length value for matched media condition
|
PEParseSourceSizeListEOF=length value for matched media condition
|
||||||
PEParseSourceSizeListNotComma=Expected ',' after value but found '%1$S'
|
PEParseSourceSizeListNotComma=Expected ‘,’ after value but found ‘%1$S’
|
||||||
PEImportNotURI=Expected URI in @import rule but found '%1$S'.
|
PEImportNotURI=Expected URI in @import rule but found ‘%1$S’.
|
||||||
PEImportBadURI=Invalid URI in @import rule: '%1$S'.
|
PEImportBadURI=Invalid URI in @import rule: ‘%1$S’.
|
||||||
PEImportUnexpected=Found unexpected '%1$S' within @import.
|
PEImportUnexpected=Found unexpected ‘%1$S’ within @import.
|
||||||
PEGroupRuleEOF2=end of @media, @supports or @-moz-document rule
|
PEGroupRuleEOF2=end of @media, @supports or @-moz-document rule
|
||||||
PEGroupRuleNestedAtRule=%1$S rule not allowed within @media or @-moz-document rule.
|
PEGroupRuleNestedAtRule=%1$S rule not allowed within @media or @-moz-document rule.
|
||||||
PEMozDocRuleBadFunc2=Expected url(), url-prefix(), domain() or regexp() in @-moz-document rule but found '%1$S'.
|
PEMozDocRuleBadFunc2=Expected url(), url-prefix(), domain() or regexp() in @-moz-document rule but found ‘%1$S’.
|
||||||
PEMozDocRuleNotURI=Expected URI in @-moz-document rule but found '%1$S'.
|
PEMozDocRuleNotURI=Expected URI in @-moz-document rule but found ‘%1$S’.
|
||||||
PEMozDocRuleNotString=Expected string in @-moz-document rule regexp() function but found '%1$S'.
|
PEMozDocRuleNotString=Expected string in @-moz-document rule regexp() function but found ‘%1$S’.
|
||||||
PEMozDocRuleEOF=next URI in @-moz-document rule
|
PEMozDocRuleEOF=next URI in @-moz-document rule
|
||||||
PEAtNSPrefixEOF=namespace prefix in @namespace rule
|
PEAtNSPrefixEOF=namespace prefix in @namespace rule
|
||||||
PEAtNSURIEOF=namespace URI in @namespace rule
|
PEAtNSURIEOF=namespace URI in @namespace rule
|
||||||
PEAtNSUnexpected=Unexpected token within @namespace: '%1$S'.
|
PEAtNSUnexpected=Unexpected token within @namespace: ‘%1$S’.
|
||||||
PEKeyframeNameEOF=name of @keyframes rule.
|
PEKeyframeNameEOF=name of @keyframes rule.
|
||||||
PEKeyframeBadName=Expected identifier for name of @keyframes rule.
|
PEKeyframeBadName=Expected identifier for name of @keyframes rule.
|
||||||
PEKeyframeBrace=Expected opening { of @keyframes rule.
|
PEKeyframeBrace=Expected opening { of @keyframes rule.
|
||||||
|
@ -42,136 +42,136 @@ PESkipDeclBraceEOF=closing } of declaration block
|
||||||
PESkipRSBraceEOF=closing } of invalid rule set
|
PESkipRSBraceEOF=closing } of invalid rule set
|
||||||
PEBadSelectorRSIgnored=Ruleset ignored due to bad selector.
|
PEBadSelectorRSIgnored=Ruleset ignored due to bad selector.
|
||||||
PEBadSelectorKeyframeRuleIgnored=Keyframe rule ignored due to bad selector.
|
PEBadSelectorKeyframeRuleIgnored=Keyframe rule ignored due to bad selector.
|
||||||
PESelectorListExtraEOF=',' or '{'
|
PESelectorListExtraEOF=‘,’ or ‘{’
|
||||||
PESelectorListExtra=Expected ',' or '{' but found '%1$S'.
|
PESelectorListExtra=Expected ‘,’ or ‘{’ but found ‘%1$S’.
|
||||||
PESelectorGroupNoSelector=Selector expected.
|
PESelectorGroupNoSelector=Selector expected.
|
||||||
PESelectorGroupExtraCombinator=Dangling combinator.
|
PESelectorGroupExtraCombinator=Dangling combinator.
|
||||||
PECounterStyleNotIdent=Expected identifier for name of @counter-style rule.
|
PECounterStyleNotIdent=Expected identifier for name of @counter-style rule.
|
||||||
PECounterStyleBadName=Name of @counter-style rule can't be '%1$S'.
|
PECounterStyleBadName=Name of @counter-style rule can’t be ‘%1$S’.
|
||||||
PECounterStyleBadBlockStart=Expected '{' to begin @counter-style rule but found '%1$S'.
|
PECounterStyleBadBlockStart=Expected ‘{’ to begin @counter-style rule but found ‘%1$S’.
|
||||||
PECounterStyleEOF=closing '}' of @counter-style block
|
PECounterStyleEOF=closing ‘}’ of @counter-style block
|
||||||
PECounterDescExpected=Expected counter descriptor but found '%1$S'.
|
PECounterDescExpected=Expected counter descriptor but found ‘%1$S’.
|
||||||
PEUnknownCounterDesc=Unknown descriptor '%1$S' in @counter-style rule.
|
PEUnknownCounterDesc=Unknown descriptor ‘%1$S’ in @counter-style rule.
|
||||||
PECounterExtendsNotIdent=Expected identifier for extends system but found '%1$S'.
|
PECounterExtendsNotIdent=Expected identifier for extends system but found ‘%1$S’.
|
||||||
PECounterASWeight=Each weight in the additive-symbols descriptor must be smaller than the previous weight.
|
PECounterASWeight=Each weight in the additive-symbols descriptor must be smaller than the previous weight.
|
||||||
PEClassSelEOF=class name
|
PEClassSelEOF=class name
|
||||||
PEClassSelNotIdent=Expected identifier for class selector but found '%1$S'.
|
PEClassSelNotIdent=Expected identifier for class selector but found ‘%1$S’.
|
||||||
PECoordinatePair=Expected coordinate pair but found '%1$S'.
|
PECoordinatePair=Expected coordinate pair but found ‘%1$S’.
|
||||||
PETypeSelEOF=element type
|
PETypeSelEOF=element type
|
||||||
PETypeSelNotType=Expected element name or '*' but found '%1$S'.
|
PETypeSelNotType=Expected element name or ‘*’ but found ‘%1$S’.
|
||||||
PEUnknownNamespacePrefix=Unknown namespace prefix '%1$S'.
|
PEUnknownNamespacePrefix=Unknown namespace prefix ‘%1$S’.
|
||||||
PEAttributeNameEOF=attribute name
|
PEAttributeNameEOF=attribute name
|
||||||
PEAttributeNameExpected=Expected identifier for attribute name but found '%1$S'.
|
PEAttributeNameExpected=Expected identifier for attribute name but found ‘%1$S’.
|
||||||
PEAttributeNameOrNamespaceExpected=Expected attribute name or namespace but found '%1$S'.
|
PEAttributeNameOrNamespaceExpected=Expected attribute name or namespace but found ‘%1$S’.
|
||||||
PEAttSelNoBar=Expected '|' but found '%1$S'.
|
PEAttSelNoBar=Expected ‘|’ but found ‘%1$S’.
|
||||||
PEAttSelInnerEOF=part of attribute selector
|
PEAttSelInnerEOF=part of attribute selector
|
||||||
PEAttSelUnexpected=Unexpected token in attribute selector: '%1$S'.
|
PEAttSelUnexpected=Unexpected token in attribute selector: ‘%1$S’.
|
||||||
PEAttSelValueEOF=attribute value
|
PEAttSelValueEOF=attribute value
|
||||||
PEAttSelCloseEOF=']' to end attribute selector
|
PEAttSelCloseEOF=‘]’ to end attribute selector
|
||||||
PEAttSelNoClose=Expected ']' to terminate attribute selector but found '%1$S'.
|
PEAttSelNoClose=Expected ‘]’ to terminate attribute selector but found ‘%1$S’.
|
||||||
PEAttSelBadValue=Expected identifier or string for value in attribute selector but found '%1$S'.
|
PEAttSelBadValue=Expected identifier or string for value in attribute selector but found ‘%1$S’.
|
||||||
PEPseudoSelEOF=name of pseudo-class or pseudo-element
|
PEPseudoSelEOF=name of pseudo-class or pseudo-element
|
||||||
PEPseudoSelBadName=Expected identifier for pseudo-class or pseudo-element but found '%1$S'.
|
PEPseudoSelBadName=Expected identifier for pseudo-class or pseudo-element but found ‘%1$S’.
|
||||||
PEPseudoSelNonFunc=Function token for non-function pseudo-class or pseudo-element, or the other way around, when reading '%1$S'.
|
PEPseudoSelNonFunc=Function token for non-function pseudo-class or pseudo-element, or the other way around, when reading ‘%1$S’.
|
||||||
PEPseudoSelNotPE=Expected pseudo-element but found '%1$S'.
|
PEPseudoSelNotPE=Expected pseudo-element but found ‘%1$S’.
|
||||||
PEPseudoSelDoubleNot=Negation pseudo-class can't be negated '%1$S'.
|
PEPseudoSelDoubleNot=Negation pseudo-class can’t be negated ‘%1$S’.
|
||||||
PEPseudoSelPEInNot=Pseudo-elements can't be negated '%1$S'.
|
PEPseudoSelPEInNot=Pseudo-elements can’t be negated ‘%1$S’.
|
||||||
PEPseudoSelNewStyleOnly=This pseudo-element must use the "::" form: '%1$S'.
|
PEPseudoSelNewStyleOnly=This pseudo-element must use the “::” form: ‘%1$S’.
|
||||||
PEPseudoSelEndOrUserActionPC=Expected end of selector or a user action pseudo-class after pseudo-element but found '%1$S'.
|
PEPseudoSelEndOrUserActionPC=Expected end of selector or a user action pseudo-class after pseudo-element but found ‘%1$S’.
|
||||||
PEPseudoSelNoUserActionPC=Expected end of selector after pseudo-element that does not support user action pseudo-classes but found '%1$S'.
|
PEPseudoSelNoUserActionPC=Expected end of selector after pseudo-element that does not support user action pseudo-classes but found ‘%1$S’.
|
||||||
PEPseudoSelMultiplePE=Extra pseudo-element '%1$S'.
|
PEPseudoSelMultiplePE=Extra pseudo-element ‘%1$S’.
|
||||||
PEPseudoSelUnknown=Unknown pseudo-class or pseudo-element '%1$S'.
|
PEPseudoSelUnknown=Unknown pseudo-class or pseudo-element ‘%1$S’.
|
||||||
PENegationEOF=selector within negation
|
PENegationEOF=selector within negation
|
||||||
PENegationBadInner=Malformed simple selector as negation pseudo-class argument '%1$S'.
|
PENegationBadInner=Malformed simple selector as negation pseudo-class argument ‘%1$S’.
|
||||||
PENegationNoClose=Missing closing ')' in negation pseudo-class '%1$S'.
|
PENegationNoClose=Missing closing ‘)’ in negation pseudo-class ‘%1$S’.
|
||||||
PENegationBadArg=Missing argument in negation pseudo-class '%1$S'.
|
PENegationBadArg=Missing argument in negation pseudo-class ‘%1$S’.
|
||||||
PEPseudoClassArgEOF=argument to pseudo-class selector
|
PEPseudoClassArgEOF=argument to pseudo-class selector
|
||||||
PEPseudoClassArgNotIdent=Expected identifier for pseudo-class parameter but found '%1$S'.
|
PEPseudoClassArgNotIdent=Expected identifier for pseudo-class parameter but found ‘%1$S’.
|
||||||
PEPseudoClassArgNotNth=Expected part of argument to pseudo-class but found '%1$S'.
|
PEPseudoClassArgNotNth=Expected part of argument to pseudo-class but found ‘%1$S’.
|
||||||
PEPseudoClassNoClose=Missing closing ')' in pseudo-class, found '%1$S' instead.
|
PEPseudoClassNoClose=Missing closing ‘)’ in pseudo-class, found ‘%1$S’ instead.
|
||||||
PEPseudoClassNoArg=Missing argument in pseudo-class '%1$S'.
|
PEPseudoClassNoArg=Missing argument in pseudo-class ‘%1$S’.
|
||||||
PEPseudoClassNotUserAction=Expected end of selector or a user action pseudo-class after pseudo-element but found pseudo-class '%1$S'.
|
PEPseudoClassNotUserAction=Expected end of selector or a user action pseudo-class after pseudo-element but found pseudo-class ‘%1$S’.
|
||||||
PESelectorEOF=selector
|
PESelectorEOF=selector
|
||||||
PEBadDeclBlockStart=Expected '{' to begin declaration block but found '%1$S'.
|
PEBadDeclBlockStart=Expected ‘{’ to begin declaration block but found ‘%1$S’.
|
||||||
PEColorEOF=color
|
PEColorEOF=color
|
||||||
PEColorNotColor=Expected color but found '%1$S'.
|
PEColorNotColor=Expected color but found ‘%1$S’.
|
||||||
PEColorComponentEOF=color component
|
PEColorComponentEOF=color component
|
||||||
PEExpectedPercent=Expected a percentage but found '%1$S'.
|
PEExpectedPercent=Expected a percentage but found ‘%1$S’.
|
||||||
PEExpectedInt=Expected an integer but found '%1$S'.
|
PEExpectedInt=Expected an integer but found ‘%1$S’.
|
||||||
PEColorBadRGBContents=Expected number or percentage in rgb() but found '%1$S'.
|
PEColorBadRGBContents=Expected number or percentage in rgb() but found ‘%1$S’.
|
||||||
PEColorComponentBadTerm=Expected '%2$S' but found '%1$S'.
|
PEColorComponentBadTerm=Expected ‘%2$S’ but found ‘%1$S’.
|
||||||
PEColorHueEOF=hue
|
PEColorHueEOF=hue
|
||||||
PEExpectedComma=Expected ',' but found '%1$S'.
|
PEExpectedComma=Expected ‘,’ but found ‘%1$S’.
|
||||||
PEColorSaturationEOF=saturation
|
PEColorSaturationEOF=saturation
|
||||||
PEColorLightnessEOF=lightness
|
PEColorLightnessEOF=lightness
|
||||||
PEColorOpacityEOF=opacity in color value
|
PEColorOpacityEOF=opacity in color value
|
||||||
PEExpectedNumber=Expected a number but found '%1$S'.
|
PEExpectedNumber=Expected a number but found ‘%1$S’.
|
||||||
PEPositionEOF=<position>
|
PEPositionEOF=<position>
|
||||||
PEExpectedPosition=Expected <position> but found '%1$S'.
|
PEExpectedPosition=Expected <position> but found ‘%1$S’.
|
||||||
PEExpectedRadius=Expected radius but found '%1$S'.
|
PEExpectedRadius=Expected radius but found ‘%1$S’.
|
||||||
PEExpectedCloseParen=Expected ')' but found '%1$S'.
|
PEExpectedCloseParen=Expected ‘)’ but found ‘%1$S’.
|
||||||
PEDeclEndEOF=';' or '}' to end declaration
|
PEDeclEndEOF=‘;’ or ‘}’ to end declaration
|
||||||
PEParseDeclarationNoColon=Expected ':' but found '%1$S'.
|
PEParseDeclarationNoColon=Expected ‘:’ but found ‘%1$S’.
|
||||||
PEParseDeclarationDeclExpected=Expected declaration but found '%1$S'.
|
PEParseDeclarationDeclExpected=Expected declaration but found ‘%1$S’.
|
||||||
PEEndOfDeclEOF=end of declaration
|
PEEndOfDeclEOF=end of declaration
|
||||||
PEImportantEOF=important
|
PEImportantEOF=important
|
||||||
PEExpectedImportant=Expected 'important' but found '%1$S'.
|
PEExpectedImportant=Expected ‘important’ but found ‘%1$S’.
|
||||||
PEBadDeclEnd=Expected ';' to terminate declaration but found '%1$S'.
|
PEBadDeclEnd=Expected ‘;’ to terminate declaration but found ‘%1$S’.
|
||||||
PEBadDeclOrRuleEnd2=Expected ';' or '}' to terminate declaration but found '%1$S'.
|
PEBadDeclOrRuleEnd2=Expected ‘;’ or ‘}’ to terminate declaration but found ‘%1$S’.
|
||||||
PEInaccessibleProperty2=Cannot specify value for internal property.
|
PEInaccessibleProperty2=Cannot specify value for internal property.
|
||||||
PECommentEOF=end of comment
|
PECommentEOF=end of comment
|
||||||
SEUnterminatedString=Found unclosed string '%1$S'.
|
SEUnterminatedString=Found unclosed string ‘%1$S’.
|
||||||
PEFontDescExpected=Expected font descriptor but found '%1$S'.
|
PEFontDescExpected=Expected font descriptor but found ‘%1$S’.
|
||||||
PEUnknownFontDesc=Unknown descriptor '%1$S' in @font-face rule.
|
PEUnknownFontDesc=Unknown descriptor ‘%1$S’ in @font-face rule.
|
||||||
PEMQExpectedExpressionStart=Expected '(' to start media query expression but found '%1$S'.
|
PEMQExpectedExpressionStart=Expected ‘(’ to start media query expression but found ‘%1$S’.
|
||||||
PEMQExpressionEOF=contents of media query expression
|
PEMQExpressionEOF=contents of media query expression
|
||||||
PEMQExpectedFeatureName=Expected media feature name but found '%1$S'.
|
PEMQExpectedFeatureName=Expected media feature name but found ‘%1$S’.
|
||||||
PEMQExpectedFeatureNameEnd=Expected ':' or ')' after media feature name but found '%1$S'.
|
PEMQExpectedFeatureNameEnd=Expected ‘:’ or ‘)’ after media feature name but found ‘%1$S’.
|
||||||
PEMQNoMinMaxWithoutValue=Media features with min- or max- must have a value.
|
PEMQNoMinMaxWithoutValue=Media features with min- or max- must have a value.
|
||||||
PEMQExpectedFeatureValue=Found invalid value for media feature.
|
PEMQExpectedFeatureValue=Found invalid value for media feature.
|
||||||
PEBadFontBlockStart=Expected '{' to begin @font-face rule but found '%1$S'.
|
PEBadFontBlockStart=Expected ‘{’ to begin @font-face rule but found ‘%1$S’.
|
||||||
PEBadFontBlockEnd=Expected '}' to end @font-face rule but found '%1$S'.
|
PEBadFontBlockEnd=Expected ‘}’ to end @font-face rule but found ‘%1$S’.
|
||||||
PEAnonBoxNotAlone=Did not expect anonymous box.
|
PEAnonBoxNotAlone=Did not expect anonymous box.
|
||||||
PEFFVUnexpectedEOF=Unexpected end of @font-feature-values rule.
|
PEFFVUnexpectedEOF=Unexpected end of @font-feature-values rule.
|
||||||
PEFFVBlockStart=Expected opening { of @font-feature-values rule but found '%1$S'.
|
PEFFVBlockStart=Expected opening { of @font-feature-values rule but found ‘%1$S’.
|
||||||
PEFFVValueSetStart=Expected opening { of feature value set but found '%1$S'.
|
PEFFVValueSetStart=Expected opening { of feature value set but found ‘%1$S’.
|
||||||
PEFFVNoFamily=Expected font family list for @font-feature-values rule but found '%1$S'.
|
PEFFVNoFamily=Expected font family list for @font-feature-values rule but found ‘%1$S’.
|
||||||
PEFFVUnexpectedBlockEnd=Expected '}' to end @font-feature-values rule but found '%1$S'.
|
PEFFVUnexpectedBlockEnd=Expected ‘}’ to end @font-feature-values rule but found ‘%1$S’.
|
||||||
PEFFVUnknownFontVariantPropValue=Unknown font-variant property value '%1$S'.
|
PEFFVUnknownFontVariantPropValue=Unknown font-variant property value ‘%1$S’.
|
||||||
PEFFVExpectedIdent=Expected identifier but found '%1$S'.
|
PEFFVExpectedIdent=Expected identifier but found ‘%1$S’.
|
||||||
PEFFVExpectedValue=Expected non-negative integer value but found '%1$S'.
|
PEFFVExpectedValue=Expected non-negative integer value but found ‘%1$S’.
|
||||||
PEFFVTooManyValues=Too many values for feature type '%1$S'.
|
PEFFVTooManyValues=Too many values for feature type ‘%1$S’.
|
||||||
PEFFVGenericInFamilyList=Family list cannot contain generic font family name.
|
PEFFVGenericInFamilyList=Family list cannot contain generic font family name.
|
||||||
PEFFVValueDefinitionTrailing=Expected end of value definition but found '%1$S'.
|
PEFFVValueDefinitionTrailing=Expected end of value definition but found ‘%1$S’.
|
||||||
PEBadDirValue=Expected 'ltr' or 'rtl' in direction selector but found '%1$S'.
|
PEBadDirValue=Expected ‘ltr’ or ‘rtl’ in direction selector but found ‘%1$S’.
|
||||||
PESupportsConditionStartEOF2='not', '(', or function
|
PESupportsConditionStartEOF2=‘not’, ‘(’, or function
|
||||||
PESupportsConditionInParensEOF=')'
|
PESupportsConditionInParensEOF=‘)’
|
||||||
PESupportsConditionNotEOF='not'
|
PESupportsConditionNotEOF=‘not’
|
||||||
PESupportsWhitespaceRequired=Expected whitespace after 'not', 'and', or 'or'.
|
PESupportsWhitespaceRequired=Expected whitespace after ‘not’, ‘and’, or ‘or’.
|
||||||
PESupportsConditionExpectedOpenParenOrFunction=Expected '(' or function while parsing supports condition but found '%1$S'.
|
PESupportsConditionExpectedOpenParenOrFunction=Expected ‘(’ or function while parsing supports condition but found ‘%1$S’.
|
||||||
PESupportsConditionExpectedCloseParen=Expected ')' while parsing supports condition but found '%1$S'.
|
PESupportsConditionExpectedCloseParen=Expected ‘)’ while parsing supports condition but found ‘%1$S’.
|
||||||
PESupportsConditionExpectedStart2=Expected 'not', '(', or function while parsing supports condition but found '%1$S'.
|
PESupportsConditionExpectedStart2=Expected ‘not’, ‘(’, or function while parsing supports condition but found ‘%1$S’.
|
||||||
PESupportsConditionExpectedNot=Expected 'not' while parsing supports condition but found '%1$S'.
|
PESupportsConditionExpectedNot=Expected ‘not’ while parsing supports condition but found ‘%1$S’.
|
||||||
PESupportsGroupRuleStart=Expected '{' to begin @supports rule but found '%1$S'.
|
PESupportsGroupRuleStart=Expected ‘{’ to begin @supports rule but found ‘%1$S’.
|
||||||
PEFilterEOF=filter
|
PEFilterEOF=filter
|
||||||
PEExpectedNoneOrURL=Expected 'none' or URL but found '%1$S'.
|
PEExpectedNoneOrURL=Expected ‘none’ or URL but found ‘%1$S’.
|
||||||
PEExpectedNoneOrURLOrFilterFunction=Expected 'none', URL, or filter function but found '%1$S'.
|
PEExpectedNoneOrURLOrFilterFunction=Expected ‘none’, URL, or filter function but found ‘%1$S’.
|
||||||
PEExpectedNonnegativeNP=Expected non-negative number or percentage.
|
PEExpectedNonnegativeNP=Expected non-negative number or percentage.
|
||||||
PEFilterFunctionArgumentsParsingError=Error in parsing arguments for filter function.
|
PEFilterFunctionArgumentsParsingError=Error in parsing arguments for filter function.
|
||||||
PEVariableEOF=variable
|
PEVariableEOF=variable
|
||||||
PEVariableEmpty=Expected variable value but found '%1$S'.
|
PEVariableEmpty=Expected variable value but found ‘%1$S’.
|
||||||
# LOCALIZATION NOTE(PEValueWithVariablesParsingErrorInValue): %1$S is replaced
|
# LOCALIZATION NOTE(PEValueWithVariablesParsingErrorInValue): %1$S is replaced
|
||||||
# with the property name and %2$S is replaced with the property value.
|
# with the property name and %2$S is replaced with the property value.
|
||||||
PEValueWithVariablesParsingErrorInValue=Error in parsing value for '%1$S' after substituting variables. Generated value was '%2$S'.
|
PEValueWithVariablesParsingErrorInValue=Error in parsing value for ‘%1$S’ after substituting variables. Generated value was ‘%2$S’.
|
||||||
PEValueWithVariablesFallbackInherit=Falling back to 'inherit'.
|
PEValueWithVariablesFallbackInherit=Falling back to ‘inherit’.
|
||||||
PEValueWithVariablesFallbackInitial=Falling back to 'initial'.
|
PEValueWithVariablesFallbackInitial=Falling back to ‘initial’.
|
||||||
PEInvalidVariableReference=Property contained reference to invalid variable.
|
PEInvalidVariableReference=Property contained reference to invalid variable.
|
||||||
PEInvalidVariableTokenFallback=Found invalid token '%1$S' at top level of variable reference fallback.
|
PEInvalidVariableTokenFallback=Found invalid token ‘%1$S’ at top level of variable reference fallback.
|
||||||
PEExpectedVariableNameEOF=identifier for variable name
|
PEExpectedVariableNameEOF=identifier for variable name
|
||||||
PEExpectedVariableName=Expected identifier for variable name but found '%1$S'.
|
PEExpectedVariableName=Expected identifier for variable name but found ‘%1$S’.
|
||||||
PEExpectedVariableFallback=Expected variable reference fallback after ','.
|
PEExpectedVariableFallback=Expected variable reference fallback after ‘,’.
|
||||||
PEExpectedVariableCommaOrCloseParen=Expected ',' or ')' after variable name in variable reference but found '%1$S'.
|
PEExpectedVariableCommaOrCloseParen=Expected ‘,’ or ‘)’ after variable name in variable reference but found ‘%1$S’.
|
||||||
PESubgridNotSupported=Support for the 'subgrid' keyword of CSS Grid is not enabled.
|
PESubgridNotSupported=Support for the ‘subgrid’ keyword of CSS Grid is not enabled.
|
||||||
PEMoreThanOneGridRepeatAutoFillInNameList=Only one repeat(auto-fill, …) is allowed in a name list for a subgrid.
|
PEMoreThanOneGridRepeatAutoFillInNameList=Only one repeat(auto-fill, …) is allowed in a name list for a subgrid.
|
||||||
PEMoreThanOneGridRepeatAutoFillFitInTrackList=Only one repeat(auto-fill, …) or repeat(auto-fit, …) is allowed in a track list.
|
PEMoreThanOneGridRepeatAutoFillFitInTrackList=Only one repeat(auto-fill, …) or repeat(auto-fit, …) is allowed in a track list.
|
||||||
PEMoreThanOneGridRepeatTrackSize=Only one track size is allowed inside repeat(auto-fit/auto-fill, …).
|
PEMoreThanOneGridRepeatTrackSize=Only one track size is allowed inside repeat(auto-fit/auto-fill, …).
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
# 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, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
ImageMapRectBoundsError=The "coords" attribute of the <area shape="rect"> tag is not in the "left,top,right,bottom" format.
|
ImageMapRectBoundsError=The “coords” attribute of the <area shape="rect"> tag is not in the “left,top,right,bottom” format.
|
||||||
ImageMapCircleWrongNumberOfCoords=The "coords" attribute of the <area shape="circle"> tag is not in the "center-x,center-y,radius" format.
|
ImageMapCircleWrongNumberOfCoords=The “coords” attribute of the <area shape="circle"> tag is not in the “center-x,center-y,radius” format.
|
||||||
ImageMapCircleNegativeRadius=The "coords" attribute of the <area shape="circle"> tag has a negative radius.
|
ImageMapCircleNegativeRadius=The “coords” attribute of the <area shape="circle"> tag has a negative radius.
|
||||||
ImageMapPolyWrongNumberOfCoords=The "coords" attribute of the <area shape="poly"> tag is not in the "x1,y1,x2,y2 …" format.
|
ImageMapPolyWrongNumberOfCoords=The “coords” attribute of the <area shape="poly"> tag is not in the “x1,y1,x2,y2 …” format.
|
||||||
ImageMapPolyOddNumberOfCoords=The "coords" attribute of the <area shape="poly"> tag is missing the last "y" coordinate (the correct format is "x1,y1,x2,y2 …").
|
ImageMapPolyOddNumberOfCoords=The “coords” attribute of the <area shape="poly"> tag is missing the last “y” coordinate (the correct format is “x1,y1,x2,y2 …”).
|
||||||
|
|
||||||
TablePartRelPosWarning=Relative positioning of table rows and row groups is now supported. This site may need to be updated because it may depend on this feature having no effect.
|
TablePartRelPosWarning=Relative positioning of table rows and row groups is now supported. This site may need to be updated because it may depend on this feature having no effect.
|
||||||
ScrollLinkedEffectFound2=This site appears to use a scroll-linked positioning effect. This may not work well with asynchronous panning; see https://developer.mozilla.org/docs/Mozilla/Performance/ScrollLinkedEffects for further details and to join the discussion on related tools and features!
|
ScrollLinkedEffectFound2=This site appears to use a scroll-linked positioning effect. This may not work well with asynchronous panning; see https://developer.mozilla.org/docs/Mozilla/Performance/ScrollLinkedEffects for further details and to join the discussion on related tools and features!
|
||||||
|
@ -19,16 +19,16 @@ ScrollLinkedEffectFound2=This site appears to use a scroll-linked positioning ef
|
||||||
AnimationWarningContentTooLarge=Animation cannot be run on the compositor because the frame size (%1$S, %2$S) is bigger than the viewport (%3$S, %4$S) or the visual rectangle (%5$S, %6$S) is larger than the maximum allowed value (%7$S)
|
AnimationWarningContentTooLarge=Animation cannot be run on the compositor because the frame size (%1$S, %2$S) is bigger than the viewport (%3$S, %4$S) or the visual rectangle (%5$S, %6$S) is larger than the maximum allowed value (%7$S)
|
||||||
## LOCALIZATION NOTE(AnimationWarningTransformBackfaceVisibilityHidde):
|
## LOCALIZATION NOTE(AnimationWarningTransformBackfaceVisibilityHidde):
|
||||||
## 'backface-visibility: hidden' is a CSS property, don't translate it.
|
## 'backface-visibility: hidden' is a CSS property, don't translate it.
|
||||||
AnimationWarningTransformBackfaceVisibilityHidden=Animations of 'backface-visibility: hidden' transforms cannot be run on the compositor
|
AnimationWarningTransformBackfaceVisibilityHidden=Animations of ‘backface-visibility: hidden’ transforms cannot be run on the compositor
|
||||||
## LOCALIZATION NOTE(AnimationWarningTransformPreserve3D):
|
## LOCALIZATION NOTE(AnimationWarningTransformPreserve3D):
|
||||||
## 'transform-style: preserve-3d' is a CSS property, don't translate it.
|
## 'transform-style: preserve-3d' is a CSS property, don't translate it.
|
||||||
AnimationWarningTransformPreserve3D=Animations of 'transform-style: preserve-3d' transforms cannot be run on the compositor
|
AnimationWarningTransformPreserve3D=Animations of ‘transform-style: preserve-3d’ transforms cannot be run on the compositor
|
||||||
## LOCALIZATION NOTE(AnimationWarningTransformSVG,
|
## LOCALIZATION NOTE(AnimationWarningTransformSVG,
|
||||||
## AnimationWarningTransformWithGeometricProperties,
|
## AnimationWarningTransformWithGeometricProperties,
|
||||||
## AnimationWarningTransformFrameInactive,
|
## AnimationWarningTransformFrameInactive,
|
||||||
## AnimationWarningOpacityFrameInactive):
|
## AnimationWarningOpacityFrameInactive):
|
||||||
## 'transform' and 'opacity' mean CSS property names, don't translate it.
|
## 'transform' and 'opacity' mean CSS property names, don't translate it.
|
||||||
AnimationWarningTransformSVG=Animations of 'transform' on elements with SVG transforms cannot be run on the compositor
|
AnimationWarningTransformSVG=Animations of ‘transform’ on elements with SVG transforms cannot be run on the compositor
|
||||||
AnimationWarningTransformWithGeometricProperties=Animations of 'transform' cannot be run on the compositor when geometric properties are animated on the same element at the same time
|
AnimationWarningTransformWithGeometricProperties=Animations of ‘transform’ cannot be run on the compositor when geometric properties are animated on the same element at the same time
|
||||||
AnimationWarningTransformFrameInactive=Animation cannot be run on the compositor because the frame was not marked active for 'transform' animation
|
AnimationWarningTransformFrameInactive=Animation cannot be run on the compositor because the frame was not marked active for ‘transform’ animation
|
||||||
AnimationWarningOpacityFrameInactive=Animation cannot be run on the compositor because the frame was not marked active for 'opacity' animation
|
AnimationWarningOpacityFrameInactive=Animation cannot be run on the compositor because the frame was not marked active for ‘opacity’ animation
|
||||||
|
|
|
@ -21,7 +21,7 @@ pageofpages=%1$d of %2$d
|
||||||
noprinter=No printers available.
|
noprinter=No printers available.
|
||||||
PrintToFile=Print To File
|
PrintToFile=Print To File
|
||||||
noPrintFilename.title=Filename is missing
|
noPrintFilename.title=Filename is missing
|
||||||
noPrintFilename.alert=You have selected "Print To File", and the filename is empty!
|
noPrintFilename.alert=You have selected “Print To File”, and the filename is empty!
|
||||||
fileConfirm.exists=%S already exists.\nDo you want to replace it?
|
fileConfirm.exists=%S already exists.\nDo you want to replace it?
|
||||||
print_error_dialog_title=Printer Error
|
print_error_dialog_title=Printer Error
|
||||||
printpreview_error_dialog_title=Print Preview Error
|
printpreview_error_dialog_title=Print Preview Error
|
||||||
|
|
|
@ -3,13 +3,13 @@
|
||||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
UnexpectedElement=Unexpected <%1$S> element.
|
UnexpectedElement=Unexpected <%1$S> element.
|
||||||
# LOCALIZATION NOTE: do not localize key="%S" modifiers="%S"
|
# LOCALIZATION NOTE: do not localize key=“%S” modifiers=“%S”
|
||||||
GTK2Conflict=Key event not available on GTK2: key="%S" modifiers="%S"
|
GTK2Conflict=Key event not available on GTK2: key=“%S” modifiers=“%S”
|
||||||
WinConflict=Key event not available on some keyboard layouts: key="%S" modifiers="%S"
|
WinConflict=Key event not available on some keyboard layouts: key=“%S” modifiers=“%S”
|
||||||
TooDeepBindingRecursion=The XBL binding "%S" is already used by too many ancestor elements; not applying it to prevent infinite recursion.
|
TooDeepBindingRecursion=The XBL binding “%S” is already used by too many ancestor elements; not applying it to prevent infinite recursion.
|
||||||
CircularExtendsBinding=Extending the XBL binding "%S" with "%S" would lead to it extending itself
|
CircularExtendsBinding=Extending the XBL binding “%S” with “%S” would lead to it extending itself
|
||||||
# LOCALIZATION NOTE: do not localize <handler command="…">
|
# LOCALIZATION NOTE: do not localize <handler command="…">
|
||||||
CommandNotInChrome=Use of <handler command="…"> not allowed outside chrome.
|
CommandNotInChrome=Use of <handler command="…"> not allowed outside chrome.
|
||||||
MalformedXBL = An XBL file is malformed. Did you forget the XBL namespace on the bindings tag?
|
MalformedXBL = An XBL file is malformed. Did you forget the XBL namespace on the bindings tag?
|
||||||
InvalidExtendsBinding=Extending "%S" is invalid. In general, do not extend tag names.
|
InvalidExtendsBinding=Extending “%S” is invalid. In general, do not extend tag names.
|
||||||
MissingIdAttr = An "id" attribute missing on the binding tag.
|
MissingIdAttr = An “id” attribute missing on the binding tag.
|
||||||
|
|
|
@ -5,4 +5,4 @@
|
||||||
MissingOverlay=Failed to load overlay from %1$S.
|
MissingOverlay=Failed to load overlay from %1$S.
|
||||||
PINotInProlog=<?%1$S?> processing instruction does not have any effect outside the prolog anymore (see bug 360119).
|
PINotInProlog=<?%1$S?> processing instruction does not have any effect outside the prolog anymore (see bug 360119).
|
||||||
NeededToWrapXUL=XUL box for %1$S element contained an inline %2$S child, forcing all its children to be wrapped in a block.
|
NeededToWrapXUL=XUL box for %1$S element contained an inline %2$S child, forcing all its children to be wrapped in a block.
|
||||||
NeededToWrapXULInlineBox=XUL box for %1$S element contained an inline %2$S child, forcing all its children to be wrapped in a block. This can often be fixed by replacing "display: -moz-inline-box" with "display: -moz-inline-box; display: inline-block".
|
NeededToWrapXULInlineBox=XUL box for %1$S element contained an inline %2$S child, forcing all its children to be wrapped in a block. This can often be fixed by replacing “display: -moz-inline-box” with “display: -moz-inline-box; display: inline-block”.
|
||||||
|
|
|
@ -10,8 +10,8 @@ NoBase=Invalid markup: Expected exactly one Base element in <mmultiscripts/>. F
|
||||||
SubSupMismatch=Invalid markup: Incomplete subscript/superscript pair in <mmultiscripts/>.
|
SubSupMismatch=Invalid markup: Incomplete subscript/superscript pair in <mmultiscripts/>.
|
||||||
|
|
||||||
# LOCALIZATION NOTE: When localizing the single quotes ('), follow the conventions in css.properties for your target locale.
|
# LOCALIZATION NOTE: When localizing the single quotes ('), follow the conventions in css.properties for your target locale.
|
||||||
AttributeParsingError=Error in parsing the value '%1$S' for '%2$S' attribute of <%3$S/>. Attribute ignored.
|
AttributeParsingError=Error in parsing the value ‘%1$S’ for ‘%2$S’ attribute of <%3$S/>. Attribute ignored.
|
||||||
AttributeParsingErrorNoTag=Error in parsing the value '%1$S' for '%2$S' attribute. Attribute ignored.
|
AttributeParsingErrorNoTag=Error in parsing the value ‘%1$S’ for ‘%2$S’ attribute. Attribute ignored.
|
||||||
LengthParsingError=Error in parsing MathML attribute value '%1$S' as length. Attribute ignored.
|
LengthParsingError=Error in parsing MathML attribute value ‘%1$S’ as length. Attribute ignored.
|
||||||
DeprecatedSupersededBy='%1$S' is deprecated in MathML 3, superseded by '%2$S'.
|
DeprecatedSupersededBy=‘%1$S’ is deprecated in MathML 3, superseded by ‘%2$S’.
|
||||||
UnitlessValuesAreDeprecated=Unitless values are deprecated in MathML 3.
|
UnitlessValuesAreDeprecated=Unitless values are deprecated in MathML 3.
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<!-- Specific error messages -->
|
<!-- Specific error messages -->
|
||||||
|
|
||||||
<!ENTITY connectionFailure.title "Failed to Connect">
|
<!ENTITY connectionFailure.title "Failed to Connect">
|
||||||
<!ENTITY connectionFailure.longDesc "<p>Though the site seems valid, the browser was unable to establish a connection.</p><ul><li>Could the site be temporarily unavailable? Try again later.</li><li>Are you unable to browse other sites? Check the computer's network connection.</li><li>Is your computer or network protected by a firewall or proxy? Incorrect settings can interfere with Web browsing.</li></ul>">
|
<!ENTITY connectionFailure.longDesc "<p>Though the site seems valid, the browser was unable to establish a connection.</p><ul><li>Could the site be temporarily unavailable? Try again later.</li><li>Are you unable to browse other sites? Check the computer’s network connection.</li><li>Is your computer or network protected by a firewall or proxy? Incorrect settings can interfere with Web browsing.</li></ul>">
|
||||||
|
|
||||||
<!ENTITY deniedPortAccess.title "Port Restricted for Security Reasons">
|
<!ENTITY deniedPortAccess.title "Port Restricted for Security Reasons">
|
||||||
<!ENTITY deniedPortAccess.longDesc "<p>The requested address specified a port (e.g. <q>mozilla.org:80</q> for port 80 on mozilla.org) normally used for purposes <em>other</em> than Web browsing. The browser has canceled the request for your protection and security.</p>">
|
<!ENTITY deniedPortAccess.longDesc "<p>The requested address specified a port (e.g. <q>mozilla.org:80</q> for port 80 on mozilla.org) normally used for purposes <em>other</em> than Web browsing. The browser has canceled the request for your protection and security.</p>">
|
||||||
|
@ -29,10 +29,10 @@
|
||||||
<!ENTITY malformedURI.longDesc "<p>The provided address is not in a recognized format. Please check the location bar for mistakes and try again.</p>">
|
<!ENTITY malformedURI.longDesc "<p>The provided address is not in a recognized format. Please check the location bar for mistakes and try again.</p>">
|
||||||
|
|
||||||
<!ENTITY netInterrupt.title "Data Transfer Interrupted">
|
<!ENTITY netInterrupt.title "Data Transfer Interrupted">
|
||||||
<!ENTITY netInterrupt.longDesc "<p>The browser connected successfully, but the connection was interrupted while transferring information. Please try again.</p><ul><li>Are you unable to browse other sites? Check the computer's network connection.</li><li>Still having trouble? Consult your network administrator or Internet provider for assistance.</li></ul>">
|
<!ENTITY netInterrupt.longDesc "<p>The browser connected successfully, but the connection was interrupted while transferring information. Please try again.</p><ul><li>Are you unable to browse other sites? Check the computer’s network connection.</li><li>Still having trouble? Consult your network administrator or Internet provider for assistance.</li></ul>">
|
||||||
|
|
||||||
<!ENTITY notCached.title "Document Expired">
|
<!ENTITY notCached.title "Document Expired">
|
||||||
<!ENTITY notCached.longDesc "<p>The requested document is not available in the browser's cache.</p><ul><li>As a security precaution, the browser does not automatically re-request sensitive documents.</li><li>Click Try Again to re-request the document from the website.</li></ul>">
|
<!ENTITY notCached.longDesc "<p>The requested document is not available in the browser’s cache.</p><ul><li>As a security precaution, the browser does not automatically re-request sensitive documents.</li><li>Click Try Again to re-request the document from the website.</li></ul>">
|
||||||
|
|
||||||
<!ENTITY netOffline.title "Offline Mode">
|
<!ENTITY netOffline.title "Offline Mode">
|
||||||
<!ENTITY netOffline.longDesc2 "<p>The browser is operating in its offline mode and cannot connect to the requested item.</p><ul><li>Is the computer connected to an active network?</li><li>Press "Try Again" to switch to online mode and reload the page.</li></ul>">
|
<!ENTITY netOffline.longDesc2 "<p>The browser is operating in its offline mode and cannot connect to the requested item.</p><ul><li>Is the computer connected to an active network?</li><li>Press "Try Again" to switch to online mode and reload the page.</li></ul>">
|
||||||
|
@ -51,19 +51,19 @@
|
||||||
<!ENTITY netReset.longDesc "<p>The network link was interrupted while negotiating a connection. Please try again.</p>">
|
<!ENTITY netReset.longDesc "<p>The network link was interrupted while negotiating a connection. Please try again.</p>">
|
||||||
|
|
||||||
<!ENTITY netTimeout.title "Network Timeout">
|
<!ENTITY netTimeout.title "Network Timeout">
|
||||||
<!ENTITY netTimeout.longDesc "<p>The requested site did not respond to a connection request and the browser has stopped waiting for a reply.</p><ul><li>Could the server be experiencing high demand or a temporary outage? Try again later.</li><li>Are you unable to browse other sites? Check the computer's network connection.</li><li>Is your computer or network protected by a firewall or proxy? Incorrect settings can interfere with Web browsing.</li><li>Still having trouble? Consult your network administrator or Internet provider for assistance.</li></ul>">
|
<!ENTITY netTimeout.longDesc "<p>The requested site did not respond to a connection request and the browser has stopped waiting for a reply.</p><ul><li>Could the server be experiencing high demand or a temporary outage? Try again later.</li><li>Are you unable to browse other sites? Check the computer’s network connection.</li><li>Is your computer or network protected by a firewall or proxy? Incorrect settings can interfere with Web browsing.</li><li>Still having trouble? Consult your network administrator or Internet provider for assistance.</li></ul>">
|
||||||
|
|
||||||
<!ENTITY unknownProtocolFound.title "Unknown Protocol">
|
<!ENTITY unknownProtocolFound.title "Unknown Protocol">
|
||||||
<!ENTITY unknownProtocolFound.longDesc "<p>The address specifies a protocol (e.g. <q>wxyz://</q>) the browser does not recognize, so the browser cannot properly connect to the site.</p><ul><li>Are you trying to access multimedia or other non-text services? Check the site for extra requirements.</li><li>Some protocols may require third-party software or plugins before the browser can recognize them.</li></ul>">
|
<!ENTITY unknownProtocolFound.longDesc "<p>The address specifies a protocol (e.g. <q>wxyz://</q>) the browser does not recognize, so the browser cannot properly connect to the site.</p><ul><li>Are you trying to access multimedia or other non-text services? Check the site for extra requirements.</li><li>Some protocols may require third-party software or plugins before the browser can recognize them.</li></ul>">
|
||||||
|
|
||||||
<!ENTITY proxyConnectFailure.title "Proxy Server Refused Connection">
|
<!ENTITY proxyConnectFailure.title "Proxy Server Refused Connection">
|
||||||
<!ENTITY proxyConnectFailure.longDesc "<p>The browser is configured to use a proxy server, but the proxy refused a connection.</p><ul><li>Is the browser's proxy configuration correct? Check the settings and try again.</li><li>Does the proxy service allow connections from this network?</li><li>Still having trouble? Consult your network administrator or Internet provider for assistance.</li></ul>">
|
<!ENTITY proxyConnectFailure.longDesc "<p>The browser is configured to use a proxy server, but the proxy refused a connection.</p><ul><li>Is the browser’s proxy configuration correct? Check the settings and try again.</li><li>Does the proxy service allow connections from this network?</li><li>Still having trouble? Consult your network administrator or Internet provider for assistance.</li></ul>">
|
||||||
|
|
||||||
<!ENTITY proxyResolveFailure.title "Proxy Server Not Found">
|
<!ENTITY proxyResolveFailure.title "Proxy Server Not Found">
|
||||||
<!ENTITY proxyResolveFailure.longDesc "<p>The browser is configured to use a proxy server, but the proxy could not be found.</p><ul><li>Is the browser's proxy configuration correct? Check the settings and try again.</li><li>Is the computer connected to an active network?</li><li>Still having trouble? Consult your network administrator or Internet provider for assistance.</li></ul>">
|
<!ENTITY proxyResolveFailure.longDesc "<p>The browser is configured to use a proxy server, but the proxy could not be found.</p><ul><li>Is the browser’s proxy configuration correct? Check the settings and try again.</li><li>Is the computer connected to an active network?</li><li>Still having trouble? Consult your network administrator or Internet provider for assistance.</li></ul>">
|
||||||
|
|
||||||
<!ENTITY redirectLoop.title "Redirect Loop">
|
<!ENTITY redirectLoop.title "Redirect Loop">
|
||||||
<!ENTITY redirectLoop.longDesc "<p>The browser has stopped trying to retrieve the requested item. The site is redirecting the request in a way that will never complete.</p><ul><li>Have you disabled or blocked cookies required by this site?</li><li><em>NOTE</em>: If accepting the site's cookies does not resolve the problem, it is likely a server configuration issue and not your computer.</li></ul>">
|
<!ENTITY redirectLoop.longDesc "<p>The browser has stopped trying to retrieve the requested item. The site is redirecting the request in a way that will never complete.</p><ul><li>Have you disabled or blocked cookies required by this site?</li><li><em>NOTE</em>: If accepting the site’s cookies does not resolve the problem, it is likely a server configuration issue and not your computer.</li></ul>">
|
||||||
|
|
||||||
<!ENTITY unknownSocketType.title "Incorrect Response">
|
<!ENTITY unknownSocketType.title "Incorrect Response">
|
||||||
<!ENTITY unknownSocketType.longDesc "<p>The site responded to the network request in an unexpected way and the browser cannot continue.</p>">
|
<!ENTITY unknownSocketType.longDesc "<p>The site responded to the network request in an unexpected way and the browser cannot continue.</p>">
|
||||||
|
@ -73,7 +73,7 @@
|
||||||
|
|
||||||
<!ENTITY nssBadCert.title "Secure Connection Failed">
|
<!ENTITY nssBadCert.title "Secure Connection Failed">
|
||||||
<!ENTITY nssBadCert.longDesc2 "<ul>
|
<!ENTITY nssBadCert.longDesc2 "<ul>
|
||||||
<li>This could be a problem with the server's configuration, or it could be someone trying to impersonate the server.</li>
|
<li>This could be a problem with the server’s configuration, or it could be someone trying to impersonate the server.</li>
|
||||||
<li>If you have connected to this server successfully in the past, the error may be temporary, and you can try again later.</li>
|
<li>If you have connected to this server successfully in the past, the error may be temporary, and you can try again later.</li>
|
||||||
</ul>
|
</ul>
|
||||||
">
|
">
|
||||||
|
|
|
@ -13,5 +13,5 @@ SDAccessErrorCardMissing=Cannot download file because the SD card is missing.
|
||||||
helperAppNotFound=%S could not be opened, because the associated helper application does not exist. Change the association in your preferences.
|
helperAppNotFound=%S could not be opened, because the associated helper application does not exist. Change the association in your preferences.
|
||||||
noMemory=There is not sufficient memory to complete the action you requested.\n\nQuit some applications and try again.
|
noMemory=There is not sufficient memory to complete the action you requested.\n\nQuit some applications and try again.
|
||||||
title=Downloading %S
|
title=Downloading %S
|
||||||
fileAlreadyExistsError=%S could not be saved, because a file already exists with the same name as the '_files' directory.\n\nTry saving to a different location.
|
fileAlreadyExistsError=%S could not be saved, because a file already exists with the same name as the ‘_files’ directory.\n\nTry saving to a different location.
|
||||||
fileNameTooLongError=%S could not be saved, because the file name was too long.\n\nTry saving with a shorter file name.
|
fileNameTooLongError=%S could not be saved, because the file name was too long.\n\nTry saving with a shorter file name.
|
||||||
|
|
|
@ -110,4 +110,4 @@ SetPropertyDeniedOriginsOnlySubject = Permission denied for <%S> to set property
|
||||||
CallMethodDeniedOriginsOnlySubject = Permission denied for <%S> to call method %S.%S
|
CallMethodDeniedOriginsOnlySubject = Permission denied for <%S> to call method %S.%S
|
||||||
CreateWrapperDenied = Permission denied to create wrapper for object of class %S
|
CreateWrapperDenied = Permission denied to create wrapper for object of class %S
|
||||||
CreateWrapperDeniedForOrigin = Permission denied for <%2$S> to create wrapper for object of class %1$S
|
CreateWrapperDeniedForOrigin = Permission denied for <%2$S> to create wrapper for object of class %1$S
|
||||||
ProtocolFlagError = Warning: Protocol handler for '%S' doesn't advertise a security policy. While loading of such protocols is allowed for now, this is deprecated. Please see the documentation in nsIProtocolHandler.idl.
|
ProtocolFlagError = Warning: Protocol handler for ‘%S’ doesn’t advertise a security policy. While loading of such protocols is allowed for now, this is deprecated. Please see the documentation in nsIProtocolHandler.idl.
|
||||||
|
|
|
@ -5,27 +5,27 @@
|
||||||
# CSP Warnings:
|
# CSP Warnings:
|
||||||
# LOCALIZATION NOTE (CSPViolation):
|
# LOCALIZATION NOTE (CSPViolation):
|
||||||
# %1$S is the reason why the resource has not been loaded.
|
# %1$S is the reason why the resource has not been loaded.
|
||||||
CSPViolation = The page's settings blocked the loading of a resource: %1$S
|
CSPViolation = The page’s settings blocked the loading of a resource: %1$S
|
||||||
# LOCALIZATION NOTE (CSPViolationWithURI):
|
# LOCALIZATION NOTE (CSPViolationWithURI):
|
||||||
# %1$S is the directive that has been violated.
|
# %1$S is the directive that has been violated.
|
||||||
# %2$S is the URI of the resource which violated the directive.
|
# %2$S is the URI of the resource which violated the directive.
|
||||||
CSPViolationWithURI = The page's settings blocked the loading of a resource at %2$S ("%1$S").
|
CSPViolationWithURI = The page’s settings blocked the loading of a resource at %2$S (“%1$S”).
|
||||||
# LOCALIZATION NOTE (CSPROViolation):
|
# LOCALIZATION NOTE (CSPROViolation):
|
||||||
# %1$S is the reason why the resource has not been loaded.
|
# %1$S is the reason why the resource has not been loaded.
|
||||||
CSPROViolation = A violation occurred for a report-only CSP policy ("%1$S"). The behavior was allowed, and a CSP report was sent.
|
CSPROViolation = A violation occurred for a report-only CSP policy (“%1$S”). The behavior was allowed, and a CSP report was sent.
|
||||||
# LOCALIZATION NOTE (CSPROViolationWithURI):
|
# LOCALIZATION NOTE (CSPROViolationWithURI):
|
||||||
# %1$S is the directive that has been violated.
|
# %1$S is the directive that has been violated.
|
||||||
# %2$S is the URI of the resource which violated the directive.
|
# %2$S is the URI of the resource which violated the directive.
|
||||||
CSPROViolationWithURI = The page's settings observed the loading of a resource at %2$S ("%1$S"). A CSP report is being sent.
|
CSPROViolationWithURI = The page’s settings observed the loading of a resource at %2$S (“%1$S”). A CSP report is being sent.
|
||||||
# LOCALIZATION NOTE (triedToSendReport):
|
# LOCALIZATION NOTE (triedToSendReport):
|
||||||
# %1$S is the URI we attempted to send a report to.
|
# %1$S is the URI we attempted to send a report to.
|
||||||
triedToSendReport = Tried to send report to invalid URI: "%1$S"
|
triedToSendReport = Tried to send report to invalid URI: “%1$S”
|
||||||
# LOCALIZATION NOTE (couldNotParseReportURI):
|
# LOCALIZATION NOTE (couldNotParseReportURI):
|
||||||
# %1$S is the report URI that could not be parsed
|
# %1$S is the report URI that could not be parsed
|
||||||
couldNotParseReportURI = couldn't parse report URI: %1$S
|
couldNotParseReportURI = couldn’t parse report URI: %1$S
|
||||||
# LOCALIZATION NOTE (couldNotProcessUnknownDirective):
|
# LOCALIZATION NOTE (couldNotProcessUnknownDirective):
|
||||||
# %1$S is the unknown directive
|
# %1$S is the unknown directive
|
||||||
couldNotProcessUnknownDirective = Couldn't process unknown directive '%1$S'
|
couldNotProcessUnknownDirective = Couldn’t process unknown directive ‘%1$S’
|
||||||
# LOCALIZATION NOTE (ignoringUnknownOption):
|
# LOCALIZATION NOTE (ignoringUnknownOption):
|
||||||
# %1$S is the option that could not be understood
|
# %1$S is the option that could not be understood
|
||||||
ignoringUnknownOption = Ignoring unknown option %1$S
|
ignoringUnknownOption = Ignoring unknown option %1$S
|
||||||
|
@ -34,11 +34,11 @@ ignoringUnknownOption = Ignoring unknown option %1$S
|
||||||
ignoringDuplicateSrc = Ignoring duplicate source %1$S
|
ignoringDuplicateSrc = Ignoring duplicate source %1$S
|
||||||
# LOCALIZATION NOTE (ignoringSrcFromMetaCSP):
|
# LOCALIZATION NOTE (ignoringSrcFromMetaCSP):
|
||||||
# %1$S defines the ignored src
|
# %1$S defines the ignored src
|
||||||
ignoringSrcFromMetaCSP = Ignoring source '%1$S' (Not supported when delivered via meta element).
|
ignoringSrcFromMetaCSP = Ignoring source ‘%1$S’ (Not supported when delivered via meta element).
|
||||||
# LOCALIZATION NOTE (ignoringSrcWithinScriptStyleSrc):
|
# LOCALIZATION NOTE (ignoringSrcWithinScriptStyleSrc):
|
||||||
# %1$S is the ignored src
|
# %1$S is the ignored src
|
||||||
# script-src and style-src are directive names and should not be localized
|
# script-src and style-src are directive names and should not be localized
|
||||||
ignoringSrcWithinScriptStyleSrc = Ignoring "%1$S" within script-src or style-src: nonce-source or hash-source specified
|
ignoringSrcWithinScriptStyleSrc = Ignoring “%1$S” within script-src or style-src: nonce-source or hash-source specified
|
||||||
# LOCALIZATION NOTE (reportURInotHttpsOrHttp2):
|
# LOCALIZATION NOTE (reportURInotHttpsOrHttp2):
|
||||||
# %1$S is the ETLD of the report URI that is not HTTP or HTTPS
|
# %1$S is the ETLD of the report URI that is not HTTP or HTTPS
|
||||||
reportURInotHttpsOrHttp2 = The report URI (%1$S) should be an HTTP or HTTPS URI.
|
reportURInotHttpsOrHttp2 = The report URI (%1$S) should be an HTTP or HTTPS URI.
|
||||||
|
@ -59,35 +59,35 @@ inlineStyleBlocked = An attempt to apply inline style sheets has been blocked
|
||||||
scriptFromStringBlocked = An attempt to call JavaScript from a string (by calling a function like eval) has been blocked
|
scriptFromStringBlocked = An attempt to call JavaScript from a string (by calling a function like eval) has been blocked
|
||||||
# LOCALIZATION NOTE (upgradeInsecureRequest):
|
# LOCALIZATION NOTE (upgradeInsecureRequest):
|
||||||
# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
|
# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
|
||||||
upgradeInsecureRequest = Upgrading insecure request '%1$S' to use '%2$S'
|
upgradeInsecureRequest = Upgrading insecure request ‘%1$S’ to use ‘%2$S’
|
||||||
# LOCALIZATION NOTE (ignoreSrcForDirective):
|
# LOCALIZATION NOTE (ignoreSrcForDirective):
|
||||||
ignoreSrcForDirective = Ignoring srcs for directive '%1$S'
|
ignoreSrcForDirective = Ignoring srcs for directive ‘%1$S’
|
||||||
# LOCALIZATION NOTE (hostNameMightBeKeyword):
|
# LOCALIZATION NOTE (hostNameMightBeKeyword):
|
||||||
# %1$S is the hostname in question and %2$S is the keyword
|
# %1$S is the hostname in question and %2$S is the keyword
|
||||||
hostNameMightBeKeyword = Interpreting %1$S as a hostname, not a keyword. If you intended this to be a keyword, use '%2$S' (wrapped in single quotes).
|
hostNameMightBeKeyword = Interpreting %1$S as a hostname, not a keyword. If you intended this to be a keyword, use ‘%2$S’ (wrapped in single quotes).
|
||||||
# LOCALIZATION NOTE (notSupportingDirective):
|
# LOCALIZATION NOTE (notSupportingDirective):
|
||||||
# directive is not supported (e.g. 'reflected-xss')
|
# directive is not supported (e.g. 'reflected-xss')
|
||||||
notSupportingDirective = Not supporting directive '%1$S'. Directive and values will be ignored.
|
notSupportingDirective = Not supporting directive ‘%1$S’. Directive and values will be ignored.
|
||||||
# LOCALIZATION NOTE (blockAllMixedContent):
|
# LOCALIZATION NOTE (blockAllMixedContent):
|
||||||
# %1$S is the URL of the blocked resource load.
|
# %1$S is the URL of the blocked resource load.
|
||||||
blockAllMixedContent = Blocking insecure request '%1$S'.
|
blockAllMixedContent = Blocking insecure request ‘%1$S’.
|
||||||
|
|
||||||
# CSP Errors:
|
# CSP Errors:
|
||||||
# LOCALIZATION NOTE (couldntParseInvalidSource):
|
# LOCALIZATION NOTE (couldntParseInvalidSource):
|
||||||
# %1$S is the source that could not be parsed
|
# %1$S is the source that could not be parsed
|
||||||
couldntParseInvalidSource = Couldn't parse invalid source %1$S
|
couldntParseInvalidSource = Couldn’t parse invalid source %1$S
|
||||||
# LOCALIZATION NOTE (couldntParseInvalidHost):
|
# LOCALIZATION NOTE (couldntParseInvalidHost):
|
||||||
# %1$S is the host that's invalid
|
# %1$S is the host that's invalid
|
||||||
couldntParseInvalidHost = Couldn't parse invalid host %1$S
|
couldntParseInvalidHost = Couldn’t parse invalid host %1$S
|
||||||
# LOCALIZATION NOTE (couldntParseScheme):
|
# LOCALIZATION NOTE (couldntParseScheme):
|
||||||
# %1$S is the string source
|
# %1$S is the string source
|
||||||
couldntParseScheme = Couldn't parse scheme in %1$S
|
couldntParseScheme = Couldn’t parse scheme in %1$S
|
||||||
# LOCALIZATION NOTE (couldntParsePort):
|
# LOCALIZATION NOTE (couldntParsePort):
|
||||||
# %1$S is the string source
|
# %1$S is the string source
|
||||||
couldntParsePort = Couldn't parse port in %1$S
|
couldntParsePort = Couldn’t parse port in %1$S
|
||||||
# LOCALIZATION NOTE (duplicateDirective):
|
# LOCALIZATION NOTE (duplicateDirective):
|
||||||
# %1$S is the name of the duplicate directive
|
# %1$S is the name of the duplicate directive
|
||||||
duplicateDirective = Duplicate %1$S directives detected. All but the first instance will be ignored.
|
duplicateDirective = Duplicate %1$S directives detected. All but the first instance will be ignored.
|
||||||
# LOCALIZATION NOTE (deprecatedDirective):
|
# LOCALIZATION NOTE (deprecatedDirective):
|
||||||
# %1$S is the name of the deprecated directive, %2$S is the name of the replacement.
|
# %1$S is the name of the deprecated directive, %2$S is the name of the replacement.
|
||||||
deprecatedDirective = Directive '%1$S' has been deprecated. Please use directive '%2$S' instead.
|
deprecatedDirective = Directive ‘%1$S’ has been deprecated. Please use directive ‘%2$S’ instead.
|
||||||
|
|
|
@ -1,72 +1,72 @@
|
||||||
# Mixed Content Blocker
|
# Mixed Content Blocker
|
||||||
# LOCALIZATION NOTE: "%1$S" is the URI of the blocked mixed content resource
|
# LOCALIZATION NOTE: "%1$S" is the URI of the blocked mixed content resource
|
||||||
BlockMixedDisplayContent = Blocked loading mixed display content "%1$S"
|
BlockMixedDisplayContent = Blocked loading mixed display content “%1$S”
|
||||||
BlockMixedActiveContent = Blocked loading mixed active content "%1$S"
|
BlockMixedActiveContent = Blocked loading mixed active content “%1$S”
|
||||||
|
|
||||||
# CORS
|
# CORS
|
||||||
# LOCALIZATION NOTE: Do not translate "Access-Control-Allow-Origin", Access-Control-Allow-Credentials, Access-Control-Allow-Methods, Access-Control-Allow-Headers
|
# LOCALIZATION NOTE: Do not translate "Access-Control-Allow-Origin", Access-Control-Allow-Credentials, Access-Control-Allow-Methods, Access-Control-Allow-Headers
|
||||||
CORSDisabled=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS disabled).
|
CORSDisabled=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS disabled).
|
||||||
CORSRequestNotHttp=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS request not http).
|
CORSRequestNotHttp=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS request not http).
|
||||||
CORSMissingAllowOrigin=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS header 'Access-Control-Allow-Origin' missing).
|
CORSMissingAllowOrigin=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
|
||||||
CORSAllowOriginNotMatchingOrigin=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS header 'Access-Control-Allow-Origin' does not match '%2$S').
|
CORSAllowOriginNotMatchingOrigin=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS header ‘Access-Control-Allow-Origin’ does not match ‘%2$S’).
|
||||||
CORSMethodNotFound=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: Did not find method in CORS header 'Access-Control-Allow-Methods').
|
CORSMethodNotFound=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: Did not find method in CORS header ‘Access-Control-Allow-Methods’).
|
||||||
CORSMissingAllowCredentials=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: expected 'true' in CORS header 'Access-Control-Allow-Credentials').
|
CORSMissingAllowCredentials=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: expected ‘true’ in CORS header ‘Access-Control-Allow-Credentials’).
|
||||||
CORSPreflightDidNotSucceed=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS preflight channel did not succeed).
|
CORSPreflightDidNotSucceed=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS preflight channel did not succeed).
|
||||||
CORSInvalidAllowMethod=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: invalid token '%2$S' in CORS header 'Access-Control-Allow-Methods').
|
CORSInvalidAllowMethod=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: invalid token ‘%2$S’ in CORS header ‘Access-Control-Allow-Methods’).
|
||||||
CORSInvalidAllowHeader=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: invalid token '%2$S' in CORS header 'Access-Control-Allow-Headers').
|
CORSInvalidAllowHeader=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: invalid token ‘%2$S’ in CORS header ‘Access-Control-Allow-Headers’).
|
||||||
CORSMissingAllowHeaderFromPreflight=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: missing token '%2$S' in CORS header 'Access-Control-Allow-Headers' from CORS preflight channel).
|
CORSMissingAllowHeaderFromPreflight=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: missing token ‘%2$S’ in CORS header ‘Access-Control-Allow-Headers’ from CORS preflight channel).
|
||||||
|
|
||||||
# LOCALIZATION NOTE: Do not translate "Strict-Transport-Security", "HSTS", "max-age" or "includeSubDomains"
|
# LOCALIZATION NOTE: Do not translate "Strict-Transport-Security", "HSTS", "max-age" or "includeSubDomains"
|
||||||
STSUnknownError=Strict-Transport-Security: An unknown error occurred processing the header specified by the site.
|
STSUnknownError=Strict-Transport-Security: An unknown error occurred processing the header specified by the site.
|
||||||
STSUntrustworthyConnection=Strict-Transport-Security: The connection to the site is untrustworthy, so the specified header was ignored.
|
STSUntrustworthyConnection=Strict-Transport-Security: The connection to the site is untrustworthy, so the specified header was ignored.
|
||||||
STSCouldNotParseHeader=Strict-Transport-Security: The site specified a header that could not be parsed successfully.
|
STSCouldNotParseHeader=Strict-Transport-Security: The site specified a header that could not be parsed successfully.
|
||||||
STSNoMaxAge=Strict-Transport-Security: The site specified a header that did not include a 'max-age' directive.
|
STSNoMaxAge=Strict-Transport-Security: The site specified a header that did not include a ‘max-age’ directive.
|
||||||
STSMultipleMaxAges=Strict-Transport-Security: The site specified a header that included multiple 'max-age' directives.
|
STSMultipleMaxAges=Strict-Transport-Security: The site specified a header that included multiple ‘max-age’ directives.
|
||||||
STSInvalidMaxAge=Strict-Transport-Security: The site specified a header that included an invalid 'max-age' directive.
|
STSInvalidMaxAge=Strict-Transport-Security: The site specified a header that included an invalid ‘max-age’ directive.
|
||||||
STSMultipleIncludeSubdomains=Strict-Transport-Security: The site specified a header that included multiple 'includeSubDomains' directives.
|
STSMultipleIncludeSubdomains=Strict-Transport-Security: The site specified a header that included multiple ‘includeSubDomains’ directives.
|
||||||
STSInvalidIncludeSubdomains=Strict-Transport-Security: The site specified a header that included an invalid 'includeSubDomains' directive.
|
STSInvalidIncludeSubdomains=Strict-Transport-Security: The site specified a header that included an invalid ‘includeSubDomains’ directive.
|
||||||
STSCouldNotSaveState=Strict-Transport-Security: An error occurred noting the site as a Strict-Transport-Security host.
|
STSCouldNotSaveState=Strict-Transport-Security: An error occurred noting the site as a Strict-Transport-Security host.
|
||||||
|
|
||||||
# LOCALIZATION NOTE: Do not translate "Public-Key-Pins", "HPKP", "max-age", "report-uri" or "includeSubDomains"
|
# LOCALIZATION NOTE: Do not translate "Public-Key-Pins", "HPKP", "max-age", "report-uri" or "includeSubDomains"
|
||||||
PKPUnknownError=Public-Key-Pins: An unknown error occurred processing the header specified by the site.
|
PKPUnknownError=Public-Key-Pins: An unknown error occurred processing the header specified by the site.
|
||||||
PKPUntrustworthyConnection=Public-Key-Pins: The connection to the site is untrustworthy, so the specified header was ignored.
|
PKPUntrustworthyConnection=Public-Key-Pins: The connection to the site is untrustworthy, so the specified header was ignored.
|
||||||
PKPCouldNotParseHeader=Public-Key-Pins: The site specified a header that could not be parsed successfully.
|
PKPCouldNotParseHeader=Public-Key-Pins: The site specified a header that could not be parsed successfully.
|
||||||
PKPNoMaxAge=Public-Key-Pins: The site specified a header that did not include a 'max-age' directive.
|
PKPNoMaxAge=Public-Key-Pins: The site specified a header that did not include a ‘max-age’ directive.
|
||||||
PKPMultipleMaxAges=Public-Key-Pins: The site specified a header that included multiple 'max-age' directives.
|
PKPMultipleMaxAges=Public-Key-Pins: The site specified a header that included multiple ‘max-age’ directives.
|
||||||
PKPInvalidMaxAge=Public-Key-Pins: The site specified a header that included an invalid 'max-age' directive.
|
PKPInvalidMaxAge=Public-Key-Pins: The site specified a header that included an invalid ‘max-age’ directive.
|
||||||
PKPMultipleIncludeSubdomains=Public-Key-Pins: The site specified a header that included multiple 'includeSubDomains' directives.
|
PKPMultipleIncludeSubdomains=Public-Key-Pins: The site specified a header that included multiple ‘includeSubDomains’ directives.
|
||||||
PKPInvalidIncludeSubdomains=Public-Key-Pins: The site specified a header that included an invalid 'includeSubDomains' directive.
|
PKPInvalidIncludeSubdomains=Public-Key-Pins: The site specified a header that included an invalid ‘includeSubDomains’ directive.
|
||||||
PKPInvalidPin=Public-Key-Pins: The site specified a header that included an invalid pin.
|
PKPInvalidPin=Public-Key-Pins: The site specified a header that included an invalid pin.
|
||||||
PKPMultipleReportURIs=Public-Key-Pins: The site specified a header that included multiple 'report-uri' directives.
|
PKPMultipleReportURIs=Public-Key-Pins: The site specified a header that included multiple ‘report-uri’ directives.
|
||||||
PKPPinsetDoesNotMatch=Public-Key-Pins: The site specified a header that did not include a matching pin.
|
PKPPinsetDoesNotMatch=Public-Key-Pins: The site specified a header that did not include a matching pin.
|
||||||
PKPNoBackupPin=Public-Key-Pins: The site specified a header that did not include a backup pin.
|
PKPNoBackupPin=Public-Key-Pins: The site specified a header that did not include a backup pin.
|
||||||
PKPCouldNotSaveState=Public-Key-Pins: An error occurred noting the site as a Public-Key-Pins host.
|
PKPCouldNotSaveState=Public-Key-Pins: An error occurred noting the site as a Public-Key-Pins host.
|
||||||
PKPRootNotBuiltIn=Public-Key-Pins: The certificate used by the site was not issued by a certificate in the default root certificate store. To prevent accidental breakage, the specified header was ignored.
|
PKPRootNotBuiltIn=Public-Key-Pins: The certificate used by the site was not issued by a certificate in the default root certificate store. To prevent accidental breakage, the specified header was ignored.
|
||||||
|
|
||||||
# LOCALIZATION NOTE: Do not translate "SHA-1"
|
# LOCALIZATION NOTE: Do not translate "SHA-1"
|
||||||
SHA1Sig=This site makes use of a SHA-1 Certificate; it's recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1.
|
SHA1Sig=This site makes use of a SHA-1 Certificate; it’s recommended you use certificates with signature algorithms that use hash functions stronger than SHA-1.
|
||||||
InsecurePasswordsPresentOnPage=Password fields present on an insecure (http://) page. This is a security risk that allows user login credentials to be stolen.
|
InsecurePasswordsPresentOnPage=Password fields present on an insecure (http://) page. This is a security risk that allows user login credentials to be stolen.
|
||||||
InsecureFormActionPasswordsPresent=Password fields present in a form with an insecure (http://) form action. This is a security risk that allows user login credentials to be stolen.
|
InsecureFormActionPasswordsPresent=Password fields present in a form with an insecure (http://) form action. This is a security risk that allows user login credentials to be stolen.
|
||||||
InsecurePasswordsPresentOnIframe=Password fields present on an insecure (http://) iframe. This is a security risk that allows user login credentials to be stolen.
|
InsecurePasswordsPresentOnIframe=Password fields present on an insecure (http://) iframe. This is a security risk that allows user login credentials to be stolen.
|
||||||
# LOCALIZATION NOTE: "%1$S" is the URI of the insecure mixed content resource
|
# LOCALIZATION NOTE: "%1$S" is the URI of the insecure mixed content resource
|
||||||
LoadingMixedActiveContent2=Loading mixed (insecure) active content "%1$S" on a secure page
|
LoadingMixedActiveContent2=Loading mixed (insecure) active content “%1$S” on a secure page
|
||||||
LoadingMixedDisplayContent2=Loading mixed (insecure) display content "%1$S" on a secure page
|
LoadingMixedDisplayContent2=Loading mixed (insecure) display content “%1$S” on a secure page
|
||||||
# LOCALIZATION NOTE: Do not translate "allow-scripts", "allow-same-origin", "sandbox" or "iframe"
|
# LOCALIZATION NOTE: Do not translate "allow-scripts", "allow-same-origin", "sandbox" or "iframe"
|
||||||
BothAllowScriptsAndSameOriginPresent=An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can remove its sandboxing.
|
BothAllowScriptsAndSameOriginPresent=An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can remove its sandboxing.
|
||||||
|
|
||||||
# Sub-Resource Integrity
|
# Sub-Resource Integrity
|
||||||
# LOCALIZATION NOTE: Do not translate "script" or "integrity". "%1$S" is the invalid token found in the attribute.
|
# LOCALIZATION NOTE: Do not translate "script" or "integrity". "%1$S" is the invalid token found in the attribute.
|
||||||
MalformedIntegrityHash=The script element has a malformed hash in its integrity attribute: "%1$S". The correct format is "<hash algorithm>-<hash value>".
|
MalformedIntegrityHash=The script element has a malformed hash in its integrity attribute: “%1$S”. The correct format is “<hash algorithm>-<hash value>”.
|
||||||
# LOCALIZATION NOTE: Do not translate "integrity"
|
# LOCALIZATION NOTE: Do not translate "integrity"
|
||||||
InvalidIntegrityLength=The hash contained in the integrity attribute has the wrong length.
|
InvalidIntegrityLength=The hash contained in the integrity attribute has the wrong length.
|
||||||
# LOCALIZATION NOTE: Do not translate "integrity"
|
# LOCALIZATION NOTE: Do not translate "integrity"
|
||||||
InvalidIntegrityBase64=The hash contained in the integrity attribute could not be decoded.
|
InvalidIntegrityBase64=The hash contained in the integrity attribute could not be decoded.
|
||||||
# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the type of hash algorigthm in use (e.g. "sha256").
|
# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the type of hash algorigthm in use (e.g. "sha256").
|
||||||
IntegrityMismatch=None of the "%1$S" hashes in the integrity attribute match the content of the subresource.
|
IntegrityMismatch=None of the “%1$S” hashes in the integrity attribute match the content of the subresource.
|
||||||
# LOCALIZATION NOTE: "%1$S" is the URI of the sub-resource that cannot be protected using SRI.
|
# LOCALIZATION NOTE: "%1$S" is the URI of the sub-resource that cannot be protected using SRI.
|
||||||
IneligibleResource="%1$S" is not eligible for integrity checks since it's neither CORS-enabled nor same-origin.
|
IneligibleResource=“%1$S” is not eligible for integrity checks since it’s neither CORS-enabled nor same-origin.
|
||||||
# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the invalid hash algorithm found in the attribute.
|
# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the invalid hash algorithm found in the attribute.
|
||||||
UnsupportedHashAlg=Unsupported hash algorithm in the integrity attribute: "%1$S"
|
UnsupportedHashAlg=Unsupported hash algorithm in the integrity attribute: “%1$S”
|
||||||
# LOCALIZATION NOTE: Do not translate "integrity"
|
# LOCALIZATION NOTE: Do not translate "integrity"
|
||||||
NoValidMetadata=The integrity attribute does not contain any valid metadata.
|
NoValidMetadata=The integrity attribute does not contain any valid metadata.
|
||||||
|
|
||||||
|
|
|
@ -16,16 +16,16 @@
|
||||||
12 = An XSLT stylesheet directly or indirectly imports or includes itself:
|
12 = An XSLT stylesheet directly or indirectly imports or includes itself:
|
||||||
13 = An XPath function was called with the wrong number of arguments.
|
13 = An XPath function was called with the wrong number of arguments.
|
||||||
14 = An unknown XPath extension function was called.
|
14 = An unknown XPath extension function was called.
|
||||||
15 = XPath parse failure: ')' expected:
|
15 = XPath parse failure: ‘)’ expected:
|
||||||
16 = XPath parse failure: invalid axis:
|
16 = XPath parse failure: invalid axis:
|
||||||
17 = XPath parse failure: Name or Nodetype test expected:
|
17 = XPath parse failure: Name or Nodetype test expected:
|
||||||
18 = XPath parse failure: ']' expected:
|
18 = XPath parse failure: ‘]’ expected:
|
||||||
19 = XPath parse failure: invalid variable name:
|
19 = XPath parse failure: invalid variable name:
|
||||||
20 = XPath parse failure: unexpected end of expression:
|
20 = XPath parse failure: unexpected end of expression:
|
||||||
21 = XPath parse failure: operator expected:
|
21 = XPath parse failure: operator expected:
|
||||||
22 = XPath parse failure: unclosed literal:
|
22 = XPath parse failure: unclosed literal:
|
||||||
23 = XPath parse failure: ':' unexpected:
|
23 = XPath parse failure: ‘:’ unexpected:
|
||||||
24 = XPath parse failure: '!' unexpected, negation is not():
|
24 = XPath parse failure: ‘!’ unexpected, negation is not():
|
||||||
25 = XPath parse failure: illegal character found:
|
25 = XPath parse failure: illegal character found:
|
||||||
26 = XPath parse failure: binary operator expected:
|
26 = XPath parse failure: binary operator expected:
|
||||||
27 = An XSLT stylesheet load was blocked for security reasons.
|
27 = An XSLT stylesheet load was blocked for security reasons.
|
||||||
|
|
|
@ -59,7 +59,7 @@ ConsoleAPI.prototype.warn = function(aWarning) {
|
||||||
func: () => data.jsonText = JSON.stringify({
|
func: () => data.jsonText = JSON.stringify({
|
||||||
start_url: 42,
|
start_url: 42,
|
||||||
}),
|
}),
|
||||||
warning: 'Expected the manifest\'s start_url member to be a string.',
|
warning: 'Expected the manifest\u2019s start_url member to be a string.',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
func: () => data.jsonText = JSON.stringify({
|
func: () => data.jsonText = JSON.stringify({
|
||||||
|
|
|
@ -40,19 +40,19 @@ var tests = [
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
var results = [
|
var results = [
|
||||||
[ { errorMessage: /Unknown property 'nosuchprop'/,
|
[ { errorMessage: /Unknown property \u2018nosuchprop\u2019/,
|
||||||
lineNumber: 1, columnNumber: 14,
|
lineNumber: 1, columnNumber: 14,
|
||||||
sourceLine: "#s1{nosuchprop:auto; color:black}" },
|
sourceLine: "#s1{nosuchprop:auto; color:black}" },
|
||||||
{ errorMessage: /Unknown property 'nosuchprop'/,
|
{ errorMessage: /Unknown property \u2018nosuchprop\u2019/,
|
||||||
lineNumber: 2, columnNumber: 14, sourceLine:
|
lineNumber: 2, columnNumber: 14, sourceLine:
|
||||||
"#s2{nosuchprop:auto; color:black}invalid?sel{}#s3{color:black}" },
|
"#s2{nosuchprop:auto; color:black}invalid?sel{}#s3{color:black}" },
|
||||||
{ errorMessage: /Ruleset ignored due to bad selector/,
|
{ errorMessage: /Ruleset ignored due to bad selector/,
|
||||||
lineNumber: 2, columnNumber: 40, sourceLine:
|
lineNumber: 2, columnNumber: 40, sourceLine:
|
||||||
"#s2{nosuchprop:auto; color:black}invalid?sel{}#s3{color:black}" } ],
|
"#s2{nosuchprop:auto; color:black}invalid?sel{}#s3{color:black}" } ],
|
||||||
[ { errorMessage: /parsing value for 'width'/,
|
[ { errorMessage: /parsing value for \u2018width\u2019/,
|
||||||
lineNumber: 0, columnNumber: 6,
|
lineNumber: 0, columnNumber: 6,
|
||||||
sourceLine: "width:200;color:black" } ],
|
sourceLine: "width:200;color:black" } ],
|
||||||
[ { errorMessage: /parsing value for 'width'/,
|
[ { errorMessage: /parsing value for \u2018width\u2019/,
|
||||||
lineNumber: 0, columnNumber: 0,
|
lineNumber: 0, columnNumber: 0,
|
||||||
sourceLine: "200" } ],
|
sourceLine: "200" } ],
|
||||||
];
|
];
|
||||||
|
|
|
@ -26,26 +26,26 @@
|
||||||
const patterns = [
|
const patterns = [
|
||||||
// REPORT_UNEXPECTED_P (only ever used in contexts where identifier-like
|
// REPORT_UNEXPECTED_P (only ever used in contexts where identifier-like
|
||||||
// escaping is appropriate)
|
// escaping is appropriate)
|
||||||
{ i: "<t>|x{}", o: "prefix '<i>'" },
|
{ i: "<t>|x{}", o: "prefix \u2018<i>\u2019" },
|
||||||
// REPORT_UNEXPECTED_TOKEN with:
|
// REPORT_UNEXPECTED_TOKEN with:
|
||||||
// _Ident
|
// _Ident
|
||||||
{ i: "@namespace fnord <t>;", o: "within @namespace: '<i>'" },
|
{ i: "@namespace fnord <t>;", o: "within @namespace: \u2018<i>\u2019" },
|
||||||
// _Ref
|
// _Ref
|
||||||
{ i: "@namespace fnord #<t>;", o: "within @namespace: '#<i>'" },
|
{ i: "@namespace fnord #<t>;", o: "within @namespace: \u2018#<i>\u2019" },
|
||||||
// _Function
|
// _Function
|
||||||
{ i: "@namespace fnord <t>();", o: "within @namespace: '<i>('" },
|
{ i: "@namespace fnord <t>();", o: "within @namespace: \u2018<i>(\u2019" },
|
||||||
// _Dimension
|
// _Dimension
|
||||||
{ i: "@namespace fnord 14<t>;", o: "within @namespace: '14<i>'" },
|
{ i: "@namespace fnord 14<t>;", o: "within @namespace: \u201814<i>\u2019" },
|
||||||
// _AtKeyword
|
// _AtKeyword
|
||||||
{ i: "x{@<t>: }", o: "declaration but found '@<i>'." },
|
{ i: "x{@<t>: }", o: "declaration but found \u2018@<i>\u2019." },
|
||||||
// _String
|
// _String
|
||||||
{ i: "x{ '<t>'}" , o: "declaration but found ''<s>''." },
|
{ i: "x{ '<t>'}" , o: "declaration but found \u2018'<s>'\u2019." },
|
||||||
// _Bad_String
|
// _Bad_String
|
||||||
{ i: "x{ '<t>\n}", o: "declaration but found ''<s>'." },
|
{ i: "x{ '<t>\n}", o: "declaration but found \u2018'<s>\u2019." },
|
||||||
// _URL
|
// _URL
|
||||||
{ i: "x{ url('<t>')}", o: "declaration but found 'url('<s>')'." },
|
{ i: "x{ url('<t>')}", o: "declaration but found \u2018url('<s>')\u2019." },
|
||||||
// _Bad_URL
|
// _Bad_URL
|
||||||
{ i: "x{ url('<t>'.)}" , o: "declaration but found 'url('<s>''." }
|
{ i: "x{ url('<t>'.)}" , o: "declaration but found \u2018url('<s>'\u2019." }
|
||||||
];
|
];
|
||||||
|
|
||||||
// Blocks of characters to test, and how they should be escaped when
|
// Blocks of characters to test, and how they should be escaped when
|
||||||
|
|
|
@ -33,16 +33,16 @@ DirColSize=Size
|
||||||
DirColMTime=Last Modified
|
DirColMTime=Last Modified
|
||||||
DirFileLabel=File:
|
DirFileLabel=File:
|
||||||
|
|
||||||
PhishingAuth=You are about to visit "%1$S". This site may be attempting to trick you into thinking you are visiting a different site. Use extreme caution.
|
PhishingAuth=You are about to visit “%1$S”. This site may be attempting to trick you into thinking you are visiting a different site. Use extreme caution.
|
||||||
PhishingAuthAccept=I understand and will be very careful
|
PhishingAuthAccept=I understand and will be very careful
|
||||||
SuperfluousAuth=You are about to log in to the site "%1$S" with the username "%2$S", but the website does not require authentication. This may be an attempt to trick you.\n\nIs "%1$S" the site you want to visit?
|
SuperfluousAuth=You are about to log in to the site “%1$S” with the username “%2$S”, but the website does not require authentication. This may be an attempt to trick you.\n\nIs “%1$S” the site you want to visit?
|
||||||
AutomaticAuth=You are about to log in to the site "%1$S" with the username "%2$S".
|
AutomaticAuth=You are about to log in to the site “%1$S” with the username “%2$S”.
|
||||||
|
|
||||||
TrackingUriBlocked=The resource at "%1$S" was blocked because tracking protection is enabled.
|
TrackingUriBlocked=The resource at “%1$S” was blocked because tracking protection is enabled.
|
||||||
|
|
||||||
# LOCALIZATION NOTE (APIDeprecationWarning):
|
# LOCALIZATION NOTE (APIDeprecationWarning):
|
||||||
# %1$S is the deprected API; %2$S is the API function that should be used.
|
# %1$S is the deprected API; %2$S is the API function that should be used.
|
||||||
APIDeprecationWarning=Warning: '%1$S' deprecated, please use '%2$S'
|
APIDeprecationWarning=Warning: ‘%1$S’ deprecated, please use ‘%2$S’
|
||||||
|
|
||||||
# LOCALIZATION NOTE (nsICookieManagerRemoveDeprecated): don't localize nsICookieManager.remove() and originAttributes.
|
# LOCALIZATION NOTE (nsICookieManagerRemoveDeprecated): don't localize nsICookieManager.remove() and originAttributes.
|
||||||
nsICookieManagerRemoveDeprecated=“nsICookieManager.remove()” is changed. Update your code and pass the correct originAttributes. Read more on MDN: https://developer.mozilla.org/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsICookieManager
|
nsICookieManagerRemoveDeprecated=“nsICookieManager.remove()” is changed. Update your code and pass the correct originAttributes. Read more on MDN: https://developer.mozilla.org/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsICookieManager
|
||||||
|
|
|
@ -6,13 +6,13 @@ SSL_ERROR_EXPORT_ONLY_SERVER=Unable to communicate securely. Peer does not suppo
|
||||||
SSL_ERROR_US_ONLY_SERVER=Unable to communicate securely. Peer requires high-grade encryption which is not supported.
|
SSL_ERROR_US_ONLY_SERVER=Unable to communicate securely. Peer requires high-grade encryption which is not supported.
|
||||||
SSL_ERROR_NO_CYPHER_OVERLAP=Cannot communicate securely with peer: no common encryption algorithm(s).
|
SSL_ERROR_NO_CYPHER_OVERLAP=Cannot communicate securely with peer: no common encryption algorithm(s).
|
||||||
SSL_ERROR_NO_CERTIFICATE=Unable to find the certificate or key necessary for authentication.
|
SSL_ERROR_NO_CERTIFICATE=Unable to find the certificate or key necessary for authentication.
|
||||||
SSL_ERROR_BAD_CERTIFICATE=Unable to communicate securely with peer: peers's certificate was rejected.
|
SSL_ERROR_BAD_CERTIFICATE=Unable to communicate securely with peer: peers’s certificate was rejected.
|
||||||
SSL_ERROR_BAD_CLIENT=The server has encountered bad data from the client.
|
SSL_ERROR_BAD_CLIENT=The server has encountered bad data from the client.
|
||||||
SSL_ERROR_BAD_SERVER=The client has encountered bad data from the server.
|
SSL_ERROR_BAD_SERVER=The client has encountered bad data from the server.
|
||||||
SSL_ERROR_UNSUPPORTED_CERTIFICATE_TYPE=Unsupported certificate type.
|
SSL_ERROR_UNSUPPORTED_CERTIFICATE_TYPE=Unsupported certificate type.
|
||||||
SSL_ERROR_UNSUPPORTED_VERSION=Peer using unsupported version of security protocol.
|
SSL_ERROR_UNSUPPORTED_VERSION=Peer using unsupported version of security protocol.
|
||||||
SSL_ERROR_WRONG_CERTIFICATE=Client authentication failed: private key in key database does not match public key in certificate database.
|
SSL_ERROR_WRONG_CERTIFICATE=Client authentication failed: private key in key database does not match public key in certificate database.
|
||||||
SSL_ERROR_BAD_CERT_DOMAIN=Unable to communicate securely with peer: requested domain name does not match the server's certificate.
|
SSL_ERROR_BAD_CERT_DOMAIN=Unable to communicate securely with peer: requested domain name does not match the server’s certificate.
|
||||||
SSL_ERROR_POST_WARNING=Unrecognized SSL error code.
|
SSL_ERROR_POST_WARNING=Unrecognized SSL error code.
|
||||||
SSL_ERROR_SSL2_DISABLED=Peer only supports SSL version 2, which is locally disabled.
|
SSL_ERROR_SSL2_DISABLED=Peer only supports SSL version 2, which is locally disabled.
|
||||||
SSL_ERROR_BAD_MAC_READ=SSL received a record with an incorrect Message Authentication Code.
|
SSL_ERROR_BAD_MAC_READ=SSL received a record with an incorrect Message Authentication Code.
|
||||||
|
@ -67,7 +67,7 @@ SSL_ERROR_UNSUPPORTED_CERT_ALERT=SSL peer does not support certificates of the t
|
||||||
SSL_ERROR_CERTIFICATE_UNKNOWN_ALERT=SSL peer had some unspecified issue with the certificate it received.
|
SSL_ERROR_CERTIFICATE_UNKNOWN_ALERT=SSL peer had some unspecified issue with the certificate it received.
|
||||||
SSL_ERROR_GENERATE_RANDOM_FAILURE=SSL experienced a failure of its random number generator.
|
SSL_ERROR_GENERATE_RANDOM_FAILURE=SSL experienced a failure of its random number generator.
|
||||||
SSL_ERROR_SIGN_HASHES_FAILURE=Unable to digitally sign data required to verify your certificate.
|
SSL_ERROR_SIGN_HASHES_FAILURE=Unable to digitally sign data required to verify your certificate.
|
||||||
SSL_ERROR_EXTRACT_PUBLIC_KEY_FAILURE=SSL was unable to extract the public key from the peer's certificate.
|
SSL_ERROR_EXTRACT_PUBLIC_KEY_FAILURE=SSL was unable to extract the public key from the peer’s certificate.
|
||||||
SSL_ERROR_SERVER_KEY_EXCHANGE_FAILURE=Unspecified failure while processing SSL Server Key Exchange handshake.
|
SSL_ERROR_SERVER_KEY_EXCHANGE_FAILURE=Unspecified failure while processing SSL Server Key Exchange handshake.
|
||||||
SSL_ERROR_CLIENT_KEY_EXCHANGE_FAILURE=Unspecified failure while processing SSL Client Key Exchange handshake.
|
SSL_ERROR_CLIENT_KEY_EXCHANGE_FAILURE=Unspecified failure while processing SSL Client Key Exchange handshake.
|
||||||
SSL_ERROR_ENCRYPTION_FAILURE=Bulk data encryption algorithm failed in selected cipher suite.
|
SSL_ERROR_ENCRYPTION_FAILURE=Bulk data encryption algorithm failed in selected cipher suite.
|
||||||
|
@ -90,7 +90,7 @@ SSL_ERROR_HANDSHAKE_NOT_COMPLETED=Cannot initiate another SSL handshake until cu
|
||||||
SSL_ERROR_BAD_HANDSHAKE_HASH_VALUE=Received incorrect handshakes hash values from peer.
|
SSL_ERROR_BAD_HANDSHAKE_HASH_VALUE=Received incorrect handshakes hash values from peer.
|
||||||
SSL_ERROR_CERT_KEA_MISMATCH=The certificate provided cannot be used with the selected key exchange algorithm.
|
SSL_ERROR_CERT_KEA_MISMATCH=The certificate provided cannot be used with the selected key exchange algorithm.
|
||||||
SSL_ERROR_NO_TRUSTED_SSL_CLIENT_CA=No certificate authority is trusted for SSL client authentication.
|
SSL_ERROR_NO_TRUSTED_SSL_CLIENT_CA=No certificate authority is trusted for SSL client authentication.
|
||||||
SSL_ERROR_SESSION_NOT_FOUND=Client's SSL session ID not found in server's session cache.
|
SSL_ERROR_SESSION_NOT_FOUND=Client’s SSL session ID not found in server’s session cache.
|
||||||
SSL_ERROR_DECRYPTION_FAILED_ALERT=Peer was unable to decrypt an SSL record it received.
|
SSL_ERROR_DECRYPTION_FAILED_ALERT=Peer was unable to decrypt an SSL record it received.
|
||||||
SSL_ERROR_RECORD_OVERFLOW_ALERT=Peer received an SSL record that was longer than is permitted.
|
SSL_ERROR_RECORD_OVERFLOW_ALERT=Peer received an SSL record that was longer than is permitted.
|
||||||
SSL_ERROR_UNKNOWN_CA_ALERT=Peer does not recognize and trust the CA that issued your certificate.
|
SSL_ERROR_UNKNOWN_CA_ALERT=Peer does not recognize and trust the CA that issued your certificate.
|
||||||
|
@ -148,29 +148,29 @@ SEC_ERROR_INVALID_ALGORITHM=security library: invalid algorithm.
|
||||||
SEC_ERROR_INVALID_AVA=security library: invalid AVA.
|
SEC_ERROR_INVALID_AVA=security library: invalid AVA.
|
||||||
SEC_ERROR_INVALID_TIME=Improperly formatted time string.
|
SEC_ERROR_INVALID_TIME=Improperly formatted time string.
|
||||||
SEC_ERROR_BAD_DER=security library: improperly formatted DER-encoded message.
|
SEC_ERROR_BAD_DER=security library: improperly formatted DER-encoded message.
|
||||||
SEC_ERROR_BAD_SIGNATURE=Peer's certificate has an invalid signature.
|
SEC_ERROR_BAD_SIGNATURE=Peer’s certificate has an invalid signature.
|
||||||
SEC_ERROR_EXPIRED_CERTIFICATE=Peer's Certificate has expired.
|
SEC_ERROR_EXPIRED_CERTIFICATE=Peer’s Certificate has expired.
|
||||||
SEC_ERROR_REVOKED_CERTIFICATE=Peer's Certificate has been revoked.
|
SEC_ERROR_REVOKED_CERTIFICATE=Peer’s Certificate has been revoked.
|
||||||
SEC_ERROR_UNKNOWN_ISSUER=Peer's Certificate issuer is not recognized.
|
SEC_ERROR_UNKNOWN_ISSUER=Peer’s Certificate issuer is not recognized.
|
||||||
SEC_ERROR_BAD_KEY=Peer's public key is invalid.
|
SEC_ERROR_BAD_KEY=Peer’s public key is invalid.
|
||||||
SEC_ERROR_BAD_PASSWORD=The security password entered is incorrect.
|
SEC_ERROR_BAD_PASSWORD=The security password entered is incorrect.
|
||||||
SEC_ERROR_RETRY_PASSWORD=New password entered incorrectly. Please try again.
|
SEC_ERROR_RETRY_PASSWORD=New password entered incorrectly. Please try again.
|
||||||
SEC_ERROR_NO_NODELOCK=security library: no nodelock.
|
SEC_ERROR_NO_NODELOCK=security library: no nodelock.
|
||||||
SEC_ERROR_BAD_DATABASE=security library: bad database.
|
SEC_ERROR_BAD_DATABASE=security library: bad database.
|
||||||
SEC_ERROR_NO_MEMORY=security library: memory allocation failure.
|
SEC_ERROR_NO_MEMORY=security library: memory allocation failure.
|
||||||
SEC_ERROR_UNTRUSTED_ISSUER=Peer's certificate issuer has been marked as not trusted by the user.
|
SEC_ERROR_UNTRUSTED_ISSUER=Peer’s certificate issuer has been marked as not trusted by the user.
|
||||||
SEC_ERROR_UNTRUSTED_CERT=Peer's certificate has been marked as not trusted by the user.
|
SEC_ERROR_UNTRUSTED_CERT=Peer’s certificate has been marked as not trusted by the user.
|
||||||
SEC_ERROR_DUPLICATE_CERT=Certificate already exists in your database.
|
SEC_ERROR_DUPLICATE_CERT=Certificate already exists in your database.
|
||||||
SEC_ERROR_DUPLICATE_CERT_NAME=Downloaded certificate's name duplicates one already in your database.
|
SEC_ERROR_DUPLICATE_CERT_NAME=Downloaded certificate’s name duplicates one already in your database.
|
||||||
SEC_ERROR_ADDING_CERT=Error adding certificate to database.
|
SEC_ERROR_ADDING_CERT=Error adding certificate to database.
|
||||||
SEC_ERROR_FILING_KEY=Error refiling the key for this certificate.
|
SEC_ERROR_FILING_KEY=Error refiling the key for this certificate.
|
||||||
SEC_ERROR_NO_KEY=The private key for this certificate cannot be found in key database
|
SEC_ERROR_NO_KEY=The private key for this certificate cannot be found in key database
|
||||||
SEC_ERROR_CERT_VALID=This certificate is valid.
|
SEC_ERROR_CERT_VALID=This certificate is valid.
|
||||||
SEC_ERROR_CERT_NOT_VALID=This certificate is not valid.
|
SEC_ERROR_CERT_NOT_VALID=This certificate is not valid.
|
||||||
SEC_ERROR_CERT_NO_RESPONSE=Cert Library: No Response
|
SEC_ERROR_CERT_NO_RESPONSE=Cert Library: No Response
|
||||||
SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE=The certificate issuer's certificate has expired. Check your system date and time.
|
SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE=The certificate issuer’s certificate has expired. Check your system date and time.
|
||||||
SEC_ERROR_CRL_EXPIRED=The CRL for the certificate's issuer has expired. Update it or check your system date and time.
|
SEC_ERROR_CRL_EXPIRED=The CRL for the certificate’s issuer has expired. Update it or check your system date and time.
|
||||||
SEC_ERROR_CRL_BAD_SIGNATURE=The CRL for the certificate's issuer has an invalid signature.
|
SEC_ERROR_CRL_BAD_SIGNATURE=The CRL for the certificate’s issuer has an invalid signature.
|
||||||
SEC_ERROR_CRL_INVALID=New CRL has an invalid format.
|
SEC_ERROR_CRL_INVALID=New CRL has an invalid format.
|
||||||
SEC_ERROR_EXTENSION_VALUE_INVALID=Certificate extension value is invalid.
|
SEC_ERROR_EXTENSION_VALUE_INVALID=Certificate extension value is invalid.
|
||||||
SEC_ERROR_EXTENSION_NOT_FOUND=Certificate extension not found.
|
SEC_ERROR_EXTENSION_NOT_FOUND=Certificate extension not found.
|
||||||
|
@ -195,11 +195,11 @@ XP_SEC_FORTEZZA_MORE_INFO=Please select a personality to get more info on
|
||||||
XP_SEC_FORTEZZA_PERSON_NOT_FOUND=Personality not found
|
XP_SEC_FORTEZZA_PERSON_NOT_FOUND=Personality not found
|
||||||
XP_SEC_FORTEZZA_NO_MORE_INFO=No more information on that Personality
|
XP_SEC_FORTEZZA_NO_MORE_INFO=No more information on that Personality
|
||||||
XP_SEC_FORTEZZA_BAD_PIN=Invalid Pin
|
XP_SEC_FORTEZZA_BAD_PIN=Invalid Pin
|
||||||
XP_SEC_FORTEZZA_PERSON_ERROR=Couldn't initialize Fortezza personalities.
|
XP_SEC_FORTEZZA_PERSON_ERROR=Couldn’t initialize Fortezza personalities.
|
||||||
SEC_ERROR_NO_KRL=No KRL for this site's certificate has been found.
|
SEC_ERROR_NO_KRL=No KRL for this site’s certificate has been found.
|
||||||
SEC_ERROR_KRL_EXPIRED=The KRL for this site's certificate has expired.
|
SEC_ERROR_KRL_EXPIRED=The KRL for this site’s certificate has expired.
|
||||||
SEC_ERROR_KRL_BAD_SIGNATURE=The KRL for this site's certificate has an invalid signature.
|
SEC_ERROR_KRL_BAD_SIGNATURE=The KRL for this site’s certificate has an invalid signature.
|
||||||
SEC_ERROR_REVOKED_KEY=The key for this site's certificate has been revoked.
|
SEC_ERROR_REVOKED_KEY=The key for this site’s certificate has been revoked.
|
||||||
SEC_ERROR_KRL_INVALID=New KRL has an invalid format.
|
SEC_ERROR_KRL_INVALID=New KRL has an invalid format.
|
||||||
SEC_ERROR_NEED_RANDOM=security library: need random data.
|
SEC_ERROR_NEED_RANDOM=security library: need random data.
|
||||||
SEC_ERROR_NO_MODULE=security library: no security module can perform the requested operation.
|
SEC_ERROR_NO_MODULE=security library: no security module can perform the requested operation.
|
||||||
|
@ -210,9 +210,9 @@ SEC_ERROR_CERT_NICKNAME_COLLISION=A certificate with the same nickname already e
|
||||||
SEC_ERROR_KEY_NICKNAME_COLLISION=A key with the same nickname already exists.
|
SEC_ERROR_KEY_NICKNAME_COLLISION=A key with the same nickname already exists.
|
||||||
SEC_ERROR_SAFE_NOT_CREATED=error while creating safe object
|
SEC_ERROR_SAFE_NOT_CREATED=error while creating safe object
|
||||||
SEC_ERROR_BAGGAGE_NOT_CREATED=error while creating baggage object
|
SEC_ERROR_BAGGAGE_NOT_CREATED=error while creating baggage object
|
||||||
XP_JAVA_REMOVE_PRINCIPAL_ERROR=Couldn't remove the principal
|
XP_JAVA_REMOVE_PRINCIPAL_ERROR=Couldn’t remove the principal
|
||||||
XP_JAVA_DELETE_PRIVILEGE_ERROR=Couldn't delete the privilege
|
XP_JAVA_DELETE_PRIVILEGE_ERROR=Couldn’t delete the privilege
|
||||||
XP_JAVA_CERT_NOT_EXISTS_ERROR=This principal doesn't have a certificate
|
XP_JAVA_CERT_NOT_EXISTS_ERROR=This principal doesn’t have a certificate
|
||||||
SEC_ERROR_BAD_EXPORT_ALGORITHM=Required algorithm is not allowed.
|
SEC_ERROR_BAD_EXPORT_ALGORITHM=Required algorithm is not allowed.
|
||||||
SEC_ERROR_EXPORTING_CERTIFICATES=Error attempting to export certificates.
|
SEC_ERROR_EXPORTING_CERTIFICATES=Error attempting to export certificates.
|
||||||
SEC_ERROR_IMPORTING_CERTIFICATES=Error attempting to import certificates.
|
SEC_ERROR_IMPORTING_CERTIFICATES=Error attempting to import certificates.
|
||||||
|
@ -254,7 +254,7 @@ SEC_ERROR_CERT_NOT_IN_NAME_SPACE=The Certifying Authority for this certificate i
|
||||||
SEC_ERROR_KRL_NOT_YET_VALID=The key revocation list for this certificate is not yet valid.
|
SEC_ERROR_KRL_NOT_YET_VALID=The key revocation list for this certificate is not yet valid.
|
||||||
SEC_ERROR_CRL_NOT_YET_VALID=The certificate revocation list for this certificate is not yet valid.
|
SEC_ERROR_CRL_NOT_YET_VALID=The certificate revocation list for this certificate is not yet valid.
|
||||||
SEC_ERROR_UNKNOWN_CERT=The requested certificate could not be found.
|
SEC_ERROR_UNKNOWN_CERT=The requested certificate could not be found.
|
||||||
SEC_ERROR_UNKNOWN_SIGNER=The signer's certificate could not be found.
|
SEC_ERROR_UNKNOWN_SIGNER=The signer’s certificate could not be found.
|
||||||
SEC_ERROR_CERT_BAD_ACCESS_LOCATION=The location for the certificate status server has invalid format.
|
SEC_ERROR_CERT_BAD_ACCESS_LOCATION=The location for the certificate status server has invalid format.
|
||||||
SEC_ERROR_OCSP_UNKNOWN_RESPONSE_TYPE=The OCSP response cannot be fully decoded; it is of an unknown type.
|
SEC_ERROR_OCSP_UNKNOWN_RESPONSE_TYPE=The OCSP response cannot be fully decoded; it is of an unknown type.
|
||||||
SEC_ERROR_OCSP_BAD_HTTP_RESPONSE=The OCSP server returned unexpected/invalid HTTP data.
|
SEC_ERROR_OCSP_BAD_HTTP_RESPONSE=The OCSP server returned unexpected/invalid HTTP data.
|
||||||
|
@ -283,18 +283,18 @@ SEC_ERROR_UNSUPPORTED_ELLIPTIC_CURVE=Unsupported elliptic curve.
|
||||||
SEC_ERROR_UNSUPPORTED_EC_POINT_FORM=Unsupported elliptic curve point form.
|
SEC_ERROR_UNSUPPORTED_EC_POINT_FORM=Unsupported elliptic curve point form.
|
||||||
SEC_ERROR_UNRECOGNIZED_OID=Unrecognized Object Identifier.
|
SEC_ERROR_UNRECOGNIZED_OID=Unrecognized Object Identifier.
|
||||||
SEC_ERROR_OCSP_INVALID_SIGNING_CERT=Invalid OCSP signing certificate in OCSP response.
|
SEC_ERROR_OCSP_INVALID_SIGNING_CERT=Invalid OCSP signing certificate in OCSP response.
|
||||||
SEC_ERROR_REVOKED_CERTIFICATE_CRL=Certificate is revoked in issuer's certificate revocation list.
|
SEC_ERROR_REVOKED_CERTIFICATE_CRL=Certificate is revoked in issuer’s certificate revocation list.
|
||||||
SEC_ERROR_REVOKED_CERTIFICATE_OCSP=Issuer's OCSP responder reports certificate is revoked.
|
SEC_ERROR_REVOKED_CERTIFICATE_OCSP=Issuer’s OCSP responder reports certificate is revoked.
|
||||||
SEC_ERROR_CRL_INVALID_VERSION=Issuer's Certificate Revocation List has an unknown version number.
|
SEC_ERROR_CRL_INVALID_VERSION=Issuer’s Certificate Revocation List has an unknown version number.
|
||||||
SEC_ERROR_CRL_V1_CRITICAL_EXTENSION=Issuer's V1 Certificate Revocation List has a critical extension.
|
SEC_ERROR_CRL_V1_CRITICAL_EXTENSION=Issuer’s V1 Certificate Revocation List has a critical extension.
|
||||||
SEC_ERROR_CRL_UNKNOWN_CRITICAL_EXTENSION=Issuer's V2 Certificate Revocation List has an unknown critical extension.
|
SEC_ERROR_CRL_UNKNOWN_CRITICAL_EXTENSION=Issuer’s V2 Certificate Revocation List has an unknown critical extension.
|
||||||
SEC_ERROR_UNKNOWN_OBJECT_TYPE=Unknown object type specified.
|
SEC_ERROR_UNKNOWN_OBJECT_TYPE=Unknown object type specified.
|
||||||
SEC_ERROR_INCOMPATIBLE_PKCS11=PKCS #11 driver violates the spec in an incompatible way.
|
SEC_ERROR_INCOMPATIBLE_PKCS11=PKCS #11 driver violates the spec in an incompatible way.
|
||||||
SEC_ERROR_NO_EVENT=No new slot event is available at this time.
|
SEC_ERROR_NO_EVENT=No new slot event is available at this time.
|
||||||
SEC_ERROR_CRL_ALREADY_EXISTS=CRL already exists.
|
SEC_ERROR_CRL_ALREADY_EXISTS=CRL already exists.
|
||||||
SEC_ERROR_NOT_INITIALIZED=NSS is not initialized.
|
SEC_ERROR_NOT_INITIALIZED=NSS is not initialized.
|
||||||
SEC_ERROR_TOKEN_NOT_LOGGED_IN=The operation failed because the PKCS#11 token is not logged in.
|
SEC_ERROR_TOKEN_NOT_LOGGED_IN=The operation failed because the PKCS#11 token is not logged in.
|
||||||
SEC_ERROR_OCSP_RESPONDER_CERT_INVALID=Configured OCSP responder's certificate is invalid.
|
SEC_ERROR_OCSP_RESPONDER_CERT_INVALID=Configured OCSP responder’s certificate is invalid.
|
||||||
SEC_ERROR_OCSP_BAD_SIGNATURE=OCSP response has an invalid signature.
|
SEC_ERROR_OCSP_BAD_SIGNATURE=OCSP response has an invalid signature.
|
||||||
SEC_ERROR_OUT_OF_SEARCH_LIMITS=Cert validation search is out of search limits
|
SEC_ERROR_OUT_OF_SEARCH_LIMITS=Cert validation search is out of search limits
|
||||||
SEC_ERROR_INVALID_POLICY_MAPPING=Policy mapping contains anypolicy
|
SEC_ERROR_INVALID_POLICY_MAPPING=Policy mapping contains anypolicy
|
||||||
|
@ -318,9 +318,9 @@ SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED=The certificate was signed using a s
|
||||||
MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE=The server uses key pinning (HPKP) but no trusted certificate chain could be constructed that matches the pinset. Key pinning violations cannot be overridden.
|
MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE=The server uses key pinning (HPKP) but no trusted certificate chain could be constructed that matches the pinset. Key pinning violations cannot be overridden.
|
||||||
MOZILLA_PKIX_ERROR_CA_CERT_USED_AS_END_ENTITY=The server uses a certificate with a basic constraints extension identifying it as a certificate authority. For a properly-issued certificate, this should not be the case.
|
MOZILLA_PKIX_ERROR_CA_CERT_USED_AS_END_ENTITY=The server uses a certificate with a basic constraints extension identifying it as a certificate authority. For a properly-issued certificate, this should not be the case.
|
||||||
MOZILLA_PKIX_ERROR_INADEQUATE_KEY_SIZE=The server presented a certificate with a key size that is too small to establish a secure connection.
|
MOZILLA_PKIX_ERROR_INADEQUATE_KEY_SIZE=The server presented a certificate with a key size that is too small to establish a secure connection.
|
||||||
MOZILLA_PKIX_ERROR_V1_CERT_USED_AS_CA=An X.509 version 1 certificate that is not a trust anchor was used to issue the server's certificate. X.509 version 1 certificates are deprecated and should not be used to sign other certificates.
|
MOZILLA_PKIX_ERROR_V1_CERT_USED_AS_CA=An X.509 version 1 certificate that is not a trust anchor was used to issue the server’s certificate. X.509 version 1 certificates are deprecated and should not be used to sign other certificates.
|
||||||
MOZILLA_PKIX_ERROR_NOT_YET_VALID_CERTIFICATE=The server presented a certificate that is not yet valid.
|
MOZILLA_PKIX_ERROR_NOT_YET_VALID_CERTIFICATE=The server presented a certificate that is not yet valid.
|
||||||
MOZILLA_PKIX_ERROR_NOT_YET_VALID_ISSUER_CERTIFICATE=A certificate that is not yet valid was used to issue the server's certificate.
|
MOZILLA_PKIX_ERROR_NOT_YET_VALID_ISSUER_CERTIFICATE=A certificate that is not yet valid was used to issue the server’s certificate.
|
||||||
MOZILLA_PKIX_ERROR_SIGNATURE_ALGORITHM_MISMATCH=The signature algorithm in the signature field of the certificate does not match the algorithm in its signatureAlgorithm field.
|
MOZILLA_PKIX_ERROR_SIGNATURE_ALGORITHM_MISMATCH=The signature algorithm in the signature field of the certificate does not match the algorithm in its signatureAlgorithm field.
|
||||||
MOZILLA_PKIX_ERROR_OCSP_RESPONSE_FOR_CERT_MISSING=The OCSP response does not include a status for the certificate being verified.
|
MOZILLA_PKIX_ERROR_OCSP_RESPONSE_FOR_CERT_MISSING=The OCSP response does not include a status for the certificate being verified.
|
||||||
MOZILLA_PKIX_ERROR_VALIDITY_TOO_LONG=The server presented a certificate that is valid for too long.
|
MOZILLA_PKIX_ERROR_VALIDITY_TOO_LONG=The server presented a certificate that is valid for too long.
|
||||||
|
|
|
@ -49,7 +49,7 @@ VerifyStatusResponder=Status Responder Certificate
|
||||||
HighGrade=High Grade
|
HighGrade=High Grade
|
||||||
MediumGrade=Medium Grade
|
MediumGrade=Medium Grade
|
||||||
# LOCALIZATION NOTE (nick_template): $1s is the common name from a cert (e.g. "Mozilla"), $2s is the CA name (e.g. VeriSign)
|
# LOCALIZATION NOTE (nick_template): $1s is the common name from a cert (e.g. "Mozilla"), $2s is the CA name (e.g. VeriSign)
|
||||||
nick_template=%1$s's %2$s ID
|
nick_template=%1$s’s %2$s ID
|
||||||
#These are the strings set for the ASN1 objects in a certificate.
|
#These are the strings set for the ASN1 objects in a certificate.
|
||||||
CertDumpCertificate=Certificate
|
CertDumpCertificate=Certificate
|
||||||
CertDumpVersion=Version
|
CertDumpVersion=Version
|
||||||
|
@ -89,7 +89,7 @@ CertDumpRSAPSSSignature=PKCS #1 RSASSA-PSS Signature
|
||||||
CertDumpRSATemplate=Modulus (%S bits):\n%S\nExponent (%S bits):\n%S
|
CertDumpRSATemplate=Modulus (%S bits):\n%S\nExponent (%S bits):\n%S
|
||||||
CertDumpECTemplate=Key size: %S bits\nBase point order length: %S bits\nPublic value:\n%S
|
CertDumpECTemplate=Key size: %S bits\nBase point order length: %S bits\nPublic value:\n%S
|
||||||
CertDumpIssuerUniqueID=Issuer Unique ID
|
CertDumpIssuerUniqueID=Issuer Unique ID
|
||||||
CertDumpSubjPubKey=Subject's Public Key
|
CertDumpSubjPubKey=Subject’s Public Key
|
||||||
CertDumpSubjectUniqueID=Subject Unique ID
|
CertDumpSubjectUniqueID=Subject Unique ID
|
||||||
CertDumpExtensions=Extensions
|
CertDumpExtensions=Extensions
|
||||||
CertDumpSubjectDirectoryAttr=Certificate Subject Directory Attributes
|
CertDumpSubjectDirectoryAttr=Certificate Subject Directory Attributes
|
||||||
|
@ -261,8 +261,8 @@ DelModuleWarning=Are you sure you want to delete this security module?
|
||||||
DelModuleError=Unable to delete module
|
DelModuleError=Unable to delete module
|
||||||
AVATemplate=%S = %S
|
AVATemplate=%S = %S
|
||||||
|
|
||||||
PSMERR_SSL_Disabled=Can't connect securely because the SSL protocol has been disabled.
|
PSMERR_SSL_Disabled=Can’t connect securely because the SSL protocol has been disabled.
|
||||||
PSMERR_SSL2_Disabled=Can't connect securely because the site uses an older, insecure version of the SSL protocol.
|
PSMERR_SSL2_Disabled=Can’t connect securely because the site uses an older, insecure version of the SSL protocol.
|
||||||
PSMERR_HostReusedIssuerSerial=You have received an invalid certificate. Please contact the server administrator or email correspondent and give them the following information:\n\nYour certificate contains the same serial number as another certificate issued by the certificate authority. Please get a new certificate containing a unique serial number.
|
PSMERR_HostReusedIssuerSerial=You have received an invalid certificate. Please contact the server administrator or email correspondent and give them the following information:\n\nYour certificate contains the same serial number as another certificate issued by the certificate authority. Please get a new certificate containing a unique serial number.
|
||||||
|
|
||||||
SSLConnectionErrorPrefix=An error occurred during a connection to %S.
|
SSLConnectionErrorPrefix=An error occurred during a connection to %S.
|
||||||
|
@ -320,9 +320,9 @@ CertNoEmailAddress=(no email address)
|
||||||
NicknameExpired=(expired)
|
NicknameExpired=(expired)
|
||||||
NicknameNotYetValid=(not yet valid)
|
NicknameNotYetValid=(not yet valid)
|
||||||
CaCertExists=This certificate is already installed as a certificate authority.
|
CaCertExists=This certificate is already installed as a certificate authority.
|
||||||
NotACACert=This is not a certificate authority certificate, so it can't be imported into the certificate authority list.
|
NotACACert=This is not a certificate authority certificate, so it can’t be imported into the certificate authority list.
|
||||||
NotImportingUnverifiedCert=This certificate can't be verified and will not be imported. The certificate issuer might be unknown or untrusted, the certificate might have expired or been revoked, or the certificate might not have been approved.
|
NotImportingUnverifiedCert=This certificate can’t be verified and will not be imported. The certificate issuer might be unknown or untrusted, the certificate might have expired or been revoked, or the certificate might not have been approved.
|
||||||
UserCertIgnoredNoPrivateKey=This personal certificate can't be installed because you do not own the corresponding private key which was created when the certificate was requested.
|
UserCertIgnoredNoPrivateKey=This personal certificate can’t be installed because you do not own the corresponding private key which was created when the certificate was requested.
|
||||||
UserCertImported=Your personal certificate has been installed. You should keep a backup copy of this certificate.
|
UserCertImported=Your personal certificate has been installed. You should keep a backup copy of this certificate.
|
||||||
CertOrgUnknown=(Unknown)
|
CertOrgUnknown=(Unknown)
|
||||||
CertNotStored=(Not Stored)
|
CertNotStored=(Not Stored)
|
||||||
|
|
|
@ -7,11 +7,11 @@ CertPassPrompt=Please enter the Personal Security Password for the PSM Private K
|
||||||
|
|
||||||
#These are for dialogs
|
#These are for dialogs
|
||||||
#Download Cert dialog
|
#Download Cert dialog
|
||||||
newCAMessage1=Do you want to trust "%S" for the following purposes?
|
newCAMessage1=Do you want to trust “%S” for the following purposes?
|
||||||
unnamedCA=Certificate Authority (unnamed)
|
unnamedCA=Certificate Authority (unnamed)
|
||||||
|
|
||||||
#For editing cert trust
|
#For editing cert trust
|
||||||
editTrustCA=The certificate "%S" represents a Certificate Authority.
|
editTrustCA=The certificate “%S” represents a Certificate Authority.
|
||||||
|
|
||||||
#For Deleting Certificates
|
#For Deleting Certificates
|
||||||
deleteSslCertConfirm3=Are you sure you want to delete these server exceptions?
|
deleteSslCertConfirm3=Are you sure you want to delete these server exceptions?
|
||||||
|
@ -26,8 +26,8 @@ deleteCaCertConfirm2=You have requested to delete these CA certificates. For bui
|
||||||
deleteCaCertImpactX2=If you delete or distrust a certificate authority (CA) certificate, this application will no longer trust any certificates issued by that CA.
|
deleteCaCertImpactX2=If you delete or distrust a certificate authority (CA) certificate, this application will no longer trust any certificates issued by that CA.
|
||||||
deleteCaCertTitle2=Delete or Distrust CA Certificates
|
deleteCaCertTitle2=Delete or Distrust CA Certificates
|
||||||
|
|
||||||
deleteEmailCertConfirm=Are you sure you want to delete these people's e-mail certificates?
|
deleteEmailCertConfirm=Are you sure you want to delete these people’s e-mail certificates?
|
||||||
deleteEmailCertImpactDesc=If you delete a person's e-mail certificate, you will no longer be able to send encrypted e-mail to that person.
|
deleteEmailCertImpactDesc=If you delete a person’s e-mail certificate, you will no longer be able to send encrypted e-mail to that person.
|
||||||
deleteEmailCertTitle=Delete E-Mail Certificates
|
deleteEmailCertTitle=Delete E-Mail Certificates
|
||||||
|
|
||||||
deleteOrphanCertConfirm=Are you sure you want to delete these certificates?
|
deleteOrphanCertConfirm=Are you sure you want to delete these certificates?
|
||||||
|
@ -52,8 +52,8 @@ certNotVerified_AlgorithmDisabled=Could not verify this certificate because it w
|
||||||
certNotVerified_Unknown=Could not verify this certificate for unknown reasons.
|
certNotVerified_Unknown=Could not verify this certificate for unknown reasons.
|
||||||
|
|
||||||
#Client auth
|
#Client auth
|
||||||
clientAuthMessage1=Organization: "%S"
|
clientAuthMessage1=Organization: “%S”
|
||||||
clientAuthMessage2=Issued Under: "%S"
|
clientAuthMessage2=Issued Under: “%S”
|
||||||
|
|
||||||
#Page Info
|
#Page Info
|
||||||
pageInfo_NoEncryption=Connection Not Encrypted
|
pageInfo_NoEncryption=Connection Not Encrypted
|
||||||
|
@ -70,7 +70,7 @@ pageInfo_Privacy_Encrypted1=The page you are viewing was encrypted before being
|
||||||
pageInfo_Privacy_Encrypted2=Encryption makes it difficult for unauthorized people to view information traveling between computers. It is therefore unlikely that anyone read this page as it traveled across the network.
|
pageInfo_Privacy_Encrypted2=Encryption makes it difficult for unauthorized people to view information traveling between computers. It is therefore unlikely that anyone read this page as it traveled across the network.
|
||||||
pageInfo_MixedContent=Connection Partially Encrypted
|
pageInfo_MixedContent=Connection Partially Encrypted
|
||||||
pageInfo_MixedContent2=Parts of the page you are viewing were not encrypted before being transmitted over the Internet.
|
pageInfo_MixedContent2=Parts of the page you are viewing were not encrypted before being transmitted over the Internet.
|
||||||
pageInfo_WeakCipher=Your connection to this website uses weak encryption and is not private. Other people can view your information or modify the website's behavior.
|
pageInfo_WeakCipher=Your connection to this website uses weak encryption and is not private. Other people can view your information or modify the website’s behavior.
|
||||||
|
|
||||||
#Cert Viewer
|
#Cert Viewer
|
||||||
certDetails=Certificate Viewer:
|
certDetails=Certificate Viewer:
|
||||||
|
@ -111,7 +111,7 @@ resetPasswordConfirmationTitle=Reset Master Password
|
||||||
resetPasswordConfirmationMessage=Your password has been reset.
|
resetPasswordConfirmationMessage=Your password has been reset.
|
||||||
|
|
||||||
# Import certificate(s) file dialog
|
# Import certificate(s) file dialog
|
||||||
importEmailCertPrompt=Select File containing somebody's Email certificate to import
|
importEmailCertPrompt=Select File containing somebody’s Email certificate to import
|
||||||
importCACertsPrompt=Select File containing CA certificate(s) to import
|
importCACertsPrompt=Select File containing CA certificate(s) to import
|
||||||
file_browse_Certificate_spec=Certificate Files
|
file_browse_Certificate_spec=Certificate Files
|
||||||
|
|
||||||
|
@ -123,7 +123,7 @@ CertFormatDER=X.509 Certificate (DER)
|
||||||
CertFormatPKCS7=X.509 Certificate (PKCS#7)
|
CertFormatPKCS7=X.509 Certificate (PKCS#7)
|
||||||
CertFormatPKCS7Chain=X.509 Certificate with chain (PKCS#7)
|
CertFormatPKCS7Chain=X.509 Certificate with chain (PKCS#7)
|
||||||
writeFileFailure=File Error
|
writeFileFailure=File Error
|
||||||
writeFileFailed=Can't write to file %S:\n%S.
|
writeFileFailed=Can’t write to file %S:\n%S.
|
||||||
writeFileAccessDenied=Access denied
|
writeFileAccessDenied=Access denied
|
||||||
writeFileIsLocked=File is locked
|
writeFileIsLocked=File is locked
|
||||||
writeFileNoDeviceSpace=No space left on device
|
writeFileNoDeviceSpace=No space left on device
|
||||||
|
@ -137,7 +137,7 @@ addExceptionDomainMismatchLong2=The certificate belongs to a different site, whi
|
||||||
addExceptionExpiredShort=Outdated Information
|
addExceptionExpiredShort=Outdated Information
|
||||||
addExceptionExpiredLong2=The certificate is not currently valid. It may have been stolen or lost, and could be used by someone to impersonate this site.
|
addExceptionExpiredLong2=The certificate is not currently valid. It may have been stolen or lost, and could be used by someone to impersonate this site.
|
||||||
addExceptionUnverifiedOrBadSignatureShort=Unknown Identity
|
addExceptionUnverifiedOrBadSignatureShort=Unknown Identity
|
||||||
addExceptionUnverifiedOrBadSignatureLong2=The certificate is not trusted because it hasn't been verified as issued by a trusted authority using a secure signature.
|
addExceptionUnverifiedOrBadSignatureLong2=The certificate is not trusted because it hasn’t been verified as issued by a trusted authority using a secure signature.
|
||||||
addExceptionValidShort=Valid Certificate
|
addExceptionValidShort=Valid Certificate
|
||||||
addExceptionValidLong=This site provides valid, verified identification. There is no need to add an exception.
|
addExceptionValidLong=This site provides valid, verified identification. There is no need to add an exception.
|
||||||
addExceptionCheckingShort=Checking Information
|
addExceptionCheckingShort=Checking Information
|
||||||
|
|
|
@ -20,8 +20,8 @@ weak-password = Use a stronger password
|
||||||
# this is the fallback, if we hit an error we didn't bother to localize
|
# this is the fallback, if we hit an error we didn't bother to localize
|
||||||
error.reason.unknown = Unknown error
|
error.reason.unknown = Unknown error
|
||||||
|
|
||||||
change.password.pwSameAsPassword = Password can't match current password
|
change.password.pwSameAsPassword = Password can’t match current password
|
||||||
change.password.pwSameAsUsername = Password can't match your user name
|
change.password.pwSameAsUsername = Password can’t match your user name
|
||||||
change.password.pwSameAsEmail = Password can't match your email address
|
change.password.pwSameAsEmail = Password can’t match your email address
|
||||||
change.password.mismatch = The passwords entered do not match
|
change.password.mismatch = The passwords entered do not match
|
||||||
change.password.tooShort = The password entered is too short
|
change.password.tooShort = The password entered is too short
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
# %1: the user name (Ed), %2: the app name (Firefox), %3: the operating system (Android)
|
# %1: the user name (Ed), %2: the app name (Firefox), %3: the operating system (Android)
|
||||||
client.name2 = %1$S's %2$S on %3$S
|
client.name2 = %1$S’s %2$S on %3$S
|
||||||
|
|
||||||
# %S is the date and time at which the last sync successfully completed
|
# %S is the date and time at which the last sync successfully completed
|
||||||
lastSync2.label = Last sync: %S
|
lastSync2.label = Last sync: %S
|
||||||
|
|
|
@ -1026,9 +1026,9 @@ function* runTests() {
|
||||||
info("Starting test: promptAuth with long realm");
|
info("Starting test: promptAuth with long realm");
|
||||||
state = {
|
state = {
|
||||||
msg : 'A username and password are being requested by http://example.com. The site ' +
|
msg : 'A username and password are being requested by http://example.com. The site ' +
|
||||||
'says: "abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi ' +
|
'says: \u201cabcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi ' +
|
||||||
'abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi ' +
|
'abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi ' +
|
||||||
'abcdefghi \u2026"',
|
'abcdefghi \u2026\u201d',
|
||||||
title : "TestTitle",
|
title : "TestTitle",
|
||||||
iconClass : "authentication-icon question-icon",
|
iconClass : "authentication-icon question-icon",
|
||||||
titleHidden : true,
|
titleHidden : true,
|
||||||
|
|
|
@ -26,12 +26,12 @@ renameProfileTitle = Rename Profile
|
||||||
renameProfile = Rename profile %S
|
renameProfile = Rename profile %S
|
||||||
|
|
||||||
invalidProfileNameTitle = Invalid profile name
|
invalidProfileNameTitle = Invalid profile name
|
||||||
invalidProfileName = The profile name "%S" is not allowed.
|
invalidProfileName = The profile name “%S” is not allowed.
|
||||||
|
|
||||||
deleteProfileTitle = Delete Profile
|
deleteProfileTitle = Delete Profile
|
||||||
deleteProfileConfirm = Deleting a profile will remove the profile from the list of available profiles and cannot be undone.\nYou may also choose to delete the profile data files, including your settings, certificates and other user-related data. This option will delete the folder "%S" and cannot be undone.\nWould you like to delete the profile data files?
|
deleteProfileConfirm = Deleting a profile will remove the profile from the list of available profiles and cannot be undone.\nYou may also choose to delete the profile data files, including your settings, certificates and other user-related data. This option will delete the folder “%S” and cannot be undone.\nWould you like to delete the profile data files?
|
||||||
deleteFiles = Delete Files
|
deleteFiles = Delete Files
|
||||||
dontDeleteFiles = Don't Delete Files
|
dontDeleteFiles = Don’t Delete Files
|
||||||
|
|
||||||
openDir = Open Directory
|
openDir = Open Directory
|
||||||
# LOCALIZATION NOTE (macOpenDir): This is the Mac-specific variant of openDir.
|
# LOCALIZATION NOTE (macOpenDir): This is the Mac-specific variant of openDir.
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
<!-- LOCALIZATION NOTE (aboutSupport.pageSubtitle): don't change the 'supportLink' id. -->
|
<!-- LOCALIZATION NOTE (aboutSupport.pageSubtitle): don't change the 'supportLink' id. -->
|
||||||
<!ENTITY aboutSupport.pageSubtitle "
|
<!ENTITY aboutSupport.pageSubtitle "
|
||||||
This page contains technical information that might be useful when you're
|
This page contains technical information that might be useful when you’re
|
||||||
trying to solve a problem. If you are looking for answers to common questions
|
trying to solve a problem. If you are looking for answers to common questions
|
||||||
about &brandShortName;, check out our <a id='supportLink'>support website</a>.
|
about &brandShortName;, check out our <a id='supportLink'>support website</a>.
|
||||||
">
|
">
|
||||||
|
|
|
@ -15,7 +15,7 @@ Yes=&Yes
|
||||||
No=&No
|
No=&No
|
||||||
Save=&Save
|
Save=&Save
|
||||||
Revert=&Revert
|
Revert=&Revert
|
||||||
DontSave=Do&n't Save
|
DontSave=Do&n’t Save
|
||||||
ScriptDlgGenericHeading=[JavaScript Application]
|
ScriptDlgGenericHeading=[JavaScript Application]
|
||||||
ScriptDlgHeading=The page at %S says:
|
ScriptDlgHeading=The page at %S says:
|
||||||
ScriptDialogLabel=Prevent this page from creating additional dialogs
|
ScriptDialogLabel=Prevent this page from creating additional dialogs
|
||||||
|
@ -25,7 +25,7 @@ ScriptDialogPreventTitle=Confirm Dialog Preference
|
||||||
# take advantage of sentence structure in order to mislead the user (see
|
# take advantage of sentence structure in order to mislead the user (see
|
||||||
# bug 244273). %1 should be integrated into the translated sentences as
|
# bug 244273). %1 should be integrated into the translated sentences as
|
||||||
# little as possible. %2 is the url of the site being accessed.
|
# little as possible. %2 is the url of the site being accessed.
|
||||||
EnterLoginForRealm=A username and password are being requested by %2$S. The site says: "%1$S"
|
EnterLoginForRealm=A username and password are being requested by %2$S. The site says: “%1$S”
|
||||||
EnterLoginForProxy=The proxy %2$S is requesting a username and password. The site says: "%1$S"
|
EnterLoginForProxy=The proxy %2$S is requesting a username and password. The site says: “%1$S”
|
||||||
EnterUserPasswordFor=Enter username and password for %1$S
|
EnterUserPasswordFor=Enter username and password for %1$S
|
||||||
EnterPasswordFor=Enter password for %1$S on %2$S
|
EnterPasswordFor=Enter password for %1$S on %2$S
|
||||||
|
|
|
@ -14,4 +14,4 @@ errTime=Timestamp: %S
|
||||||
# LOCALIZATION NOTE (evaluationContextChanged): The message displayed when the
|
# LOCALIZATION NOTE (evaluationContextChanged): The message displayed when the
|
||||||
# browser console's evaluation context (window against which input is evaluated)
|
# browser console's evaluation context (window against which input is evaluated)
|
||||||
# changes.
|
# changes.
|
||||||
evaluationContextChanged=The console's evaluation context changed, probably because the target window was closed or because you opened a main window from the browser console's window.
|
evaluationContextChanged=The console’s evaluation context changed, probably because the target window was closed or because you opened a main window from the browser console’s window.
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
enterToolbarTitle=New Toolbar
|
enterToolbarTitle=New Toolbar
|
||||||
enterToolbarName=Enter a name for this toolbar:
|
enterToolbarName=Enter a name for this toolbar:
|
||||||
enterToolbarDup=There is already a toolbar with the name "%S". Please enter a different name.
|
enterToolbarDup=There is already a toolbar with the name “%S”. Please enter a different name.
|
||||||
enterToolbarBlank=You must enter a name to create a new toolbar.
|
enterToolbarBlank=You must enter a name to create a new toolbar.
|
||||||
separatorTitle=Separator
|
separatorTitle=Separator
|
||||||
springTitle=Flexible Space
|
springTitle=Flexible Space
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
|
|
||||||
csp.error.missing-directive = Policy is missing a required '%S' directive
|
csp.error.missing-directive = Policy is missing a required ‘%S’ directive
|
||||||
|
|
||||||
csp.error.illegal-keyword = '%1$S' directive contains a forbidden %2$S keyword
|
csp.error.illegal-keyword = ‘%1$S’ directive contains a forbidden %2$S keyword
|
||||||
|
|
||||||
csp.error.illegal-protocol = '%1$S' directive contains a forbidden %2$S: protocol source
|
csp.error.illegal-protocol = ‘%1$S’ directive contains a forbidden %2$S: protocol source
|
||||||
|
|
||||||
csp.error.missing-host = %2$S: protocol requires a host in '%1$S' directives
|
csp.error.missing-host = %2$S: protocol requires a host in ‘%1$S’ directives
|
||||||
|
|
||||||
csp.error.missing-source = '%1$S' must include the source %2$S
|
csp.error.missing-source = ‘%1$S’ must include the source %2$S
|
||||||
|
|
||||||
csp.error.illegal-host-wildcard = %2$S: wildcard sources in '%1$S' directives must include at least one non-generic sub-domain (e.g., *.example.com rather than *.com)
|
csp.error.illegal-host-wildcard = %2$S: wildcard sources in ‘%1$S’ directives must include at least one non-generic sub-domain (e.g., *.example.com rather than *.com)
|
||||||
|
|
|
@ -26,16 +26,16 @@ noButtonLabel=No
|
||||||
formatLabel=Format:
|
formatLabel=Format:
|
||||||
|
|
||||||
errorOpenFileDoesntExistTitle=Error opening %S
|
errorOpenFileDoesntExistTitle=Error opening %S
|
||||||
errorOpenFileDoesntExistMessage=File %S doesn't exist
|
errorOpenFileDoesntExistMessage=File %S doesn’t exist
|
||||||
errorDirDoesntExistTitle=Error accessing %S
|
errorDirDoesntExistTitle=Error accessing %S
|
||||||
errorDirDoesntExistMessage=Directory %S doesn't exist
|
errorDirDoesntExistMessage=Directory %S doesn’t exist
|
||||||
|
|
||||||
errorOpeningFileTitle=Error opening %S
|
errorOpeningFileTitle=Error opening %S
|
||||||
openWithoutPermissionMessage_file=File %S is not readable
|
openWithoutPermissionMessage_file=File %S is not readable
|
||||||
|
|
||||||
errorSavingFileTitle=Error saving %S
|
errorSavingFileTitle=Error saving %S
|
||||||
saveParentIsFileMessage=%S is a file, can't save %S
|
saveParentIsFileMessage=%S is a file, can’t save %S
|
||||||
saveParentDoesntExistMessage=Path %S doesn't exist, can't save %S
|
saveParentDoesntExistMessage=Path %S doesn’t exist, can’t save %S
|
||||||
|
|
||||||
saveWithoutPermissionMessage_file=File %S is not writable.
|
saveWithoutPermissionMessage_file=File %S is not writable.
|
||||||
saveWithoutPermissionMessage_dir=Cannot create file. Directory %S is not writable.
|
saveWithoutPermissionMessage_dir=Cannot create file. Directory %S is not writable.
|
||||||
|
|
|
@ -47,7 +47,7 @@ headerFooterURL=URL
|
||||||
headerFooterDate=Date/Time
|
headerFooterDate=Date/Time
|
||||||
headerFooterPage=Page #
|
headerFooterPage=Page #
|
||||||
headerFooterPageTotal=Page # of #
|
headerFooterPageTotal=Page # of #
|
||||||
headerFooterCustom=Custom...
|
headerFooterCustom=Custom…
|
||||||
customHeaderFooterPrompt=Please enter your custom header/footer text
|
customHeaderFooterPrompt=Please enter your custom header/footer text
|
||||||
|
|
||||||
# These are for the summary view in the Mac dialog:
|
# These are for the summary view in the Mac dialog:
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
# LOCALIZATION NOTE: These strings are used for profile reset.
|
# LOCALIZATION NOTE: These strings are used for profile reset.
|
||||||
|
|
||||||
# LOCALIZATION NOTE (resetUnusedProfile.message): %S is brandShortName.
|
# LOCALIZATION NOTE (resetUnusedProfile.message): %S is brandShortName.
|
||||||
resetUnusedProfile.message=It looks like you haven't started %S in a while. Do you want to clean it up for a fresh, like-new experience? And by the way, welcome back!
|
resetUnusedProfile.message=It looks like you haven’t started %S in a while. Do you want to clean it up for a fresh, like-new experience? And by the way, welcome back!
|
||||||
# LOCALIZATION NOTE (resetUninstalled.message): %S is brandShortName.
|
# LOCALIZATION NOTE (resetUninstalled.message): %S is brandShortName.
|
||||||
resetUninstalled.message=Looks like you’ve reinstalled %S. Want us to clean it up for a fresh, like-new experience?
|
resetUninstalled.message=Looks like you’ve reinstalled %S. Want us to clean it up for a fresh, like-new experience?
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
|
|
||||||
<!ENTITY error.aborted "Video loading stopped.">
|
<!ENTITY error.aborted "Video loading stopped.">
|
||||||
<!ENTITY error.network "Video playback aborted due to a network error.">
|
<!ENTITY error.network "Video playback aborted due to a network error.">
|
||||||
<!ENTITY error.decode "Video can't be played because the file is corrupt.">
|
<!ENTITY error.decode "Video can’t be played because the file is corrupt.">
|
||||||
<!ENTITY error.srcNotSupported "Video format or MIME type is not supported.">
|
<!ENTITY error.srcNotSupported "Video format or MIME type is not supported.">
|
||||||
<!ENTITY error.noSource2 "No video with supported format and MIME type found.">
|
<!ENTITY error.noSource2 "No video with supported format and MIME type found.">
|
||||||
<!ENTITY error.generic "Video playback aborted due to an unknown error.">
|
<!ENTITY error.generic "Video playback aborted due to an unknown error.">
|
||||||
|
|
|
@ -36,8 +36,8 @@ leavePrivateBrowsingWindowsCancelDownloadsAlertMsg2=If you close all Private Bro
|
||||||
leavePrivateBrowsingWindowsCancelDownloadsAlertMsgMultiple2=If you close all Private Browsing windows now, %S downloads will be canceled. Are you sure you want to leave Private Browsing?
|
leavePrivateBrowsingWindowsCancelDownloadsAlertMsgMultiple2=If you close all Private Browsing windows now, %S downloads will be canceled. Are you sure you want to leave Private Browsing?
|
||||||
cancelDownloadsOKText=Cancel 1 Download
|
cancelDownloadsOKText=Cancel 1 Download
|
||||||
cancelDownloadsOKTextMultiple=Cancel %S Downloads
|
cancelDownloadsOKTextMultiple=Cancel %S Downloads
|
||||||
dontQuitButtonWin=Don't Exit
|
dontQuitButtonWin=Don’t Exit
|
||||||
dontQuitButtonMac=Don't Quit
|
dontQuitButtonMac=Don’t Quit
|
||||||
dontGoOfflineButton=Stay Online
|
dontGoOfflineButton=Stay Online
|
||||||
dontLeavePrivateBrowsingButton2=Stay in Private Browsing
|
dontLeavePrivateBrowsingButton2=Stay in Private Browsing
|
||||||
downloadsCompleteTitle=Downloads Complete
|
downloadsCompleteTitle=Downloads Complete
|
||||||
|
@ -132,9 +132,9 @@ chooseAppFilePickerTitle=Open With…
|
||||||
downloadsTitleFiles=#1 file - Downloads;#1 files - Downloads
|
downloadsTitleFiles=#1 file - Downloads;#1 files - Downloads
|
||||||
downloadsTitlePercent=#2% of #1 file - Downloads;#2% of #1 files - Downloads
|
downloadsTitlePercent=#2% of #1 file - Downloads;#2% of #1 files - Downloads
|
||||||
|
|
||||||
fileExecutableSecurityWarning="%S" is an executable file. Executable files may contain viruses or other malicious code that could harm your computer. Use caution when opening this file. Are you sure you want to launch "%S"?
|
fileExecutableSecurityWarning=“%S” is an executable file. Executable files may contain viruses or other malicious code that could harm your computer. Use caution when opening this file. Are you sure you want to launch “%S”?
|
||||||
fileExecutableSecurityWarningTitle=Open Executable File?
|
fileExecutableSecurityWarningTitle=Open Executable File?
|
||||||
fileExecutableSecurityWarningDontAsk=Don't ask me this again
|
fileExecutableSecurityWarningDontAsk=Don’t ask me this again
|
||||||
|
|
||||||
displayNameDesktop=Desktop
|
displayNameDesktop=Desktop
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ title=Opening %S
|
||||||
saveDialogTitle=Enter name of file to save to…
|
saveDialogTitle=Enter name of file to save to…
|
||||||
defaultApp=%S (default)
|
defaultApp=%S (default)
|
||||||
chooseAppFilePickerTitle=Choose Helper Application
|
chooseAppFilePickerTitle=Choose Helper Application
|
||||||
badApp=The application you chose ("%S") could not be found. Check the file name or choose another application.
|
badApp=The application you chose (“%S”) could not be found. Check the file name or choose another application.
|
||||||
badApp.title=Application not found
|
badApp.title=Application not found
|
||||||
badPermissions=The file could not be saved because you do not have the proper permissions. Choose another save directory.
|
badPermissions=The file could not be saved because you do not have the proper permissions. Choose another save directory.
|
||||||
badPermissions.title=Invalid Save Permissions
|
badPermissions.title=Invalid Save Permissions
|
||||||
|
|
|
@ -10,9 +10,9 @@
|
||||||
<!ENTITY search.commandkey "f">
|
<!ENTITY search.commandkey "f">
|
||||||
|
|
||||||
<!ENTITY loading.label "Loading…">
|
<!ENTITY loading.label "Loading…">
|
||||||
<!ENTITY listEmpty.installed.label "You don't have any add-ons of this type installed">
|
<!ENTITY listEmpty.installed.label "You don’t have any add-ons of this type installed">
|
||||||
<!ENTITY listEmpty.availableUpdates.label "No updates found">
|
<!ENTITY listEmpty.availableUpdates.label "No updates found">
|
||||||
<!ENTITY listEmpty.recentUpdates.label "You haven't recently updated any add-ons">
|
<!ENTITY listEmpty.recentUpdates.label "You haven’t recently updated any add-ons">
|
||||||
<!ENTITY listEmpty.findUpdates.label "Check For Updates">
|
<!ENTITY listEmpty.findUpdates.label "Check For Updates">
|
||||||
<!ENTITY listEmpty.search.label "Could not find any matching add-ons">
|
<!ENTITY listEmpty.search.label "Could not find any matching add-ons">
|
||||||
<!ENTITY listEmpty.button.label "Learn more about add-ons">
|
<!ENTITY listEmpty.button.label "Learn more about add-ons">
|
||||||
|
@ -108,9 +108,9 @@
|
||||||
<!ENTITY cmd.uninstallAddon.label "Remove">
|
<!ENTITY cmd.uninstallAddon.label "Remove">
|
||||||
<!ENTITY cmd.uninstallAddon.accesskey "R">
|
<!ENTITY cmd.uninstallAddon.accesskey "R">
|
||||||
<!ENTITY cmd.showPreferencesWin.label "Options">
|
<!ENTITY cmd.showPreferencesWin.label "Options">
|
||||||
<!ENTITY cmd.showPreferencesWin.tooltip "Change this add-on's options">
|
<!ENTITY cmd.showPreferencesWin.tooltip "Change this add-on’s options">
|
||||||
<!ENTITY cmd.showPreferencesUnix.label "Preferences">
|
<!ENTITY cmd.showPreferencesUnix.label "Preferences">
|
||||||
<!ENTITY cmd.showPreferencesUnix.tooltip "Change this add-on's preferences">
|
<!ENTITY cmd.showPreferencesUnix.tooltip "Change this add-on’s preferences">
|
||||||
<!ENTITY cmd.contribute.label "Contribute">
|
<!ENTITY cmd.contribute.label "Contribute">
|
||||||
<!ENTITY cmd.contribute.accesskey "C">
|
<!ENTITY cmd.contribute.accesskey "C">
|
||||||
<!ENTITY cmd.contribute.tooltip "Contribute to the development of this add-on">
|
<!ENTITY cmd.contribute.tooltip "Contribute to the development of this add-on">
|
||||||
|
@ -127,7 +127,7 @@
|
||||||
<!ENTITY discover.description2 "Add-ons are applications that let you personalize &brandShortName; with
|
<!ENTITY discover.description2 "Add-ons are applications that let you personalize &brandShortName; with
|
||||||
extra functionality or style. Try a time-saving sidebar, a weather notifier, or a themed look to make &brandShortName;
|
extra functionality or style. Try a time-saving sidebar, a weather notifier, or a themed look to make &brandShortName;
|
||||||
your own.">
|
your own.">
|
||||||
<!ENTITY discover.footer "When you're connected to the internet, this pane will feature
|
<!ENTITY discover.footer "When you’re connected to the internet, this pane will feature
|
||||||
some of the best and most popular add-ons for you to try out.">
|
some of the best and most popular add-ons for you to try out.">
|
||||||
|
|
||||||
<!-- detail view -->
|
<!-- detail view -->
|
||||||
|
@ -141,11 +141,11 @@
|
||||||
|
|
||||||
<!ENTITY detail.updateType "Automatic Updates">
|
<!ENTITY detail.updateType "Automatic Updates">
|
||||||
<!ENTITY detail.updateDefault.label "Default">
|
<!ENTITY detail.updateDefault.label "Default">
|
||||||
<!ENTITY detail.updateDefault.tooltip "Automatically install updates only if that's the default">
|
<!ENTITY detail.updateDefault.tooltip "Automatically install updates only if that’s the default">
|
||||||
<!ENTITY detail.updateAutomatic.label "On">
|
<!ENTITY detail.updateAutomatic.label "On">
|
||||||
<!ENTITY detail.updateAutomatic.tooltip "Automatically install updates">
|
<!ENTITY detail.updateAutomatic.tooltip "Automatically install updates">
|
||||||
<!ENTITY detail.updateManual.label "Off">
|
<!ENTITY detail.updateManual.label "Off">
|
||||||
<!ENTITY detail.updateManual.tooltip "Don't automatically install updates">
|
<!ENTITY detail.updateManual.tooltip "Don’t automatically install updates">
|
||||||
<!ENTITY detail.home "Homepage">
|
<!ENTITY detail.home "Homepage">
|
||||||
<!ENTITY detail.repository "Add-on Profile">
|
<!ENTITY detail.repository "Add-on Profile">
|
||||||
<!ENTITY detail.size "Size">
|
<!ENTITY detail.size "Size">
|
||||||
|
@ -155,10 +155,10 @@
|
||||||
<!ENTITY detail.checkForUpdates.tooltip "Check for updates for this add-on">
|
<!ENTITY detail.checkForUpdates.tooltip "Check for updates for this add-on">
|
||||||
<!ENTITY detail.showPreferencesWin.label "Options">
|
<!ENTITY detail.showPreferencesWin.label "Options">
|
||||||
<!ENTITY detail.showPreferencesWin.accesskey "O">
|
<!ENTITY detail.showPreferencesWin.accesskey "O">
|
||||||
<!ENTITY detail.showPreferencesWin.tooltip "Change this add-on's options">
|
<!ENTITY detail.showPreferencesWin.tooltip "Change this add-on’s options">
|
||||||
<!ENTITY detail.showPreferencesUnix.label "Preferences">
|
<!ENTITY detail.showPreferencesUnix.label "Preferences">
|
||||||
<!ENTITY detail.showPreferencesUnix.accesskey "P">
|
<!ENTITY detail.showPreferencesUnix.accesskey "P">
|
||||||
<!ENTITY detail.showPreferencesUnix.tooltip "Change this add-on's preferences">
|
<!ENTITY detail.showPreferencesUnix.tooltip "Change this add-on’s preferences">
|
||||||
|
|
||||||
|
|
||||||
<!-- ratings -->
|
<!-- ratings -->
|
||||||
|
@ -228,7 +228,7 @@
|
||||||
This tab won't be displayed unless an Experiment add-on is installed.
|
This tab won't be displayed unless an Experiment add-on is installed.
|
||||||
Install https://people.mozilla.org/~gszorc/dummy-experiment-addon.xpi
|
Install https://people.mozilla.org/~gszorc/dummy-experiment-addon.xpi
|
||||||
to cause this tab to appear. -->
|
to cause this tab to appear. -->
|
||||||
<!ENTITY experiment.info.label "What's this? Telemetry may install and run experiments from time to time.">
|
<!ENTITY experiment.info.label "What’s this? Telemetry may install and run experiments from time to time.">
|
||||||
<!ENTITY experiment.info.learnmore "Learn More">
|
<!ENTITY experiment.info.learnmore "Learn More">
|
||||||
<!ENTITY experiment.info.learnmore.accesskey "L">
|
<!ENTITY experiment.info.learnmore.accesskey "L">
|
||||||
<!ENTITY experiment.info.changetelemetry "Telemetry Settings">
|
<!ENTITY experiment.info.changetelemetry "Telemetry Settings">
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
|
|
||||||
<!ENTITY found.wizard.title "Found Compatible Add-ons">
|
<!ENTITY found.wizard.title "Found Compatible Add-ons">
|
||||||
<!ENTITY found.top.label "Select the add-ons you would like to install:">
|
<!ENTITY found.top.label "Select the add-ons you would like to install:">
|
||||||
<!ENTITY found.disabledXPinstall.label "These updates can't be installed because software installation is currently
|
<!ENTITY found.disabledXPinstall.label "These updates can’t be installed because software installation is currently
|
||||||
disabled. You can change this setting below.">
|
disabled. You can change this setting below.">
|
||||||
<!ENTITY found.enableXPInstall.label "Allow websites to install software">
|
<!ENTITY found.enableXPInstall.label "Allow websites to install software">
|
||||||
<!ENTITY found.enableXPInstall.accesskey "A">
|
<!ENTITY found.enableXPInstall.accesskey "A">
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
mismatchCheckNow=Check Now
|
mismatchCheckNow=Check Now
|
||||||
mismatchCheckNowAccesskey=C
|
mismatchCheckNowAccesskey=C
|
||||||
mismatchDontCheck=Don't Check
|
mismatchDontCheck=Don’t Check
|
||||||
mismatchDontCheckAccesskey=D
|
mismatchDontCheckAccesskey=D
|
||||||
installButtonText=Install Now
|
installButtonText=Install Now
|
||||||
installButtonTextAccesskey=I
|
installButtonTextAccesskey=I
|
||||||
|
|
|
@ -7,6 +7,6 @@ protocol.description=This link needs to be opened with an application.
|
||||||
protocol.choices.label=Send to:
|
protocol.choices.label=Send to:
|
||||||
protocol.checkbox.label=Remember my choice for %S links.
|
protocol.checkbox.label=Remember my choice for %S links.
|
||||||
protocol.checkbox.accesskey=R
|
protocol.checkbox.accesskey=R
|
||||||
protocol.checkbox.extra=This can be changed in %S's preferences.
|
protocol.checkbox.extra=This can be changed in %S’s preferences.
|
||||||
|
|
||||||
choose.application.title=Another Application…
|
choose.application.title=Another Application…
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
<!-- First wizard page -->
|
<!-- First wizard page -->
|
||||||
<!ENTITY profileCreationExplanation_1.text "&brandShortName; stores information about your settings and preferences in your personal profile.">
|
<!ENTITY profileCreationExplanation_1.text "&brandShortName; stores information about your settings and preferences in your personal profile.">
|
||||||
<!ENTITY profileCreationExplanation_2.text "If you are sharing this copy of &brandShortName; with other users, you can use profiles to keep each user's information separate. To do this, each user should create his or her own profile.">
|
<!ENTITY profileCreationExplanation_2.text "If you are sharing this copy of &brandShortName; with other users, you can use profiles to keep each user’s information separate. To do this, each user should create his or her own profile.">
|
||||||
<!ENTITY profileCreationExplanation_3.text "If you are the only person using this copy of &brandShortName;, you must have at least one profile. If you would like, you can create multiple profiles for yourself to store different sets of settings and preferences. For example, you may want to have separate profiles for business and personal use.">
|
<!ENTITY profileCreationExplanation_3.text "If you are the only person using this copy of &brandShortName;, you must have at least one profile. If you would like, you can create multiple profiles for yourself to store different sets of settings and preferences. For example, you may want to have separate profiles for business and personal use.">
|
||||||
<!ENTITY profileCreationExplanation_4.text "To begin creating your profile, click Next.">
|
<!ENTITY profileCreationExplanation_4.text "To begin creating your profile, click Next.">
|
||||||
<!ENTITY profileCreationExplanation_4Mac.text "To begin creating your profile, click Continue.">
|
<!ENTITY profileCreationExplanation_4Mac.text "To begin creating your profile, click Continue.">
|
||||||
|
|
|
@ -14,30 +14,30 @@ restartMessageUnlockerMac=A copy of %S is already open. The running copy of %S w
|
||||||
|
|
||||||
# Profile manager
|
# Profile manager
|
||||||
# LOCALIZATION NOTE (profileTooltip): First %S is the profile name, second %S is the path to the profile folder.
|
# LOCALIZATION NOTE (profileTooltip): First %S is the profile name, second %S is the path to the profile folder.
|
||||||
profileTooltip=Profile: '%S' - Path: '%S'
|
profileTooltip=Profile: ‘%S’ - Path: ‘%S’
|
||||||
|
|
||||||
pleaseSelectTitle=Select Profile
|
pleaseSelectTitle=Select Profile
|
||||||
pleaseSelect=Please select a profile to begin %S, or create a new profile.
|
pleaseSelect=Please select a profile to begin %S, or create a new profile.
|
||||||
|
|
||||||
profileLockedTitle=Profile In Use
|
profileLockedTitle=Profile In Use
|
||||||
profileLocked2=%S cannot use the profile "%S" because it is in use.\n\nTo continue, close the running instance of %S or choose a different profile.
|
profileLocked2=%S cannot use the profile “%S” because it is in use.\n\nTo continue, close the running instance of %S or choose a different profile.
|
||||||
|
|
||||||
renameProfileTitle=Rename Profile
|
renameProfileTitle=Rename Profile
|
||||||
renameProfilePrompt=Rename the profile "%S" to:
|
renameProfilePrompt=Rename the profile “%S” to:
|
||||||
|
|
||||||
profileNameInvalidTitle=Invalid profile name
|
profileNameInvalidTitle=Invalid profile name
|
||||||
profileNameInvalid=The profile name "%S" is not allowed.
|
profileNameInvalid=The profile name “%S” is not allowed.
|
||||||
|
|
||||||
chooseFolder=Choose Profile Folder
|
chooseFolder=Choose Profile Folder
|
||||||
profileNameEmpty=An empty profile name is not allowed.
|
profileNameEmpty=An empty profile name is not allowed.
|
||||||
invalidChar=The character "%S" is not allowed in profile names. Please choose a different name.
|
invalidChar=The character “%S” is not allowed in profile names. Please choose a different name.
|
||||||
|
|
||||||
deleteTitle=Delete Profile
|
deleteTitle=Delete Profile
|
||||||
deleteProfileConfirm=Deleting a profile will remove the profile from the list of available profiles and cannot be undone.\nYou may also choose to delete the profile data files, including your settings, certificates and other user-related data. This option will delete the folder "%S" and cannot be undone.\nWould you like to delete the profile data files?
|
deleteProfileConfirm=Deleting a profile will remove the profile from the list of available profiles and cannot be undone.\nYou may also choose to delete the profile data files, including your settings, certificates and other user-related data. This option will delete the folder “%S” and cannot be undone.\nWould you like to delete the profile data files?
|
||||||
deleteFiles=Delete Files
|
deleteFiles=Delete Files
|
||||||
dontDeleteFiles=Don't Delete Files
|
dontDeleteFiles=Don’t Delete Files
|
||||||
|
|
||||||
profileCreationFailed=Profile couldn't be created. Probably the chosen folder isn't writable.
|
profileCreationFailed=Profile couldn’t be created. Probably the chosen folder isn’t writable.
|
||||||
profileCreationFailedTitle=Profile Creation failed
|
profileCreationFailedTitle=Profile Creation failed
|
||||||
profileExists=A profile with this name already exists. Please choose another name.
|
profileExists=A profile with this name already exists. Please choose another name.
|
||||||
profileExistsTitle=Profile Exists
|
profileExistsTitle=Profile Exists
|
||||||
|
|
|
@ -94,7 +94,7 @@
|
||||||
|
|
||||||
<!ENTITY installed.title "Update Installed">
|
<!ENTITY installed.title "Update Installed">
|
||||||
<!ENTITY installed.intro "The update was successfully installed.">
|
<!ENTITY installed.intro "The update was successfully installed.">
|
||||||
<!ENTITY whatsnew.label "Read more about what's new…">
|
<!ENTITY whatsnew.label "Read more about what’s new…">
|
||||||
|
|
||||||
<!ENTITY update.details.label "Details">
|
<!ENTITY update.details.label "Details">
|
||||||
<!ENTITY update.installedOn.label "Installed on:">
|
<!ENTITY update.installedOn.label "Installed on:">
|
||||||
|
|
|
@ -19,8 +19,8 @@ updateMoreInfoContentDownloading=Getting more details about %S %S…
|
||||||
# %2$S is the update version - provided by the update xml. Ex: version 10.0.5
|
# %2$S is the update version - provided by the update xml. Ex: version 10.0.5
|
||||||
# %3$S is the build identifier - provided by the update xml. Ex: 20081022033543
|
# %3$S is the build identifier - provided by the update xml. Ex: 20081022033543
|
||||||
updateNightlyName=%1$S %2$S %3$S nightly
|
updateNightlyName=%1$S %2$S %3$S nightly
|
||||||
incompatAddons_major=Some of your add-ons won't work with %1$S %2$S, and will be disabled. As soon as they are made compatible, %1$S will update and re-enable these add-ons:
|
incompatAddons_major=Some of your add-ons won’t work with %1$S %2$S, and will be disabled. As soon as they are made compatible, %1$S will update and re-enable these add-ons:
|
||||||
incompatAddons_minor=Some of your add-ons won't work with this update, and will be disabled. As soon as they are made compatible, %1$S will update and re-enable these add-ons:
|
incompatAddons_minor=Some of your add-ons won’t work with this update, and will be disabled. As soon as they are made compatible, %1$S will update and re-enable these add-ons:
|
||||||
intro_major=Do you want to upgrade to %1$S %2$S now?
|
intro_major=Do you want to upgrade to %1$S %2$S now?
|
||||||
intro_minor=A security and stability update for %1$S is available:
|
intro_minor=A security and stability update for %1$S is available:
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ updateLoginButtonAccessKey = U
|
||||||
# LOCALIZATION NOTE (rememberPasswordMsg):
|
# LOCALIZATION NOTE (rememberPasswordMsg):
|
||||||
# 1st string is the username for the login, 2nd is the login's hostname.
|
# 1st string is the username for the login, 2nd is the login's hostname.
|
||||||
# Note that long usernames may be truncated.
|
# Note that long usernames may be truncated.
|
||||||
rememberPasswordMsg = Would you like to remember the password for "%1$S" on %2$S?
|
rememberPasswordMsg = Would you like to remember the password for “%1$S” on %2$S?
|
||||||
# LOCALIZATION NOTE (rememberPasswordMsgNoUsername):
|
# LOCALIZATION NOTE (rememberPasswordMsgNoUsername):
|
||||||
# String is the login's hostname.
|
# String is the login's hostname.
|
||||||
rememberPasswordMsgNoUsername = Would you like to remember the password on %S?
|
rememberPasswordMsgNoUsername = Would you like to remember the password on %S?
|
||||||
|
@ -40,11 +40,11 @@ notifyBarRememberPasswordButtonAccessKey = R
|
||||||
passwordChangeTitle = Confirm Password Change
|
passwordChangeTitle = Confirm Password Change
|
||||||
# LOCALIZATION NOTE (updatePasswordMsg):
|
# LOCALIZATION NOTE (updatePasswordMsg):
|
||||||
# String is the username for the login.
|
# String is the username for the login.
|
||||||
updatePasswordMsg = Would you like to update the saved password for "%S"?
|
updatePasswordMsg = Would you like to update the saved password for “%S”?
|
||||||
updatePasswordMsgNoUser = Would you like to update the saved password?
|
updatePasswordMsgNoUser = Would you like to update the saved password?
|
||||||
notifyBarUpdateButtonText = Update Password
|
notifyBarUpdateButtonText = Update Password
|
||||||
notifyBarUpdateButtonAccessKey = U
|
notifyBarUpdateButtonAccessKey = U
|
||||||
notifyBarDontChangeButtonText = Don't Change
|
notifyBarDontChangeButtonText = Don’t Change
|
||||||
notifyBarDontChangeButtonAccessKey = D
|
notifyBarDontChangeButtonAccessKey = D
|
||||||
userSelectText = Please confirm which user you are changing the password for
|
userSelectText = Please confirm which user you are changing the password for
|
||||||
hidePasswords=Hide Passwords
|
hidePasswords=Hide Passwords
|
||||||
|
|
|
@ -4,9 +4,9 @@
|
||||||
|
|
||||||
<!-- LOCALIZATION NOTE (unsupportedPlatform.pre): Mobile only. Flash (the only plugin available on mobile)
|
<!-- LOCALIZATION NOTE (unsupportedPlatform.pre): Mobile only. Flash (the only plugin available on mobile)
|
||||||
is not supported on some devices. Include a trailing space as needed. -->
|
is not supported on some devices. Include a trailing space as needed. -->
|
||||||
<!ENTITY unsupportedPlatform.pre "We're very sorry, but &brandShortName; can't play Flash on this device. ">
|
<!ENTITY unsupportedPlatform.pre "We’re very sorry, but &brandShortName; can’t play Flash on this device. ">
|
||||||
<!-- LOCALIZATION NOTE (unsupportedPlatform.learnMore): Mobile only. This text is used to link to a SUMO page explaining why Flash is not
|
<!-- LOCALIZATION NOTE (unsupportedPlatform.learnMore): Mobile only. This text is used to link to a SUMO page explaining why Flash is not
|
||||||
supported on this device. Use the unicode ellipsis char, \u2026, or use "..." if \u2026 doesn't suit traditions in your locale. -->
|
supported on this device. Use the unicode ellipsis char, \u2026, or use "..." if \u2026 doesn’t suit traditions in your locale. -->
|
||||||
<!ENTITY unsupportedPlatform.learnMore "Learn More…">
|
<!ENTITY unsupportedPlatform.learnMore "Learn More…">
|
||||||
<!-- LOCALIZATION NOTE (unsupportedPlatform.post): Mobile only. Include text here if needed for your locale. -->
|
<!-- LOCALIZATION NOTE (unsupportedPlatform.post): Mobile only. Include text here if needed for your locale. -->
|
||||||
<!ENTITY unsupportedPlatform.post "">
|
<!ENTITY unsupportedPlatform.post "">
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
<!ENTITY report.failed "Submission failed.">
|
<!ENTITY report.failed "Submission failed.">
|
||||||
<!ENTITY report.unavailable "No report available.">
|
<!ENTITY report.unavailable "No report available.">
|
||||||
<!ENTITY report.comment "Add a comment (comments are publicly visible)">
|
<!ENTITY report.comment "Add a comment (comments are publicly visible)">
|
||||||
<!ENTITY report.pageURL "Include the page's URL">
|
<!ENTITY report.pageURL "Include the page’s URL">
|
||||||
|
|
||||||
<!ENTITY plugin.file "File">
|
<!ENTITY plugin.file "File">
|
||||||
<!ENTITY plugin.mimeTypes "MIME Types">
|
<!ENTITY plugin.mimeTypes "MIME Types">
|
||||||
|
|
|
@ -3,18 +3,18 @@
|
||||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
addEngineConfirmTitle=Add Search Engine
|
addEngineConfirmTitle=Add Search Engine
|
||||||
addEngineConfirmation=Add "%S" to the list of engines available in the search bar?\n\nFrom: %S
|
addEngineConfirmation=Add “%S” to the list of engines available in the search bar?\n\nFrom: %S
|
||||||
addEngineAsCurrentText=Make this the c&urrent search engine
|
addEngineAsCurrentText=Make this the c&urrent search engine
|
||||||
addEngineAddButtonLabel=Add
|
addEngineAddButtonLabel=Add
|
||||||
|
|
||||||
error_loading_engine_title=Download Error
|
error_loading_engine_title=Download Error
|
||||||
# LOCALIZATION NOTE (error_loading_engine_msg2): %1$S = brandShortName, %2$S = location
|
# LOCALIZATION NOTE (error_loading_engine_msg2): %1$S = brandShortName, %2$S = location
|
||||||
error_loading_engine_msg2=%S could not download the search plugin from:\n%S
|
error_loading_engine_msg2=%S could not download the search plugin from:\n%S
|
||||||
error_duplicate_engine_msg=%S could not install the search plugin from "%S" because an engine with the same name already exists.
|
error_duplicate_engine_msg=%S could not install the search plugin from “%S” because an engine with the same name already exists.
|
||||||
|
|
||||||
error_invalid_engine_title=Install Error
|
error_invalid_engine_title=Install Error
|
||||||
# LOCALIZATION NOTE (error_invalid_engine_msg): %S = brandShortName
|
# LOCALIZATION NOTE (error_invalid_engine_msg): %S = brandShortName
|
||||||
error_invalid_engine_msg=This search engine isn't supported by %S and can't be installed.
|
error_invalid_engine_msg=This search engine isn’t supported by %S and can’t be installed.
|
||||||
|
|
||||||
suggestion_label=Suggestions
|
suggestion_label=Suggestions
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче