From 5b1c4bf6cc107c4af15f21adfa8d0e4a2a9677f9 Mon Sep 17 00:00:00 2001 From: kkapsner Date: Tue, 2 Jun 2020 15:30:24 +0200 Subject: [PATCH] New Crowdin translations * New translations (Spanish) * New translations (Italian) * New translations (Polish) * New translations (Russian) * New translations (Chinese Simplified) * New translations (Portuguese, Brazilian) * New translations (Norwegian Bokmal) --- _locales/es/messages.json | 32 +- _locales/it/messages.json | 16 +- _locales/nb/messages.json | 2 +- _locales/pl/messages.json | 1594 ++++++++++++++++++++++++++++++++++ _locales/pt_BR/messages.json | 1594 ++++++++++++++++++++++++++++++++++ _locales/ru/messages.json | 140 +-- _locales/zh_CN/messages.json | 122 +-- 7 files changed, 3344 insertions(+), 156 deletions(-) create mode 100644 _locales/pl/messages.json create mode 100644 _locales/pt_BR/messages.json diff --git a/_locales/es/messages.json b/_locales/es/messages.json index 66cb548..f43d3d2 100644 --- a/_locales/es/messages.json +++ b/_locales/es/messages.json @@ -40,15 +40,15 @@ "description": "" }, "ok": { - "message": "OK", + "message": "Aceptar", "description": "" }, "apply": { - "message": "Apply", + "message": "Aplicar", "description": "" }, "cancel": { - "message": "Cancel", + "message": "Cancelar", "description": "" }, "input": { @@ -84,7 +84,7 @@ "description": "" }, "resistFingerprintingNotice": { - "message": "You have privacy.resistFingerprinting enabled. This slightly changes the behaviour of CanvasBlocker. See further information {link:here:https://github.com/kkapsner/CanvasBlocker/issues/158} and {link:here:https://github.com/ghacksuserjs/ghacks-user.js/issues/767}.", + "message": "Tiene habilitado privacy.resistFingerprinting. Esto cambia ligeramente el comportamiento de CanvasBlocker. Consulte más información {link:aquí:https://github.com/kkapsner/CanvasBlocker/issues/158} y {link:aquí:https://github.com/ghacksuserjs/ghacks-user.js/issues/767}.", "description": "" }, "openInTab": { @@ -100,7 +100,7 @@ "description": "" }, "group_misc": { - "message": "Misc", + "message": "Otros", "description": "" }, "section_asking": { @@ -148,7 +148,7 @@ "description": "" }, "section_TextMetrics-api": { - "message": "TextMetrics API", + "message": "API TextMetrics", "description": "" }, "section_Navigator-api": { @@ -156,7 +156,7 @@ "description": "" }, "section_Screen-api": { - "message": "Screen API", + "message": "API pantalla", "description": "" }, "displayAdvancedSettings_title": { @@ -272,15 +272,15 @@ "description": "" }, "askForTextMetricsPermission": { - "message": "Do you want to allow the TextMetrics API?", + "message": "¿Quiere permitir la API TextMetrics?", "description": "" }, "askForTextMetricsInputPermission": { - "message": "Do you want to allow TextMetrics API input?", + "message": "¿Quiere permitir la entrada de la API de TextMetrics?", "description": "" }, "askForTextMetricsReadoutPermission": { - "message": "Do you want to allow TextMetrics API readout?", + "message": "¿Quiere permitir la lectura de la API de TextMetrics?", "description": "" }, "askForNavigatorPermission": { @@ -296,15 +296,15 @@ "description": "" }, "askForScreenPermission": { - "message": "Do you want to allow the screen API?", + "message": "¿Quiere permitir la API de pantalla?", "description": "" }, "askForScreenInputPermission": { - "message": "Do you want to allow screen API input?", + "message": "¿Quiere permitir la entrada de la API de pantalla?", "description": "" }, "askForScreenReadoutPermission": { - "message": "Do you want to allow screen API readout?", + "message": "¿Quiere permitir la lectura de la API de pantalla?", "description": "" }, "askOnlyOnce_title": { @@ -544,11 +544,11 @@ "description": "" }, "clearPersistentRndForContainer_label": { - "message": "Clear container", + "message": "Limpiar contenedor", "description": "" }, "clearPersistentRndForContainer_title": { - "message": "Select container", + "message": "Seleccionar contenedor", "description": "" }, "sharePersistentRndBetweenDomains_title": { @@ -588,7 +588,7 @@ "description": "" }, "webGLVendor_title": { - "message": "Reported webGL vendor", + "message": "Proveedor WebGL reportado", "description": "" }, "webGLVendor_description": { diff --git a/_locales/it/messages.json b/_locales/it/messages.json index 18f4e73..2a521d2 100644 --- a/_locales/it/messages.json +++ b/_locales/it/messages.json @@ -148,7 +148,7 @@ "description": "" }, "section_TextMetrics-api": { - "message": "TextMetrics API", + "message": "API TextMetrics", "description": "" }, "section_Navigator-api": { @@ -272,15 +272,15 @@ "description": "" }, "askForTextMetricsPermission": { - "message": "Do you want to allow the TextMetrics API?", + "message": "Vuoi permettere l'API TextMetrics?", "description": "" }, "askForTextMetricsInputPermission": { - "message": "Do you want to allow TextMetrics API input?", + "message": "Vuoi permettere l'input dell'API TextMetrics?", "description": "" }, "askForTextMetricsReadoutPermission": { - "message": "Do you want to allow TextMetrics API readout?", + "message": "Vuoi permettere la lettura dell'API TextMetrics?", "description": "" }, "askForNavigatorPermission": { @@ -688,7 +688,7 @@ "description": "" }, "fakedTextMetricsReadout": { - "message": "Faked TextMetrics readout on {url}", + "message": "Lettura TextMetrics falsificata su {url}", "description": "" }, "fakedNavigatorReadout": { @@ -1128,15 +1128,15 @@ "description": "" }, "protectTextMetrics_title": { - "message": "Protect TextMetrics API", + "message": "Proteggi API TextMetrics", "description": "" }, "protectTextMetrics_description": { - "message": "This protects against the \"measureText()\" fingerprinting which can be used to cross validate DOMRect values.", + "message": "Protegge contro le impronte digitali \"measureText()\" che possono essere utilizzate per incrociare i valori DOMRect.", "description": "" }, "protectTextMetrics_urlSpecific": { - "message": "To exclude specific websites from this protection, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "message": "Per escludere siti specifici da questa protezione, clicca la freccia nera per aprire il menu, aggiungi il dominio o URL cliccando \"+\" e rimouvi la sua spunta.", "description": "" }, "protectNavigator_title": { diff --git a/_locales/nb/messages.json b/_locales/nb/messages.json index e89e8ca..cd90f6f 100644 --- a/_locales/nb/messages.json +++ b/_locales/nb/messages.json @@ -312,7 +312,7 @@ "description": "" }, "askOnlyOnce_description": { - "message": "When CanvasBlocker's block mode is set to 'ask permission' or 'ask permission for readout API', a confirm message will appear every time a page tries to access the API or readout API. This setting tries to display the confirm message only once for each page regardless of how many times the page tries to access the API. Nevertheless, multiple confirm messages may still be displayed on some pages.\n\nNo: asking every time\n\nIndividual: each API-type (context, input, readout) has to be confirmed separately\n\ncombined: all API-types get confirmed together", + "message": "Når blokkeringsmodusen i CanvasBlocker er satt til \"spør\" eller \"spør for readout API\", vil en dialogboks bli vist hver gang en nettside forsøker å bruke APIen eller readout API. Denne instillingen forsøker å kun vise dialogboksen én gang for hver nettside, uavhengig av hvor mange ganger siden forsøker å bruke APIen. Likevel kan det hende at flere dialogbokser blir vist på enkelte nettsider.\n\nNei: spør hver gang\n\nIndividuelt: hver API-type (context, input, readout) må bli akseptert enkeltvis\n\nKombinert: alle API-typer blir akseptert samtidig", "description": "" }, "askOnlyOnce_options.no": { diff --git a/_locales/pl/messages.json b/_locales/pl/messages.json new file mode 100644 index 0000000..89b40f6 --- /dev/null +++ b/_locales/pl/messages.json @@ -0,0 +1,1594 @@ +{ + "addon_title": { + "message": "CanvasBlocker", + "description": "" + }, + "addon_description": { + "message": "Alters some JS APIs to prevent fingerprinting.", + "description": "" + }, + "browserAction_title_default": { + "message": "CanvasBlocker", + "description": "" + }, + "browserAction_title_notified": { + "message": " \n\nprotection successful for:", + "description": "" + }, + "browserAction_title_whitelisted": { + "message": " (APIs whitelisted for {url})", + "description": "" + }, + "browserAction_title_protectedAPIs": { + "message": "\n · {api}", + "description": "" + }, + "more": { + "message": "więcej", + "description": "" + }, + "less": { + "message": "mniej", + "description": "" + }, + "pleaseWait": { + "message": "Zaczekaj...", + "description": "" + }, + "search": { + "message": "Szukaj", + "description": "" + }, + "ok": { + "message": "OK", + "description": "" + }, + "apply": { + "message": "Zastosuj", + "description": "" + }, + "cancel": { + "message": "Anuluj", + "description": "" + }, + "input": { + "message": "input", + "description": "" + }, + "readout": { + "message": "readout", + "description": "" + }, + "options": { + "message": "Ustawienia", + "description": "" + }, + "options_title": { + "message": "Ustawienia CanvasBlocker", + "description": "" + }, + "optionsIntroduction": { + "message": "On this page you can adjust the settings of CanvasBlocker.", + "description": "" + }, + "installNotice": { + "message": "CanvasBlocker was installed. If you want to be able to access this page in the future, please bookmark it.", + "description": "" + }, + "updateNotice": { + "message": "CanvasBlocker was updated. If you want to be able to access this page in the future and have not bookmarked it yet, please bookmark it.", + "description": "" + }, + "dontShowOptionsOnUpdate": { + "message": "Nie pokazuj ponownie po aktualizacji.", + "description": "" + }, + "resistFingerprintingNotice": { + "message": "You have privacy.resistFingerprinting enabled. This slightly changes the behaviour of CanvasBlocker. See further information {link:here:https://github.com/kkapsner/CanvasBlocker/issues/158} and {link:here:https://github.com/ghacksuserjs/ghacks-user.js/issues/767}.", + "description": "" + }, + "openInTab": { + "message": "Otwórz w nowej karcie", + "description": "" + }, + "group_general": { + "message": "Ogólne", + "description": "" + }, + "group_APIs": { + "message": "API", + "description": "" + }, + "group_misc": { + "message": "Różne", + "description": "" + }, + "section_asking": { + "message": "Asking", + "description": "" + }, + "section_faking": { + "message": "Faking", + "description": "" + }, + "section_notifications": { + "message": "Powiadomienia", + "description": "" + }, + "section_lists": { + "message": "Lists", + "description": "" + }, + "section_misc": { + "message": "Różne", + "description": "" + }, + "section_settings": { + "message": "Ustawienia", + "description": "" + }, + "section_canvas-api": { + "message": "Canvas API", + "description": "" + }, + "section_audio-api": { + "message": "Audio API", + "description": "" + }, + "section_history-api": { + "message": "History API", + "description": "" + }, + "section_window-api": { + "message": "Window API", + "description": "" + }, + "section_DOMRect-api": { + "message": "DOMRect API", + "description": "" + }, + "section_TextMetrics-api": { + "message": "TextMetrics API", + "description": "" + }, + "section_Navigator-api": { + "message": "Navigator API", + "description": "" + }, + "section_Screen-api": { + "message": "Screen API", + "description": "" + }, + "displayAdvancedSettings_title": { + "message": "Tryb eksperta", + "description": "" + }, + "displayAdvancedSettings_description": { + "message": "Wyświetla dodatkowe ustawienia.", + "description": "" + }, + "displayDescriptions_title": { + "message": "Display descriptions", + "description": "" + }, + "displayDescriptions_description": { + "message": "Displays the descriptions of the settings.", + "description": "" + }, + "hideSetting": { + "message": "Click here to hide this setting.", + "description": "" + }, + "displayHiddenSettings_title": { + "message": "Display hidden settings", + "description": "" + }, + "displayHiddenSettings_description": { + "message": "Activate to display the hidden settings.", + "description": "" + }, + "askForInvisiblePermission": { + "message": "Do you want to allow invisible ?", + "description": "" + }, + "askForInvisibleInputPermission": { + "message": "Do you want to allow invisible input?", + "description": "" + }, + "askForInvisibleReadoutPermission": { + "message": "Do you want to allow invisible readout?", + "description": "" + }, + "askForPermission": { + "message": "Do you want to allow ?", + "description": "" + }, + "askForInputPermission": { + "message": "Do you want to allow input?", + "description": "" + }, + "askForReadoutPermission": { + "message": "Do you want to allow readout?", + "description": "" + }, + "askForVisiblePermission": { + "message": "Do you want to allow the red bordered ?", + "description": "" + }, + "askForVisibleInputPermission": { + "message": "Do you want to allow input in the red bordered ?", + "description": "" + }, + "askForVisibleReadoutPermission": { + "message": "Do you want to allow the readout of the red bordered ?", + "description": "" + }, + "askForAudioPermission": { + "message": "Do you want to allow the audio API?", + "description": "" + }, + "askForAudioInputPermission": { + "message": "Do you want to allow audio API input?", + "description": "" + }, + "askForAudioReadoutPermission": { + "message": "Do you want to allow audio API readout?", + "description": "" + }, + "askForHistoryPermission": { + "message": "Do you want to allow the history API?", + "description": "" + }, + "askForHistoryInputPermission": { + "message": "Do you want to allow history API input?", + "description": "" + }, + "askForHistoryReadoutPermission": { + "message": "Do you want to allow history API readout?", + "description": "" + }, + "askForWindowPermission": { + "message": "Do you want to allow the window API?", + "description": "" + }, + "askForWindowInputPermission": { + "message": "Do you want to allow window API input?", + "description": "" + }, + "askForWindowReadoutPermission": { + "message": "Do you want to allow window API readout?", + "description": "" + }, + "askForDOMRectPermission": { + "message": "Do you want to allow the DOMRect API?", + "description": "" + }, + "askForDOMRectInputPermission": { + "message": "Do you want to allow DOMRect API input?", + "description": "" + }, + "askForDOMRectReadoutPermission": { + "message": "Do you want to allow DOMRect API readout?", + "description": "" + }, + "askForTextMetricsPermission": { + "message": "Do you want to allow the TextMetrics API?", + "description": "" + }, + "askForTextMetricsInputPermission": { + "message": "Do you want to allow TextMetrics API input?", + "description": "" + }, + "askForTextMetricsReadoutPermission": { + "message": "Do you want to allow TextMetrics API readout?", + "description": "" + }, + "askForNavigatorPermission": { + "message": "Do you want to allow the navigator API?", + "description": "" + }, + "askForNavigatorInputPermission": { + "message": "Do you want to allow navigator API input?", + "description": "" + }, + "askForNavigatorReadoutPermission": { + "message": "Do you want to allow navigator API readout?", + "description": "" + }, + "askForScreenPermission": { + "message": "Do you want to allow the screen API?", + "description": "" + }, + "askForScreenInputPermission": { + "message": "Do you want to allow screen API input?", + "description": "" + }, + "askForScreenReadoutPermission": { + "message": "Do you want to allow screen API readout?", + "description": "" + }, + "askOnlyOnce_title": { + "message": "Zapytaj tylko raz", + "description": "" + }, + "askOnlyOnce_description": { + "message": "When CanvasBlocker's block mode is set to 'ask permission' or 'ask permission for readout API', a confirm message will appear every time a page tries to access the API or readout API. This setting tries to display the confirm message only once for each page regardless of how many times the page tries to access the API. Nevertheless, multiple confirm messages may still be displayed on some pages.\n\nNo: asking every time\n\nIndividual: each API-type (context, input, readout) has to be confirmed separately\n\ncombined: all API-types get confirmed together", + "description": "" + }, + "askOnlyOnce_options.no": { + "message": "nie", + "description": "" + }, + "askOnlyOnce_options.individual": { + "message": "individual", + "description": "" + }, + "askOnlyOnce_options.combined": { + "message": "combined", + "description": "" + }, + "askDenyMode_title": { + "message": "Ask deny mode", + "description": "" + }, + "askDenyMode_description": { + "message": "Which mode shall be used when the permission is denied.", + "description": "" + }, + "askDenyMode_options.block": { + "message": "blokuj", + "description": "" + }, + "askDenyMode_options.fake": { + "message": "fake", + "description": "" + }, + "showCanvasWhileAsking_title": { + "message": "Pokaż zawartość płótna", + "description": "" + }, + "showCanvasWhileAsking_description": { + "message": "Shows the content of the canvas for which the permission is asked for, if possible.", + "description": "" + }, + "showCanvasWhileAsking_message": { + "message": "The webpage wants to read the content of the following canvas:", + "description": "" + }, + "blackList_description": { + "message": "Domains or URLs where all APIs shall always be blocked. To add multiple entries, separate them by commas.", + "description": "" + }, + "blackList_title": { + "message": "Czarna lista", + "description": "" + }, + "blockMode_description": { + "message": "", + "description": "" + }, + "blockMode_urlSpecific": { + "message": "To set individual block modes for specific websites, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and select the desired block mode.", + "description": "" + }, + "blockMode_options.allowEverything": { + "message": "zezwól na wszystko", + "description": "" + }, + "blockMode_options.block": { + "message": "allow only whitelist", + "description": "" + }, + "blockMode_options.ask": { + "message": "pytaj zawsze", + "description": "" + }, + "blockMode_options.blockEverything": { + "message": "blokuj wszystko", + "description": "" + }, + "blockMode_options.allow": { + "message": "block only blacklist", + "description": "" + }, + "blockMode_options.fake": { + "message": "fake", + "description": "" + }, + "blockMode_title": { + "message": "Block mode", + "description": "" + }, + "protectedCanvasPart_title": { + "message": "Protected part of the canvas API", + "description": "" + }, + "protectedCanvasPart_description": { + "message": "nothing: no features of the canvas API are protected.\n\nreadout: the readout features of the canvas API are protected.\n\ninput: the input features of the canvas API are protected. With blocking mode \"fake\" the drawn pixels get modified slightly when displaying text. This makes the detection of the add-on harder but is less secure. With WebGL canvases the behaviour is identical to \"readout\".\n\neverything: both the readout and input features are protected. It's not recommended to use this with \"fake\" block mode as it increases the probability to be detected.", + "description": "" + }, + "protectedCanvasPart_urlSpecific": { + "message": "To protect individual parts for specific websites, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and select the desired part.", + "description": "" + }, + "protectedCanvasPart_options.nothing": { + "message": "nothing", + "description": "" + }, + "protectedCanvasPart_options.input": { + "message": "input", + "description": "" + }, + "protectedCanvasPart_options.readout": { + "message": "readout", + "description": "" + }, + "protectedCanvasPart_options.everything": { + "message": "everything", + "description": "" + }, + "urlSettings_title": { + "message": "Ustawienia dla witryny", + "description": "" + }, + "urlSettings_description": { + "message": "", + "description": "" + }, + "inputURL": { + "message": "Input domain or URL \"RegExp\":", + "description": "" + }, + "minFakeSize_description": { + "message": "Canvases with a smaller or equal area than this number will not be faked. This is a parameter to prevent detection.\nCAUTION: This lowers the safety of the addon, therefore it is highly recommended not to set this value above 100.", + "description": "" + }, + "minFakeSize_title": { + "message": "Minimal fake size", + "description": "" + }, + "maxFakeSize_description": { + "message": "Canvases with a bigger area than this number will not be faked. (Enter zero to disable.) This is a performance parameter that can prevent browser freezes and should be adjusted to the computing power of the device.\nCAUTION: This lowers the safety of the addon, therefore it is highly recommended not to set this value below 1 000 000.", + "description": "" + }, + "maxFakeSize_title": { + "message": "Maximal fake size", + "description": "" + }, + "rng_description": { + "message": "none (completely white): a completely white image is returned. The option \"Fake the alpha channel\" should be activated with this. CAUTION: Do not use this with the \"fake at input\" mode.\n\nnon persistent: the random numbers will be determined freshly for each faking action.\n\nconstant: within one web page a color will always be faked to the same color.\n\npersistent: the random number will only be determined once for every domain.", + "description": "" + }, + "rng_options.persistent": { + "message": "persistent", + "description": "" + }, + "rng_options.constant": { + "message": "constant", + "description": "" + }, + "rng_options.nonPersistent": { + "message": "non persistent", + "description": "" + }, + "rng_options.white": { + "message": "none (completely white)", + "description": "" + }, + "rng_title": { + "message": "Random number generator", + "description": "" + }, + "persistentRndStorage_title": { + "message": "Persistent storage", + "description": "" + }, + "persistentRndStorage_description": { + "message": "Stores the data for the persistent random number generator for usage after restart.", + "description": "" + }, + "storePersistentRnd_title": { + "message": "Store persistent data", + "description": "" + }, + "storePersistentRnd_description": { + "message": "If data for the persistent random number generator shall be stored. Otherwise it is discarded on browser shutdown.", + "description": "" + }, + "persistentRndClearInterval_title": { + "message": "Clear interval of the persistent data", + "description": "" + }, + "persistentRndClearInterval_description": { + "message": "After the specified interval the persistent data is cleared automatically. (Enter zero to disable.)", + "description": "" + }, + "persistentRndClearIntervalUnit_options.seconds": { + "message": "seconds", + "description": "" + }, + "persistentRndClearIntervalUnit_options.minutes": { + "message": "minutes", + "description": "" + }, + "persistentRndClearIntervalUnit_options.hours": { + "message": "hours", + "description": "" + }, + "persistentRndClearIntervalUnit_options.days": { + "message": "days", + "description": "" + }, + "persistentRndClearIntervalUnit_options.weeks": { + "message": "weeks", + "description": "" + }, + "persistentRndClearIntervalUnit_options.months": { + "message": "months", + "description": "" + }, + "persistentRndClearIntervalUnit_options.years": { + "message": "years", + "description": "" + }, + "clearPersistentRnd_title": { + "message": "Clear persistent random storage", + "description": "" + }, + "clearPersistentRnd_description": { + "message": "Deletes all data for the persistent random number generator.", + "description": "" + }, + "clearPersistentRnd_label": { + "message": "Clear", + "description": "" + }, + "clearPersistentRndForContainer_label": { + "message": "Clear container", + "description": "" + }, + "clearPersistentRndForContainer_title": { + "message": "Select container", + "description": "" + }, + "sharePersistentRndBetweenDomains_title": { + "message": "Share persistent randomness between domains", + "description": "" + }, + "sharePersistentRndBetweenDomains_description": { + "message": "CAUTION: this setting makes the browser 100% trackable and is therefore a threat to your privacy.", + "description": "" + }, + "sharePersistentRndBetweenDomains_confirmMessage": { + "message": "Are you really sure you want to share the persistent randomness between domains?\nCAUTION: this makes the browser 100% trackable and is therefore a threat to your privacy.", + "description": "" + }, + "ignoreFrequentColors_title": { + "message": "Ignore the most frequent colors", + "description": "" + }, + "ignoreFrequentColors_description": { + "message": "Number of colors that shall not be faked per canvas. This is a parameter to prevent detection.\nCAUTION: This can reduce the performance of the addon because the color statistic has to be calculated for every image. Additional this can lower the safety of the addon, therefore it is highly recommended not to set this value above 3.", + "description": "" + }, + "minColors_title": { + "message": "Minimal number of colors", + "description": "" + }, + "minColors_description": { + "message": "Number of colors that a canvas must have to be faked.\nCAUTION: This can lower the safety of the addon, therefore it is highly recommended not to set this value above 10.", + "description": "" + }, + "fakeAlphaChannel_title": { + "message": "Fake the alpha channel", + "description": "" + }, + "fakeAlphaChannel_description": { + "message": "Activates the faking of the alpha channel (transparency).", + "description": "" + }, + "webGLVendor_title": { + "message": "Reported webGL vendor", + "description": "" + }, + "webGLVendor_description": { + "message": "Value to be reported in the webGL function \"getParameter\" for the \"vendor\". Leave empty to use the original value.", + "description": "" + }, + "webGLRenderer_title": { + "message": "Reported webGL renderer", + "description": "" + }, + "webGLRenderer_description": { + "message": "Value to be reported in the webGL function \"getParameter\" for the \"renderer\". Leave empty to use the original value.", + "description": "" + }, + "webGLUnmaskedVendor_title": { + "message": "Reported webGL unmasked vendor", + "description": "" + }, + "webGLUnmaskedVendor_description": { + "message": "Value to be reported in the webGL function \"getParameter\" for the \"unmasked vendor\". Leave empty to use the original value.", + "description": "" + }, + "webGLUnmaskedRenderer_title": { + "message": "Reported webGL unmasked renderer", + "description": "" + }, + "webGLUnmaskedRenderer_description": { + "message": "Value to be reported in the webGL function \"getParameter\" for the \"unmasked renderer\". Leave empty to use the original value.", + "description": "" + }, + "useCanvasCache_title": { + "message": "Use canvas cache", + "description": "" + }, + "useCanvasCache_description": { + "message": "Enables the canvas cache. This can prevent detection and increases the performance when small canvases are read several times, but decreases it for big canvases.", + "description": "" + }, + "protectedAPIFeatures_title": { + "message": "Protected API features", + "description": "" + }, + "protectedAPIFeatures_description": { + "message": "List of protected API features. When unticking a checkbox, this feature of the API will not be protected.", + "description": "" + }, + "disableNotifications": { + "message": "disable notifications", + "description": "" + }, + "showOptions": { + "message": "display settings", + "description": "" + }, + "displayCallingStack": { + "message": "display calling stack", + "description": "" + }, + "displayFullURL": { + "message": "display full URL", + "description": "" + }, + "enableStackList_description": { + "message": "", + "description": "" + }, + "enableStackList_title": { + "message": "Use file specific whitelist", + "description": "" + }, + "preBlock": { + "message": "API blocked on {url} because CanvasBlocker settings were not loaded in time.", + "description": "" + }, + "blocked": { + "message": "API blocked on {url}.", + "description": "" + }, + "fakedReadout": { + "message": "Faked canvas readout on {url}", + "description": "" + }, + "fakedAudioReadout": { + "message": "Faked audio readout on {url}", + "description": "" + }, + "fakedHistoryReadout": { + "message": "Faked history readout on {url}", + "description": "" + }, + "fakedWindowReadout": { + "message": "Faked window readout on {url}", + "description": "" + }, + "fakedDOMRectReadout": { + "message": "Faked DOMRect readout on {url}", + "description": "" + }, + "fakedTextMetricsReadout": { + "message": "Faked TextMetrics readout on {url}", + "description": "" + }, + "fakedNavigatorReadout": { + "message": "Faked navigator readout on {url}", + "description": "" + }, + "fakedScreenReadout": { + "message": "Faked screen readout on {url}", + "description": "" + }, + "fakedInput": { + "message": "Faked at input on {url}", + "description": "" + }, + "ignoreList_description": { + "message": "Domains or URLs where no notifications shall be shown. To add multiple entries, separate them by commas.", + "description": "" + }, + "ignoreList_title": { + "message": "Ignore list", + "description": "" + }, + "ignoredAPIs_title": { + "message": "Ignored APIs", + "description": "" + }, + "ignoredAPIs_description": { + "message": "No notifications will be displayed for the selected APIs.", + "description": "" + }, + "localFile": { + "message": "local file", + "description": "" + }, + "ignorelistDomain": { + "message": "silence domain", + "description": "" + }, + "ignorelistURL": { + "message": "ignore URL", + "description": "" + }, + "selectIgnore": { + "message": "Select domain or URL to add to ignore list:", + "description": "" + }, + "inputIgnore": { + "message": "Input domain or URL \"RegExp\" to add to ignore list:", + "description": "" + }, + "inputIgnoreDomain": { + "message": "Input domain to add to ignore list:", + "description": "" + }, + "inputIgnoreURL": { + "message": "Input URL \"RegExp\" to add to ignore list:", + "description": "" + }, + "selectWhitelist": { + "message": "Select domain or URL to add to whitelist:", + "description": "" + }, + "inputWhitelist": { + "message": "Input domain or URL \"RegExp\" to add to whitelist:", + "description": "" + }, + "inputWhitelistDomain": { + "message": "Input domain to add to whitelist:", + "description": "" + }, + "inputWhitelistURL": { + "message": "Input URL \"RegExp\" to add to whitelist:", + "description": "" + }, + "selectSessionWhitelist": { + "message": "Select domain or URL to add to the session whitelist:", + "description": "" + }, + "inputSessionWhitelist": { + "message": "Input domain or URL \"RegExp\" to add to the session whitelist:", + "description": "" + }, + "inputSessionWhitelistDomain": { + "message": "Input domain to add to the session whitelist:", + "description": "" + }, + "inputSessionWhitelistURL": { + "message": "Input URL \"RegExp\" to add to the session whitelist:", + "description": "" + }, + "selectWhitelistScope": { + "message": "What is the scope of the whitelisting?", + "description": "" + }, + "whitelistOnlyAPI": { + "message": "Whitelist only the {api}", + "description": "" + }, + "whitelistAllAPIs": { + "message": "Whitelist all APIs", + "description": "" + }, + "settings": { + "message": "settings", + "description": "" + }, + "showCallingFile_description": { + "message": "", + "description": "" + }, + "showCallingFile_title": { + "message": "Show calling file", + "description": "" + }, + "showCompleteCallingStack_description": { + "message": "", + "description": "" + }, + "showCompleteCallingStack_title": { + "message": "Display complete calling stack", + "description": "" + }, + "showNotifications_description": { + "message": "Shows a notification icon in the address bar when something gets blocked or faked.", + "description": "" + }, + "showNotifications_urlSpecific": { + "message": "To deactivate notifications for specific websites, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "description": "" + }, + "showNotifications_title": { + "message": "Show notification icon", + "description": "" + }, + "highlightPageAction_description": { + "message": "Highlight the page action icon for better visibility.", + "description": "" + }, + "highlightPageAction_urlSpecific": { + "message": "", + "description": "" + }, + "highlightPageAction_title": { + "message": "Highlight page action icon", + "description": "" + }, + "highlightPageAction_options.none": { + "message": "no highlight", + "description": "" + }, + "highlightPageAction_options.color": { + "message": "color", + "description": "" + }, + "highlightPageAction_options.blink": { + "message": "blink", + "description": "" + }, + "displayBadge_description": { + "message": "", + "description": "" + }, + "displayBadge_title": { + "message": "Display badge", + "description": "" + }, + "highlightBrowserAction_description": { + "message": "", + "description": "" + }, + "highlightBrowserAction_urlSpecific": { + "message": "", + "description": "" + }, + "highlightBrowserAction_title": { + "message": "Change toolbar icon on notification", + "description": "" + }, + "highlightBrowserAction_options.none": { + "message": "change nothing", + "description": "" + }, + "highlightBrowserAction_options.color": { + "message": "change color", + "description": "" + }, + "highlightBrowserAction_options.blink": { + "message": "blink", + "description": "" + }, + "sourceOutput": { + "message": "Calling file", + "description": "" + }, + "stackEntryOutput": { + "message": "{url} line {line} column {column}", + "description": "" + }, + "stackList_description": { + "message": "JS files which are allowed to use all APIs. The input has to be in JSON format. Example: [{\"url\": \"http://domain/file1.js\"}, {\"url\": \"http://domain/file2.js\", \"line\": 1, \"column\": 4, \"stackPosition\": -3}]", + "description": "" + }, + "stackList_title": { + "message": "File specific whitelist", + "description": "" + }, + "whiteList_title": { + "message": "Whitelist", + "description": "" + }, + "whiteList_description": { + "message": "Domains or URLs which shall be allowed to use all APIs. To add multiple entries, separate them by commas.", + "description": "" + }, + "whitelist": { + "message": "whitelist", + "description": "" + }, + "whitelistDomain": { + "message": "whitelist domain", + "description": "" + }, + "whitelistURL": { + "message": "whitelist URL", + "description": "" + }, + "ignorelist": { + "message": "ignore", + "description": "" + }, + "whitelistTemporarily": { + "message": "whitelist temporarily", + "description": "" + }, + "inspectWhitelist": { + "message": "inspect whitelist", + "description": "" + }, + "sessionWhiteList_title": { + "message": "Session whitelist", + "description": "" + }, + "sessionWhiteList_description": { + "message": "Domains or URLs which shall be allowed to use all APIs during the current session. To add multiple entries, separate them by commas.", + "description": "" + }, + "whitelistDomainTemporarily": { + "message": "whitelist domain temporarily", + "description": "" + }, + "whitelistURLTemporarily": { + "message": "whitelist URL temporarily", + "description": "" + }, + "storeNotificationData_title": { + "message": "Store detail data of the notifications", + "description": "" + }, + "storeNotificationData_description": { + "message": "", + "description": "" + }, + "storeImageForInspection_title": { + "message": "Store image for inspection", + "description": "" + }, + "storeImageForInspection_description": { + "message": "Enables the storage of the content of the faked canvas.\nCAUTION: This may lead to a lot of memory consumption.", + "description": "" + }, + "protectAudio_title": { + "message": "Protect audio API", + "description": "" + }, + "protectAudio_description": { + "message": "If the audio API shall be protected as well", + "description": "" + }, + "protectAudio_urlSpecific": { + "message": "To exclude specific websites from this protection, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "description": "" + }, + "audioFakeRate_title": { + "message": "Buffer fake rate", + "description": "" + }, + "audioFakeRate_description": { + "message": "How many of the values per read request shall be faked.", + "description": "" + }, + "audioFakeRate_options.1": { + "message": "1 value", + "description": "" + }, + "audioFakeRate_options.10": { + "message": "10 values", + "description": "" + }, + "audioFakeRate_options.100": { + "message": "100 values", + "description": "" + }, + "audioFakeRate_options.1000": { + "message": "1000 values", + "description": "" + }, + "audioFakeRate_options.0.1%": { + "message": "0.1% of the values", + "description": "" + }, + "audioFakeRate_options.1%": { + "message": "1% of the values", + "description": "" + }, + "audioFakeRate_options.10%": { + "message": "10% of the values", + "description": "" + }, + "audioFakeRate_options.100%": { + "message": "100% of the values", + "description": "" + }, + "audioNoiseLevel_title": { + "message": "Noise level", + "description": "" + }, + "audioNoiseLevel_description": { + "message": "", + "description": "" + }, + "audioNoiseLevel_options.minimal": { + "message": "minimal", + "description": "" + }, + "audioNoiseLevel_options.low": { + "message": "low", + "description": "" + }, + "audioNoiseLevel_options.medium": { + "message": "medium", + "description": "" + }, + "audioNoiseLevel_options.high": { + "message": "high", + "description": "" + }, + "audioNoiseLevel_options.maximal": { + "message": "maximal", + "description": "" + }, + "useAudioCache_title": { + "message": "Use audio cache", + "description": "" + }, + "useAudioCache_description": { + "message": "Enables the audio cache. This can prevent detection but decreases the performance.", + "description": "" + }, + "useAudioCache_urlSpecific": { + "message": "Some pages use a very poorly written audio fingerprinting script which will cause Firefox to slow down. To disable the cache for specific websites, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "description": "" + }, + "audioUseFixedIndices_title": { + "message": "Use fixed indices", + "description": "" + }, + "audioUseFixedIndices_description": { + "message": "If some of the used indices shall always be faked.", + "description": "" + }, + "audioFixedIndices_title": { + "message": "Fixed indices", + "description": "" + }, + "audioFixedIndices_description": { + "message": "The indices that are always faked. To add multiple entries, separate them by commas.", + "description": "" + }, + "historyLengthThreshold_title": { + "message": "History length threshold", + "description": "" + }, + "historyLengthThreshold_description": { + "message": "Maximal length of the history that is reported to the website.", + "description": "" + }, + "historyLengthThreshold_urlSpecific": { + "message": "To change this value for specific websites, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and set a different value.", + "description": "" + }, + "protectWindow_title": { + "message": "Protect window API", + "description": "" + }, + "protectWindow_description": { + "message": "window.opener and window.name will be protected. This can render some webpages unusable.", + "description": "" + }, + "protectWindow_urlSpecific": { + "message": "To exclude specific websites from this protection, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "description": "" + }, + "protectWindow_askReCaptchaException": { + "message": "Protecting the window API breaks reCAPTCHA. Do you want to allow the window.name API in embedded pages which will make it work again?", + "description": "" + }, + "allowWindowNameInFrames_title": { + "message": "Allow window.name in frames", + "description": "" + }, + "allowWindowNameInFrames_description": { + "message": "The window.name API is not that dangerous in the context of embedded pages and it is used there for legitimate reasons (e.g. reCAPTCHA). This setting will allow these usages.", + "description": "" + }, + "allowWindowNameInFrames_urlSpecific": { + "message": "To allow this only for specific websites, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and set its checkmark.", + "description": "" + }, + "protectDOMRect_title": { + "message": "Protect DOMRect API", + "description": "" + }, + "protectDOMRect_description": { + "message": "This protects against the \"getClientRects()\" fingerprinting and several similar methods.", + "description": "" + }, + "protectDOMRect_urlSpecific": { + "message": "To exclude specific websites from this protection, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "description": "" + }, + "domRectIntegerFactor_title": { + "message": "DOMRect integer factor", + "description": "" + }, + "domRectIntegerFactor_description": { + "message": "Some fraction of a pixel can be controlled by CSS. To prevent detection, values of a DOMRect that multiplied with this factor are integers will not be altered.", + "description": "" + }, + "protectTextMetrics_title": { + "message": "Protect TextMetrics API", + "description": "" + }, + "protectTextMetrics_description": { + "message": "This protects against the \"measureText()\" fingerprinting which can be used to cross validate DOMRect values.", + "description": "" + }, + "protectTextMetrics_urlSpecific": { + "message": "To exclude specific websites from this protection, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "description": "" + }, + "protectNavigator_title": { + "message": "Protect navigator API", + "description": "" + }, + "protectNavigator_description": { + "message": "This page allows for changes in the navigator API. Enabling this protection does not change anything by default. Open the navigator settings to specify the changes you want to have there.", + "description": "" + }, + "protectNavigator_urlSpecific": { + "message": "To exclude specific websites from this protection, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "description": "" + }, + "openNavigatorSettings_title": { + "message": "Navigator settings", + "description": "" + }, + "openNavigatorSettings_description": { + "message": "", + "description": "" + }, + "openNavigatorSettings_label": { + "message": "Otwórz", + "description": "" + }, + "navigatorSettings_title": { + "message": "CanvasBlocker navigator settings", + "description": "" + }, + "navigatorSettings_description": { + "message": "On this page you can set the navigator settings. If using a preset you should always use an operating system and browser preset. After selecting these you can still make modifications.", + "description": "" + }, + "navigatorSettings_disclaimer": { + "message": "CAUTION: the actual browser in use cannot be faked entirely as there is a multitude of ways to detect it. E.g. feature tests and browser specific rendering of HTML elements will always leak.", + "description": "" + }, + "navigatorSettings_contextualIdentities": { + "message": "Settings for the container {select} are shown.", + "description": "" + }, + "navigatorSettings_presetSection.os": { + "message": "Ustawienia systemu operacyjnego", + "description": "" + }, + "navigatorSettings_presetSection.browser": { + "message": "Ustawienia przeglądarki", + "description": "" + }, + "navigatorSettings_values": { + "message": "Navigator values", + "description": "" + }, + "navigatorSettings_reset": { + "message": "Wyczyść", + "description": "" + }, + "protectScreen_title": { + "message": "Protect screen API", + "description": "" + }, + "protectScreen_description": { + "message": "This protects against fingerprinting attempts including the screen size.", + "description": "" + }, + "protectScreen_urlSpecific": { + "message": "To exclude specific websites from this protection, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "description": "" + }, + "screenSize_title": { + "message": "Rozmiar ekranu", + "description": "" + }, + "screenSize_description": { + "message": "If this is set with a value \"...x...\" the specified dimensions will be reported as the screen size.", + "description": "" + }, + "screenSize_urlSpecific": { + "message": "To provide specific sizes for certain websites, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and enter the desired value.", + "description": "" + }, + "fakeMinimalScreenSize_title": { + "message": "Fake minimal screen size", + "description": "" + }, + "fakeMinimalScreenSize_description": { + "message": "Use a minimal screen size from the following set that can fit the inner window dimensions. Screen sizes: 1366x768, 1440x900, 1600x900, 1920x1080, 4096x2160, 8192x4320", + "description": "" + }, + "fakeMinimalScreenSize_urlSpecific": { + "message": "To exclude specific websites from the faking, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "description": "" + }, + "theme_title": { + "message": "Motyw", + "description": "" + }, + "theme_description": { + "message": "The automatic theme switches to dark if the system uses a dark theme (requires Firefox >= 67)", + "description": "" + }, + "theme_options.auto": { + "message": "automatyczny", + "description": "" + }, + "theme_options.default": { + "message": "domyślny", + "description": "" + }, + "theme_options.light": { + "message": "jasny", + "description": "" + }, + "theme_options.dark": { + "message": "ciemny", + "description": "" + }, + "theme_options.colorful": { + "message": "kolorowy", + "description": "" + }, + "theme_options.none": { + "message": "brak", + "description": "" + }, + "blockDataURLs_title": { + "message": "Block data URL pages", + "description": "" + }, + "blockDataURLs_description": { + "message": "Data URL pages cannot be protected against fingerprinting (see https://bugzilla.mozilla.org/show_bug.cgi?id=1475831). Blocking them prevents the real fingerprint to reach any server.", + "description": "" + }, + "blockDataURLs_urlSpecific": { + "message": "To exclude specific websites from this protection, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "description": "" + }, + "showReleaseNotes_title": { + "message": "Release notes", + "description": "" + }, + "showReleaseNotes_description": { + "message": "", + "description": "" + }, + "showReleaseNotes_label": { + "message": "Pokaż", + "description": "" + }, + "logLevel_title": { + "message": "Poziom logowania", + "description": "" + }, + "logLevel_description": { + "message": "To find the cause of an error, detailed logging of the addon activities is helpful. This parameter controls the level of detail of the logging.\n\nThe logging can be viewed in the Browser Console (Ctrl+Shift+J) and the Web Console (Ctrl+Shift+K).", + "description": "" + }, + "logLevel_options.0": { + "message": "brak", + "description": "" + }, + "logLevel_options.1": { + "message": "błąd", + "description": "" + }, + "logLevel_options.25": { + "message": "ostrzeżenie", + "description": "" + }, + "logLevel_options.50": { + "message": "wiadomość", + "description": "" + }, + "logLevel_options.75": { + "message": "powiadomienie", + "description": "" + }, + "logLevel_options.100": { + "message": "szczegółowo", + "description": "" + }, + "exportSettings_title": { + "message": "Eksportuj ustawienia", + "description": "" + }, + "exportSettings_description": { + "message": "", + "description": "" + }, + "settingControlling_title": { + "message": "Setting controlling", + "description": "" + }, + "settingControlling_description": { + "message": "", + "description": "" + }, + "openSettingSanitation_label": { + "message": "Setting sanitation", + "description": "" + }, + "inspectWhitelist_label": { + "message": "Inspect whitelist", + "description": "" + }, + "openSettingPresets_title": { + "message": "Ustawienia", + "description": "" + }, + "openSettingPresets_description": { + "message": "This opens the preset page that was shown upon installation. The presets are collections of setting values for some common use cases of CanvasBlocker.", + "description": "" + }, + "openSettingPresets_label": { + "message": "Otwórz", + "description": "" + }, + "inspectSettings_label": { + "message": "Zbadaj", + "description": "" + }, + "saveSettings_label": { + "message": "Zapisz", + "description": "" + }, + "loadSettings_label": { + "message": "Załaduj", + "description": "" + }, + "resetSettings_title": { + "message": "Resetuj ustawienia", + "description": "" + }, + "resetSettings_description": { + "message": "", + "description": "" + }, + "resetSettings_label": { + "message": "Wyczyść", + "description": "" + }, + "resetSettings_confirm": { + "message": "Czy na pewno chcesz wyczyścić wszystkie ustawienia?", + "description": "" + }, + "browserAction_settings": { + "message": "Ustawienia", + "description": "" + }, + "browserAction_faq": { + "message": "Często zadawane pytania", + "description": "" + }, + "browserAction_test": { + "message": "Testuj", + "description": "" + }, + "browserAction_review": { + "message": "Przejrzyj", + "description": "" + }, + "browserAction_reportIssue": { + "message": "Zgłoś problem", + "description": "" + }, + "sanitation_title": { + "message": "Setting sanitation", + "description": "" + }, + "sanitation_description": { + "message": "This page helps to find misconfigurations in the CanvasBlocker settings. It also gives advice on suboptimal settings. But it is not recommended to blindly correct all suggestions.", + "description": "" + }, + "sanitation_nothingToComplain": { + "message": "Wszystko w porządku.", + "description": "" + }, + "sanitation_ruleset.unnecessaryURLValue": { + "message": "Niepotrzebne wartości URL", + "description": "" + }, + "sanitation_ruleset.disabledFeatures": { + "message": "Wyłączone funkcje", + "description": "" + }, + "sanitation_ruleset.blockMode": { + "message": "Tryb blokowania", + "description": "" + }, + "sanitation_ruleset.thresholds": { + "message": "Progi", + "description": "" + }, + "sanitation_ruleset.performance": { + "message": "Wydajność", + "description": "" + }, + "sanitation_ruleset.privacy": { + "message": "Prywatność", + "description": "" + }, + "sanitation_error.unnecessaryURLValue": { + "message": "URL value for \"{url}\" is the same as the global setting for \"{setting-title}\".", + "description": "" + }, + "sanitation_resolution.removeURLValue": { + "message": "remove URL value", + "description": "" + }, + "sanitation_error.disabledFeatures": { + "message": "All features of {api} are disabled but the protection is enabled.", + "description": "" + }, + "sanitation_error.disabledSomeFeatures": { + "message": "Some features of {api} are disabled. This should only be done for testing or if you really know what the features are doing.", + "description": "" + }, + "sanitation_resolution.disableMainFlag": { + "message": "disable main flag", + "description": "" + }, + "sanitation_resolution.enableFeatures": { + "message": "włącz funkcje", + "description": "" + }, + "sanitation_error.badBlockMode": { + "message": "It is recommended to use the \"fake\" or \"ask\" blocking modes.", + "description": "" + }, + "sanitation_resolution.switchToFake": { + "message": "switch to \"fake\"", + "description": "" + }, + "sanitation_error.blockModeVsProtection": { + "message": "With blocking mode \"{blockMode}\" the {api} protection is not working.", + "description": "" + }, + "sanitation_resolution.disableFlag": { + "message": "disable \"{flag}\"", + "description": "" + }, + "sanitation_error.fakeInputWithWhiteRng": { + "message": "Do not use white random number generator with \"{blockMode}\" and protecting \"{protectedCanvasPart}\".", + "description": "" + }, + "sanitation_resolution.switchToProtectReadout": { + "message": "switch to protect readout", + "description": "" + }, + "sanitation_resolution.switchToNonPersistentRng": { + "message": "switch to \"non persistent\" rng", + "description": "" + }, + "sanitation_error.fakeEverythingInCanvas": { + "message": "Do not use protect \"{protectedCanvasPart}\" in blocking mode \"{blockMode}\".", + "description": "" + }, + "sanitation_resolution.switchToProtectInput": { + "message": "switch to protect input", + "description": "" + }, + "sanitation_error.valueTooLow": { + "message": "\"{setting}\" should not be lower than {value}.", + "description": "" + }, + "sanitation_error.valueTooHigh": { + "message": "\"{setting}\" should not be higher than {value}.", + "description": "" + }, + "sanitation_resolution.setTo": { + "message": "set to {value}", + "description": "" + }, + "sanitation_error.storeNotificationData": { + "message": "Storing notification data may lead to slow performance.", + "description": "" + }, + "sanitation_error.storeImage": { + "message": "Storing the image for inspection has a high RAM footprint.", + "description": "" + }, + "sanitation_error.doNotSharePersistentRndBetweenDomains": { + "message": "Do not share persistent randomness between domains because this makes the browser 100% trackable.", + "description": "" + }, + "sanitation_error.customScreenSize": { + "message": "Do not use a custom screen size as it makes the browser more trackable.", + "description": "" + }, + "whitelist_inspection_title": { + "message": "CanvasBlocker whitelist inspection", + "description": "" + }, + "whitelist_all_apis": { + "message": "All APIs", + "description": "" + }, + "presets": { + "message": "Presets", + "description": "" + }, + "presets_title": { + "message": "CanvasBlocker presets", + "description": "" + }, + "presets_installNotice": { + "message": "{image:../icons/icon.svg}Thanks for installing CanvasBlocker. To adjust it to your needs you can apply some presets. For further customization you can open the {link:options:options.html} page. There you can also open this preset page later.", + "description": "" + }, + "presets_introduction": { + "message": "These are some setting presets to fit different people's needs. The values in brackets are the current state of the setting. You can apply multiple presets after each other but some settings might be overwritten by the later applied one.", + "description": "" + }, + "preset_default_title": { + "message": "Ustawienia domyślne", + "description": "" + }, + "preset_default_description": { + "message": "No special settings are applied.", + "description": "" + }, + "preset_convenience_title": { + "message": "Convenient settings", + "description": "" + }, + "preset_convenience_description": { + "message": "Apply some settings to make the browsing experience as convenient as possible. This includes whitelisting some sites.", + "description": "" + }, + "preset_stealth_title": { + "message": "Stealth settings", + "description": "" + }, + "preset_stealth_description": { + "message": "Configures CanvasBlocker to be hard to detect. This might lead to high CPU usage and might slow down the browser.", + "description": "" + }, + "preset_max_protection_title": { + "message": "Maksymalna ochrona", + "description": "" + }, + "preset_max_protection_description": { + "message": "Maximizes the protection against fingerprint extraction. These settings will break some pages, might slow down the browser a little bit and might enable sites to detect that CanvasBlocker is used. After applying this preset you should consider applying the reCAPTCHA preset as well.", + "description": "" + }, + "preset_recaptcha_title": { + "message": "Błąd reCAPTCHA", + "description": "" + }, + "preset_recaptcha_description": { + "message": "Protecting the window API breaks reCAPTCHA. This preset allows the usage of the window.name API in embedded pages which will make it work again.", + "description": "" + } +} diff --git a/_locales/pt_BR/messages.json b/_locales/pt_BR/messages.json new file mode 100644 index 0000000..afa59c8 --- /dev/null +++ b/_locales/pt_BR/messages.json @@ -0,0 +1,1594 @@ +{ + "addon_title": { + "message": "CanvasBlocker", + "description": "" + }, + "addon_description": { + "message": "Altera alguns APIs JS para impedir o fingerprinting.", + "description": "" + }, + "browserAction_title_default": { + "message": "CanvasBlocker", + "description": "" + }, + "browserAction_title_notified": { + "message": " \n\nproteção bem sucedida para:", + "description": "" + }, + "browserAction_title_whitelisted": { + "message": " (APIs permitidas para {url})", + "description": "" + }, + "browserAction_title_protectedAPIs": { + "message": "\n · {api}", + "description": "" + }, + "more": { + "message": "mais", + "description": "" + }, + "less": { + "message": "menos", + "description": "" + }, + "pleaseWait": { + "message": "Por favor, aguarde...", + "description": "" + }, + "search": { + "message": "Pesquisa", + "description": "" + }, + "ok": { + "message": "OK", + "description": "" + }, + "apply": { + "message": "Aplicar", + "description": "" + }, + "cancel": { + "message": "Cancelar", + "description": "" + }, + "input": { + "message": "entrada", + "description": "" + }, + "readout": { + "message": "leitura", + "description": "" + }, + "options": { + "message": "Configurações", + "description": "" + }, + "options_title": { + "message": "Configurações do CanvasBlocker", + "description": "" + }, + "optionsIntroduction": { + "message": "Nesta página você pode ajustar as configurações do CanvasBlocker.", + "description": "" + }, + "installNotice": { + "message": "CanvasBlocker foi instalado. Se você quiser acessar esta página futuramente, por favor, adicione-a aos favoritos.", + "description": "" + }, + "updateNotice": { + "message": "CanvasBlocker foi atualizado. Se você quiser ser acessar esta página futuramente e ainda não a favoritou, por favor favorite-a.", + "description": "" + }, + "dontShowOptionsOnUpdate": { + "message": "Não mostrar novamente após a atualização.", + "description": "" + }, + "resistFingerprintingNotice": { + "message": "Você tem a privacy.resistFingerprinting ativada. Isso muda ligeiramente o comportamento do CanvasBlocker. Veja mais informações {link:aqui:https://github.com/kkapsner/CanvasBlocker/issues/158} e {link:here:https://github.com/ghacksuserjs/ghacks-user.js/issues/767}.", + "description": "" + }, + "openInTab": { + "message": "Abrir numa aba separada", + "description": "" + }, + "group_general": { + "message": "Geral", + "description": "" + }, + "group_APIs": { + "message": "APIs", + "description": "" + }, + "group_misc": { + "message": "Diversos", + "description": "" + }, + "section_asking": { + "message": "Perguntando", + "description": "" + }, + "section_faking": { + "message": "Faking", + "description": "" + }, + "section_notifications": { + "message": "Notificações", + "description": "" + }, + "section_lists": { + "message": "Listas", + "description": "" + }, + "section_misc": { + "message": "Diversos", + "description": "" + }, + "section_settings": { + "message": "Configurações", + "description": "" + }, + "section_canvas-api": { + "message": "API Canvas", + "description": "" + }, + "section_audio-api": { + "message": "API de áudio", + "description": "" + }, + "section_history-api": { + "message": "History API", + "description": "" + }, + "section_window-api": { + "message": "Window API", + "description": "" + }, + "section_DOMRect-api": { + "message": "DOMRect API", + "description": "" + }, + "section_TextMetrics-api": { + "message": "TextMetrics API", + "description": "" + }, + "section_Navigator-api": { + "message": "Navigator API", + "description": "" + }, + "section_Screen-api": { + "message": "Screen API", + "description": "" + }, + "displayAdvancedSettings_title": { + "message": "Modo Expert", + "description": "" + }, + "displayAdvancedSettings_description": { + "message": "Displays additional settings.", + "description": "" + }, + "displayDescriptions_title": { + "message": "Display descriptions", + "description": "" + }, + "displayDescriptions_description": { + "message": "Displays the descriptions of the settings.", + "description": "" + }, + "hideSetting": { + "message": "Click here to hide this setting.", + "description": "" + }, + "displayHiddenSettings_title": { + "message": "Display hidden settings", + "description": "" + }, + "displayHiddenSettings_description": { + "message": "Activate to display the hidden settings.", + "description": "" + }, + "askForInvisiblePermission": { + "message": "Do you want to allow invisible ?", + "description": "" + }, + "askForInvisibleInputPermission": { + "message": "Do you want to allow invisible input?", + "description": "" + }, + "askForInvisibleReadoutPermission": { + "message": "Do you want to allow invisible readout?", + "description": "" + }, + "askForPermission": { + "message": "Do you want to allow ?", + "description": "" + }, + "askForInputPermission": { + "message": "Do you want to allow input?", + "description": "" + }, + "askForReadoutPermission": { + "message": "Do you want to allow readout?", + "description": "" + }, + "askForVisiblePermission": { + "message": "Do you want to allow the red bordered ?", + "description": "" + }, + "askForVisibleInputPermission": { + "message": "Do you want to allow input in the red bordered ?", + "description": "" + }, + "askForVisibleReadoutPermission": { + "message": "Do you want to allow the readout of the red bordered ?", + "description": "" + }, + "askForAudioPermission": { + "message": "Do you want to allow the audio API?", + "description": "" + }, + "askForAudioInputPermission": { + "message": "Do you want to allow audio API input?", + "description": "" + }, + "askForAudioReadoutPermission": { + "message": "Do you want to allow audio API readout?", + "description": "" + }, + "askForHistoryPermission": { + "message": "Do you want to allow the history API?", + "description": "" + }, + "askForHistoryInputPermission": { + "message": "Do you want to allow history API input?", + "description": "" + }, + "askForHistoryReadoutPermission": { + "message": "Do you want to allow history API readout?", + "description": "" + }, + "askForWindowPermission": { + "message": "Do you want to allow the window API?", + "description": "" + }, + "askForWindowInputPermission": { + "message": "Do you want to allow window API input?", + "description": "" + }, + "askForWindowReadoutPermission": { + "message": "Do you want to allow window API readout?", + "description": "" + }, + "askForDOMRectPermission": { + "message": "Do you want to allow the DOMRect API?", + "description": "" + }, + "askForDOMRectInputPermission": { + "message": "Do you want to allow DOMRect API input?", + "description": "" + }, + "askForDOMRectReadoutPermission": { + "message": "Do you want to allow DOMRect API readout?", + "description": "" + }, + "askForTextMetricsPermission": { + "message": "Do you want to allow the TextMetrics API?", + "description": "" + }, + "askForTextMetricsInputPermission": { + "message": "Do you want to allow TextMetrics API input?", + "description": "" + }, + "askForTextMetricsReadoutPermission": { + "message": "Do you want to allow TextMetrics API readout?", + "description": "" + }, + "askForNavigatorPermission": { + "message": "Do you want to allow the navigator API?", + "description": "" + }, + "askForNavigatorInputPermission": { + "message": "Do you want to allow navigator API input?", + "description": "" + }, + "askForNavigatorReadoutPermission": { + "message": "Do you want to allow navigator API readout?", + "description": "" + }, + "askForScreenPermission": { + "message": "Do you want to allow the screen API?", + "description": "" + }, + "askForScreenInputPermission": { + "message": "Do you want to allow screen API input?", + "description": "" + }, + "askForScreenReadoutPermission": { + "message": "Do you want to allow screen API readout?", + "description": "" + }, + "askOnlyOnce_title": { + "message": "Ask only once", + "description": "" + }, + "askOnlyOnce_description": { + "message": "When CanvasBlocker's block mode is set to 'ask permission' or 'ask permission for readout API', a confirm message will appear every time a page tries to access the API or readout API. This setting tries to display the confirm message only once for each page regardless of how many times the page tries to access the API. Nevertheless, multiple confirm messages may still be displayed on some pages.\n\nNo: asking every time\n\nIndividual: each API-type (context, input, readout) has to be confirmed separately\n\ncombined: all API-types get confirmed together", + "description": "" + }, + "askOnlyOnce_options.no": { + "message": "no", + "description": "" + }, + "askOnlyOnce_options.individual": { + "message": "individual", + "description": "" + }, + "askOnlyOnce_options.combined": { + "message": "combined", + "description": "" + }, + "askDenyMode_title": { + "message": "Ask deny mode", + "description": "" + }, + "askDenyMode_description": { + "message": "Which mode shall be used when the permission is denied.", + "description": "" + }, + "askDenyMode_options.block": { + "message": "block", + "description": "" + }, + "askDenyMode_options.fake": { + "message": "fake", + "description": "" + }, + "showCanvasWhileAsking_title": { + "message": "Show canvas content", + "description": "" + }, + "showCanvasWhileAsking_description": { + "message": "Shows the content of the canvas for which the permission is asked for, if possible.", + "description": "" + }, + "showCanvasWhileAsking_message": { + "message": "The webpage wants to read the content of the following canvas:", + "description": "" + }, + "blackList_description": { + "message": "Domains or URLs where all APIs shall always be blocked. To add multiple entries, separate them by commas.", + "description": "" + }, + "blackList_title": { + "message": "Blacklist", + "description": "" + }, + "blockMode_description": { + "message": "", + "description": "" + }, + "blockMode_urlSpecific": { + "message": "To set individual block modes for specific websites, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and select the desired block mode.", + "description": "" + }, + "blockMode_options.allowEverything": { + "message": "allow everything", + "description": "" + }, + "blockMode_options.block": { + "message": "allow only whitelist", + "description": "" + }, + "blockMode_options.ask": { + "message": "ask for permission", + "description": "" + }, + "blockMode_options.blockEverything": { + "message": "block everything", + "description": "" + }, + "blockMode_options.allow": { + "message": "block only blacklist", + "description": "" + }, + "blockMode_options.fake": { + "message": "fake", + "description": "" + }, + "blockMode_title": { + "message": "Block mode", + "description": "" + }, + "protectedCanvasPart_title": { + "message": "Protected part of the canvas API", + "description": "" + }, + "protectedCanvasPart_description": { + "message": "nothing: no features of the canvas API are protected.\n\nreadout: the readout features of the canvas API are protected.\n\ninput: the input features of the canvas API are protected. With blocking mode \"fake\" the drawn pixels get modified slightly when displaying text. This makes the detection of the add-on harder but is less secure. With WebGL canvases the behaviour is identical to \"readout\".\n\neverything: both the readout and input features are protected. It's not recommended to use this with \"fake\" block mode as it increases the probability to be detected.", + "description": "" + }, + "protectedCanvasPart_urlSpecific": { + "message": "To protect individual parts for specific websites, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and select the desired part.", + "description": "" + }, + "protectedCanvasPart_options.nothing": { + "message": "nothing", + "description": "" + }, + "protectedCanvasPart_options.input": { + "message": "input", + "description": "" + }, + "protectedCanvasPart_options.readout": { + "message": "readout", + "description": "" + }, + "protectedCanvasPart_options.everything": { + "message": "everything", + "description": "" + }, + "urlSettings_title": { + "message": "Site specific values", + "description": "" + }, + "urlSettings_description": { + "message": "", + "description": "" + }, + "inputURL": { + "message": "Input domain or URL \"RegExp\":", + "description": "" + }, + "minFakeSize_description": { + "message": "Canvases with a smaller or equal area than this number will not be faked. This is a parameter to prevent detection.\nCAUTION: This lowers the safety of the addon, therefore it is highly recommended not to set this value above 100.", + "description": "" + }, + "minFakeSize_title": { + "message": "Minimal fake size", + "description": "" + }, + "maxFakeSize_description": { + "message": "Canvases with a bigger area than this number will not be faked. (Enter zero to disable.) This is a performance parameter that can prevent browser freezes and should be adjusted to the computing power of the device.\nCAUTION: This lowers the safety of the addon, therefore it is highly recommended not to set this value below 1 000 000.", + "description": "" + }, + "maxFakeSize_title": { + "message": "Maximal fake size", + "description": "" + }, + "rng_description": { + "message": "none (completely white): a completely white image is returned. The option \"Fake the alpha channel\" should be activated with this. CAUTION: Do not use this with the \"fake at input\" mode.\n\nnon persistent: the random numbers will be determined freshly for each faking action.\n\nconstant: within one web page a color will always be faked to the same color.\n\npersistent: the random number will only be determined once for every domain.", + "description": "" + }, + "rng_options.persistent": { + "message": "persistent", + "description": "" + }, + "rng_options.constant": { + "message": "constant", + "description": "" + }, + "rng_options.nonPersistent": { + "message": "non persistent", + "description": "" + }, + "rng_options.white": { + "message": "none (completely white)", + "description": "" + }, + "rng_title": { + "message": "Random number generator", + "description": "" + }, + "persistentRndStorage_title": { + "message": "Persistent storage", + "description": "" + }, + "persistentRndStorage_description": { + "message": "Stores the data for the persistent random number generator for usage after restart.", + "description": "" + }, + "storePersistentRnd_title": { + "message": "Store persistent data", + "description": "" + }, + "storePersistentRnd_description": { + "message": "If data for the persistent random number generator shall be stored. Otherwise it is discarded on browser shutdown.", + "description": "" + }, + "persistentRndClearInterval_title": { + "message": "Clear interval of the persistent data", + "description": "" + }, + "persistentRndClearInterval_description": { + "message": "After the specified interval the persistent data is cleared automatically. (Enter zero to disable.)", + "description": "" + }, + "persistentRndClearIntervalUnit_options.seconds": { + "message": "seconds", + "description": "" + }, + "persistentRndClearIntervalUnit_options.minutes": { + "message": "minutes", + "description": "" + }, + "persistentRndClearIntervalUnit_options.hours": { + "message": "hours", + "description": "" + }, + "persistentRndClearIntervalUnit_options.days": { + "message": "days", + "description": "" + }, + "persistentRndClearIntervalUnit_options.weeks": { + "message": "weeks", + "description": "" + }, + "persistentRndClearIntervalUnit_options.months": { + "message": "months", + "description": "" + }, + "persistentRndClearIntervalUnit_options.years": { + "message": "years", + "description": "" + }, + "clearPersistentRnd_title": { + "message": "Clear persistent random storage", + "description": "" + }, + "clearPersistentRnd_description": { + "message": "Deletes all data for the persistent random number generator.", + "description": "" + }, + "clearPersistentRnd_label": { + "message": "Clear", + "description": "" + }, + "clearPersistentRndForContainer_label": { + "message": "Clear container", + "description": "" + }, + "clearPersistentRndForContainer_title": { + "message": "Select container", + "description": "" + }, + "sharePersistentRndBetweenDomains_title": { + "message": "Share persistent randomness between domains", + "description": "" + }, + "sharePersistentRndBetweenDomains_description": { + "message": "CAUTION: this setting makes the browser 100% trackable and is therefore a threat to your privacy.", + "description": "" + }, + "sharePersistentRndBetweenDomains_confirmMessage": { + "message": "Are you really sure you want to share the persistent randomness between domains?\nCAUTION: this makes the browser 100% trackable and is therefore a threat to your privacy.", + "description": "" + }, + "ignoreFrequentColors_title": { + "message": "Ignore the most frequent colors", + "description": "" + }, + "ignoreFrequentColors_description": { + "message": "Number of colors that shall not be faked per canvas. This is a parameter to prevent detection.\nCAUTION: This can reduce the performance of the addon because the color statistic has to be calculated for every image. Additional this can lower the safety of the addon, therefore it is highly recommended not to set this value above 3.", + "description": "" + }, + "minColors_title": { + "message": "Minimal number of colors", + "description": "" + }, + "minColors_description": { + "message": "Number of colors that a canvas must have to be faked.\nCAUTION: This can lower the safety of the addon, therefore it is highly recommended not to set this value above 10.", + "description": "" + }, + "fakeAlphaChannel_title": { + "message": "Fake the alpha channel", + "description": "" + }, + "fakeAlphaChannel_description": { + "message": "Activates the faking of the alpha channel (transparency).", + "description": "" + }, + "webGLVendor_title": { + "message": "Reported webGL vendor", + "description": "" + }, + "webGLVendor_description": { + "message": "Value to be reported in the webGL function \"getParameter\" for the \"vendor\". Leave empty to use the original value.", + "description": "" + }, + "webGLRenderer_title": { + "message": "Reported webGL renderer", + "description": "" + }, + "webGLRenderer_description": { + "message": "Value to be reported in the webGL function \"getParameter\" for the \"renderer\". Leave empty to use the original value.", + "description": "" + }, + "webGLUnmaskedVendor_title": { + "message": "Reported webGL unmasked vendor", + "description": "" + }, + "webGLUnmaskedVendor_description": { + "message": "Value to be reported in the webGL function \"getParameter\" for the \"unmasked vendor\". Leave empty to use the original value.", + "description": "" + }, + "webGLUnmaskedRenderer_title": { + "message": "Reported webGL unmasked renderer", + "description": "" + }, + "webGLUnmaskedRenderer_description": { + "message": "Value to be reported in the webGL function \"getParameter\" for the \"unmasked renderer\". Leave empty to use the original value.", + "description": "" + }, + "useCanvasCache_title": { + "message": "Use canvas cache", + "description": "" + }, + "useCanvasCache_description": { + "message": "Enables the canvas cache. This can prevent detection and increases the performance when small canvases are read several times, but decreases it for big canvases.", + "description": "" + }, + "protectedAPIFeatures_title": { + "message": "Protected API features", + "description": "" + }, + "protectedAPIFeatures_description": { + "message": "List of protected API features. When unticking a checkbox, this feature of the API will not be protected.", + "description": "" + }, + "disableNotifications": { + "message": "disable notifications", + "description": "" + }, + "showOptions": { + "message": "display settings", + "description": "" + }, + "displayCallingStack": { + "message": "display calling stack", + "description": "" + }, + "displayFullURL": { + "message": "display full URL", + "description": "" + }, + "enableStackList_description": { + "message": "", + "description": "" + }, + "enableStackList_title": { + "message": "Use file specific whitelist", + "description": "" + }, + "preBlock": { + "message": "API blocked on {url} because CanvasBlocker settings were not loaded in time.", + "description": "" + }, + "blocked": { + "message": "API blocked on {url}.", + "description": "" + }, + "fakedReadout": { + "message": "Faked canvas readout on {url}", + "description": "" + }, + "fakedAudioReadout": { + "message": "Faked audio readout on {url}", + "description": "" + }, + "fakedHistoryReadout": { + "message": "Faked history readout on {url}", + "description": "" + }, + "fakedWindowReadout": { + "message": "Faked window readout on {url}", + "description": "" + }, + "fakedDOMRectReadout": { + "message": "Faked DOMRect readout on {url}", + "description": "" + }, + "fakedTextMetricsReadout": { + "message": "Faked TextMetrics readout on {url}", + "description": "" + }, + "fakedNavigatorReadout": { + "message": "Faked navigator readout on {url}", + "description": "" + }, + "fakedScreenReadout": { + "message": "Faked screen readout on {url}", + "description": "" + }, + "fakedInput": { + "message": "Faked at input on {url}", + "description": "" + }, + "ignoreList_description": { + "message": "Domains or URLs where no notifications shall be shown. To add multiple entries, separate them by commas.", + "description": "" + }, + "ignoreList_title": { + "message": "Ignore list", + "description": "" + }, + "ignoredAPIs_title": { + "message": "Ignored APIs", + "description": "" + }, + "ignoredAPIs_description": { + "message": "No notifications will be displayed for the selected APIs.", + "description": "" + }, + "localFile": { + "message": "local file", + "description": "" + }, + "ignorelistDomain": { + "message": "silence domain", + "description": "" + }, + "ignorelistURL": { + "message": "ignore URL", + "description": "" + }, + "selectIgnore": { + "message": "Select domain or URL to add to ignore list:", + "description": "" + }, + "inputIgnore": { + "message": "Input domain or URL \"RegExp\" to add to ignore list:", + "description": "" + }, + "inputIgnoreDomain": { + "message": "Input domain to add to ignore list:", + "description": "" + }, + "inputIgnoreURL": { + "message": "Input URL \"RegExp\" to add to ignore list:", + "description": "" + }, + "selectWhitelist": { + "message": "Select domain or URL to add to whitelist:", + "description": "" + }, + "inputWhitelist": { + "message": "Input domain or URL \"RegExp\" to add to whitelist:", + "description": "" + }, + "inputWhitelistDomain": { + "message": "Input domain to add to whitelist:", + "description": "" + }, + "inputWhitelistURL": { + "message": "Input URL \"RegExp\" to add to whitelist:", + "description": "" + }, + "selectSessionWhitelist": { + "message": "Select domain or URL to add to the session whitelist:", + "description": "" + }, + "inputSessionWhitelist": { + "message": "Input domain or URL \"RegExp\" to add to the session whitelist:", + "description": "" + }, + "inputSessionWhitelistDomain": { + "message": "Input domain to add to the session whitelist:", + "description": "" + }, + "inputSessionWhitelistURL": { + "message": "Input URL \"RegExp\" to add to the session whitelist:", + "description": "" + }, + "selectWhitelistScope": { + "message": "What is the scope of the whitelisting?", + "description": "" + }, + "whitelistOnlyAPI": { + "message": "Whitelist only the {api}", + "description": "" + }, + "whitelistAllAPIs": { + "message": "Whitelist all APIs", + "description": "" + }, + "settings": { + "message": "settings", + "description": "" + }, + "showCallingFile_description": { + "message": "", + "description": "" + }, + "showCallingFile_title": { + "message": "Show calling file", + "description": "" + }, + "showCompleteCallingStack_description": { + "message": "", + "description": "" + }, + "showCompleteCallingStack_title": { + "message": "Display complete calling stack", + "description": "" + }, + "showNotifications_description": { + "message": "Shows a notification icon in the address bar when something gets blocked or faked.", + "description": "" + }, + "showNotifications_urlSpecific": { + "message": "To deactivate notifications for specific websites, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "description": "" + }, + "showNotifications_title": { + "message": "Show notification icon", + "description": "" + }, + "highlightPageAction_description": { + "message": "Highlight the page action icon for better visibility.", + "description": "" + }, + "highlightPageAction_urlSpecific": { + "message": "", + "description": "" + }, + "highlightPageAction_title": { + "message": "Highlight page action icon", + "description": "" + }, + "highlightPageAction_options.none": { + "message": "no highlight", + "description": "" + }, + "highlightPageAction_options.color": { + "message": "color", + "description": "" + }, + "highlightPageAction_options.blink": { + "message": "blink", + "description": "" + }, + "displayBadge_description": { + "message": "", + "description": "" + }, + "displayBadge_title": { + "message": "Display badge", + "description": "" + }, + "highlightBrowserAction_description": { + "message": "", + "description": "" + }, + "highlightBrowserAction_urlSpecific": { + "message": "", + "description": "" + }, + "highlightBrowserAction_title": { + "message": "Change toolbar icon on notification", + "description": "" + }, + "highlightBrowserAction_options.none": { + "message": "change nothing", + "description": "" + }, + "highlightBrowserAction_options.color": { + "message": "change color", + "description": "" + }, + "highlightBrowserAction_options.blink": { + "message": "blink", + "description": "" + }, + "sourceOutput": { + "message": "Calling file", + "description": "" + }, + "stackEntryOutput": { + "message": "{url} line {line} column {column}", + "description": "" + }, + "stackList_description": { + "message": "JS files which are allowed to use all APIs. The input has to be in JSON format. Example: [{\"url\": \"http://domain/file1.js\"}, {\"url\": \"http://domain/file2.js\", \"line\": 1, \"column\": 4, \"stackPosition\": -3}]", + "description": "" + }, + "stackList_title": { + "message": "File specific whitelist", + "description": "" + }, + "whiteList_title": { + "message": "Whitelist", + "description": "" + }, + "whiteList_description": { + "message": "Domains or URLs which shall be allowed to use all APIs. To add multiple entries, separate them by commas.", + "description": "" + }, + "whitelist": { + "message": "whitelist", + "description": "" + }, + "whitelistDomain": { + "message": "whitelist domain", + "description": "" + }, + "whitelistURL": { + "message": "whitelist URL", + "description": "" + }, + "ignorelist": { + "message": "ignore", + "description": "" + }, + "whitelistTemporarily": { + "message": "whitelist temporarily", + "description": "" + }, + "inspectWhitelist": { + "message": "inspect whitelist", + "description": "" + }, + "sessionWhiteList_title": { + "message": "Session whitelist", + "description": "" + }, + "sessionWhiteList_description": { + "message": "Domains or URLs which shall be allowed to use all APIs during the current session. To add multiple entries, separate them by commas.", + "description": "" + }, + "whitelistDomainTemporarily": { + "message": "whitelist domain temporarily", + "description": "" + }, + "whitelistURLTemporarily": { + "message": "whitelist URL temporarily", + "description": "" + }, + "storeNotificationData_title": { + "message": "Store detail data of the notifications", + "description": "" + }, + "storeNotificationData_description": { + "message": "", + "description": "" + }, + "storeImageForInspection_title": { + "message": "Store image for inspection", + "description": "" + }, + "storeImageForInspection_description": { + "message": "Enables the storage of the content of the faked canvas.\nCAUTION: This may lead to a lot of memory consumption.", + "description": "" + }, + "protectAudio_title": { + "message": "Protect audio API", + "description": "" + }, + "protectAudio_description": { + "message": "If the audio API shall be protected as well", + "description": "" + }, + "protectAudio_urlSpecific": { + "message": "To exclude specific websites from this protection, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "description": "" + }, + "audioFakeRate_title": { + "message": "Buffer fake rate", + "description": "" + }, + "audioFakeRate_description": { + "message": "How many of the values per read request shall be faked.", + "description": "" + }, + "audioFakeRate_options.1": { + "message": "1 value", + "description": "" + }, + "audioFakeRate_options.10": { + "message": "10 values", + "description": "" + }, + "audioFakeRate_options.100": { + "message": "100 values", + "description": "" + }, + "audioFakeRate_options.1000": { + "message": "1000 values", + "description": "" + }, + "audioFakeRate_options.0.1%": { + "message": "0.1% of the values", + "description": "" + }, + "audioFakeRate_options.1%": { + "message": "1% of the values", + "description": "" + }, + "audioFakeRate_options.10%": { + "message": "10% of the values", + "description": "" + }, + "audioFakeRate_options.100%": { + "message": "100% of the values", + "description": "" + }, + "audioNoiseLevel_title": { + "message": "Noise level", + "description": "" + }, + "audioNoiseLevel_description": { + "message": "", + "description": "" + }, + "audioNoiseLevel_options.minimal": { + "message": "minimal", + "description": "" + }, + "audioNoiseLevel_options.low": { + "message": "low", + "description": "" + }, + "audioNoiseLevel_options.medium": { + "message": "medium", + "description": "" + }, + "audioNoiseLevel_options.high": { + "message": "high", + "description": "" + }, + "audioNoiseLevel_options.maximal": { + "message": "maximal", + "description": "" + }, + "useAudioCache_title": { + "message": "Use audio cache", + "description": "" + }, + "useAudioCache_description": { + "message": "Enables the audio cache. This can prevent detection but decreases the performance.", + "description": "" + }, + "useAudioCache_urlSpecific": { + "message": "Some pages use a very poorly written audio fingerprinting script which will cause Firefox to slow down. To disable the cache for specific websites, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "description": "" + }, + "audioUseFixedIndices_title": { + "message": "Use fixed indices", + "description": "" + }, + "audioUseFixedIndices_description": { + "message": "If some of the used indices shall always be faked.", + "description": "" + }, + "audioFixedIndices_title": { + "message": "Fixed indices", + "description": "" + }, + "audioFixedIndices_description": { + "message": "The indices that are always faked. To add multiple entries, separate them by commas.", + "description": "" + }, + "historyLengthThreshold_title": { + "message": "History length threshold", + "description": "" + }, + "historyLengthThreshold_description": { + "message": "Maximal length of the history that is reported to the website.", + "description": "" + }, + "historyLengthThreshold_urlSpecific": { + "message": "To change this value for specific websites, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and set a different value.", + "description": "" + }, + "protectWindow_title": { + "message": "Protect window API", + "description": "" + }, + "protectWindow_description": { + "message": "window.opener and window.name will be protected. This can render some webpages unusable.", + "description": "" + }, + "protectWindow_urlSpecific": { + "message": "To exclude specific websites from this protection, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "description": "" + }, + "protectWindow_askReCaptchaException": { + "message": "Protecting the window API breaks reCAPTCHA. Do you want to allow the window.name API in embedded pages which will make it work again?", + "description": "" + }, + "allowWindowNameInFrames_title": { + "message": "Allow window.name in frames", + "description": "" + }, + "allowWindowNameInFrames_description": { + "message": "The window.name API is not that dangerous in the context of embedded pages and it is used there for legitimate reasons (e.g. reCAPTCHA). This setting will allow these usages.", + "description": "" + }, + "allowWindowNameInFrames_urlSpecific": { + "message": "To allow this only for specific websites, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and set its checkmark.", + "description": "" + }, + "protectDOMRect_title": { + "message": "Protect DOMRect API", + "description": "" + }, + "protectDOMRect_description": { + "message": "This protects against the \"getClientRects()\" fingerprinting and several similar methods.", + "description": "" + }, + "protectDOMRect_urlSpecific": { + "message": "To exclude specific websites from this protection, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "description": "" + }, + "domRectIntegerFactor_title": { + "message": "DOMRect integer factor", + "description": "" + }, + "domRectIntegerFactor_description": { + "message": "Some fraction of a pixel can be controlled by CSS. To prevent detection, values of a DOMRect that multiplied with this factor are integers will not be altered.", + "description": "" + }, + "protectTextMetrics_title": { + "message": "Protect TextMetrics API", + "description": "" + }, + "protectTextMetrics_description": { + "message": "This protects against the \"measureText()\" fingerprinting which can be used to cross validate DOMRect values.", + "description": "" + }, + "protectTextMetrics_urlSpecific": { + "message": "To exclude specific websites from this protection, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "description": "" + }, + "protectNavigator_title": { + "message": "Protect navigator API", + "description": "" + }, + "protectNavigator_description": { + "message": "This page allows for changes in the navigator API. Enabling this protection does not change anything by default. Open the navigator settings to specify the changes you want to have there.", + "description": "" + }, + "protectNavigator_urlSpecific": { + "message": "To exclude specific websites from this protection, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "description": "" + }, + "openNavigatorSettings_title": { + "message": "Navigator settings", + "description": "" + }, + "openNavigatorSettings_description": { + "message": "", + "description": "" + }, + "openNavigatorSettings_label": { + "message": "Open", + "description": "" + }, + "navigatorSettings_title": { + "message": "CanvasBlocker navigator settings", + "description": "" + }, + "navigatorSettings_description": { + "message": "On this page you can set the navigator settings. If using a preset you should always use an operating system and browser preset. After selecting these you can still make modifications.", + "description": "" + }, + "navigatorSettings_disclaimer": { + "message": "CAUTION: the actual browser in use cannot be faked entirely as there is a multitude of ways to detect it. E.g. feature tests and browser specific rendering of HTML elements will always leak.", + "description": "" + }, + "navigatorSettings_contextualIdentities": { + "message": "Settings for the container {select} are shown.", + "description": "" + }, + "navigatorSettings_presetSection.os": { + "message": "Operating system presets", + "description": "" + }, + "navigatorSettings_presetSection.browser": { + "message": "Browser presets", + "description": "" + }, + "navigatorSettings_values": { + "message": "Navigator values", + "description": "" + }, + "navigatorSettings_reset": { + "message": "Reset", + "description": "" + }, + "protectScreen_title": { + "message": "Protect screen API", + "description": "" + }, + "protectScreen_description": { + "message": "This protects against fingerprinting attempts including the screen size.", + "description": "" + }, + "protectScreen_urlSpecific": { + "message": "To exclude specific websites from this protection, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "description": "" + }, + "screenSize_title": { + "message": "Screen size", + "description": "" + }, + "screenSize_description": { + "message": "If this is set with a value \"...x...\" the specified dimensions will be reported as the screen size.", + "description": "" + }, + "screenSize_urlSpecific": { + "message": "To provide specific sizes for certain websites, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and enter the desired value.", + "description": "" + }, + "fakeMinimalScreenSize_title": { + "message": "Fake minimal screen size", + "description": "" + }, + "fakeMinimalScreenSize_description": { + "message": "Use a minimal screen size from the following set that can fit the inner window dimensions. Screen sizes: 1366x768, 1440x900, 1600x900, 1920x1080, 4096x2160, 8192x4320", + "description": "" + }, + "fakeMinimalScreenSize_urlSpecific": { + "message": "To exclude specific websites from the faking, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "description": "" + }, + "theme_title": { + "message": "Theme", + "description": "" + }, + "theme_description": { + "message": "The automatic theme switches to dark if the system uses a dark theme (requires Firefox >= 67)", + "description": "" + }, + "theme_options.auto": { + "message": "automatic", + "description": "" + }, + "theme_options.default": { + "message": "default", + "description": "" + }, + "theme_options.light": { + "message": "light", + "description": "" + }, + "theme_options.dark": { + "message": "dark", + "description": "" + }, + "theme_options.colorful": { + "message": "colorful", + "description": "" + }, + "theme_options.none": { + "message": "none", + "description": "" + }, + "blockDataURLs_title": { + "message": "Block data URL pages", + "description": "" + }, + "blockDataURLs_description": { + "message": "Data URL pages cannot be protected against fingerprinting (see https://bugzilla.mozilla.org/show_bug.cgi?id=1475831). Blocking them prevents the real fingerprint to reach any server.", + "description": "" + }, + "blockDataURLs_urlSpecific": { + "message": "To exclude specific websites from this protection, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "description": "" + }, + "showReleaseNotes_title": { + "message": "Release notes", + "description": "" + }, + "showReleaseNotes_description": { + "message": "", + "description": "" + }, + "showReleaseNotes_label": { + "message": "Show", + "description": "" + }, + "logLevel_title": { + "message": "Logging level", + "description": "" + }, + "logLevel_description": { + "message": "To find the cause of an error, detailed logging of the addon activities is helpful. This parameter controls the level of detail of the logging.\n\nThe logging can be viewed in the Browser Console (Ctrl+Shift+J) and the Web Console (Ctrl+Shift+K).", + "description": "" + }, + "logLevel_options.0": { + "message": "none", + "description": "" + }, + "logLevel_options.1": { + "message": "error", + "description": "" + }, + "logLevel_options.25": { + "message": "warning", + "description": "" + }, + "logLevel_options.50": { + "message": "message", + "description": "" + }, + "logLevel_options.75": { + "message": "notice", + "description": "" + }, + "logLevel_options.100": { + "message": "verbose", + "description": "" + }, + "exportSettings_title": { + "message": "Export settings", + "description": "" + }, + "exportSettings_description": { + "message": "", + "description": "" + }, + "settingControlling_title": { + "message": "Setting controlling", + "description": "" + }, + "settingControlling_description": { + "message": "", + "description": "" + }, + "openSettingSanitation_label": { + "message": "Setting sanitation", + "description": "" + }, + "inspectWhitelist_label": { + "message": "Inspect whitelist", + "description": "" + }, + "openSettingPresets_title": { + "message": "Presets", + "description": "" + }, + "openSettingPresets_description": { + "message": "This opens the preset page that was shown upon installation. The presets are collections of setting values for some common use cases of CanvasBlocker.", + "description": "" + }, + "openSettingPresets_label": { + "message": "Open", + "description": "" + }, + "inspectSettings_label": { + "message": "Inspect", + "description": "" + }, + "saveSettings_label": { + "message": "Save", + "description": "" + }, + "loadSettings_label": { + "message": "Load", + "description": "" + }, + "resetSettings_title": { + "message": "Reset settings", + "description": "" + }, + "resetSettings_description": { + "message": "", + "description": "" + }, + "resetSettings_label": { + "message": "Reset", + "description": "" + }, + "resetSettings_confirm": { + "message": "Are you sure you want to reset all settings?", + "description": "" + }, + "browserAction_settings": { + "message": "Settings", + "description": "" + }, + "browserAction_faq": { + "message": "FAQ", + "description": "" + }, + "browserAction_test": { + "message": "Test", + "description": "" + }, + "browserAction_review": { + "message": "Review", + "description": "" + }, + "browserAction_reportIssue": { + "message": "Report issue", + "description": "" + }, + "sanitation_title": { + "message": "Setting sanitation", + "description": "" + }, + "sanitation_description": { + "message": "This page helps to find misconfigurations in the CanvasBlocker settings. It also gives advice on suboptimal settings. But it is not recommended to blindly correct all suggestions.", + "description": "" + }, + "sanitation_nothingToComplain": { + "message": "Nothing to complain.", + "description": "" + }, + "sanitation_ruleset.unnecessaryURLValue": { + "message": "Unnecessary URL values", + "description": "" + }, + "sanitation_ruleset.disabledFeatures": { + "message": "Disabled features", + "description": "" + }, + "sanitation_ruleset.blockMode": { + "message": "Block mode", + "description": "" + }, + "sanitation_ruleset.thresholds": { + "message": "Thresholds", + "description": "" + }, + "sanitation_ruleset.performance": { + "message": "Performance", + "description": "" + }, + "sanitation_ruleset.privacy": { + "message": "Privacy", + "description": "" + }, + "sanitation_error.unnecessaryURLValue": { + "message": "URL value for \"{url}\" is the same as the global setting for \"{setting-title}\".", + "description": "" + }, + "sanitation_resolution.removeURLValue": { + "message": "remove URL value", + "description": "" + }, + "sanitation_error.disabledFeatures": { + "message": "All features of {api} are disabled but the protection is enabled.", + "description": "" + }, + "sanitation_error.disabledSomeFeatures": { + "message": "Some features of {api} are disabled. This should only be done for testing or if you really know what the features are doing.", + "description": "" + }, + "sanitation_resolution.disableMainFlag": { + "message": "disable main flag", + "description": "" + }, + "sanitation_resolution.enableFeatures": { + "message": "enable features", + "description": "" + }, + "sanitation_error.badBlockMode": { + "message": "It is recommended to use the \"fake\" or \"ask\" blocking modes.", + "description": "" + }, + "sanitation_resolution.switchToFake": { + "message": "switch to \"fake\"", + "description": "" + }, + "sanitation_error.blockModeVsProtection": { + "message": "With blocking mode \"{blockMode}\" the {api} protection is not working.", + "description": "" + }, + "sanitation_resolution.disableFlag": { + "message": "disable \"{flag}\"", + "description": "" + }, + "sanitation_error.fakeInputWithWhiteRng": { + "message": "Do not use white random number generator with \"{blockMode}\" and protecting \"{protectedCanvasPart}\".", + "description": "" + }, + "sanitation_resolution.switchToProtectReadout": { + "message": "switch to protect readout", + "description": "" + }, + "sanitation_resolution.switchToNonPersistentRng": { + "message": "switch to \"non persistent\" rng", + "description": "" + }, + "sanitation_error.fakeEverythingInCanvas": { + "message": "Do not use protect \"{protectedCanvasPart}\" in blocking mode \"{blockMode}\".", + "description": "" + }, + "sanitation_resolution.switchToProtectInput": { + "message": "switch to protect input", + "description": "" + }, + "sanitation_error.valueTooLow": { + "message": "\"{setting}\" should not be lower than {value}.", + "description": "" + }, + "sanitation_error.valueTooHigh": { + "message": "\"{setting}\" should not be higher than {value}.", + "description": "" + }, + "sanitation_resolution.setTo": { + "message": "set to {value}", + "description": "" + }, + "sanitation_error.storeNotificationData": { + "message": "Storing notification data may lead to slow performance.", + "description": "" + }, + "sanitation_error.storeImage": { + "message": "Storing the image for inspection has a high RAM footprint.", + "description": "" + }, + "sanitation_error.doNotSharePersistentRndBetweenDomains": { + "message": "Do not share persistent randomness between domains because this makes the browser 100% trackable.", + "description": "" + }, + "sanitation_error.customScreenSize": { + "message": "Do not use a custom screen size as it makes the browser more trackable.", + "description": "" + }, + "whitelist_inspection_title": { + "message": "CanvasBlocker whitelist inspection", + "description": "" + }, + "whitelist_all_apis": { + "message": "All APIs", + "description": "" + }, + "presets": { + "message": "Presets", + "description": "" + }, + "presets_title": { + "message": "CanvasBlocker presets", + "description": "" + }, + "presets_installNotice": { + "message": "{image:../icons/icon.svg}Thanks for installing CanvasBlocker. To adjust it to your needs you can apply some presets. For further customization you can open the {link:options:options.html} page. There you can also open this preset page later.", + "description": "" + }, + "presets_introduction": { + "message": "These are some setting presets to fit different people's needs. The values in brackets are the current state of the setting. You can apply multiple presets after each other but some settings might be overwritten by the later applied one.", + "description": "" + }, + "preset_default_title": { + "message": "Default settings", + "description": "" + }, + "preset_default_description": { + "message": "No special settings are applied.", + "description": "" + }, + "preset_convenience_title": { + "message": "Convenient settings", + "description": "" + }, + "preset_convenience_description": { + "message": "Apply some settings to make the browsing experience as convenient as possible. This includes whitelisting some sites.", + "description": "" + }, + "preset_stealth_title": { + "message": "Stealth settings", + "description": "" + }, + "preset_stealth_description": { + "message": "Configures CanvasBlocker to be hard to detect. This might lead to high CPU usage and might slow down the browser.", + "description": "" + }, + "preset_max_protection_title": { + "message": "Maximum protection", + "description": "" + }, + "preset_max_protection_description": { + "message": "Maximizes the protection against fingerprint extraction. These settings will break some pages, might slow down the browser a little bit and might enable sites to detect that CanvasBlocker is used. After applying this preset you should consider applying the reCAPTCHA preset as well.", + "description": "" + }, + "preset_recaptcha_title": { + "message": "reCAPTCHA exception", + "description": "" + }, + "preset_recaptcha_description": { + "message": "Protecting the window API breaks reCAPTCHA. This preset allows the usage of the window.name API in embedded pages which will make it work again.", + "description": "" + } +} diff --git a/_locales/ru/messages.json b/_locales/ru/messages.json index 96e552e..c8720a3 100644 --- a/_locales/ru/messages.json +++ b/_locales/ru/messages.json @@ -16,7 +16,7 @@ "description": "" }, "browserAction_title_whitelisted": { - "message": " (API, белый список для {url})", + "message": " (API внесены в белый список для {url})", "description": "" }, "browserAction_title_protectedAPIs": { @@ -24,7 +24,7 @@ "description": "" }, "more": { - "message": "еще", + "message": "подробнее", "description": "" }, "less": { @@ -32,7 +32,7 @@ "description": "" }, "pleaseWait": { - "message": "Подождите...", + "message": "Пожалуйста, подождите...", "description": "" }, "search": { @@ -72,11 +72,11 @@ "description": "" }, "installNotice": { - "message": "CanvasBlocker установлен. Если вы хотите иметь доступ к этой странице в будущем, добавьте ее в закладки.", + "message": "CanvasBlocker установлен. Если вы хотите иметь доступ к этой странице в будущем, пожалуйста добавьте ее в закладки.", "description": "" }, "updateNotice": { - "message": "CanvasBlocker обновлен. Если вы хотите иметь доступ к этой странице в будущем и еще не добавили ее в закладки, добавьте ее в закладки.", + "message": "CanvasBlocker обновлен. Если вы хотите иметь доступ к этой странице в будущем и еще не добавили ее в закладки, пожалуйста добавьте.", "description": "" }, "dontShowOptionsOnUpdate": { @@ -84,7 +84,7 @@ "description": "" }, "resistFingerprintingNotice": { - "message": "Настройка privacy.resistFingerprinting включена. Это немного меняет поведение CanvasBlocker. Подробнее см. {link:here:https://github.com/kkapsner/CanvasBlocker/issues/158} и {link:here:https://github.com/ghacksuserjs/ghacks-user.js/issues/767}.", + "message": "Настройка privacy.resistFingerprinting включена. Это немного влияет на работу CanvasBlocker. Подробнее см. {link:here:https://github.com/kkapsner/CanvasBlocker/issues/158} и {link:here:https://github.com/ghacksuserjs/ghacks-user.js/issues/767}.", "description": "" }, "openInTab": { @@ -104,7 +104,7 @@ "description": "" }, "section_asking": { - "message": "Asking (спрашивать)", + "message": "Запрашивать", "description": "" }, "section_faking": { @@ -184,7 +184,7 @@ "description": "" }, "displayHiddenSettings_description": { - "message": "Активируйте, чтобы отобразить скрытые настройки.", + "message": "Активируйте для просмотра скрытых настроек.", "description": "" }, "askForInvisiblePermission": { @@ -216,7 +216,7 @@ "description": "" }, "askForVisibleInputPermission": { - "message": "Вы хотите разрешить input(запись) красной рамки для ?", + "message": "Вы хотите разрешить input(ввод) красной рамки для ?", "description": "" }, "askForVisibleReadoutPermission": { @@ -228,7 +228,7 @@ "description": "" }, "askForAudioInputPermission": { - "message": "Вы хотите разрешить audio API input(ввод)?", + "message": "Вы хотите разрешить audio API input(вход)?", "description": "" }, "askForAudioReadoutPermission": { @@ -236,7 +236,7 @@ "description": "" }, "askForHistoryPermission": { - "message": "Вы хотите разрешить the history API?", + "message": "Вы хотите разрешить API истории?", "description": "" }, "askForHistoryInputPermission": { @@ -260,7 +260,7 @@ "description": "" }, "askForDOMRectPermission": { - "message": "Вы хотите разрешить the DOMRect API?", + "message": "Вы хотите разрешить DOMRect API?", "description": "" }, "askForDOMRectInputPermission": { @@ -272,15 +272,15 @@ "description": "" }, "askForTextMetricsPermission": { - "message": "Do you want to allow the TextMetrics API?", + "message": "Вы хотите разрешить TextMetrics API?", "description": "" }, "askForTextMetricsInputPermission": { - "message": "Do you want to allow TextMetrics API input?", + "message": "Вы хотите разрешить TextMetrics API (ввод)?", "description": "" }, "askForTextMetricsReadoutPermission": { - "message": "Do you want to allow TextMetrics API readout?", + "message": "Вы хотите разрешить считывание TextMetrics API?", "description": "" }, "askForNavigatorPermission": { @@ -312,7 +312,7 @@ "description": "" }, "askOnlyOnce_description": { - "message": "Когда в CanvasBlocker в режиме блокировать и установлено значение «запрашивать разрешение» или «запрашивать разрешение для API для чтения(readout)», сообщение подтверждения будет появляться каждый раз, когда страница пытается получить доступ к API или readout(считывание) API. Этот параметр пытается отобразить сообщение подтверждения только один раз для каждой страницы независимо от того, сколько раз страница пытается получить доступ к API. Тем не менее, несколько сообщений с подтверждением все еще могут отображаться на некоторых страницах.\n\nНет: каждый раз спрашивать\n\nИндивидуальный: каждый тип API (context(контекст), input(ввод), readout(считывание)) должен быть определен отдельно\n\n Комбинированный: все типы API будут подтверждены вместе", + "message": "Когда режим блокировки установлен в значение «запрашивать разрешение» или «запрашивать разрешение для API для чтения(readout)», подтверждение будет запрашиваться всякий раз, когда веб-страница пытается получить доступ к API или readout(считывание) API. Этот параметр снижает количество подтверждений для каждой страницы до одного раза независимо от того, сколько раз такая страница получает доступ к API. На некоторых страницах однако могут несколько сообщений.\n\nНет: спрашивать каждый раз\n\nИндивидуально: требовать отдельного подтверждения для каждого типа API (контекст, ввод, считывание)\n\n Комбинировать: все типы API будут подтверждены вместе", "description": "" }, "askOnlyOnce_options.no": { @@ -348,7 +348,7 @@ "description": "" }, "showCanvasWhileAsking_description": { - "message": "Показывать содержимое canvas, для которого запрашивается разрешение, если это возможно.", + "message": "По возможности показывать содержимое canvas, для которого запрашивается разрешение.", "description": "" }, "showCanvasWhileAsking_message": { @@ -356,11 +356,11 @@ "description": "" }, "blackList_description": { - "message": "Домены или URL-адреса, где все API всегда должны быть заблокированы. Чтобы добавить несколько записей, разделите их запятыми.", + "message": "Всегда блокировать API с этих доменов и URL-адресов. Записи в списке разделяются запятой.", "description": "" }, "blackList_title": { - "message": "Черный список", + "message": "Запрещенный список", "description": "" }, "blockMode_description": { @@ -428,7 +428,7 @@ "description": "" }, "urlSettings_title": { - "message": "Сайты с конкретными значениями", + "message": "Значения для конкретного сайта", "description": "" }, "urlSettings_description": { @@ -448,7 +448,7 @@ "description": "" }, "maxFakeSize_description": { - "message": " с большей площадью, чем это число не будут подделаны. (Введите ноль, чтобы отключить.) Это параметр для производительности, который может предотвратить зависания браузера и должен быть настроен на вычислительную мощность устройства.\nВНИМАНИЕ: это снижает безопасность дополнения, поэтому настоятельно рекомендуется не устанавливать это значение ниже 1 000 000.", + "message": " с большей площадью, чем это число не будут подделаны. (Введите ноль, чтобы отключить.) Этот параметр для производительности, который может предотвратить зависания браузера и должен быть настроен на вычислительную мощность устройства.\nВНИМАНИЕ: это снижает безопасность дополнения, поэтому настоятельно рекомендуется не устанавливать это значение ниже 1 000 000.", "description": "" }, "maxFakeSize_title": { @@ -456,7 +456,7 @@ "description": "" }, "rng_description": { - "message": "отсутствут (полностью белый): возвращается полностью белое изображение. При этом должна быть активирована опция \"подделать альфа-канал\". ВНИМАНИЕ: не используйте это с режимом \"подделать для input(ввод)\".\n\nнепостоянный: случайные значения будут определяться заново для каждого действия подделки.\n\nконстантный: в пределах одной веб-страницы цвет всегда будет подделан на тот же цвет.\n\nпостоянный: случайное число будет определено только один раз для каждого домена.", + "message": "отсутствут (полностью белый): возвращается полностью белое изображение. При этом должна быть активирована опция \"подделать альфа-канал\". ВНИМАНИЕ: не используйте это с режимом \"подделать для input(ввод)\".\n\nне постоянный: случайные числа будут определяться по-новому для каждого действия фальсификации.\n\nконстантный: в пределах одной веб-страницы цвет всегда будет подделываться под один и тот же.\n\nпостоянный: случайное число будет определено только один раз для каждого домена.", "description": "" }, "rng_options.persistent": { @@ -480,7 +480,7 @@ "description": "" }, "persistentRndStorage_title": { - "message": "Постоянное хранение", + "message": "Постоянное хранилище", "description": "" }, "persistentRndStorage_description": { @@ -492,11 +492,11 @@ "description": "" }, "storePersistentRnd_description": { - "message": "Сохранять данные для постоянного генератора случайных чисел. В противном случае он сбрасываются при завершении работы браузера.", + "message": "Сохранять данные для постоянного генератора случайных чисел. В противном случае они сбрасываются при завершении работы браузера.", "description": "" }, "persistentRndClearInterval_title": { - "message": "Интервал отчистки постоянных данных", + "message": "Интервал очистки постоянных данных", "description": "" }, "persistentRndClearInterval_description": { @@ -524,7 +524,7 @@ "description": "" }, "persistentRndClearIntervalUnit_options.months": { - "message": "месяцы", + "message": "месяцев", "description": "" }, "persistentRndClearIntervalUnit_options.years": { @@ -552,7 +552,7 @@ "description": "" }, "sharePersistentRndBetweenDomains_title": { - "message": "Случайные данные общие для всех доменов", + "message": "Распределение постоянной случайности между доменами", "description": "" }, "sharePersistentRndBetweenDomains_description": { @@ -688,7 +688,7 @@ "description": "" }, "fakedTextMetricsReadout": { - "message": "Faked TextMetrics readout on {url}", + "message": "Фальшивое считывание TextMetrics на {url}", "description": "" }, "fakedNavigatorReadout": { @@ -924,7 +924,7 @@ "description": "" }, "inspectWhitelist": { - "message": "inspect whitelist", + "message": "проверить белый список", "description": "" }, "sessionWhiteList_title": { @@ -1128,11 +1128,11 @@ "description": "" }, "protectTextMetrics_title": { - "message": "Protect TextMetrics API", + "message": "Защита API TextMetrics", "description": "" }, "protectTextMetrics_description": { - "message": "This protects against the \"measureText()\" fingerprinting which can be used to cross validate DOMRect values.", + "message": "Это защищает от считывания отпечатка \"measureText()\", который может быть использован для перекрестной проверки значений DOMRect.", "description": "" }, "protectTextMetrics_urlSpecific": { @@ -1168,35 +1168,35 @@ "description": "" }, "navigatorSettings_description": { - "message": "On this page you can set the navigator settings. If using a preset you should always use an operating system and browser preset. After selecting these you can still make modifications.", + "message": "На этой странице можно настроить параметры навигатора. При использовании предустановок всегда следует использовать предустановки операционной системы и браузера. После их выбора Вы все еще можете вносить изменения.", "description": "" }, "navigatorSettings_disclaimer": { - "message": "CAUTION: the actual browser in use cannot be faked entirely as there is a multitude of ways to detect it. E.g. feature tests and browser specific rendering of HTML elements will always leak.", + "message": "ВНИМАНИЕ: используемый браузер не может быть полностью подделан, так как существует множество способов его обнаружения. Например, функциональные тесты и рендеринг HTML-элементов, специфичный для браузера, всегда будут утечки.", "description": "" }, "navigatorSettings_contextualIdentities": { - "message": "Settings for the container {select} are shown.", + "message": "Показаны настройки контейнера {select}.", "description": "" }, "navigatorSettings_presetSection.os": { - "message": "Operating system presets", + "message": "Предустановки операционной системы", "description": "" }, "navigatorSettings_presetSection.browser": { - "message": "Browser presets", + "message": "Предустановки браузера", "description": "" }, "navigatorSettings_values": { - "message": "Navigator values", + "message": "Значения навигатора", "description": "" }, "navigatorSettings_reset": { - "message": "Reset", + "message": "Сброс", "description": "" }, "protectScreen_title": { - "message": "Protect screen API", + "message": "Защитить API экрана", "description": "" }, "protectScreen_description": { @@ -1220,15 +1220,15 @@ "description": "" }, "fakeMinimalScreenSize_title": { - "message": "Fake minimal screen size", + "message": "Поддельный минимальный размер экрана", "description": "" }, "fakeMinimalScreenSize_description": { - "message": "Use a minimal screen size from the following set that can fit the inner window dimensions. Screen sizes: 1366x768, 1440x900, 1600x900, 1920x1080, 4096x2160, 8192x4320", + "message": "Минимальный размер экрана из следующего набора, который может соответствовать размерам внутреннего окна. Размеры экрана: 1366x768, 1440x900, 1600x900, 1920x1080, 4096x2160, 8192x4320", "description": "" }, "fakeMinimalScreenSize_urlSpecific": { - "message": "To exclude specific websites from the faking, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "message": "Чтобы исключить конкретные веб-сайты из числа подделываемых, нажмите на черную стрелку, чтобы открыть меню, добавить домен или URL-адрес, нажав на кнопку \"+\" и убрать галочку.", "description": "" }, "theme_title": { @@ -1236,7 +1236,7 @@ "description": "" }, "theme_description": { - "message": "The automatic theme switches to dark if the system uses a dark theme (requires Firefox >= 67)", + "message": "Автоматически тема переключается на темную, если система использует темную тему (требуется Firefox >= 67)", "description": "" }, "theme_options.auto": { @@ -1348,7 +1348,7 @@ "description": "" }, "openSettingPresets_description": { - "message": "This opens the preset page that was shown upon installation. The presets are collections of setting values for some common use cases of CanvasBlocker.", + "message": "Откроется страница предварительной настройки, которая была показана при установке. Заготовки представляют собой наборы значений настроек для некоторых распространенных случаев использования CanvasBlocker.", "description": "" }, "openSettingPresets_label": { @@ -1388,7 +1388,7 @@ "description": "" }, "browserAction_faq": { - "message": "FAQ", + "message": "ЧАВО", "description": "" }, "browserAction_test": { @@ -1436,7 +1436,7 @@ "description": "" }, "sanitation_ruleset.privacy": { - "message": "Privacy", + "message": "Политика конфиденциальности", "description": "" }, "sanitation_error.unnecessaryURLValue": { @@ -1444,7 +1444,7 @@ "description": "" }, "sanitation_resolution.removeURLValue": { - "message": "remove URL value", + "message": "удалить URL значение", "description": "" }, "sanitation_error.disabledFeatures": { @@ -1452,7 +1452,7 @@ "description": "" }, "sanitation_error.disabledSomeFeatures": { - "message": "Some features of {api} are disabled. This should only be done for testing or if you really know what the features are doing.", + "message": "Некоторые функции {api} отключены. Это должно быть сделано только для тестирования или если вы действительно знаете, что делаете.", "description": "" }, "sanitation_resolution.disableMainFlag": { @@ -1468,7 +1468,7 @@ "description": "" }, "sanitation_resolution.switchToFake": { - "message": "switch to \"fake\"", + "message": "переключиться на \"fake\"", "description": "" }, "sanitation_error.blockModeVsProtection": { @@ -1484,7 +1484,7 @@ "description": "" }, "sanitation_resolution.switchToProtectReadout": { - "message": "switch to protect readout", + "message": "переключатель для защиты считывания", "description": "" }, "sanitation_resolution.switchToNonPersistentRng": { @@ -1492,11 +1492,11 @@ "description": "" }, "sanitation_error.fakeEverythingInCanvas": { - "message": "Do not use protect \"{protectedCanvasPart}\" in blocking mode \"{blockMode}\".", + "message": "Не используйте защиту \"{protectedCanvasPart}\" в режиме блокировки \"{blockMode}\".", "description": "" }, "sanitation_resolution.switchToProtectInput": { - "message": "switch to protect input", + "message": "переключатель для защиты ввода", "description": "" }, "sanitation_error.valueTooLow": { @@ -1520,75 +1520,75 @@ "description": "" }, "sanitation_error.doNotSharePersistentRndBetweenDomains": { - "message": "Do not share persistent randomness between domains because this makes the browser 100% trackable.", + "message": "Не распространяйте постоянную случайность между доменами, потому что это делает браузер на 100% отслеживаемым.", "description": "" }, "sanitation_error.customScreenSize": { - "message": "Do not use a custom screen size as it makes the browser more trackable.", + "message": "Не используйте пользовательский размер экрана, так как это делает браузер более отслеживаемым.", "description": "" }, "whitelist_inspection_title": { - "message": "CanvasBlocker whitelist inspection", + "message": "Проверка белого списка CanvasBlocker", "description": "" }, "whitelist_all_apis": { - "message": "All APIs", + "message": "Все API", "description": "" }, "presets": { - "message": "Presets", + "message": "Преднастройки", "description": "" }, "presets_title": { - "message": "CanvasBlocker presets", + "message": "Пресеты CanvasBlocker", "description": "" }, "presets_installNotice": { - "message": "{image:../icons/icon.svg}Thanks for installing CanvasBlocker. To adjust it to your needs you can apply some presets. For further customization you can open the {link:options:options.html} page. There you can also open this preset page later.", + "message": "{image:../icons/icon.svg}Спасибо за установку CanvasBlocker. Чтобы настроить его в соответствии с вашими потребностями, вы можете применить некоторые пресеты. Для дальнейшей настройки вы можете открыть {link:options:options.html} страницу. Так же вы можете открыть эту страницу позже.", "description": "" }, "presets_introduction": { - "message": "These are some setting presets to fit different people's needs. The values in brackets are the current state of the setting. You can apply multiple presets after each other but some settings might be overwritten by the later applied one.", + "message": "Это некоторые пресеты, которые соответствуют потребностям разных людей. Значения в скобках являются текущим состоянием настройки. Вы можете применять несколько пресетов друг за другом, но некоторые настройки могут быть перезаписаны позднее.", "description": "" }, "preset_default_title": { - "message": "Default settings", + "message": "Стандартные параметры", "description": "" }, "preset_default_description": { - "message": "No special settings are applied.", + "message": "Никаких специальных настроек не применяется.", "description": "" }, "preset_convenience_title": { - "message": "Convenient settings", + "message": "Удобные настройки", "description": "" }, "preset_convenience_description": { - "message": "Apply some settings to make the browsing experience as convenient as possible. This includes whitelisting some sites.", + "message": "Примените некоторые настройки, чтобы сделать работу браузера максимально удобной. Это включает в себя белый список некоторых сайтов.", "description": "" }, "preset_stealth_title": { - "message": "Stealth settings", + "message": "Настройки скрытности", "description": "" }, "preset_stealth_description": { - "message": "Configures CanvasBlocker to be hard to detect. This might lead to high CPU usage and might slow down the browser.", + "message": "Настраивает CanvasBlocker так, чтобы его было трудно обнаружить. Это может привести к высокой загрузке процессора и замедлению работы браузера.", "description": "" }, "preset_max_protection_title": { - "message": "Maximum protection", + "message": "Максимальная защита", "description": "" }, "preset_max_protection_description": { - "message": "Maximizes the protection against fingerprint extraction. These settings will break some pages, might slow down the browser a little bit and might enable sites to detect that CanvasBlocker is used. After applying this preset you should consider applying the reCAPTCHA preset as well.", + "message": "Максимизирует защиту от снятия отпечатков. Эти настройки сломают некоторые веб-страницы, могут немного замедлить работу браузера и могут позволить сайтам обнаружить, что используется CanvasBlocker. После применения этой предустановки следует подумать о применении также и предустановки reCAPTCHA.", "description": "" }, "preset_recaptcha_title": { - "message": "reCAPTCHA exception", + "message": "Исключение reCAPTCHA", "description": "" }, "preset_recaptcha_description": { - "message": "Protecting the window API breaks reCAPTCHA. This preset allows the usage of the window.name API in embedded pages which will make it work again.", + "message": "Защита window API нарушает reCAPTCHA. Вы хотите добавить исключение для него.", "description": "" } } diff --git a/_locales/zh_CN/messages.json b/_locales/zh_CN/messages.json index 463b106..53e70b1 100644 --- a/_locales/zh_CN/messages.json +++ b/_locales/zh_CN/messages.json @@ -4,7 +4,7 @@ "description": "" }, "addon_description": { - "message": "改变一些 JS API 来预防指纹跟踪。", + "message": "改变某些 JavaScript API 来阻止跟踪。", "description": "" }, "browserAction_title_default": { @@ -56,7 +56,7 @@ "description": "" }, "readout": { - "message": "读数", + "message": "读取", "description": "" }, "options": { @@ -68,7 +68,7 @@ "description": "" }, "optionsIntroduction": { - "message": "此页面提供选项来更改 CanvasBlocker 扩展的设置。", + "message": "在此页面上,您可以调整CanvasBlocker的设置。", "description": "" }, "installNotice": { @@ -84,7 +84,7 @@ "description": "" }, "resistFingerprintingNotice": { - "message": "您启用了 privacy.resistFingerprinting。这明显改变了 CanvasBlocker 的行为。更多信息请参阅 {link:https://github.com/kkapsner/CanvasBlocker/issues/158} 和 {link:here:https://github.com/ghacksuserjs/ghacks-user.js/issues/767}。", + "message": "您启用了 privacy.resistFingerprinting,这明显改变了 CanvasBlocker 的行为。更多信息请参阅 {link:https://github.com/kkapsner/CanvasBlocker/issues/158} 和 {link:here:https://github.com/ghacksuserjs/ghacks-user.js/issues/767}。", "description": "" }, "openInTab": { @@ -196,7 +196,7 @@ "description": "" }, "askForInvisibleReadoutPermission": { - "message": "是否允许不可见的 读数?", + "message": "是否允许不可见的 读取?", "description": "" }, "askForPermission": { @@ -208,7 +208,7 @@ "description": "" }, "askForReadoutPermission": { - "message": "是否允许 读数?", + "message": "是否允许 读取?", "description": "" }, "askForVisiblePermission": { @@ -216,11 +216,11 @@ "description": "" }, "askForVisibleInputPermission": { - "message": "是否允许输入红边框的 ?", + "message": "是否允许红边框的 输入?", "description": "" }, "askForVisibleReadoutPermission": { - "message": "是否允许红边框的 读数?", + "message": "是否允许红边框的 读取?", "description": "" }, "askForAudioPermission": { @@ -232,7 +232,7 @@ "description": "" }, "askForAudioReadoutPermission": { - "message": "是否允许音频 API 读数?", + "message": "是否允许音频 API 读取?", "description": "" }, "askForHistoryPermission": { @@ -244,7 +244,7 @@ "description": "" }, "askForHistoryReadoutPermission": { - "message": "是否允许历史 API 读数?", + "message": "是否允许历史 API 读取?", "description": "" }, "askForWindowPermission": { @@ -256,7 +256,7 @@ "description": "" }, "askForWindowReadoutPermission": { - "message": "是否允许 window API 读数?", + "message": "是否允许 window API 读取?", "description": "" }, "askForDOMRectPermission": { @@ -268,19 +268,19 @@ "description": "" }, "askForDOMRectReadoutPermission": { - "message": "是否允许 DOMRect API 读数?", + "message": "是否允许 window API 读取?", "description": "" }, "askForTextMetricsPermission": { - "message": "Do you want to allow the TextMetrics API?", + "message": "是否允许 TextMetrics API?", "description": "" }, "askForTextMetricsInputPermission": { - "message": "Do you want to allow TextMetrics API input?", + "message": "是否允许 TextMetrics API 输入?", "description": "" }, "askForTextMetricsReadoutPermission": { - "message": "Do you want to allow TextMetrics API readout?", + "message": "是否允许 TextMetrics API 读取?", "description": "" }, "askForNavigatorPermission": { @@ -292,11 +292,11 @@ "description": "" }, "askForNavigatorReadoutPermission": { - "message": "是否允许 Navigator API 读数?", + "message": "是否允许 Navigator API 读取?", "description": "" }, "askForScreenPermission": { - "message": "您想要放行Screen API吗?", + "message": "您想要允许 Screen API 吗?", "description": "" }, "askForScreenInputPermission": { @@ -304,7 +304,7 @@ "description": "" }, "askForScreenReadoutPermission": { - "message": "是否允许 Screen API 读数?", + "message": "是否允许 Screen API 读取?", "description": "" }, "askOnlyOnce_title": { @@ -312,7 +312,7 @@ "description": "" }, "askOnlyOnce_description": { - "message": "当 Canvas Blocker 的阻止模式设为“询问权限”或“询问读数 API 权限”时,每次页面尝试访问有关 API 或取出 API 时将出现一个对话框。此设置是为了尽量只对每个页面的若干次尝试只显示一个对话框。不过,在某些页面上,本扩展仍可能显示多条确认信息。\n否:询问每个尝试\n分别:每种 API 尝试(上下文、输入、取数)分别确认\n组合:一次确认所有种类的 API", + "message": "当 Canvas Blocker 的阻止模式设为“询问权限”或“询问读取 API 权限”时,每次页面尝试访问有关 API 或读取 API 时将出现一个对话框。此设置是为了当每个页面进行若干次尝试时尽量只显示一个对话框。不过,在某些页面上,本扩展仍可能显示多条确认信息。\n否:询问每个尝试\n分别:每种 API 尝试(上下文、输入、取取)分别确认\n全部:一次确认所有种类的 API", "description": "" }, "askOnlyOnce_options.no": { @@ -324,7 +324,7 @@ "description": "" }, "askOnlyOnce_options.combined": { - "message": "组合", + "message": "全部", "description": "" }, "askDenyMode_title": { @@ -348,7 +348,7 @@ "description": "" }, "showCanvasWhileAsking_description": { - "message": "询问权限时尽可能显示 Canvas 的内容。", + "message": "尽可能显示被请求权限的 Canvas 内容。", "description": "" }, "showCanvasWhileAsking_message": { @@ -380,7 +380,7 @@ "description": "" }, "blockMode_options.ask": { - "message": "询问权限", + "message": "请求权限", "description": "" }, "blockMode_options.blockEverything": { @@ -404,7 +404,7 @@ "description": "" }, "protectedCanvasPart_description": { - "message": "无保护:不保护任何 Canvas API。\n读保护:保护 Canvas API 当中的读数功能。\n写保护:保护 Canvas API 当中的输入功能。当拦截模式为”伪造“时,展示文本时绘制的像素会有轻微调整。这使得 CanvasBlocker 检测更难但是同时降低安全性。WebGL 当中读写等效。\n全保护:同时保护 Canvas API 当中的读取与输入功能。由于会增加被检测到的概率,因此不建议与同时使用”伪造“模式。", + "message": "无保护:不保护任何 Canvas API。\n读保护:保护 Canvas API 当中的读取功能。\n写保护:保护 Canvas API 当中的输入功能。当拦截模式为”伪造“时,展示文本时绘制的像素会有轻微调整。这使得 CanvasBlocker 更难被检测但是同时降低安全性。WebGL 当中读写等效。\n全保护:同时保护 Canvas API 当中的读取与输入功能。由于会增加被检测到的概率,因此不建议与”伪造“模式同时使用。", "description": "" }, "protectedCanvasPart_urlSpecific": { @@ -420,7 +420,7 @@ "description": "" }, "protectedCanvasPart_options.readout": { - "message": "读数", + "message": "读取", "description": "" }, "protectedCanvasPart_options.everything": { @@ -456,7 +456,7 @@ "description": "" }, "rng_description": { - "message": "无(全白):返回一个完全是白色的图像。使用此选项时,“伪造 alpha 通道”选项应该激活配合。注意:使用“输入时伪造”模式时不应使用。\n非持久化:每个伪造行动都确定新的随机数。\n不变:同一个网页中,一个颜色总被伪造成另一个相同的颜色。\n持久化:对每个域名只确定一次随机数。", + "message": "无(全白):返回一个完全是白色的图像。使用此选项时,也应激活“伪造 alpha 通道”选项。注意:使用“输入时伪造”模式时不应使用此选项。\n非持久化:每个伪造行为都确定新的随机数。\n不变:同一个网页中,一个颜色总被伪造成另一个相同的颜色。\n持久化:对每个域名只确定一次随机数。", "description": "" }, "rng_options.persistent": { @@ -492,7 +492,7 @@ "description": "" }, "storePersistentRnd_description": { - "message": "如果没有存储随机数生成器的持久化数据,相应数据在浏览器关闭时丢弃。", + "message": "如果没有存储随机数生成器的持久化数据,相应数据在浏览器关闭时被丢弃。", "description": "" }, "persistentRndClearInterval_title": { @@ -588,7 +588,7 @@ "description": "" }, "webGLVendor_title": { - "message": "WebGL 渲染器厂商", + "message": "WebGL 渲染器提供商", "description": "" }, "webGLVendor_description": { @@ -604,7 +604,7 @@ "description": "" }, "webGLUnmaskedVendor_title": { - "message": "WebGL 中未隐藏的渲染器厂商", + "message": "WebGL 中未隐藏的渲染器提供商", "description": "" }, "webGLUnmaskedVendor_description": { @@ -612,7 +612,7 @@ "description": "" }, "webGLUnmaskedRenderer_title": { - "message": "WebGL 中未隐藏的渲染器厂商", + "message": "已报告的 WebGL 中未隐藏的渲染器提供商", "description": "" }, "webGLUnmaskedRenderer_description": { @@ -624,7 +624,7 @@ "description": "" }, "useCanvasCache_description": { - "message": "启用 Canvas 缓存。这可以预防检测,并在小画布(Canvas)被数次读取时增加性能,但对于大画布则降低性能。", + "message": "启用 Canvas 缓存。这可以预防检测,并在小画布(Canvas)被多次读取时增加性能,但对于大画布则降低性能。", "description": "" }, "protectedAPIFeatures_title": { @@ -672,7 +672,7 @@ "description": "" }, "fakedAudioReadout": { - "message": "{url} 上的音频取数已伪造", + "message": "{url} 上的音频读数已伪造", "description": "" }, "fakedHistoryReadout": { @@ -688,7 +688,7 @@ "description": "" }, "fakedTextMetricsReadout": { - "message": "Faked TextMetrics readout on {url}", + "message": "{url} 上的 TextMetrics 读数已伪造", "description": "" }, "fakedNavigatorReadout": { @@ -716,7 +716,7 @@ "description": "" }, "ignoredAPIs_description": { - "message": "没有用于所选 API 的提示。", + "message": "没有用于所选 API 的通知。", "description": "" }, "localFile": { @@ -812,7 +812,7 @@ "description": "" }, "showNotifications_description": { - "message": "当某些东西被屏蔽或伪造时,在地址栏中显示通知图标。", + "message": "当进行屏蔽或伪造时,在地址栏中显示通知图标。", "description": "" }, "showNotifications_urlSpecific": { @@ -900,7 +900,7 @@ "description": "" }, "whiteList_description": { - "message": "应该阻止使用 API 的域名或 URL。多项请使用英文逗号分隔。", + "message": "允许调用所有 API 的域名或 URL。多项请使用英文逗号分隔。", "description": "" }, "whitelist": { @@ -932,15 +932,15 @@ "description": "" }, "sessionWhiteList_description": { - "message": "本次会话期间拦截 API 使用的域名或 URL。多项请使用英文逗号分隔。", + "message": "本次会话期间允许调用所有 API 的域名或 URL。多项请使用英文逗号分隔。", "description": "" }, "whitelistDomainTemporarily": { - "message": "临时白名单域名", + "message": "临时域名白名单", "description": "" }, "whitelistURLTemporarily": { - "message": "临时白名单 URL", + "message": "临时 URL 白名单", "description": "" }, "storeNotificationData_title": { @@ -964,7 +964,7 @@ "description": "" }, "protectAudio_description": { - "message": "如果同时音频API", + "message": "如果音频 API 也要保护", "description": "" }, "protectAudio_urlSpecific": { @@ -1048,7 +1048,7 @@ "description": "" }, "useAudioCache_urlSpecific": { - "message": "有些网页音频指纹脚本编写不良,导致拖慢 Firefox。如需针对特定网站禁用缓存,请点击黑箭头打开菜单, 点击“+”添加域名或URL并删除其复选标记。", + "message": "有些网页音频指纹脚本编写不良,导致拖慢 Firefox。如需针对特定网站禁用缓存,请点击黑箭头打开菜单, 点击“+”添加域名或URL并取消勾选。", "description": "" }, "audioUseFixedIndices_title": { @@ -1072,7 +1072,7 @@ "description": "" }, "historyLengthThreshold_description": { - "message": "报告给网站的历史长度最大值。", + "message": "报告给网站的历史记录最大值。", "description": "" }, "historyLengthThreshold_urlSpecific": { @@ -1084,7 +1084,7 @@ "description": "" }, "protectWindow_description": { - "message": "window.opener 和 window.name 将被保护。这会保护某些无用的网页。", + "message": "window.opener 和 window.name 将受到保护。这可能会使一些网页无法使用。", "description": "" }, "protectWindow_urlSpecific": { @@ -1092,7 +1092,7 @@ "description": "" }, "protectWindow_askReCaptchaException": { - "message": "保护窗口 API 妨碍 reCAPTCHA。您是否添加例外?", + "message": "保护窗口 API 将妨碍 reCAPTCHA。您是否添加例外?", "description": "" }, "allowWindowNameInFrames_title": { @@ -1100,7 +1100,7 @@ "description": "" }, "allowWindowNameInFrames_description": { - "message": "在嵌入网页的上下文当中,window.name API 并不是那么危险的,并且使用目的也是正当的(比如 reCAPTCHA)。以下设置会允许这些用例。", + "message": "在嵌入网页的上下文当中,window.name API 并不是那么危险的,并且使用目的也是正当的(比如 reCAPTCHA)。以下设置会允许这些使用。", "description": "" }, "allowWindowNameInFrames_urlSpecific": { @@ -1112,7 +1112,7 @@ "description": "" }, "protectDOMRect_description": { - "message": "这一保护反对 \"getClientRects()\" 指纹和一些类似的方法。", + "message": "这会阻止 “getClientRects()” 指纹和几种类似的方法。", "description": "" }, "protectDOMRect_urlSpecific": { @@ -1128,15 +1128,15 @@ "description": "" }, "protectTextMetrics_title": { - "message": "Protect TextMetrics API", + "message": "保护 TextMetrics API", "description": "" }, "protectTextMetrics_description": { - "message": "This protects against the \"measureText()\" fingerprinting which can be used to cross validate DOMRect values.", + "message": "这保护了可用于验证 DOMRect 值的 “measureText()” 指纹。", "description": "" }, "protectTextMetrics_urlSpecific": { - "message": "To exclude specific websites from this protection, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and remove its checkmark.", + "message": "如需排除特定网站,请点击黑箭头打开菜单, 点击 + 添加域名或 URL 并取消勾选。", "description": "" }, "protectNavigator_title": { @@ -1168,7 +1168,7 @@ "description": "" }, "navigatorSettings_description": { - "message": "在本页你可以设置 Navigator 选项。若使用预置,你应该始终使用系统和浏览器预置。选择这些以后你仍可以做出修改。", + "message": "在本页你可以设置 Navigator 选项。若使用预设,你应该始终使用系统和浏览器预设。选择这些以后你仍可以做出修改。", "description": "" }, "navigatorSettings_disclaimer": { @@ -1180,11 +1180,11 @@ "description": "" }, "navigatorSettings_presetSection.os": { - "message": "操作系统预置", + "message": "操作系统预设", "description": "" }, "navigatorSettings_presetSection.browser": { - "message": "浏览器预置", + "message": "浏览器预设", "description": "" }, "navigatorSettings_values": { @@ -1228,7 +1228,7 @@ "description": "" }, "fakeMinimalScreenSize_urlSpecific": { - "message": "如需排除特定网站,请点击黑箭头打开菜单, 点击 + 添加域名或 URL 并删除其复选标记。", + "message": "如需排除特定网站,请点击黑箭头打开菜单, 点击 + 添加域名或 URL 并取消勾选。", "description": "" }, "theme_title": { @@ -1292,7 +1292,7 @@ "description": "" }, "logLevel_description": { - "message": "此参数控制日志记录的详细程度。", + "message": "详细记录插件活动有助于找到错误的原因。这个参数控制记录的详细程度。\n\n日志可以在浏览器控制台(Ctrl+Shift+J) 和 Web 控制台(Ctrl+Shift+K) 中查看。", "description": "" }, "logLevel_options.0": { @@ -1348,7 +1348,7 @@ "description": "" }, "openSettingPresets_description": { - "message": "这将打开安装时显示的预设页面。预设是 CanvasBlocker 设置的组合,用于一些通用情况。", + "message": "这将打开安装时显示的预设页面。预设是 CanvasBlocker 设置的组合,用于一些常见情况。", "description": "" }, "openSettingPresets_label": { @@ -1408,7 +1408,7 @@ "description": "" }, "sanitation_description": { - "message": "本页面帮助查找 CanvasBlocker 中的错误配置。同时对并不理想的设置给出建议。但是不建议盲目修正所有建议。", + "message": "本页面帮助查找 CanvasBlocker 中的错误配置,并同时对并不理想的设置给出建议。但是不建议盲目修正所有建议。", "description": "" }, "sanitation_nothingToComplain": { @@ -1452,7 +1452,7 @@ "description": "" }, "sanitation_error.disabledSomeFeatures": { - "message": "Some features of {api} are disabled. This should only be done for testing or if you really know what the features are doing.", + "message": "{api} 的一些特性被禁用。仅用于测试,或者您真的知道这些特性的用途。", "description": "" }, "sanitation_resolution.disableMainFlag": { @@ -1484,11 +1484,11 @@ "description": "" }, "sanitation_resolution.switchToProtectReadout": { - "message": "切换到读数保护", + "message": "切换到读取保护", "description": "" }, "sanitation_resolution.switchToNonPersistentRng": { - "message": "切换到“非持久化”rng", + "message": "切换到“非持久化”随机数生成器", "description": "" }, "sanitation_error.fakeEverythingInCanvas": { @@ -1516,11 +1516,11 @@ "description": "" }, "sanitation_error.storeImage": { - "message": "为检查存储图像产生大量的 RAM 足迹。", + "message": "存储要检查的图像产生大量的 RAM 指纹。", "description": "" }, "sanitation_error.doNotSharePersistentRndBetweenDomains": { - "message": "不要在域名间共享持久的随机性,因为这导致浏览器 100% 可以被追踪。", + "message": "不要在域名间共享持久的随机性,因为这将导致浏览器 100% 可以被追踪。", "description": "" }, "sanitation_error.customScreenSize": { @@ -1564,7 +1564,7 @@ "description": "" }, "preset_convenience_description": { - "message": "以下设置会使浏览体验更加便捷。这会添加一些网站到白名单", + "message": "以下设置会使浏览体验更加便捷。这会添加一些网站到白名单。", "description": "" }, "preset_stealth_title": {