зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1517493 Migrating pageInfo to Fluent r=jaws,flod
Translating most string from pageInfo.properties and making pageInfo.js and security.js use Fluent Differential Revision: https://phabricator.services.mozilla.com/D16931 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
e17031a2ca
Коммит
59bf1f3f79
|
@ -172,18 +172,6 @@ gImageView.getCellProperties = function(row, col) {
|
|||
return props;
|
||||
};
|
||||
|
||||
gImageView.getCellText = function(row, column) {
|
||||
var value = this.data[row][column.index];
|
||||
if (column.index == COL_IMAGE_SIZE) {
|
||||
if (value == -1) {
|
||||
return gStrings.unknown;
|
||||
}
|
||||
var kbSize = Number(Math.round(value / 1024 * 100) / 100);
|
||||
return gBundle.getFormattedString("mediaFileSize", [kbSize]);
|
||||
}
|
||||
return value || "";
|
||||
};
|
||||
|
||||
gImageView.onPageMediaSort = function(columnname) {
|
||||
var tree = document.getElementById(this.treeid);
|
||||
var treecol = tree.columns.getNamedColumn(columnname);
|
||||
|
@ -297,21 +285,20 @@ var onUnloadRegistry = [ ];
|
|||
* the calling window's document will be used
|
||||
* - initialTab: (optional) id of the inital tab to display
|
||||
*/
|
||||
function onLoadPageInfo() {
|
||||
gBundle = document.getElementById("pageinfobundle");
|
||||
gStrings.unknown = gBundle.getString("unknown");
|
||||
gStrings.notSet = gBundle.getString("notset");
|
||||
gStrings.mediaImg = gBundle.getString("mediaImg");
|
||||
gStrings.mediaBGImg = gBundle.getString("mediaBGImg");
|
||||
gStrings.mediaBorderImg = gBundle.getString("mediaBorderImg");
|
||||
gStrings.mediaListImg = gBundle.getString("mediaListImg");
|
||||
gStrings.mediaCursor = gBundle.getString("mediaCursor");
|
||||
gStrings.mediaObject = gBundle.getString("mediaObject");
|
||||
gStrings.mediaEmbed = gBundle.getString("mediaEmbed");
|
||||
gStrings.mediaLink = gBundle.getString("mediaLink");
|
||||
gStrings.mediaInput = gBundle.getString("mediaInput");
|
||||
gStrings.mediaVideo = gBundle.getString("mediaVideo");
|
||||
gStrings.mediaAudio = gBundle.getString("mediaAudio");
|
||||
async function onLoadPageInfo() {
|
||||
gStrings.unknown = await document.l10n.formatValue("image-size-unknown");
|
||||
gStrings.notSet = await document.l10n.formatValue("not-set-alternative-text");
|
||||
gStrings.mediaImg = await document.l10n.formatValue("media-img");
|
||||
gStrings.mediaBGImg = await document.l10n.formatValue("media-bg-img");
|
||||
gStrings.mediaBorderImg = await document.l10n.formatValue("media-border-img");
|
||||
gStrings.mediaListImg = await document.l10n.formatValue("media-list-img");
|
||||
gStrings.mediaCursor = await document.l10n.formatValue("media-cursor");
|
||||
gStrings.mediaObject = await document.l10n.formatValue("media-object");
|
||||
gStrings.mediaEmbed = await document.l10n.formatValue("media-embed");
|
||||
gStrings.mediaLink = await document.l10n.formatValue("media-link");
|
||||
gStrings.mediaInput = await document.l10n.formatValue("media-input");
|
||||
gStrings.mediaVideo = await document.l10n.formatValue("media-video");
|
||||
gStrings.mediaAudio = await document.l10n.formatValue("media-audio");
|
||||
|
||||
var args = "arguments" in window &&
|
||||
window.arguments.length >= 1 &&
|
||||
|
@ -338,7 +325,7 @@ function loadPageInfo(frameOuterWindowID, imageElement, browser) {
|
|||
let pageInfoData;
|
||||
|
||||
// Get initial pageInfoData needed to display the general, permission and security tabs.
|
||||
mm.addMessageListener("PageInfo:data", function onmessage(message) {
|
||||
mm.addMessageListener("PageInfo:data", async function onmessage(message) {
|
||||
mm.removeMessageListener("PageInfo:data", onmessage);
|
||||
pageInfoData = message.data;
|
||||
let docInfo = pageInfoData.docInfo;
|
||||
|
@ -348,14 +335,13 @@ function loadPageInfo(frameOuterWindowID, imageElement, browser) {
|
|||
gDocInfo = docInfo;
|
||||
|
||||
gImageElement = imageInfo;
|
||||
|
||||
var titleFormat = windowInfo.isTopWindow ? "pageInfo.page.title"
|
||||
: "pageInfo.frame.title";
|
||||
document.title = gBundle.getFormattedString(titleFormat, [docInfo.location]);
|
||||
var titleFormat = windowInfo.isTopWindow ? "page-info-page"
|
||||
: "page-info-frame";
|
||||
document.l10n.setAttributes(document.documentElement, titleFormat, {"website": docInfo.location});
|
||||
|
||||
document.getElementById("main-window").setAttribute("relatedUrl", docInfo.location);
|
||||
|
||||
makeGeneralTab(pageInfoData.metaViewRows, docInfo);
|
||||
await makeGeneralTab(pageInfoData.metaViewRows, docInfo);
|
||||
onLoadPermission(uri, principal);
|
||||
securityOnLoad(uri, windowInfo);
|
||||
});
|
||||
|
@ -465,9 +451,13 @@ function openCacheEntry(key, cb) {
|
|||
diskStorage.asyncOpenURI(Services.io.newURI(key), "", nsICacheStorage.OPEN_READONLY, checkCacheListener);
|
||||
}
|
||||
|
||||
function makeGeneralTab(metaViewRows, docInfo) {
|
||||
var title = (docInfo.title) ? docInfo.title : gBundle.getString("noPageTitle");
|
||||
document.getElementById("titletext").value = title;
|
||||
async function makeGeneralTab(metaViewRows, docInfo) {
|
||||
// Sets Title in the General Tab, set to "Untitled Page" if no title found
|
||||
if (docInfo.title) {
|
||||
document.getElementById("titletext").value = docInfo.title;
|
||||
} else {
|
||||
document.l10n.setAttributes(document.getElementById("titletext"), "no-page-title");
|
||||
}
|
||||
|
||||
var url = docInfo.location;
|
||||
setItemValue("urltext", url);
|
||||
|
@ -475,8 +465,8 @@ function makeGeneralTab(metaViewRows, docInfo) {
|
|||
var referrer = ("referrer" in docInfo && docInfo.referrer);
|
||||
setItemValue("refertext", referrer);
|
||||
|
||||
var mode = ("compatMode" in docInfo && docInfo.compatMode == "BackCompat") ? "generalQuirksMode" : "generalStrictMode";
|
||||
document.getElementById("modetext").value = gBundle.getString(mode);
|
||||
var mode = ("compatMode" in docInfo && docInfo.compatMode == "BackCompat") ? "general-quirks-mode" : "general-strict-mode";
|
||||
document.l10n.setAttributes(document.getElementById("modetext"), mode);
|
||||
|
||||
// find out the mime type
|
||||
var mimeType = docInfo.contentType;
|
||||
|
@ -492,11 +482,9 @@ function makeGeneralTab(metaViewRows, docInfo) {
|
|||
if (!length)
|
||||
metaGroup.style.visibility = "hidden";
|
||||
else {
|
||||
var metaTagsCaption = document.getElementById("metaTagsCaption");
|
||||
if (length == 1)
|
||||
metaTagsCaption.value = gBundle.getString("generalMetaTag");
|
||||
else
|
||||
metaTagsCaption.value = gBundle.getFormattedString("generalMetaTags", [length]);
|
||||
document.l10n.setAttributes(document.getElementById("metaTagsCaption"),
|
||||
"general-meta-tags", {"tags": length});
|
||||
|
||||
var metaTree = document.getElementById("metatree");
|
||||
metaTree.view = gMetaView;
|
||||
|
||||
|
@ -506,8 +494,7 @@ function makeGeneralTab(metaViewRows, docInfo) {
|
|||
metaGroup.style.removeProperty("visibility");
|
||||
}
|
||||
|
||||
// get the date of last modification
|
||||
var modifiedText = formatDate(docInfo.lastModified, gStrings.notSet);
|
||||
var modifiedText = formatDate(docInfo.lastModified, await document.l10n.formatValue("not-set-date"));
|
||||
document.getElementById("modifiedtext").value = modifiedText;
|
||||
|
||||
// get cache info
|
||||
|
@ -517,15 +504,17 @@ function makeGeneralTab(metaViewRows, docInfo) {
|
|||
if (cacheEntry) {
|
||||
var pageSize = cacheEntry.dataSize;
|
||||
var kbSize = formatNumber(Math.round(pageSize / 1024 * 100) / 100);
|
||||
sizeText = gBundle.getFormattedString("generalSize", [kbSize, formatNumber(pageSize)]);
|
||||
document.l10n.setAttributes(document.getElementById("sizetext"),
|
||||
"properties-general-size",
|
||||
{"kb": kbSize, "bytes": formatNumber(pageSize)});
|
||||
} else {
|
||||
setItemValue("sizetext", sizeText);
|
||||
}
|
||||
setItemValue("sizetext", sizeText);
|
||||
});
|
||||
}
|
||||
|
||||
function addImage(imageViewRow) {
|
||||
async function addImage(imageViewRow) {
|
||||
let [url, type, alt, elem, isBg] = imageViewRow;
|
||||
|
||||
if (!url)
|
||||
return;
|
||||
|
||||
|
@ -535,16 +524,23 @@ function addImage(imageViewRow) {
|
|||
gImageHash[url][type] = { };
|
||||
if (!gImageHash[url][type].hasOwnProperty(alt)) {
|
||||
gImageHash[url][type][alt] = gImageView.data.length;
|
||||
var row = [url, type, -1, alt, 1, elem, isBg];
|
||||
var row = [url, type, gStrings.unknown, alt, 1, elem, isBg];
|
||||
gImageView.addRow(row);
|
||||
|
||||
// Fill in cache data asynchronously
|
||||
openCacheEntry(url, function(cacheEntry) {
|
||||
// The data at row[2] corresponds to the data size.
|
||||
if (cacheEntry) {
|
||||
row[2] = cacheEntry.dataSize;
|
||||
// Invalidate the row to trigger a repaint.
|
||||
gImageView.tree.invalidateRow(gImageView.data.indexOf(row));
|
||||
let value = cacheEntry.dataSize;
|
||||
// If value is not -1 then replace with actual value, else keep as "unknown"
|
||||
if (value != -1) {
|
||||
let kbSize = Number(Math.round(value / 1024 * 100) / 100);
|
||||
document.l10n.formatValue("media-file-size", {"size": kbSize}).then(function(response) {
|
||||
row[2] = response;
|
||||
// Invalidate the row to trigger a repaint.
|
||||
gImageView.tree.invalidateRow(gImageView.data.indexOf(row));
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -621,10 +617,10 @@ function getSelectedRow(tree) {
|
|||
return (rows.length == 1) ? rows[0] : -1;
|
||||
}
|
||||
|
||||
function selectSaveFolder(aCallback) {
|
||||
async function selectSaveFolder(aCallback) {
|
||||
const nsIFile = Ci.nsIFile;
|
||||
const nsIFilePicker = Ci.nsIFilePicker;
|
||||
let titleText = gBundle.getString("mediaSelectFolder");
|
||||
let titleText = await document.l10n.formatValue("media-select-folder");
|
||||
let fp = Cc["@mozilla.org/filepicker;1"].
|
||||
createInstance(nsIFilePicker);
|
||||
let fpCallback = function fpCallback_done(aResult) {
|
||||
|
@ -759,15 +755,16 @@ function makePreview(row) {
|
|||
var cacheKey = url.replace(/#.*$/, "");
|
||||
openCacheEntry(cacheKey, function(cacheEntry) {
|
||||
// find out the file size
|
||||
var sizeText;
|
||||
if (cacheEntry) {
|
||||
let imageSize = cacheEntry.dataSize;
|
||||
var kbSize = Math.round(imageSize / 1024 * 100) / 100;
|
||||
sizeText = gBundle.getFormattedString("generalSize",
|
||||
[formatNumber(kbSize), formatNumber(imageSize)]);
|
||||
} else
|
||||
sizeText = gBundle.getString("mediaUnknownNotCached");
|
||||
setItemValue("imagesizetext", sizeText);
|
||||
document.l10n.setAttributes(document.getElementById("imagesizetext"),
|
||||
"properties-general-size",
|
||||
{"kb": formatNumber(kbSize), "bytes": formatNumber(imageSize)});
|
||||
} else {
|
||||
document.l10n.setAttributes(document.getElementById("imagesizetext"),
|
||||
"media-unknown-not-cached");
|
||||
}
|
||||
|
||||
var mimeType = item.mimeType || this.getContentTypeFromHeaders(cacheEntry);
|
||||
var numFrames = item.numFrames;
|
||||
|
@ -779,19 +776,21 @@ function makePreview(row) {
|
|||
if (imageMimeType) {
|
||||
imageType = imageMimeType[1].toUpperCase();
|
||||
if (numFrames > 1)
|
||||
imageType = gBundle.getFormattedString("mediaAnimatedImageType",
|
||||
[imageType, numFrames]);
|
||||
document.l10n.setAttributes(document.getElementById("imagetypetext"),
|
||||
"media-animated-image-type",
|
||||
{"type": imageType, "frames": numFrames});
|
||||
else
|
||||
imageType = gBundle.getFormattedString("mediaImageType", [imageType]);
|
||||
document.l10n.setAttributes(document.getElementById("imagetypetext"),
|
||||
"media-image-type",
|
||||
{"type": imageType});
|
||||
} else {
|
||||
// the MIME type doesn't begin with image/, display the raw type
|
||||
imageType = mimeType;
|
||||
setItemValue("imagetypetext", mimeType);
|
||||
}
|
||||
} else {
|
||||
// We couldn't find the type, fall back to the value in the treeview
|
||||
imageType = gImageView.data[row][COL_IMAGE_TYPE];
|
||||
setItemValue("imagetypetext", gImageView.data[row][COL_IMAGE_TYPE]);
|
||||
}
|
||||
setItemValue("imagetypetext", imageType);
|
||||
|
||||
var imageContainer = document.getElementById("theimagecontainer");
|
||||
var oldImage = document.getElementById("thepreviewimage");
|
||||
|
@ -847,21 +846,21 @@ function makePreview(row) {
|
|||
document.getElementById("theimagecontainer").collapsed = false;
|
||||
document.getElementById("brokenimagecontainer").collapsed = true;
|
||||
|
||||
let imageSize = "";
|
||||
if (url) {
|
||||
if (width != physWidth || height != physHeight) {
|
||||
imageSize = gBundle.getFormattedString("mediaDimensionsScaled",
|
||||
[formatNumber(physWidth),
|
||||
formatNumber(physHeight),
|
||||
formatNumber(width),
|
||||
formatNumber(height)]);
|
||||
document.l10n.setAttributes(document.getElementById("imagedimensiontext"),
|
||||
"media-dimensions-scaled",
|
||||
{"dimx": formatNumber(physWidth),
|
||||
"dimy": formatNumber(physHeight),
|
||||
"scaledx": formatNumber(width),
|
||||
"scaledy": formatNumber(height)});
|
||||
} else {
|
||||
imageSize = gBundle.getFormattedString("mediaDimensions",
|
||||
[formatNumber(width),
|
||||
formatNumber(height)]);
|
||||
document.l10n.setAttributes(document.getElementById("imagedimensiontext"),
|
||||
"media-dimensions",
|
||||
{"dimx": formatNumber(width),
|
||||
"dimy": formatNumber(height)});
|
||||
}
|
||||
}
|
||||
setItemValue("imagedimensiontext", imageSize);
|
||||
}, {once: true});
|
||||
|
||||
newImage.setAttribute("triggeringprincipal", triggeringPrinStr);
|
||||
|
@ -896,13 +895,12 @@ function makePreview(row) {
|
|||
document.getElementById("theimagecontainer").collapsed = true;
|
||||
}
|
||||
|
||||
let imageSize = "";
|
||||
if (url && !isAudio) {
|
||||
imageSize = gBundle.getFormattedString("mediaDimensions",
|
||||
[formatNumber(width),
|
||||
formatNumber(height)]);
|
||||
document.l10n.setAttributes(document.getElementById("imagedimensiontext"),
|
||||
"media-dimensions",
|
||||
{"dimx": formatNumber(width),
|
||||
"dimy": formatNumber(height)});
|
||||
}
|
||||
setItemValue("imagedimensiontext", imageSize);
|
||||
}
|
||||
|
||||
makeBlockImage(url);
|
||||
|
@ -926,7 +924,7 @@ function makeBlockImage(url) {
|
|||
var uri = Services.io.newURI(url);
|
||||
if (uri.host) {
|
||||
checkbox.hidden = false;
|
||||
checkbox.label = gBundle.getFormattedString("mediaBlockImage", [uri.host]);
|
||||
document.l10n.setAttributes(checkbox, "media-block-image", {"website": uri.host});
|
||||
var perm = permissionManager.testPermission(uri, "image");
|
||||
checkbox.checked = perm == nsIPermissionManager.DENY_ACTION;
|
||||
} else
|
||||
|
|
|
@ -7,8 +7,6 @@
|
|||
<?xml-stylesheet href="chrome://browser/skin/pageInfo.css" type="text/css"?>
|
||||
|
||||
<!DOCTYPE window [
|
||||
<!ENTITY % pageInfoDTD SYSTEM "chrome://browser/locale/pageInfo.dtd">
|
||||
%pageInfoDTD;
|
||||
#ifdef XP_MACOSX
|
||||
#include ../browser-doctype.inc
|
||||
#endif
|
||||
|
@ -16,18 +14,22 @@
|
|||
|
||||
<window id="main-window"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
data-l10n-id="page-info-window"
|
||||
data-l10n-attrs="style"
|
||||
windowtype="Browser:page-info"
|
||||
onload="onLoadPageInfo()"
|
||||
onunload="onUnloadPageInfo()"
|
||||
align="stretch"
|
||||
screenX="10" screenY="10"
|
||||
width="&pageInfoWindow.width;" height="&pageInfoWindow.height;"
|
||||
persist="screenX screenY width height sizemode">
|
||||
|
||||
#ifdef XP_MACOSX
|
||||
#include ../macWindow.inc.xul
|
||||
#endif
|
||||
|
||||
<linkset>
|
||||
<link rel="localization" href="browser/pageInfo.ftl"/>
|
||||
</linkset>
|
||||
<script type="application/javascript" src="chrome://global/content/globalOverlay.js"/>
|
||||
<script type="application/javascript" src="chrome://global/content/contentAreaUtils.js"/>
|
||||
<script type="application/javascript" src="chrome://global/content/treeUtils.js"/>
|
||||
|
@ -37,7 +39,6 @@
|
|||
<script type="application/javascript" src="chrome://browser/content/utilityOverlay.js"/>
|
||||
|
||||
<stringbundleset id="pageinfobundleset">
|
||||
<stringbundle id="pageinfobundle" src="chrome://browser/locale/pageInfo.properties"/>
|
||||
<stringbundle id="pkiBundle" src="chrome://pippki/locale/pippki.properties"/>
|
||||
<stringbundle id="browserBundle" src="chrome://browser/locale/browser.properties"/>
|
||||
</stringbundleset>
|
||||
|
@ -50,32 +51,32 @@
|
|||
</commandset>
|
||||
|
||||
<keyset id="pageInfoKeySet">
|
||||
<key key="&closeWindow.key;" modifiers="accel" command="cmd_close"/>
|
||||
<key data-l10n-id="close-window" modifiers="accel" command="cmd_close"/>
|
||||
<key keycode="VK_ESCAPE" command="cmd_close"/>
|
||||
#ifdef XP_MACOSX
|
||||
<key key="." modifiers="meta" command="cmd_close"/>
|
||||
#else
|
||||
<key keycode="VK_F1" command="cmd_help"/>
|
||||
#endif
|
||||
<key key="©.key;" modifiers="accel" command="cmd_copy"/>
|
||||
<key key="&selectall.key;" modifiers="accel" command="cmd_selectall"/>
|
||||
<key key="&selectall.key;" modifiers="alt" command="cmd_selectall"/>
|
||||
<key data-l10n-id="copy" modifiers="accel" command="cmd_copy"/>
|
||||
<key data-l10n-id="select-all" modifiers="accel" command="cmd_selectall"/>
|
||||
<key data-l10n-id="select-all" modifiers="alt" command="cmd_selectall"/>
|
||||
</keyset>
|
||||
|
||||
<menupopup id="picontext">
|
||||
<menuitem id="menu_selectall" label="&selectall.label;" command="cmd_selectall" accesskey="&selectall.accesskey;"/>
|
||||
<menuitem id="menu_copy" label="©.label;" command="cmd_copy" accesskey="©.accesskey;"/>
|
||||
<menuitem id="menu_selectall" data-l10n-id="menu-select-all" command="cmd_selectall"/>
|
||||
<menuitem id="menu_copy" data-l10n-id="menu-copy" command="cmd_copy"/>
|
||||
</menupopup>
|
||||
|
||||
<vbox id="topBar">
|
||||
<radiogroup id="viewGroup" class="chromeclass-toolbar" orient="horizontal">
|
||||
<radio id="generalTab" label="&generalTab;" accesskey="&generalTab.accesskey;"
|
||||
<radio id="generalTab" data-l10n-id="general-tab"
|
||||
oncommand="showTab('general');"/>
|
||||
<radio id="mediaTab" label="&mediaTab;" accesskey="&mediaTab.accesskey;"
|
||||
<radio id="mediaTab" data-l10n-id="media-tab"
|
||||
oncommand="showTab('media');" hidden="true"/>
|
||||
<radio id="permTab" label="&permTab;" accesskey="&permTab.accesskey;"
|
||||
<radio id="permTab" data-l10n-id="perm-tab"
|
||||
oncommand="showTab('perm');"/>
|
||||
<radio id="securityTab" label="&securityTab;" accesskey="&securityTab.accesskey;"
|
||||
<radio id="securityTab" data-l10n-id="security-tab"
|
||||
oncommand="showTab('security');"/>
|
||||
</radiogroup>
|
||||
</vbox>
|
||||
|
@ -91,12 +92,12 @@
|
|||
</columns>
|
||||
<rows id="generalRows">
|
||||
<row id="generalTitle">
|
||||
<label control="titletext" value="&generalTitle;"/>
|
||||
<label control="titletext" data-l10n-id="general-title"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" id="titletext"/>
|
||||
</row>
|
||||
<row id="generalURLRow">
|
||||
<label control="urltext" value="&generalURL;"/>
|
||||
<label control="urltext" data-l10n-id="general-url"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" id="urltext"/>
|
||||
</row>
|
||||
|
@ -104,27 +105,27 @@
|
|||
<separator class="thin"/>
|
||||
</row>
|
||||
<row id="generalTypeRow">
|
||||
<label control="typetext" value="&generalType;"/>
|
||||
<label control="typetext" data-l10n-id="general-type"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" id="typetext"/>
|
||||
</row>
|
||||
<row id="generalModeRow">
|
||||
<label control="modetext" value="&generalMode;"/>
|
||||
<label control="modetext" data-l10n-id="general-mode"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" crop="end" id="modetext"/>
|
||||
</row>
|
||||
<row id="generalEncodingRow">
|
||||
<label control="encodingtext" value="&generalEncoding2;"/>
|
||||
<label control="encodingtext" data-l10n-id="general-encoding"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" id="encodingtext"/>
|
||||
</row>
|
||||
<row id="generalSizeRow">
|
||||
<label control="sizetext" value="&generalSize;"/>
|
||||
<label control="sizetext" data-l10n-id="general-size"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" id="sizetext"/>
|
||||
</row>
|
||||
<row id="generalReferrerRow">
|
||||
<label control="refertext" value="&generalReferrer;"/>
|
||||
<label control="refertext" data-l10n-id="general-referrer"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" id="refertext"/>
|
||||
</row>
|
||||
|
@ -132,7 +133,7 @@
|
|||
<separator class="thin"/>
|
||||
</row>
|
||||
<row id="generalModifiedRow">
|
||||
<label control="modifiedtext" value="&generalModified;"/>
|
||||
<label control="modifiedtext" data-l10n-id="general-modified"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" id="modifiedtext"/>
|
||||
</row>
|
||||
|
@ -143,19 +144,19 @@
|
|||
<label control="metatree" id="metaTagsCaption" class="header"/>
|
||||
<tree id="metatree" flex="1" hidecolumnpicker="true" contextmenu="picontext">
|
||||
<treecols>
|
||||
<treecol id="meta-name" label="&generalMetaName;"
|
||||
<treecol id="meta-name" data-l10n-id="general-meta-name"
|
||||
persist="width" flex="1"
|
||||
onclick="gMetaView.onPageMediaSort('meta-name');"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="meta-content" label="&generalMetaContent;"
|
||||
<treecol id="meta-content" data-l10n-id="general-meta-content"
|
||||
persist="width" flex="4"
|
||||
onclick="gMetaView.onPageMediaSort('meta-content');"/>
|
||||
</treecols>
|
||||
<treechildren id="metatreechildren" flex="1"/>
|
||||
</tree>
|
||||
</tree>
|
||||
</vbox>
|
||||
<hbox pack="end">
|
||||
<button command="cmd_help" label="&helpButton.label;" dlgtype="help"/>
|
||||
<button command="cmd_help" data-l10n-id="help-button" dlgtype="help"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
|
||||
|
@ -165,23 +166,23 @@
|
|||
ondragstart="onBeginLinkDrag(event,'image-address','image-alt')">
|
||||
<treecols>
|
||||
<treecol primary="true" persist="width" flex="10"
|
||||
width="10" id="image-address" label="&mediaAddress;"
|
||||
width="10" id="image-address" data-l10n-id="media-address"
|
||||
onclick="gImageView.onPageMediaSort('image-address');"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol persist="hidden width" flex="2"
|
||||
width="2" id="image-type" label="&mediaType;"
|
||||
width="2" id="image-type" data-l10n-id="media-type"
|
||||
onclick="gImageView.onPageMediaSort('image-type');"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol hidden="true" persist="hidden width" flex="2"
|
||||
width="2" id="image-size" label="&mediaSize;" value="size"
|
||||
width="2" id="image-size" data-l10n-id="media-size" value="size"
|
||||
onclick="gImageView.onPageMediaSort('image-size');"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol hidden="true" persist="hidden width" flex="4"
|
||||
width="4" id="image-alt" label="&mediaAltHeader;"
|
||||
width="4" id="image-alt" data-l10n-id="media-alt-header"
|
||||
onclick="gImageView.onPageMediaSort('image-alt');"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol hidden="true" persist="hidden width" flex="1"
|
||||
width="1" id="image-count" label="&mediaCount;"
|
||||
width="1" id="image-count" data-l10n-id="media-count"
|
||||
onclick="gImageView.onPageMediaSort('image-count');"/>
|
||||
</treecols>
|
||||
<treechildren id="imagetreechildren" flex="1"/>
|
||||
|
@ -196,32 +197,32 @@
|
|||
</columns>
|
||||
<rows id="mediaRows">
|
||||
<row id="mediaLocationRow">
|
||||
<label control="imageurltext" value="&mediaLocation;"/>
|
||||
<label control="imageurltext" data-l10n-id="media-location"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" id="imageurltext"/>
|
||||
</row>
|
||||
<row id="mediaTypeRow">
|
||||
<label control="imagetypetext" value="&generalType;"/>
|
||||
<label control="imagetypetext" data-l10n-id="general-type"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" id="imagetypetext"/>
|
||||
<textbox id="imagetypetext"/>
|
||||
</row>
|
||||
<row id="mediaSizeRow">
|
||||
<label control="imagesizetext" value="&generalSize;"/>
|
||||
<label control="imagesizetext" data-l10n-id="general-size"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" id="imagesizetext"/>
|
||||
</row>
|
||||
<row id="mediaDimensionRow">
|
||||
<label control="imagedimensiontext" value="&mediaDimension;"/>
|
||||
<label control="imagedimensiontext" data-l10n-id="media-dimension"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" id="imagedimensiontext"/>
|
||||
</row>
|
||||
<row id="mediaTextRow">
|
||||
<label control="imagetext" value="&mediaText;"/>
|
||||
<label control="imagetext" data-l10n-id="media-text"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" id="imagetext"/>
|
||||
</row>
|
||||
<row id="mediaLongdescRow">
|
||||
<label control="imagelongdesctext" value="&mediaLongdesc;"/>
|
||||
<label control="imagelongdesctext" data-l10n-id="media-long-desc"/>
|
||||
<separator/>
|
||||
<textbox readonly="true" id="imagelongdesctext"/>
|
||||
</row>
|
||||
|
@ -230,14 +231,14 @@
|
|||
<hbox id="imageSaveBox" align="end">
|
||||
<vbox id="blockImageBox">
|
||||
<checkbox id="blockImage" hidden="true" oncommand="onBlockImage()"
|
||||
accesskey="&mediaBlockImage.accesskey;"/>
|
||||
<label control="thepreviewimage" value="&mediaPreview;" class="header"/>
|
||||
data-l10n-id="media-block-image"/>
|
||||
<label control="thepreviewimage" data-l10n-id="media-preview" class="header"/>
|
||||
</vbox>
|
||||
<spacer id="imageSaveBoxSpacer" flex="1"/>
|
||||
<button label="&selectall.label;" accesskey="&selectall.accesskey;"
|
||||
<button data-l10n-id="menu-select-all"
|
||||
id="selectallbutton"
|
||||
oncommand="doSelectAllMedia();"/>
|
||||
<button label="&mediaSaveAs;" accesskey="&mediaSaveAs.accesskey;"
|
||||
<button data-l10n-id="media-save-as"
|
||||
icon="save" id="imagesaveasbutton"
|
||||
oncommand="saveMedia();"/>
|
||||
</hbox>
|
||||
|
@ -252,26 +253,26 @@
|
|||
</vbox>
|
||||
<hbox id="mediaSaveBox" collapsed="true">
|
||||
<spacer id="mediaSaveBoxSpacer" flex="1"/>
|
||||
<button label="&mediaSaveAs;" accesskey="&mediaSaveAs2.accesskey;"
|
||||
<button data-l10n-id="media-save-image-as"
|
||||
icon="save" id="mediasaveasbutton"
|
||||
oncommand="saveMedia();"/>
|
||||
</hbox>
|
||||
<hbox pack="end">
|
||||
<button command="cmd_help" label="&helpButton.label;" dlgtype="help"/>
|
||||
<button command="cmd_help" data-l10n-id="help-button" dlgtype="help"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
|
||||
<!-- Permissions -->
|
||||
<vbox id="permPanel">
|
||||
<hbox id="permHostBox">
|
||||
<label value="&permissionsFor;" control="hostText" />
|
||||
<label data-l10n-id="permissions-for" control="hostText" />
|
||||
<textbox id="hostText" class="header" readonly="true"
|
||||
crop="end" flex="1"/>
|
||||
</hbox>
|
||||
|
||||
<vbox id="permList" flex="1"/>
|
||||
<hbox pack="end">
|
||||
<button command="cmd_help" label="&helpButton.label;" dlgtype="help"/>
|
||||
<button command="cmd_help" data-l10n-id="help-button" dlgtype="help"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
|
||||
|
@ -279,7 +280,7 @@
|
|||
<vbox id="securityPanel">
|
||||
<!-- Identity Section -->
|
||||
<groupbox>
|
||||
<label class="header" value="&securityView.identity.header;"/>
|
||||
<label class="header" data-l10n-id="security-view-identity"/>
|
||||
<grid>
|
||||
<columns>
|
||||
<column/>
|
||||
|
@ -288,7 +289,7 @@
|
|||
<rows>
|
||||
<!-- Domain -->
|
||||
<row>
|
||||
<label value="&securityView.identity.domain;"
|
||||
<label data-l10n-id="security-view-identity-domain"
|
||||
control="security-identity-domain-value"/>
|
||||
<textbox id="security-identity-domain-value" readonly="true"/>
|
||||
</row>
|
||||
|
@ -296,25 +297,24 @@
|
|||
<row>
|
||||
<label id="security-identity-owner-label"
|
||||
class="fieldLabel"
|
||||
value="&securityView.identity.owner;"
|
||||
data-l10n-id="security-view-identity-owner"
|
||||
control="security-identity-owner-value"/>
|
||||
<textbox id="security-identity-owner-value" readonly="true"/>
|
||||
</row>
|
||||
<!-- Verifier -->
|
||||
<row>
|
||||
<label value="&securityView.identity.verifier;"
|
||||
<label data-l10n-id="security-view-identity-verifier"
|
||||
control="security-identity-verifier-value"/>
|
||||
<hbox align="center">
|
||||
<textbox id="security-identity-verifier-value" readonly="true"
|
||||
flex="1"/>
|
||||
<button id="security-view-cert" label="&securityView.certView;"
|
||||
accesskey="&securityView.accesskey;"
|
||||
<button id="security-view-cert" data-l10n-id="security-view"
|
||||
oncommand="security.viewCert();"/>
|
||||
</hbox>
|
||||
</row>
|
||||
<!-- Certificate Validity -->
|
||||
<row id="security-identity-validity-row">
|
||||
<label value="&securityView.identity.validity;"
|
||||
<label data-l10n-id="security-view-identity-validity"
|
||||
control="security-identity-validity-value"/>
|
||||
<textbox id="security-identity-validity-value" readonly="true"/>
|
||||
</row>
|
||||
|
@ -324,7 +324,7 @@
|
|||
|
||||
<!-- Privacy & History section -->
|
||||
<groupbox>
|
||||
<label class="header" value="&securityView.privacy.header;"/>
|
||||
<label class="header" data-l10n-id="security-view-privacy"/>
|
||||
<grid>
|
||||
<columns>
|
||||
<column flex="1"/>
|
||||
|
@ -333,33 +333,31 @@
|
|||
<rows>
|
||||
<!-- History -->
|
||||
<row>
|
||||
<label control="security-privacy-history-value">&securityView.privacy.history;</label>
|
||||
<label control="security-privacy-history-value" data-l10n-id="security-view-privacy-history-value"/>
|
||||
<label id="security-privacy-history-value"
|
||||
value="&securityView.unknown;"/>
|
||||
data-l10n-id="security-view-unknown"/>
|
||||
</row>
|
||||
<!-- Site Data & Cookies -->
|
||||
<row>
|
||||
<label control="security-privacy-sitedata-value">&securityView.privacy.siteData;</label>
|
||||
<label control="security-privacy-sitedata-value" data-l10n-id="security-view-privacy-sitedata-value"/>
|
||||
<hbox id="security-privacy-sitedata-box" align="center">
|
||||
<label id="security-privacy-sitedata-value"
|
||||
flex="1">&securityView.unknown;</label>
|
||||
<label id="security-privacy-sitedata-value" data-l10n-id="security-view-unknown"
|
||||
flex="1"/>
|
||||
<button id="security-clear-sitedata"
|
||||
disabled="true"
|
||||
label="&securityView.privacy.clearSiteData;"
|
||||
accesskey="&securityView.privacy.clearSiteData.accessKey;"
|
||||
data-l10n-id="security-view-privacy-clearsitedata"
|
||||
oncommand="security.clearSiteData();"/>
|
||||
</hbox>
|
||||
</row>
|
||||
<!-- Passwords -->
|
||||
<row>
|
||||
<label control="security-privacy-passwords-value">&securityView.privacy.passwords;</label>
|
||||
<label control="security-privacy-passwords-value" data-l10n-id="security-view-privacy-passwords-value"/>
|
||||
<hbox id="security-privacy-passwords-box" align="center">
|
||||
<label id="security-privacy-passwords-value"
|
||||
value="&securityView.unknown;"
|
||||
data-l10n-id="security-view-unknown"
|
||||
flex="1"/>
|
||||
<button id="security-view-password"
|
||||
label="&securityView.privacy.viewPasswords;"
|
||||
accesskey="&securityView.privacy.viewPasswords.accessKey;"
|
||||
data-l10n-id="security-view-privacy-viewpasswords"
|
||||
oncommand="security.viewPasswords();"/>
|
||||
</hbox>
|
||||
</row>
|
||||
|
@ -369,7 +367,7 @@
|
|||
|
||||
<!-- Technical Details section -->
|
||||
<groupbox>
|
||||
<label class="header" value="&securityView.technical.header;"/>
|
||||
<label class="header" data-l10n-id="security-view-technical"/>
|
||||
<label id="security-technical-shortform"/>
|
||||
<description id="security-technical-longform1"/>
|
||||
<description id="security-technical-longform2"/>
|
||||
|
@ -377,7 +375,7 @@
|
|||
</groupbox>
|
||||
|
||||
<hbox pack="end">
|
||||
<button command="cmd_help" label="&helpButton.label;" dlgtype="help"/>
|
||||
<button command="cmd_help" data-l10n-id="help-button" dlgtype="help"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
<!-- Others added by overlay -->
|
||||
|
|
|
@ -138,7 +138,7 @@ function createRow(aPartId) {
|
|||
let checkbox = document.createXULElement("checkbox");
|
||||
checkbox.setAttribute("id", aPartId + "Def");
|
||||
checkbox.setAttribute("oncommand", "onCheckboxClick('" + aPartId + "');");
|
||||
checkbox.setAttribute("label", gBundle.getString("permissions.useDefault"));
|
||||
document.l10n.setAttributes(checkbox, "permissions-use-default");
|
||||
controls.appendChild(checkbox);
|
||||
|
||||
let spacer = document.createXULElement("spacer");
|
||||
|
|
|
@ -138,34 +138,30 @@ var security = {
|
|||
this.siteData = await SiteDataManager.getSites(
|
||||
SiteDataManager.getBaseDomainFromHost(this.uri.host));
|
||||
|
||||
let pageInfoBundle = document.getElementById("pageinfobundle");
|
||||
let clearSiteDataButton = document.getElementById("security-clear-sitedata");
|
||||
let siteDataLabel = document.getElementById("security-privacy-sitedata-value");
|
||||
|
||||
if (!this.siteData.length) {
|
||||
let noStr = pageInfoBundle.getString("securitySiteDataNo");
|
||||
siteDataLabel.textContent = noStr;
|
||||
document.l10n.setAttributes(siteDataLabel, "security-site-data-no");
|
||||
clearSiteDataButton.setAttribute("disabled", "true");
|
||||
return;
|
||||
}
|
||||
|
||||
let usageText;
|
||||
let usage = this.siteData.reduce((acc, site) => acc + site.usage, 0);
|
||||
if (usage > 0) {
|
||||
let size = DownloadUtils.convertByteUnits(usage);
|
||||
let hasCookies = this.siteData.some(site => site.cookies.length > 0);
|
||||
if (hasCookies) {
|
||||
usageText = pageInfoBundle.getFormattedString("securitySiteDataCookies", size);
|
||||
document.l10n.setAttributes(siteDataLabel, "security-site-data-cookies", {"value": size[0], "unit": size[1]});
|
||||
} else {
|
||||
usageText = pageInfoBundle.getFormattedString("securitySiteDataOnly", size);
|
||||
document.l10n.setAttributes(siteDataLabel, "security-site-data-only", {"value": size[0], "unit": size[1]});
|
||||
}
|
||||
} else {
|
||||
// We're storing cookies, else the list would have been empty.
|
||||
usageText = pageInfoBundle.getString("securitySiteDataCookiesOnly");
|
||||
document.l10n.setAttributes(siteDataLabel, "security-site-data-cookies-only");
|
||||
}
|
||||
|
||||
clearSiteDataButton.removeAttribute("disabled");
|
||||
siteDataLabel.textContent = usageText;
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -200,12 +196,10 @@ function securityOnLoad(uri, windowInfo) {
|
|||
}
|
||||
document.getElementById("securityTab").hidden = false;
|
||||
|
||||
const pageInfoBundle = document.getElementById("pageinfobundle");
|
||||
|
||||
/* Set Identity section text */
|
||||
setText("security-identity-domain-value", info.hostName);
|
||||
|
||||
var owner, verifier, validity;
|
||||
var validity;
|
||||
if (info.cert && !info.isBroken) {
|
||||
validity = info.cert.validity.notAfterLocalDay;
|
||||
|
||||
|
@ -213,25 +207,26 @@ function securityOnLoad(uri, windowInfo) {
|
|||
// so we'll employ fallbacks where appropriate. The EV spec states that Org
|
||||
// fields must be specified for subject and issuer so that case is simpler.
|
||||
if (info.isEV) {
|
||||
owner = info.cert.organization;
|
||||
verifier = info.cAName;
|
||||
setText("security-identity-owner-value", info.cert.organization);
|
||||
setText("security-identity-verifier-value", info.cAName);
|
||||
} else {
|
||||
// Technically, a non-EV cert might specify an owner in the O field or not,
|
||||
// depending on the CA's issuing policies. However we don't have any programmatic
|
||||
// way to tell those apart, and no policy way to establish which organization
|
||||
// vetting standards are good enough (that's what EV is for) so we default to
|
||||
// treating these certs as domain-validated only.
|
||||
owner = pageInfoBundle.getString("securityNoOwner");
|
||||
verifier = info.cAName || info.cert.issuerCommonName || info.cert.issuerName;
|
||||
document.l10n.setAttributes(document.getElementById("security-identity-owner-value"),
|
||||
"security-no-owner");
|
||||
setText("security-identity-verifier-value", info.cAName || info.cert.issuerCommonName || info.cert.issuerName);
|
||||
}
|
||||
} else {
|
||||
// We don't have valid identity credentials.
|
||||
owner = pageInfoBundle.getString("securityNoOwner");
|
||||
verifier = pageInfoBundle.getString("notset");
|
||||
document.l10n.setAttributes(document.getElementById("security-identity-owner-value"),
|
||||
"security-no-owner");
|
||||
document.l10n.setAttributes(document.getElementById("security-identity-verifier-value"),
|
||||
"not-set-verified-by");
|
||||
}
|
||||
|
||||
setText("security-identity-owner-value", owner);
|
||||
setText("security-identity-verifier-value", verifier);
|
||||
if (validity) {
|
||||
setText("security-identity-validity-value", validity);
|
||||
} else {
|
||||
|
@ -247,8 +242,6 @@ function securityOnLoad(uri, windowInfo) {
|
|||
viewCert.collapsed = true;
|
||||
|
||||
/* Set Privacy & History section text */
|
||||
var yesStr = pageInfoBundle.getString("yes");
|
||||
var noStr = pageInfoBundle.getString("no");
|
||||
|
||||
// Only show quota usage data for websites, not internal sites.
|
||||
if (uri.scheme == "http" || uri.scheme == "https") {
|
||||
|
@ -257,16 +250,16 @@ function securityOnLoad(uri, windowInfo) {
|
|||
document.getElementById("security-privacy-sitedata-row").hidden = true;
|
||||
}
|
||||
|
||||
setText("security-privacy-passwords-value",
|
||||
realmHasPasswords(uri) ? yesStr : noStr);
|
||||
if (realmHasPasswords(uri)) {
|
||||
document.l10n.setAttributes(document.getElementById("security-privacy-passwords-value"),
|
||||
"saved-passwords-yes");
|
||||
} else {
|
||||
document.l10n.setAttributes(document.getElementById("security-privacy-passwords-value"),
|
||||
"saved-passwords-no");
|
||||
}
|
||||
|
||||
var visitCount = previousVisitCount(info.hostName);
|
||||
|
||||
let visitCountStr = visitCount > 0
|
||||
? PluralForm.get(visitCount, pageInfoBundle.getString("securityVisitsNumber"))
|
||||
.replace("#1", visitCount.toLocaleString())
|
||||
: pageInfoBundle.getString("securityNoVisits");
|
||||
setText("security-privacy-history-value", visitCountStr);
|
||||
document.l10n.setAttributes(document.getElementById("security-privacy-history-value"),
|
||||
"security-visits-number", {"visits": previousVisitCount(info.hostName)});
|
||||
|
||||
/* Set the Technical Detail section messages */
|
||||
const pkiBundle = document.getElementById("pkiBundle");
|
||||
|
|
|
@ -0,0 +1,256 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/. --
|
||||
|
||||
page-info-window =
|
||||
.style = width: 600px; min-height: 550px;
|
||||
|
||||
copy =
|
||||
.key = C
|
||||
menu-copy =
|
||||
.label = Copy
|
||||
.accesskey = C
|
||||
|
||||
select-all =
|
||||
.key = A
|
||||
menu-select-all =
|
||||
.label = Select All
|
||||
.accesskey = A
|
||||
|
||||
close-window =
|
||||
.key = A
|
||||
|
||||
general-tab =
|
||||
.label = General
|
||||
.accesskey = G
|
||||
general-title =
|
||||
.value = Title:
|
||||
general-url =
|
||||
.value = Address:
|
||||
general-type =
|
||||
.value = Type:
|
||||
general-mode =
|
||||
.value = Render Mode:
|
||||
general-size =
|
||||
.value = Size:
|
||||
general-referrer =
|
||||
.value = Referring URL:
|
||||
general-modified =
|
||||
.value = Modified:
|
||||
general-encoding =
|
||||
.value = Text Encoding:
|
||||
general-meta-name =
|
||||
.label = Name
|
||||
general-meta-content =
|
||||
.label = Content
|
||||
|
||||
media-tab =
|
||||
.label = Media
|
||||
.accesskey = M
|
||||
media-location =
|
||||
.value = Location:
|
||||
media-text =
|
||||
.value = Associated Text:
|
||||
media-alt-header =
|
||||
.label = Alternate Text
|
||||
media-address =
|
||||
.label = Address
|
||||
media-type =
|
||||
.label = Type
|
||||
media-size =
|
||||
.label = Size
|
||||
media-count =
|
||||
.label = Count
|
||||
media-dimension =
|
||||
.value = Dimensions:
|
||||
media-long-desc =
|
||||
.value = Long Description:
|
||||
media-save-as =
|
||||
.label = Save As…
|
||||
.accesskey = A
|
||||
media-save-image-as =
|
||||
.label = Save As…
|
||||
.accesskey = e
|
||||
media-preview =
|
||||
.value = Media Preview:
|
||||
|
||||
perm-tab =
|
||||
.label = Permissions
|
||||
.accesskey = P
|
||||
permissions-for =
|
||||
.value = Permissions for:
|
||||
|
||||
security-tab =
|
||||
.label = Security
|
||||
.accesskey = S
|
||||
security-view =
|
||||
.label = View Certificate
|
||||
.accesskey = V
|
||||
security-view-unknown = Unknown
|
||||
.value = Unknown
|
||||
security-view-identity =
|
||||
.value = Website Identity
|
||||
security-view-identity-owner =
|
||||
.value = Owner:
|
||||
security-view-identity-domain =
|
||||
.value = Website:
|
||||
security-view-identity-verifier =
|
||||
.value = Verified by:
|
||||
security-view-identity-validity =
|
||||
.value = Expires on:
|
||||
security-view-privacy =
|
||||
.value = Privacy & History
|
||||
|
||||
security-view-privacy-history-value = Have I visited this website prior to today?
|
||||
security-view-privacy-sitedata-value = Is this website storing information on my computer?
|
||||
|
||||
security-view-privacy-clearsitedata =
|
||||
.label = Clear Cookies and Site Data
|
||||
.accesskey = C
|
||||
|
||||
security-view-privacy-passwords-value = Have I saved any passwords for this website?
|
||||
|
||||
security-view-privacy-viewpasswords =
|
||||
.label = View Saved Passwords
|
||||
.accesskey = w
|
||||
security-view-technical =
|
||||
.value = Technical Details
|
||||
|
||||
help-button =
|
||||
.label = Help
|
||||
|
||||
security-site-data-cookies-only = Yes, cookies
|
||||
security-site-data-no = No
|
||||
|
||||
## These strings are used to tell the user if the website is storing cookies
|
||||
## and data on the users computer in the security tab of pageInfo
|
||||
## Variables:
|
||||
## $value (number) - Amount of data being stored
|
||||
## $unit (string) - The unit of data being stored (Usually KB)
|
||||
security-site-data-cookies = Yes, cookies and { $value } { $unit } of site data
|
||||
security-site-data-only = Yes, { $value } { $unit } of site data
|
||||
|
||||
security-site-data-cookies-only = Yes, cookies
|
||||
security-site-data-no = No
|
||||
|
||||
image-size-unknown = Unknown
|
||||
not-set-verified-by = Not specified
|
||||
not-set-alternative-text = Not specified
|
||||
not-set-date = Not specified
|
||||
media-img = Image
|
||||
media-bg-img = Background
|
||||
media-border-img = Border
|
||||
media-list-img = Bullet
|
||||
media-cursor = Cursor
|
||||
media-object = Object
|
||||
media-embed = Embed
|
||||
media-link = Icon
|
||||
media-input = Input
|
||||
media-video = Video
|
||||
media-audio = Audio
|
||||
saved-passwords-yes = Yes
|
||||
saved-passwords-no = No
|
||||
|
||||
no-page-title =
|
||||
.value = Untitled Page:
|
||||
general-quirks-mode =
|
||||
.value = Quirks mode
|
||||
general-strict-mode =
|
||||
.value = Standards compliance mode
|
||||
security-no-owner = This website does not supply ownership information.
|
||||
media-select-folder = Select a Folder to Save the Images
|
||||
media-unknown-not-cached =
|
||||
.value = Unknown (not cached)
|
||||
permissions-use-default =
|
||||
.label = Use Default
|
||||
security-no-visits = No
|
||||
|
||||
# This string is used to display the number of meta tags
|
||||
# in the General Tab
|
||||
# Variables:
|
||||
# $tags (number) - The number of meta tags
|
||||
general-meta-tags =
|
||||
.value =
|
||||
{ $tags ->
|
||||
[one] Meta (1 tag)
|
||||
*[other] Meta ({ $tags } tags)
|
||||
}
|
||||
|
||||
# This string is used to display the number of times
|
||||
# the user has visited the website prior
|
||||
# Variables:
|
||||
# $visits (number) - The number of previous visits
|
||||
security-visits-number =
|
||||
{ $visits ->
|
||||
[0] No
|
||||
[one] Yes, once
|
||||
*[other] Yes, { $visits } times
|
||||
}
|
||||
|
||||
# This string is used to display the size of a media file
|
||||
# Variables:
|
||||
# $kb (number) - The size of an image in Kilobytes
|
||||
# $bytes (number) - The size of an image in Bytes
|
||||
properties-general-size =
|
||||
.value = { $bytes ->
|
||||
[one] { $kb } KB ({ $bytes } byte)
|
||||
*[other] { $kb } KB ({ $bytes } bytes)
|
||||
}
|
||||
|
||||
# This string is used to display the type and number
|
||||
# of frames of a animated image
|
||||
# Variables:
|
||||
# $type (string) - The type of a animated image
|
||||
# $frames (number) - The number of frames in an animated image
|
||||
media-animated-image-type =
|
||||
.value = { $frames ->
|
||||
[one] { $type } Image (animated, { $frames } frame)
|
||||
*[other] { $type } Image (animated, { $frames } frames)
|
||||
}
|
||||
|
||||
# This string is used to display the type of
|
||||
# an image
|
||||
# Variables:
|
||||
# $type (string) - The type of an image
|
||||
media-image-type =
|
||||
.value = { $type } Image
|
||||
|
||||
# This string is used to display the size of a scaled image
|
||||
# in both scaled and unscaled pixels
|
||||
# Variables:
|
||||
# $dimx (number) - The horizontal size of an image
|
||||
# $dimy (number) - The vertical size of an image
|
||||
# $scaledx (number) - The scaled horizontal size of an image
|
||||
# $scaledy (number) - The scaled vertical size of an image
|
||||
media-dimensions-scaled =
|
||||
.value = { $dimx }px × { $dimy }px (scaled to { $scaledx }px × { $scaledy }px)
|
||||
|
||||
# This string is used to display the size of an image in pixels
|
||||
# Variables:
|
||||
# $dimx (number) - The horizontal size of an image
|
||||
# $dimy (number) - The vertical size of an image
|
||||
media-dimensions =
|
||||
.value = { $dimx }px × { $dimy }px
|
||||
|
||||
# This string is used to display the size of a media
|
||||
# file in kilobytes
|
||||
# Variables:
|
||||
# $size (number) - The size of the media file in kilobytes
|
||||
media-file-size = { $size } KB
|
||||
|
||||
# This string is used to display the website name next to the
|
||||
# "Block Images" checkbox in the media tab
|
||||
# Variables:
|
||||
# $website (string) - The website name
|
||||
media-block-image =
|
||||
.label = Block Images from { $website }
|
||||
.accesskey = B
|
||||
|
||||
# This string is used to display the URL of the website on top of the
|
||||
# pageInfo dialog box
|
||||
# Variables:
|
||||
# $website (string) - The url of the website pageInfo is getting info for
|
||||
page-info-page =
|
||||
.title = Page Info - { $website }
|
||||
page-info-frame =
|
||||
.title = Frame Info - { $website }
|
|
@ -1,75 +0,0 @@
|
|||
<!-- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
||||
|
||||
<!ENTITY pageInfoWindow.width "600">
|
||||
<!ENTITY pageInfoWindow.height "550">
|
||||
|
||||
<!ENTITY copy.key "C">
|
||||
<!ENTITY copy.label "Copy">
|
||||
<!ENTITY copy.accesskey "C">
|
||||
<!ENTITY selectall.key "A">
|
||||
<!ENTITY selectall.label "Select All">
|
||||
<!ENTITY selectall.accesskey "A">
|
||||
<!ENTITY closeWindow.key "w">
|
||||
|
||||
<!ENTITY generalTab "General">
|
||||
<!ENTITY generalTab.accesskey "G">
|
||||
<!ENTITY generalTitle "Title:">
|
||||
<!ENTITY generalURL "Address:">
|
||||
<!ENTITY generalType "Type:">
|
||||
<!ENTITY generalMode "Render Mode:">
|
||||
<!ENTITY generalSize "Size:">
|
||||
<!ENTITY generalReferrer "Referring URL:">
|
||||
<!ENTITY generalSource "Cache Source:">
|
||||
<!ENTITY generalModified "Modified:">
|
||||
<!ENTITY generalEncoding2 "Text Encoding:">
|
||||
<!ENTITY generalMetaName "Name">
|
||||
<!ENTITY generalMetaContent "Content">
|
||||
|
||||
<!ENTITY mediaTab "Media">
|
||||
<!ENTITY mediaTab.accesskey "M">
|
||||
<!ENTITY mediaLocation "Location:">
|
||||
<!ENTITY mediaText "Associated Text:">
|
||||
<!ENTITY mediaAltHeader "Alternate Text">
|
||||
<!ENTITY mediaAddress "Address">
|
||||
<!ENTITY mediaType "Type">
|
||||
<!ENTITY mediaSize "Size">
|
||||
<!ENTITY mediaCount "Count">
|
||||
<!ENTITY mediaDimension "Dimensions:">
|
||||
<!ENTITY mediaLongdesc "Long Description:">
|
||||
<!ENTITY mediaBlockImage.accesskey "B">
|
||||
<!ENTITY mediaSaveAs "Save As…">
|
||||
<!ENTITY mediaSaveAs.accesskey "A">
|
||||
<!ENTITY mediaSaveAs2.accesskey "e">
|
||||
<!ENTITY mediaPreview "Media Preview:">
|
||||
|
||||
<!ENTITY permTab "Permissions">
|
||||
<!ENTITY permTab.accesskey "P">
|
||||
<!ENTITY permissionsFor "Permissions for:">
|
||||
|
||||
<!ENTITY securityTab "Security">
|
||||
<!ENTITY securityTab.accesskey "S">
|
||||
<!ENTITY securityView.certView "View Certificate">
|
||||
<!ENTITY securityView.accesskey "V">
|
||||
<!ENTITY securityView.unknown "Unknown">
|
||||
|
||||
|
||||
<!ENTITY securityView.identity.header "Website Identity">
|
||||
<!ENTITY securityView.identity.owner "Owner:">
|
||||
<!ENTITY securityView.identity.domain "Website:">
|
||||
<!ENTITY securityView.identity.verifier "Verified by:">
|
||||
<!ENTITY securityView.identity.validity "Expires on:">
|
||||
|
||||
<!ENTITY securityView.privacy.header "Privacy & History">
|
||||
<!ENTITY securityView.privacy.history "Have I visited this website prior to today?">
|
||||
<!ENTITY securityView.privacy.siteData "Is this website storing information on my computer?">
|
||||
<!ENTITY securityView.privacy.clearSiteData "Clear Cookies and Site Data">
|
||||
<!ENTITY securityView.privacy.clearSiteData.accessKey "C">
|
||||
<!ENTITY securityView.privacy.passwords "Have I saved any passwords for this website?">
|
||||
<!ENTITY securityView.privacy.viewPasswords "View Saved Passwords">
|
||||
<!ENTITY securityView.privacy.viewPasswords.accessKey "w">
|
||||
|
||||
<!ENTITY securityView.technical.header "Technical Details">
|
||||
|
||||
<!ENTITY helpButton.label "Help">
|
|
@ -2,61 +2,4 @@
|
|||
# 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/.
|
||||
|
||||
pageInfo.page.title=Page Info - %S
|
||||
pageInfo.frame.title=Frame Info - %S
|
||||
|
||||
noPageTitle=Untitled Page:
|
||||
unknown=Unknown
|
||||
notset=Not specified
|
||||
yes=Yes
|
||||
no=No
|
||||
|
||||
mediaImg=Image
|
||||
mediaVideo=Video
|
||||
mediaAudio=Audio
|
||||
mediaBGImg=Background
|
||||
mediaBorderImg=Border
|
||||
mediaListImg=Bullet
|
||||
mediaCursor=Cursor
|
||||
mediaObject=Object
|
||||
mediaEmbed=Embed
|
||||
mediaLink=Icon
|
||||
mediaInput=Input
|
||||
mediaFileSize=%S KB
|
||||
mediaSize=%Spx \u00D7 %Spx
|
||||
mediaSelectFolder=Select a Folder to Save the Images
|
||||
mediaBlockImage=Block Images from %S
|
||||
mediaUnknownNotCached=Unknown (not cached)
|
||||
mediaImageType=%S Image
|
||||
mediaAnimatedImageType=%S Image (animated, %S frames)
|
||||
mediaDimensions=%Spx \u00D7 %Spx
|
||||
mediaDimensionsScaled=%Spx \u00D7 %Spx (scaled to %Spx \u00D7 %Spx)
|
||||
|
||||
generalQuirksMode=Quirks mode
|
||||
generalStrictMode=Standards compliance mode
|
||||
generalSize=%S KB (%S bytes)
|
||||
generalMetaTag=Meta (1 tag)
|
||||
generalMetaTags=Meta (%S tags)
|
||||
|
||||
securityNoOwner=This website does not supply ownership information.
|
||||
# LOCALIZATION NOTE (securityVisitsNumber):
|
||||
# Semi-colon list of plural forms.
|
||||
# See: https://developer.mozilla.org/en/docs/Localization_and_Plurals
|
||||
# #1 is the number of visits and can be used in all plural forms as needed, e.g.
|
||||
# for '1': 'Yes, #1 time'
|
||||
securityVisitsNumber=Yes, once;Yes, #1 times
|
||||
securityNoVisits=No
|
||||
|
||||
# LOCALIZATION NOTE(securitySiteDataCookies,securitySiteDataOnly): This is for site data disk usage.
|
||||
# It confirms that a website is indeed using this much space.
|
||||
# e.g. Is this website storing site data? "Yes, 50.23 MB"
|
||||
# %1$S = size (in bytes or megabytes, ...)
|
||||
# %2$S = unit of measure (bytes, KB, MB, ...)
|
||||
securitySiteDataCookies=Yes, cookies and %1$S %2$S of site data
|
||||
securitySiteDataOnly=Yes, %1$S %2$S of site data
|
||||
# LOCALIZATION NOTE(securitySiteDataCookiesOnly,securitySiteDataNo):
|
||||
# This is for site data and cookies usage. It answers the question "Is this website storing cookies and/or site data?"
|
||||
securitySiteDataCookiesOnly=Yes, cookies
|
||||
securitySiteDataNo=No
|
||||
|
||||
permissions.useDefault=Use Default
|
||||
|
|
|
@ -22,7 +22,6 @@
|
|||
locale/browser/customizableui/customizableWidgets.properties (%chrome/browser/customizableui/customizableWidgets.properties)
|
||||
locale/browser/lightweightThemes.properties (%chrome/browser/lightweightThemes.properties)
|
||||
locale/browser/uiDensity.properties (%chrome/browser/uiDensity.properties)
|
||||
locale/browser/pageInfo.dtd (%chrome/browser/pageInfo.dtd)
|
||||
locale/browser/pageInfo.properties (%chrome/browser/pageInfo.properties)
|
||||
locale/browser/pocket.properties (%chrome/browser/pocket.properties)
|
||||
locale/browser/search.properties (%chrome/browser/search.properties)
|
||||
|
|
|
@ -65,7 +65,7 @@ const LOCALIZABLE_ATTRIBUTES = {
|
|||
description: ["value"],
|
||||
key: ["key", "keycode"],
|
||||
label: ["value"],
|
||||
textbox: ["placeholder"],
|
||||
textbox: ["placeholder", "value"],
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
@ -0,0 +1,327 @@
|
|||
# coding=utf8
|
||||
|
||||
# Any copyright is dedicated to the Public Domain.
|
||||
# http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
from __future__ import absolute_import
|
||||
import fluent.syntax.ast as FTL
|
||||
from fluent.migrate.helpers import transforms_from
|
||||
from fluent.migrate.helpers import VARIABLE_REFERENCE, TERM_REFERENCE
|
||||
from fluent.migrate import REPLACE, COPY, CONCAT, PLURALS, REPLACE_IN_TEXT
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1517493 - Move strings from pageInfo.dtd and subsection of strings from pageInfo.properties to Fluent, part {index}"""
|
||||
|
||||
ctx.add_transforms(
|
||||
"browser/browser/pageInfo.ftl",
|
||||
"browser/browser/pageInfo.ftl",
|
||||
[
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("security-site-data-cookies"),
|
||||
value=REPLACE(
|
||||
"browser/chrome/browser/pageInfo.properties",
|
||||
"securitySiteDataCookies",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("value"),
|
||||
"%2$S": VARIABLE_REFERENCE("unit")
|
||||
},
|
||||
normalize_printf=True
|
||||
)
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("security-site-data-only"),
|
||||
value=REPLACE(
|
||||
"browser/chrome/browser/pageInfo.properties",
|
||||
"securitySiteDataOnly",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("value"),
|
||||
"%2$S": VARIABLE_REFERENCE("unit")
|
||||
},
|
||||
normalize_printf=True
|
||||
)
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("page-info-window"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
FTL.Identifier("style"),
|
||||
CONCAT(
|
||||
FTL.TextElement("width: "),
|
||||
COPY(
|
||||
"browser/chrome/browser/pageInfo.dtd",
|
||||
"pageInfoWindow.width"
|
||||
),
|
||||
FTL.TextElement("px; min-height: "),
|
||||
COPY(
|
||||
"browser/chrome/browser/pageInfo.dtd",
|
||||
"pageInfoWindow.height"
|
||||
),
|
||||
FTL.TextElement("px;")
|
||||
)
|
||||
)
|
||||
]
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("media-image-type"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
FTL.Identifier("value"),
|
||||
REPLACE(
|
||||
"browser/chrome/browser/pageInfo.properties",
|
||||
"mediaImageType",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("type"),
|
||||
},
|
||||
normalize_printf=True
|
||||
)
|
||||
)
|
||||
]
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("media-dimensions-scaled"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
FTL.Identifier("value"),
|
||||
REPLACE(
|
||||
"browser/chrome/browser/pageInfo.properties",
|
||||
"mediaDimensionsScaled",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("dimx"),
|
||||
"%2$S": VARIABLE_REFERENCE("dimy"),
|
||||
"%3$S": VARIABLE_REFERENCE("scaledx"),
|
||||
"%4$S": VARIABLE_REFERENCE("scaledy"),
|
||||
},
|
||||
normalize_printf=True
|
||||
)
|
||||
)
|
||||
]
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("media-dimensions"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
FTL.Identifier("value"),
|
||||
REPLACE(
|
||||
"browser/chrome/browser/pageInfo.properties",
|
||||
"mediaDimensions",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("dimx"),
|
||||
"%2$S": VARIABLE_REFERENCE("dimy"),
|
||||
},
|
||||
normalize_printf=True
|
||||
)
|
||||
)
|
||||
]
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("media-file-size"),
|
||||
value=REPLACE(
|
||||
"browser/chrome/browser/pageInfo.properties",
|
||||
"mediaFileSize",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("size"),
|
||||
},
|
||||
normalize_printf=True
|
||||
)
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("media-block-image"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
FTL.Identifier("label"),
|
||||
REPLACE(
|
||||
"browser/chrome/browser/pageInfo.properties",
|
||||
"mediaBlockImage",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("website")
|
||||
},
|
||||
normalize_printf=True
|
||||
)
|
||||
),
|
||||
FTL.Attribute(
|
||||
FTL.Identifier("accesskey"),
|
||||
COPY(
|
||||
"browser/chrome/browser/pageInfo.dtd",
|
||||
"mediaBlockImage.accesskey"
|
||||
)
|
||||
)
|
||||
]
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("page-info-page"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
FTL.Identifier("title"),
|
||||
REPLACE(
|
||||
"browser/chrome/browser/pageInfo.properties",
|
||||
"pageInfo.page.title",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("website"),
|
||||
},
|
||||
normalize_printf=True
|
||||
)
|
||||
)
|
||||
]
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("page-info-frame"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
FTL.Identifier("title"),
|
||||
REPLACE(
|
||||
"browser/chrome/browser/pageInfo.properties",
|
||||
"pageInfo.frame.title",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("website"),
|
||||
},
|
||||
normalize_printf=True
|
||||
)
|
||||
)
|
||||
]
|
||||
)
|
||||
]
|
||||
)
|
||||
|
||||
ctx.add_transforms(
|
||||
"browser/browser/pageInfo.ftl",
|
||||
"browser/browser/pageInfo.ftl",
|
||||
transforms_from(
|
||||
"""
|
||||
security-site-data-cookies-only = { COPY("browser/chrome/browser/pageInfo.properties","securitySiteDataCookiesOnly") }
|
||||
security-site-data-no = { COPY("browser/chrome/browser/pageInfo.properties","securitySiteDataNo") }
|
||||
image-size-unknown = { COPY("browser/chrome/browser/pageInfo.properties","unknown") }
|
||||
copy =
|
||||
.key = { COPY("browser/chrome/browser/pageInfo.dtd","copy.key") }
|
||||
menu-copy =
|
||||
.label = { COPY("browser/chrome/browser/pageInfo.dtd","copy.label") }
|
||||
.accesskey = { COPY("browser/chrome/browser/pageInfo.dtd","copy.accesskey") }
|
||||
select-all =
|
||||
.key = { COPY("browser/chrome/browser/pageInfo.dtd","selectall.key") }
|
||||
menu-select-all =
|
||||
.label = { COPY("browser/chrome/browser/pageInfo.dtd","selectall.label") }
|
||||
.accesskey = { COPY("browser/chrome/browser/pageInfo.dtd","selectall.accesskey") }
|
||||
close-window =
|
||||
.key = { COPY("browser/chrome/browser/pageInfo.dtd","selectall.key") }
|
||||
general-tab =
|
||||
.label = { COPY("browser/chrome/browser/pageInfo.dtd","generalTab") }
|
||||
.accesskey = { COPY("browser/chrome/browser/pageInfo.dtd","generalTab.accesskey") }
|
||||
general-title =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","generalTitle") }
|
||||
general-url =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","generalURL") }
|
||||
general-type =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","generalType") }
|
||||
general-mode =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","generalMode") }
|
||||
general-size =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","generalSize") }
|
||||
general-referrer =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","generalReferrer") }
|
||||
general-modified =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","generalModified") }
|
||||
general-encoding =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","generalEncoding2") }
|
||||
general-meta-name =
|
||||
.label = { COPY("browser/chrome/browser/pageInfo.dtd","generalMetaName") }
|
||||
general-meta-content =
|
||||
.label = { COPY("browser/chrome/browser/pageInfo.dtd","generalMetaContent") }
|
||||
media-tab =
|
||||
.label = { COPY("browser/chrome/browser/pageInfo.dtd","mediaTab") }
|
||||
.accesskey = { COPY("browser/chrome/browser/pageInfo.dtd","mediaTab.accesskey") }
|
||||
media-location =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","mediaLocation") }
|
||||
media-text =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","mediaText") }
|
||||
media-alt-header =
|
||||
.label = { COPY("browser/chrome/browser/pageInfo.dtd","mediaAltHeader") }
|
||||
media-address =
|
||||
.label = { COPY("browser/chrome/browser/pageInfo.dtd","mediaAddress") }
|
||||
media-type =
|
||||
.label = { COPY("browser/chrome/browser/pageInfo.dtd","mediaType") }
|
||||
media-size =
|
||||
.label = { COPY("browser/chrome/browser/pageInfo.dtd","mediaSize") }
|
||||
media-count =
|
||||
.label = { COPY("browser/chrome/browser/pageInfo.dtd","mediaCount") }
|
||||
media-dimension =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","mediaDimension") }
|
||||
media-long-desc =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","mediaLongdesc") }
|
||||
media-save-as =
|
||||
.label = { COPY("browser/chrome/browser/pageInfo.dtd","mediaSaveAs") }
|
||||
.accesskey = { COPY("browser/chrome/browser/pageInfo.dtd","mediaSaveAs.accesskey") }
|
||||
media-save-image-as =
|
||||
.label = { COPY("browser/chrome/browser/pageInfo.dtd","mediaSaveAs") }
|
||||
.accesskey = { COPY("browser/chrome/browser/pageInfo.dtd","mediaSaveAs2.accesskey") }
|
||||
media-preview =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","mediaPreview") }
|
||||
perm-tab =
|
||||
.label = { COPY("browser/chrome/browser/pageInfo.dtd","permTab") }
|
||||
.accesskey = { COPY("browser/chrome/browser/pageInfo.dtd","permTab.accesskey") }
|
||||
permissions-for =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","permissionsFor") }
|
||||
security-tab =
|
||||
.label = { COPY("browser/chrome/browser/pageInfo.dtd","securityTab") }
|
||||
.accesskey = { COPY("browser/chrome/browser/pageInfo.dtd","securityTab.accesskey") }
|
||||
security-view =
|
||||
.label = { COPY("browser/chrome/browser/pageInfo.dtd","securityView.certView") }
|
||||
.accesskey = { COPY("browser/chrome/browser/pageInfo.dtd","securityView.accesskey") }
|
||||
security-view-unknown = { COPY("browser/chrome/browser/pageInfo.dtd","securityView.unknown") }
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","securityView.unknown") }
|
||||
security-view-identity =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","securityView.identity.header") }
|
||||
security-view-identity-owner =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","securityView.identity.owner") }
|
||||
security-view-identity-domain =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","securityView.identity.domain") }
|
||||
security-view-identity-verifier =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","securityView.identity.verifier") }
|
||||
security-view-identity-validity =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","securityView.identity.validity") }
|
||||
security-view-privacy =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","securityView.privacy.header") }
|
||||
security-view-privacy-history-value = { COPY("browser/chrome/browser/pageInfo.dtd","securityView.privacy.history") }
|
||||
security-view-privacy-sitedata-value = { COPY("browser/chrome/browser/pageInfo.dtd","securityView.privacy.siteData") }
|
||||
security-view-privacy-clearsitedata =
|
||||
.label = { COPY("browser/chrome/browser/pageInfo.dtd","securityView.privacy.clearSiteData") }
|
||||
.accesskey = { COPY("browser/chrome/browser/pageInfo.dtd","securityView.privacy.clearSiteData.accessKey") }
|
||||
security-view-privacy-passwords-value = { COPY("browser/chrome/browser/pageInfo.dtd","securityView.privacy.passwords") }
|
||||
security-view-privacy-viewpasswords =
|
||||
.label = { COPY("browser/chrome/browser/pageInfo.dtd","securityView.privacy.viewPasswords") }
|
||||
.accesskey = { COPY("browser/chrome/browser/pageInfo.dtd","securityView.privacy.viewPasswords.accessKey") }
|
||||
security-view-technical =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.dtd","securityView.technical.header") }
|
||||
help-button =
|
||||
.label = { COPY("browser/chrome/browser/pageInfo.dtd","helpButton.label") }
|
||||
unknown = { COPY("browser/chrome/browser/pageInfo.properties","unknown") }
|
||||
not-set-verified-by = { COPY("browser/chrome/browser/pageInfo.properties","notset") }
|
||||
not-set-alternative-text = { COPY("browser/chrome/browser/pageInfo.properties","notset") }
|
||||
not-set-date = { COPY("browser/chrome/browser/pageInfo.properties","notset") }
|
||||
media-img = { COPY("browser/chrome/browser/pageInfo.properties","mediaImg") }
|
||||
media-bg-img = { COPY("browser/chrome/browser/pageInfo.properties","mediaBGImg") }
|
||||
media-border-img = { COPY("browser/chrome/browser/pageInfo.properties","mediaBorderImg") }
|
||||
media-list-img = { COPY("browser/chrome/browser/pageInfo.properties","mediaListImg") }
|
||||
media-cursor = { COPY("browser/chrome/browser/pageInfo.properties","mediaCursor") }
|
||||
media-object = { COPY("browser/chrome/browser/pageInfo.properties","mediaObject") }
|
||||
media-embed = { COPY("browser/chrome/browser/pageInfo.properties","mediaEmbed") }
|
||||
media-link = { COPY("browser/chrome/browser/pageInfo.properties","mediaLink") }
|
||||
media-input = { COPY("browser/chrome/browser/pageInfo.properties","mediaInput") }
|
||||
media-video = { COPY("browser/chrome/browser/pageInfo.properties","mediaVideo") }
|
||||
media-audio = { COPY("browser/chrome/browser/pageInfo.properties","mediaAudio") }
|
||||
saved-passwords-yes = { COPY("browser/chrome/browser/pageInfo.properties","yes") }
|
||||
saved-passwords-no = { COPY("browser/chrome/browser/pageInfo.properties","no") }
|
||||
no-page-title =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.properties","noPageTitle") }
|
||||
general-quirks-mode =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.properties","generalQuirksMode") }
|
||||
general-strict-mode =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.properties","generalStrictMode") }
|
||||
security-no-owner = { COPY("browser/chrome/browser/pageInfo.properties","securityNoOwner") }
|
||||
media-select-folder = { COPY("browser/chrome/browser/pageInfo.properties","mediaSelectFolder") }
|
||||
media-unknown-not-cached =
|
||||
.value = { COPY("browser/chrome/browser/pageInfo.properties","mediaUnknownNotCached") }
|
||||
permissions-use-default =
|
||||
.label = { COPY("browser/chrome/browser/pageInfo.properties","permissions.useDefault") }
|
||||
security-no-visits = { COPY("browser/chrome/browser/pageInfo.properties","no") }
|
||||
"""
|
||||
)
|
||||
)
|
|
@ -2,12 +2,15 @@
|
|||
tags = remote
|
||||
|
||||
[test_dv_certificate.py]
|
||||
skip-if = true # bug 1523133
|
||||
[test_enable_privilege.py]
|
||||
tags = local
|
||||
[test_ev_certificate.py]
|
||||
skip-if = true # bug 1523133
|
||||
[test_mixed_content_page.py]
|
||||
[test_mixed_script_content_blocking.py]
|
||||
[test_no_certificate.py]
|
||||
skip-if = true # bug 1523133
|
||||
tags = local
|
||||
[test_security_notification.py]
|
||||
[test_ssl_disabled_error_page.py]
|
||||
|
|
|
@ -16,6 +16,7 @@ tags = remote
|
|||
[test_menubar.py]
|
||||
[test_notifications.py]
|
||||
[test_page_info_window.py]
|
||||
skip-if = true # bug 1523133
|
||||
[test_tabbar.py]
|
||||
[test_toolbars.py]
|
||||
disabled = Bug 1369556
|
||||
|
|
Загрузка…
Ссылка в новой задаче