mirror of
https://github.com/kkapsner/CanvasBlocker
synced 2024-12-22 21:00:23 +01:00
Removed unused messages
allowPDFCanvas_description allowPDFCanvas_title url_title url_description inspectImage
This commit is contained in:
parent
18bbab50a5
commit
d52f107f00
146
.tools/findUnusedMessages.js
Normal file
146
.tools/findUnusedMessages.js
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
const fs = require("fs");
|
||||||
|
const path = require("path");
|
||||||
|
const util = require("util");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function getMessagesInContent(content){
|
||||||
|
const foundMessages = [];
|
||||||
|
[
|
||||||
|
/\b(?:_|browser.i18n.getMessage|notify)\(["']([^"']+)["']\s*(?:\)|,)/g,
|
||||||
|
/\b(?:messageId|name)\s*:\s*["']([^"']+)["']/g,
|
||||||
|
].forEach(function(re){
|
||||||
|
let match;
|
||||||
|
while ((match = re.exec(content)) !== null){
|
||||||
|
foundMessages.push(match[1].toLowerCase());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return foundMessages;
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getMessagesInFile(path){
|
||||||
|
return await util.promisify(fs.exists)(path)
|
||||||
|
.then(function(exists){
|
||||||
|
if (exists){
|
||||||
|
return util.promisify(fs.readFile)(path, {encoding: "UTF-8"})
|
||||||
|
.then(function(content){
|
||||||
|
return getMessagesInContent(content);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
console.log("file does not exist:", path);
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getMessagesInFolder(folder){
|
||||||
|
return await util.promisify(fs.readdir)(folder, {encoding: "UTF-8"})
|
||||||
|
.then(function(files){
|
||||||
|
return Promise.all(
|
||||||
|
files.filter(function(file){
|
||||||
|
return !file.startsWith(".");
|
||||||
|
}).map(function(file){
|
||||||
|
return path.join(folder, file);
|
||||||
|
}).map(function(path){
|
||||||
|
return util.promisify(fs.stat)(path).then(function(stat){
|
||||||
|
if (stat.isDirectory()){
|
||||||
|
return getMessagesInFolder(path);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (path.endsWith(".js")){
|
||||||
|
return getMessagesInFile(path);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
).then(function(messages){
|
||||||
|
const flat = [];
|
||||||
|
messages.forEach(function(messages){
|
||||||
|
messages.forEach(function(message){
|
||||||
|
flat.push(message);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
return flat;
|
||||||
|
});
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
async function getSettingMessages(){
|
||||||
|
const settingStrings = require("../lib/settingStrings");
|
||||||
|
const settingDefinitions = require("../lib/settingDefinitions");
|
||||||
|
function getDefinition(name){
|
||||||
|
return settingDefinitions.filter(function(settingDefinition){
|
||||||
|
return settingDefinition.name === name;
|
||||||
|
})[0];
|
||||||
|
}
|
||||||
|
const settingsDisplay = require("../options/settingsDisplay");
|
||||||
|
|
||||||
|
const foundMessages = [];
|
||||||
|
settingsDisplay.forEach(function(display){
|
||||||
|
if ((typeof display) === "string"){
|
||||||
|
foundMessages.push("section_" + display.toLowerCase());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
let settingDefinition = getDefinition(display.name);
|
||||||
|
if (!settingDefinition){
|
||||||
|
settingDefinition = display;
|
||||||
|
display.action = true;
|
||||||
|
}
|
||||||
|
if (settingDefinition){
|
||||||
|
if (display.inputs){
|
||||||
|
settingDefinition.inputs = display.inputs.map(function(input){
|
||||||
|
return getDefinition(input);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else if (display.actions){
|
||||||
|
settingDefinition.actions = display.actions.map(function(action){
|
||||||
|
return {name: action};
|
||||||
|
});
|
||||||
|
}
|
||||||
|
settingStrings.getMessages(settingDefinition).forEach(function(message){
|
||||||
|
foundMessages.push(message.toLowerCase());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return foundMessages.map(function(message){return message.toLowerCase();});
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getKnownMessages(){
|
||||||
|
return [
|
||||||
|
"addon_title",
|
||||||
|
"addon_description",
|
||||||
|
"urlsettings_title",
|
||||||
|
"installnotice",
|
||||||
|
"updatenotice",
|
||||||
|
"disablenotifications",
|
||||||
|
"showoptions",
|
||||||
|
"displayhiddensettings_title",
|
||||||
|
"displayhiddensettings_description",
|
||||||
|
"browseraction_settings",
|
||||||
|
"browseraction_test",
|
||||||
|
"browseraction_review",
|
||||||
|
"browseraction_reportissue",
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
const en = require("../_locales/en/messages.json");
|
||||||
|
const declaredMessages = Object.keys(en)
|
||||||
|
// .filter(function(key){return en[key].message;})
|
||||||
|
.map(function(key){return key.toLowerCase();});
|
||||||
|
Promise.all([getSettingMessages(), getMessagesInFolder(path.join(__dirname, "..")), getKnownMessages()]).then(function([settingMessages, fileMessages, knownMessages]){
|
||||||
|
declaredMessages.forEach(function(message){
|
||||||
|
if (
|
||||||
|
fileMessages.indexOf(message) === -1 &&
|
||||||
|
settingMessages.indexOf(message) === -1 &&
|
||||||
|
knownMessages.indexOf(message) === -1
|
||||||
|
){
|
||||||
|
console.log(`${message} not used`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
@ -154,14 +154,6 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"allowPDFCanvas_description": {
|
|
||||||
"message": "Die native pdf.js verwendet <canvas> um den Inhalt von PDFs anzuzeigen. Wenn viele Nachfragedialoge erscheinen oder die PDF-Ansicht nicht funktioniert, müssen diese erlaubt werden.",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"allowPDFCanvas_title": {
|
|
||||||
"message": "<canvas> in PDFs erlauben",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"askForInvisiblePermission": {
|
"askForInvisiblePermission": {
|
||||||
"message": "Wollen Sie unsichtbare <canvas> erlauben?",
|
"message": "Wollen Sie unsichtbare <canvas> erlauben?",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -363,14 +355,6 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"url_title": {
|
|
||||||
"message": "URL",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"url_description": {
|
|
||||||
"message": "",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"inputURL": {
|
"inputURL": {
|
||||||
"message": "Domain oder URL \"RegExp\" eingeben:",
|
"message": "Domain oder URL \"RegExp\" eingeben:",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -824,10 +808,6 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"inspectImage": {
|
|
||||||
"message": "Bild betrachten",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"storeImageForInspection_title": {
|
"storeImageForInspection_title": {
|
||||||
"message": "Bild für Betrachtung speichern",
|
"message": "Bild für Betrachtung speichern",
|
||||||
"description": ""
|
"description": ""
|
||||||
|
@ -355,14 +355,6 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"url_title": {
|
|
||||||
"message": "URL",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"url_description": {
|
|
||||||
"message": "",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"inputURL": {
|
"inputURL": {
|
||||||
"message": "Input domain or URL \"RegExp\":",
|
"message": "Input domain or URL \"RegExp\":",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -743,14 +735,6 @@
|
|||||||
"message": "blink",
|
"message": "blink",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"notificationDisplayTime_description": {
|
|
||||||
"message": "Number of seconds the notifications are shown. (Enter zero to disable automatic closing.)",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"notificationDisplayTime_title": {
|
|
||||||
"message": "Notification display time",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"sourceOutput": {
|
"sourceOutput": {
|
||||||
"message": "Calling file",
|
"message": "Calling file",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -823,10 +807,6 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"inspectImage": {
|
|
||||||
"message": "inspect image",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"storeImageForInspection_title": {
|
"storeImageForInspection_title": {
|
||||||
"message": "Store image for inspection",
|
"message": "Store image for inspection",
|
||||||
"description": ""
|
"description": ""
|
||||||
|
@ -121,14 +121,6 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"allowPDFCanvas_description": {
|
|
||||||
"message": "El lector de PDF integrado de Firefox usa la API para mostrar el contenido de los PDF. Si aparecen demasiados cuadros de diálogo o si no funciona el lector de PDF en absoluto, tiene que permitir esto.",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"allowPDFCanvas_title": {
|
|
||||||
"message": "Permitir canvas en los PDF",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"askForInvisiblePermission": {
|
"askForInvisiblePermission": {
|
||||||
"message": "¿Quiere permitir los <canvas> invisibles?",
|
"message": "¿Quiere permitir los <canvas> invisibles?",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -290,14 +282,6 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"url_title": {
|
|
||||||
"message": "URL",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"url_description": {
|
|
||||||
"message": "",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"inputURL": {
|
"inputURL": {
|
||||||
"message": "Introduzca un dominio o RegExp de URL:",
|
"message": "Introduzca un dominio o RegExp de URL:",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -681,10 +665,6 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"inspectImage": {
|
|
||||||
"message": "inspeccionar la imagen",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"storeImageForInspection_title": {
|
"storeImageForInspection_title": {
|
||||||
"message": "Guardar la imagen para inspeccionarla",
|
"message": "Guardar la imagen para inspeccionarla",
|
||||||
"description": ""
|
"description": ""
|
||||||
|
@ -100,14 +100,6 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"allowPDFCanvas_description": {
|
|
||||||
"message": "Le fichier pdf.js (JavaScript) utilise <canvas> pour afficher le contenu des PDF. Si de nombreuses boîtes de dialogue apparaissent ou si la vue de PDF ne fonctionne pas, canvas doit être autorisé.",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"allowPDFCanvas_title": {
|
|
||||||
"message": "Autoriser Canvas dans les fichiers PDF",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"askForInvisiblePermission": {
|
"askForInvisiblePermission": {
|
||||||
"message": "Voulez-vous autoriser l'utilisation de <canvas> invisible ?",
|
"message": "Voulez-vous autoriser l'utilisation de <canvas> invisible ?",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -269,14 +261,6 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"url_title": {
|
|
||||||
"message": "URL",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"url_description": {
|
|
||||||
"message": "",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"inputURL": {
|
"inputURL": {
|
||||||
"message": "Input domain or URL RegExp:",
|
"message": "Input domain or URL RegExp:",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -577,10 +561,6 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"inspectImage": {
|
|
||||||
"message": "Visionner l'image",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"storeImageForInspection_title": {
|
"storeImageForInspection_title": {
|
||||||
"message": "Enregistrer l'image pour la visualiser",
|
"message": "Enregistrer l'image pour la visualiser",
|
||||||
"description": ""
|
"description": ""
|
||||||
|
@ -35,14 +35,6 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"allowPDFCanvas_description": {
|
|
||||||
"message": "Il lettore PDF nativo di Firefox usa le API per visualizzare i PDF. Se compaiono troppe finestre di interazione o il lettore PDF non funziona proprio, allora devono essere permesse.",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"allowPDFCanvas_title": {
|
|
||||||
"message": "Permetti canvas nei PDF",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"askForInvisiblePermission": {
|
"askForInvisiblePermission": {
|
||||||
"message": "Vuoi permettere i <canvas> invisibili?",
|
"message": "Vuoi permettere i <canvas> invisibili?",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -178,14 +170,6 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"url_title": {
|
|
||||||
"message": "URL",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"url_description": {
|
|
||||||
"message": "",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"inputURL": {
|
"inputURL": {
|
||||||
"message": "Inserisci dominio o RegExp URL:",
|
"message": "Inserisci dominio o RegExp URL:",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -465,10 +449,6 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"inspectImage": {
|
|
||||||
"message": "ispeziona immagine",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"storeImageForInspection_title": {
|
"storeImageForInspection_title": {
|
||||||
"message": "Memorizza immagine per ispezione",
|
"message": "Memorizza immagine per ispezione",
|
||||||
"description": ""
|
"description": ""
|
||||||
|
@ -100,14 +100,6 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"allowPDFCanvas_description": {
|
|
||||||
"message": "Firefox 自带的 PDF 阅读器(pdf.js)使用该 API 显示 PDF 内容。如果出现了太多的询问对话框,或者 PDF 阅读器功能失效,则您需要在对话框中允许。",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"allowPDFCanvas_title": {
|
|
||||||
"message": "允许 PDF 文件中的 Canvas",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"askForInvisiblePermission": {
|
"askForInvisiblePermission": {
|
||||||
"message": "是否允许不可见的 <canvas>?",
|
"message": "是否允许不可见的 <canvas>?",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -269,14 +261,6 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"url_title": {
|
|
||||||
"message": "URL",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"url_description": {
|
|
||||||
"message": "",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"inputURL": {
|
"inputURL": {
|
||||||
"message": "输入域名或网址(URL)的正则表达式:",
|
"message": "输入域名或网址(URL)的正则表达式:",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -603,10 +587,6 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"inspectImage": {
|
|
||||||
"message": "察看图像",
|
|
||||||
"description": ""
|
|
||||||
},
|
|
||||||
"storeImageForInspection_title": {
|
"storeImageForInspection_title": {
|
||||||
"message": "存储图像以备察看",
|
"message": "存储图像以备察看",
|
||||||
"description": ""
|
"description": ""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user